.industry-expansion{padding:10px 24px 82px;background:#fff}.industry-expansion__inner{width:min(1200px,100%);margin:0 auto}.industry-expansion__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.industry-flip-card{min-height:360px;cursor:pointer;perspective:1200px;outline:0}.industry-flip-card__inner{position:relative;width:100%;height:100%;min-height:360px;transition:transform .65s cubic-bezier(.2,.75,.25,1);transform-style:preserve-3d}@media (hover:hover) and (pointer:fine){.industry-flip-card:hover .industry-flip-card__inner,.industry-flip-card:focus-within .industry-flip-card__inner{transform:rotateY(180deg)}}.industry-flip-card.is-flipped .industry-flip-card__inner{transform:rotateY(180deg)}.industry-flip-card:focus-visible .industry-flip-card__face{outline:3px solid #ff6b57;outline-offset:4px}.industry-flip-card__face{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(20,141,120,.24);border-radius:32px;box-shadow:0 18px 44px rgba(12,48,42,.12);backface-visibility:hidden;-webkit-backface-visibility:hidden}.industry-flip-card__front{align-items:center;justify-content:center;padding:30px;color:#fff;background:#113e36;text-align:center}.industry-flip-card__front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.industry-flip-card__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(7,34,30,.68),rgba(7,34,30,.34)),radial-gradient(circle at 18% 18%,rgba(53,204,171,.24),transparent 42%)}.industry-flip-card__front h3,.industry-flip-card__hint{position:relative;z-index:1}.industry-flip-card h3{margin:0;font-size:clamp(21px,2vw,28px);line-height:1.15}.industry-flip-card__front h3{max-width:300px;color:#fff!important;font-weight:700;text-shadow:0 2px 16px rgba(0,0,0,.45)}.industry-flip-card__hint{margin-top:14px;padding:6px 12px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.industry-flip-card__back{align-items:center;justify-content:center;padding:28px;color:#143b34;background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.75),transparent 33%),linear-gradient(145deg,#d8f4ec 0%,#71d7ba 54%,#c5ecd1 100%);text-align:center;transform:rotateY(180deg)}.industry-flip-card__back:before,.industry-flip-card__back:after{position:absolute;width:96px;height:96px;border:1px solid rgba(20,91,78,.14);border-radius:50%;content:""}.industry-flip-card__back:before{top:-42px;right:-26px}.industry-flip-card__back:after{bottom:-54px;left:-36px}.industry-flip-card__back h3{position:relative;z-index:1;color:#143b34!important}.industry-flip-card__icon{position:relative;z-index:1;display:grid;width:70px;height:70px;margin-bottom:16px;place-items:center;border:1px solid rgba(20,59,52,.26);border-radius:50%;background:rgba(255,255,255,.36);box-shadow:inset 0 0 0 7px rgba(255,255,255,.2),0 10px 22px rgba(15,77,65,.13)}.industry-flip-card__icon svg{width:40px;height:40px;fill:none;stroke:#155b4e;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.industry-flip-card__back p{position:relative;z-index:1;max-width:310px;margin:12px 0 18px;font-size:14px;line-height:1.48}.industry-flip-card__back a{position:relative;z-index:2;align-self:center;padding:11px 18px;border:2px solid #155b4e;border-radius:999px;color:#155b4e;font-size:11px;font-weight:800;letter-spacing:.055em;text-decoration:none;text-transform:uppercase;transition:background .25s ease,border-color .25s ease,color .25s ease}.industry-flip-card__back a:hover,.industry-flip-card__back a:focus-visible{border-color:#ff6b57;color:#fff;background:#ff6b57}.industries-existing-card-copy{margin:0 0 18px;color:#143b34;font-size:14px;line-height:1.45}@media (max-width:980px){.industry-expansion__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.industry-expansion{padding:8px 28px 64px}.industry-expansion__grid{grid-template-columns:1fr;gap:26px}.industry-flip-card,.industry-flip-card__inner{min-height:300px}.industry-flip-card__back{padding:22px}.industry-flip-card__icon{width:60px;height:60px;margin-bottom:12px}.industry-flip-card__icon svg{width:34px;height:34px}.industry-flip-card__back p{margin:10px 0 14px;font-size:13px}}@media (prefers-reduced-motion:reduce){.industry-flip-card__inner{transition:none}}

/* Function selector carousel */
.function-carousel{position:relative;width:min(1120px,calc(100% - 48px));margin:0 auto 34px;padding:0 72px 28px;overflow:visible!important;box-sizing:border-box;border-bottom:1px solid rgba(35,54,51,.28)}
.function-carousel__viewport{height:auto!important;overflow-x:auto!important;overflow-y:hidden!important;-ms-overflow-style:none;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none!important;cursor:grab}
.function-carousel__viewport::-webkit-scrollbar{display:none;width:0;height:0}
.function-carousel__viewport.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.function-carousel__track{display:flex!important;width:max-content!important;min-width:100%;margin:0!important;padding:8px 0 12px!important;gap:clamp(18px,3vw,44px)!important;overflow:visible!important;flex-wrap:nowrap!important;justify-content:flex-start!important;list-style:none!important;scrollbar-width:none!important}
.function-carousel__track li{flex:0 0 auto!important;margin:0!important;padding:0!important;scroll-snap-align:center}
.function-carousel__track a{display:block;padding:12px 5px;color:#8d908f!important;font-size:clamp(17px,1.8vw,25px)!important;font-weight:700!important;letter-spacing:.02em;line-height:1.1;text-decoration:none!important;text-transform:uppercase;white-space:nowrap;transition:color .2s ease,transform .2s ease}
.function-carousel__track a:is(.is-active,[aria-current="true"]){color:#ff6955!important;transform:translateY(-2px)}
.function-carousel__track a span{color:inherit}
.function-carousel__track a:focus-visible{outline:2px solid #118f78;outline-offset:5px;border-radius:3px}
.function-carousel__control{position:absolute;top:8px;z-index:2;display:inline-flex;min-width:58px;height:42px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #118f78;border-radius:999px;color:#116f60;background:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease}
.function-carousel__control:hover,.function-carousel__control:focus-visible{border-color:#ff6955;color:#fff;background:#ff6955}
.function-carousel__control--previous{left:0}.function-carousel__control--next{right:0}
.function-carousel__status{position:absolute;right:0;bottom:2px;margin:0;color:#64716e;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
[data-tabs][data-tabs-ready] > [data-tab-panel].is-active{animation:function-panel-enter .36s ease both}
@keyframes function-panel-enter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@media (max-width:720px){.function-carousel{width:calc(100% - 38px);margin-bottom:26px;padding:0 0 30px}.function-carousel__viewport{margin:0 -4px;padding:0 4px}.function-carousel__track{min-width:max-content!important;gap:12px!important}.function-carousel__track li{flex-basis:auto!important}.function-carousel__track a{padding:12px 17px;border:1px solid rgba(17,143,120,.22);border-radius:999px;background:#fff;font-size:16px!important;box-shadow:0 7px 18px rgba(17,72,63,.07)}html body .function-carousel__track a:is(.is-active,[aria-current="true"]){border-color:#ff6955!important;color:#fff!important;background:#ff6955!important;transform:none}html body .function-carousel__track a:is(.is-active,[aria-current="true"]) span{color:#fff!important}.function-carousel__control{top:auto;bottom:-2px;width:auto;min-width:86px;height:31px;padding:0 12px;font-size:10px}.function-carousel__status{right:50%;bottom:5px;transform:translateX(50%);font-size:11px}.function-carousel__control--previous{left:0}.function-carousel__control--next{right:0}}
@media (prefers-reduced-motion:reduce){.function-carousel__viewport{scroll-behavior:auto}[data-tabs][data-tabs-ready] > [data-tab-panel].is-active{animation:none}}

/* Complete function expertise carousel */
.function-expertise{width:min(1180px,calc(100% - 40px));margin:0 auto 56px;scroll-margin-top:150px}
#industries-we-serve{scroll-margin-top:150px}
.function-expertise .function-carousel{display:grid;width:100%;margin:0 auto 30px;padding:0 0 26px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;gap:10px 18px;align-items:center;overflow:hidden!important;border-bottom:1px solid rgba(35,54,51,.24)}
.function-expertise .function-carousel__viewport{min-width:0;margin:0;padding:0 4px;overflow-x:auto!important;scroll-padding-inline:32px;touch-action:pan-x}
.function-expertise .function-carousel__track{display:flex!important;width:max-content!important;min-width:max-content!important;margin:0!important;padding:7px 18px 11px!important;gap:12px!important;align-items:center;box-sizing:border-box;list-style:none!important}
.function-carousel__tab{flex:0 0 auto;padding:12px 18px;border:1px solid transparent;border-radius:999px;color:#7f8583;background:transparent;font:700 clamp(14px,1.28vw,17px)/1.15 inherit;letter-spacing:.018em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.function-carousel__tab:hover{color:#155b4e;background:#edf8f5}
.function-carousel__tab:is(.is-active,[aria-selected="true"]){border-color:#ff6955;color:#fff;background:#ff6955;box-shadow:0 8px 20px rgba(255,105,85,.2);transform:translateY(-1px)}
.function-carousel__tab:focus-visible{outline:3px solid rgba(17,143,120,.32);outline-offset:3px}
.function-expertise .function-carousel__control{position:static;display:inline-flex;width:46px;min-width:46px;height:46px;padding:0;border:1px solid #118f78;border-radius:50%;color:#116f60;background:#fff;font-size:22px;font-weight:500;line-height:1;box-shadow:none}
.function-expertise .function-carousel__control span{display:block;transform:translateY(-1px)}
.function-expertise .function-carousel__control:hover,.function-expertise .function-carousel__control:focus-visible{border-color:#ff6955;color:#fff;background:#ff6955}
.function-expertise .function-carousel__status{position:static;grid-column:1/-1;justify-self:center;margin:1px 0 -12px;color:#60706c;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transform:none}
.function-expertise__panels{position:relative}
.function-expertise__panels{cursor:grab}
.function-expertise__panels.is-dragging{cursor:grabbing;user-select:none}
.function-expertise__panels.is-dragging a,.function-expertise__panels.is-dragging img{pointer-events:none}
.function-expertise__panel{transition:transform .28s cubic-bezier(.2,.75,.25,1)}
.function-expertise__panels.is-dragging .function-expertise__panel{transition:none}
.function-expertise__panel img{-webkit-user-drag:none;user-select:none}
@media (prefers-reduced-motion:reduce){.function-expertise__panel{transition:none}}
.function-expertise__panel{display:grid;min-height:480px;padding:clamp(30px,4vw,58px);grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr);gap:clamp(34px,5vw,76px);align-items:center;border:1px solid rgba(17,143,120,.18);border-radius:32px;background:linear-gradient(145deg,#fff 0%,#f3faf7 100%);box-shadow:0 22px 55px rgba(17,70,61,.09)}
.function-expertise__panel[hidden]{display:none}
.function-expertise__panel.is-active{animation:function-panel-enter .36s ease both}
.function-expertise__copy{max-width:630px}
.function-expertise__eyebrow{margin:0 0 12px;color:#138c77;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.function-expertise__copy h3{margin:0 0 20px;color:#2f3433;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.05;letter-spacing:-.025em}
.function-expertise__copy p{margin:0 0 16px;color:#46504e;font-size:clamp(15px,1.4vw,18px);line-height:1.58}
.function-expertise__copy .function-expertise__intro{color:#293330;font-size:clamp(17px,1.7vw,22px);line-height:1.45}
.function-expertise__copy ul{display:grid;margin:22px 0 0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none}
.function-expertise__copy li{position:relative;padding:11px 14px;border:1px solid rgba(17,143,120,.28);border-radius:12px;background:#fff;color:#30413d;font-size:14px;line-height:1.4}
/* Each capability is an outlined card rather than a bulleted line. */
.function-expertise__copy li:before{content:none}
.function-expertise__media{position:relative;width:min(100%,440px);aspect-ratio:1;margin:0;justify-self:center;border:3px solid #343a38;border-radius:50%;background:#dfe9e6}
.function-expertise__media:before,.function-expertise__media:after{position:absolute;z-index:2;top:50%;width:22px;height:5px;background:#fff;content:"";transform:translateY(-50%)}
.function-expertise__media:before{left:-12px}.function-expertise__media:after{right:-12px}
.function-expertise__media img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center}
.function-expertise__media[data-function-wheel-card]{transform-origin:50% 50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.function-expertise__media[data-function-wheel-card].is-wheel-entering{will-change:transform,opacity;animation:function-wheel-arrive 1050ms cubic-bezier(.16,1,.3,1) both}
@keyframes function-wheel-arrive{0%{opacity:0;transform:rotate(-405deg) scale(.84)}68%{opacity:1;transform:rotate(13deg) scale(1.015)}86%{transform:rotate(-4deg) scale(.995)}100%{opacity:1;transform:rotate(0deg) scale(1)}}

@media (max-width:860px){
  .function-expertise{width:min(100% - 30px,720px);margin-bottom:42px}
  .function-expertise .function-carousel{gap:9px 10px}
  .function-expertise .function-carousel__control{width:42px;min-width:42px;height:42px;padding:0}
  .function-expertise__panel{min-height:0;padding:32px;grid-template-columns:1fr;gap:28px}
  .function-expertise__media{order:-1;width:min(72vw,360px)}
  .function-expertise__copy{max-width:none}
}
@media (max-width:560px){
  .function-expertise{width:calc(100% - 28px);margin-bottom:34px}
  .function-expertise .function-carousel{margin-bottom:20px;padding-bottom:15px;grid-template-columns:46px minmax(0,1fr) 46px;grid-template-rows:auto auto;gap:10px 8px}
  .function-expertise .function-carousel__viewport{grid-column:1/-1;grid-row:1;padding:0}
  .function-expertise .function-carousel__track{gap:8px!important;padding:5px 14px 9px!important}
  .function-carousel__tab{padding:10px 14px;font-size:13px}
  .function-expertise .function-carousel__control{width:42px;min-width:42px;height:42px;padding:0;font-size:21px}
  .function-expertise .function-carousel__control--previous{grid-column:1;grid-row:2}
  .function-expertise .function-carousel__control--next{grid-column:3;grid-row:2}
  .function-expertise .function-carousel__status{grid-column:2;grid-row:2;align-self:center;margin:0;font-size:10px}
  .function-expertise__panel{padding:23px 20px 28px;border-radius:24px}
  .function-expertise__media{width:min(100%,290px)}
  .function-expertise__copy h3{font-size:32px}
  .function-expertise__copy ul{grid-template-columns:1fr;gap:8px}
}
@media (prefers-reduced-motion:reduce){.function-carousel__tab,.function-expertise__panel,.function-expertise__media[data-function-wheel-card].is-wheel-entering{transition:none;animation:none!important}}

/* Additional industry cards intentionally mirror the original industry flip cards. */
.industry-expansion{
  padding:0 0 82px;
}
.industry-expansion__inner{
  width:min(1200px,calc(100% - 40px));
}
.industry-expansion__grid{
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:57px 66px;
}
.industry-flip-card,
.industry-flip-card__inner{
  min-height:210px;
  height:210px;
}
.industry-flip-card__inner{
  transition-duration:.3s;
}
.industry-flip-card__face{
  border:0;
  border-radius:40px;
  box-shadow:none;
}
.industry-flip-card__front{
  padding:10px 20px 20px;
  background:#333;
}
.industry-flip-card__overlay{
  background:rgba(51,51,51,.6);
}
.industry-flip-card h3,
.industry-flip-card__front h3{
  max-width:270px;
  color:#fff!important;
  font-size:clamp(16px,1.55vw,22px);
  font-weight:700;
  line-height:1.12;
  text-transform:uppercase;
  text-shadow:none;
}
.industry-flip-card__hint,
.industry-flip-card__icon,
.industry-flip-card__back:before,
.industry-flip-card__back:after{
  display:none;
}
.industry-flip-card__back{
  padding:30px;
  color:#183f38;
  background:linear-gradient(145deg,#2fae91 0%,#67cfa8 52%,#b7e7b4 100%);
}
.industry-flip-card__back h3{
  width:100%!important;
  max-width:210px!important;
  margin:0 auto!important;
  color:#183f38!important;
  font-family:"Avenir Reguler",Avenir,Arial,sans-serif!important;
  font-size:clamp(16px,1.5vw,21px)!important;
  font-weight:700!important;
  line-height:1.25!important;
  text-transform:none!important;
  text-align:center!important;
  text-wrap:balance!important;
}
.industry-flip-card__cta{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  min-height:100%;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
}
.industry-flip-card__back a,
.thc-c-9287f246d4d .thc-c-377a9c21250 a.thc-c-c658feca40e{
  display:inline-flex!important;
  width:auto!important;
  min-width:150px!important;
  min-height:44px!important;
  padding:9px 20px!important;
  border:2px solid #fff!important;
  border-radius:999px!important;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  background:transparent!important;
  color:#fff!important;
  font-family:"Open Sans",Helvetica,Arial,Lucida,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
  line-height:1.1!important;
  text-align:center;
  box-shadow:none!important;
  transform:none!important;
}
.industry-flip-card__back a:hover,
.industry-flip-card__back a:focus-visible,
.thc-c-9287f246d4d .thc-c-377a9c21250 a.thc-c-c658feca40e:hover,
.thc-c-9287f246d4d .thc-c-377a9c21250 a.thc-c-c658feca40e:focus-visible{
  border-color:#fff!important;
  color:#fff!important;
  background:#ff6955!important;
  box-shadow:0 8px 18px rgba(18,63,56,.2)!important;
  transform:translateY(-1px)!important;
}

/* Food and beverage card: use a modern bottle-production line rather than a restaurant plate. */
.thc-c-c6aea07017d .thc-c-80f619c7a8c{
  background-image:url('/assets/images/food-beverage-bottle-production-line.avif')!important;
  background-position:center!important;
  background-size:cover!important;
}

/* Travel and tourism card: immersive guest POV across a resort, pool, beach, and ocean. */
.thc-c-070a612ec1d .thc-c-80f619c7a8c{
  background-image:url('/assets/images/travel-tourism-luxury-beach-resort.avif')!important;
  background-position:center!important;
  background-size:cover!important;
}

/* QSR card: show a counter-service employee and unmistakable quick-service environment. */
.thc-c-c85737f453a .thc-c-80f619c7a8c{
  background-image:url('/assets/images/qsr-employee-fast-casual-restaurant.avif')!important;
  background-position:center 42%!important;
  background-size:cover!important;
}
@media (min-width:981px){
  /* The legacy industry grid contains 11 cards. Pull this continuation up
     by one row and place its first card in the open third grid position. */
  .industry-expansion{margin-top:-272px}
  .industry-expansion__grid{margin-bottom:-210px;transform:translateY(-210px)}
  .industry-expansion__grid>.industry-flip-card:first-child{grid-column:3}
}
@media (max-width:980px){
  .industry-expansion{margin-top:-35px}
  .industry-expansion__inner{width:90%}
  .industry-expansion__grid{grid-template-columns:1fr;gap:45px}
}
@media (max-width:640px){
  .industry-expansion{padding:0 0 64px}
  .industry-flip-card,.industry-flip-card__inner{min-height:210px;height:210px}
  .industry-flip-card__back{padding:18px 22px}
  .industry-flip-card__cta{gap:10px}
  .industry-flip-card__back h3{max-width:95%!important;font-size:clamp(11px,3vw,14px)!important;line-height:1.2!important}
  .industry-flip-card__back a,
  .thc-c-9287f246d4d .thc-c-377a9c21250 a.thc-c-c658feca40e{min-width:0!important;min-height:36px!important;padding:7px 12px!important;font-size:9px!important}
}

/* Keep each function label fully readable while preserving direct tab selection. */
.function-expertise .function-carousel__viewport{
  overflow-x:auto!important;
  scroll-snap-type:none;
}
.function-expertise .function-carousel__track{
  width:100%!important;
  min-width:100%!important;
  box-sizing:border-box;
}
.function-expertise .function-carousel__track:after{
  display:block;
  flex:0 0 36px;
  width:36px;
  height:1px;
  content:"";
}
.function-expertise .function-carousel__tab{
  display:flex;
  flex:0 0 calc((100% - 24px)/3);
  min-height:58px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  line-height:1.25;
  text-align:center;
  text-wrap:balance;
  white-space:normal;
}
@media (max-width:720px){
  .function-expertise .function-carousel__tab{
    flex-basis:calc((100% - 8px)/2);
    min-height:54px;
    padding:9px 12px;
    font-size:12px;
  }
}
@media (max-width:400px){
  .function-expertise .function-carousel__tab{
    min-height:58px;
    padding-inline:9px;
    font-size:11px;
  }
}

/* "Industries We Serve" cards. All eleven are meant to be the same 210px box,
   but that height only reaches the card through a height:100% chain that hangs
   off a per-card scope class, and the card itself declares no height of its
   own. Safari resolved that chain differently for the Legal and Banking &
   Finance cards -- the two in the short final row -- so they came out a
   different size from the other nine, and pinning only the outer box left the
   card itself still resolving height:100% against it. Give every level of the
   chain the same explicit 210px so no percentage is left to resolve, and force
   the rounded clip that the per-card scope classes were supplying unevenly.

   Note this grid mixes two components: these eleven legacy cards and the
   .industry-flip-card articles (Maritime, Retail, Education and the rest),
   which carry their own min-height:210px. Both now land on the same box. */
.industries-grid-row .thc-c-2988c1bdfac,
.industries-grid-row .thc-c-2323ba26e36,
.industries-grid-row .thc-c-80f619c7a8c{
  height:210px!important;
  min-height:210px!important;
}
.industries-grid-row .thc-c-9287f246d4d{
  overflow:hidden!important;
  border-radius:40px!important;
}

/* Preserve white-title contrast without obscuring the industry photography. */
html body .thc-c-80f619c7a8c{
  background-color:rgba(51,51,51,.44)!important;
  background-blend-mode:multiply!important;
}
