/* V11 Mobile reliability pass. Loaded LAST so the older stacked revision styles cannot win. */
:root{--pd11-ink:#111a31;--pd11-turquoise:#12bfd1;--pd11-pink:#ed2f91;}
html{overflow-x:clip;}body{overflow-x:clip;}
img{max-width:100%;}
/* 1) Completely remove the old two-line breadcrumb pill and decoration. */
.page-hero.pd-pagehero-v3 .bread.pd-breadcrumb{
  display:flex!important;align-items:center;flex-wrap:nowrap!important;
  width:100%!important;max-width:100%;min-width:0;overflow:hidden;
  margin:0 0 clamp(22px,3vw,31px)!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;font-size:.77rem!important;line-height:1.7!important;
  letter-spacing:.015em!important;white-space:nowrap;color:#c6d9ed!important;
  gap:10px!important;
}
.page-hero.pd-pagehero-v3 .bread.pd-breadcrumb::before,
.page-hero.pd-pagehero-v3 .bread.pd-breadcrumb::after{display:none!important;content:none!important;}
.bread.pd-breadcrumb a{flex:none!important;color:#f4f9ff!important;text-decoration:none;font-weight:750;}
.bread.pd-breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px;}
.bread.pd-breadcrumb .pd-bread-sep{flex:none!important;color:#6cdfe6!important;opacity:.85;}
.bread.pd-breadcrumb .pd-bread-current{overflow:hidden;text-overflow:ellipsis;min-width:0;white-space:nowrap;display:block;font-weight:600;color:#b8d2e6;}
/* 2) Photos must always fill their frames; never show blank gradient panels because CDN failed. */
.hero-photo,.service-media,.photo-frame,.pd-title-image,.pd-cta-photo{position:relative;overflow:hidden;}
.hero-photo>img,.service-media>img,.photo-frame>img,.pd-title-image>img,.pd-cta-photo>img{
  display:block!important;visibility:visible!important;opacity:1!important;
  width:100%!important;height:100%!important;object-fit:cover!important;
  background:#1c2b45;
}
.service-media{display:block;aspect-ratio:1.55;min-height:210px;background:#172947;}
.service-media>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;}
.service-card .card-number{z-index:3;}
.hero-photo>img,.pd-title-image>img{position:absolute!important;inset:0;}
.photo-frame.pd-photo-frame-caption>img{position:absolute!important;inset:0;}
.photo-frame.pd-photo-frame-caption{min-height:430px;}
/* Avoid long cards with enormous blank media and very tall spacing on phones. */
.service-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;}
.service-card .body{display:flex;flex:1;flex-direction:column;padding:26px 26px 28px;}
.service-card .body h3{overflow-wrap:anywhere;line-height:1.3;}
.service-card .body p{line-height:1.65;}
.service-card .body .link-arrow{margin-top:auto;}
/* 3) All mobile hero transitions are atomic: no overlapping slides or phantom text. */
@media(max-width:991.98px){
  .hero.pd-slider-ready .pd-carousel .carousel-inner{display:block!important;overflow:hidden!important;}
  .hero.pd-slider-ready .pd-carousel .carousel-item{
    display:none!important;position:relative!important;visibility:hidden!important;
    opacity:0!important;pointer-events:none!important;transform:none!important;
    animation:none!important;transition:none!important;float:none!important;
  }
  .hero.pd-slider-ready .pd-carousel .carousel-item.active{
    display:block!important;visibility:visible!important;opacity:1!important;
    pointer-events:auto!important;animation:pd11-switch .35s ease-out both!important;
  }
  .hero.pd-slider-ready .carousel-item.active .hero-content > *,
  .hero.pd-slider-ready .carousel-item.active .hero-img-wrap{animation:none!important;opacity:1!important;transform:none!important;}
  @keyframes pd11-switch{from{opacity:.93}to{opacity:1}}
  .hero,.hero .carousel-item{min-height:0!important;}
  .hero .hero-content{padding:50px 0 28px!important;}
  .hero h1,.hero .hero-slide-title{font-size:clamp(2.1rem,6vw,3.55rem)!important;letter-spacing:-.045em;line-height:1.12!important;max-width:20ch;overflow-wrap:normal;}
  .hero p{font-size:clamp(.95rem,2.1vw,1.08rem);line-height:1.7!important;}
  .hero .hero-img-wrap{height:350px;max-width:640px;margin:18px auto 75px!important;}
  .hero-photo{border-radius:24px!important;border-width:5px!important;}
  .hero .hero-float{left:12px;right:auto;bottom:-14px;min-width:0;max-width:min(290px,85%);padding:13px 14px;}
  .hero .hero-navigation{bottom:14px!important;right:20px!important;}
  .hero .carousel-indicators{bottom:17px!important;}
}
@media(max-width:767.98px){
  .container{--bs-gutter-x:1.6rem;}
  .site-header .pd-logo-img{width:min(225px,68vw)!important;height:auto!important;}
  .topline{line-height:1.4;}
  .hero .hero-content{padding:33px 0 14px!important;}
  .hero .hero-kicker{font-size:.64rem!important;letter-spacing:.055em!important;max-width:100%;white-space:normal!important;line-height:1.4;}
  .hero h1,.hero .hero-slide-title{font-size:clamp(2.08rem,8.9vw,2.82rem)!important;line-height:1.15!important;max-width:100%;margin-bottom:20px!important;}
  .hero p{font-size:.96rem!important;line-height:1.67!important;}
  .hero .hero-actions{gap:10px;margin-top:22px;}
  .hero .hero-actions .btn{font-size:.85rem!important;min-width:0;white-space:normal;}
  .hero .proof-line{display:flex;flex-wrap:wrap;gap:7px 15px;font-size:.73rem!important;margin-top:24px;}
  .hero .hero-img-wrap{height:260px!important;margin:16px auto 62px!important;}
  .hero .hero-float{bottom:-15px;max-width:85%;}
  .hero .hero-navigation{right:14px!important;bottom:10px!important;}
  .hero .hero-navigation button{width:36px!important;height:36px!important;}
  .hero .carousel-indicators{bottom:12px!important;left:12px!important;right:auto!important;}
  .hero-photo{border-radius:20px!important;}
  .hero .hero-float-two{display:none!important;}
  .page-hero.pd-pagehero-v3 .page-hero-inner{padding:34px 0 45px!important;}
  .page-hero.pd-pagehero-v3 .bread.pd-breadcrumb{font-size:.69rem!important;margin-bottom:24px!important;gap:8px!important;}
  .pd-pagehero-v3 .eyebrow{font-size:.65rem!important;max-width:100%;}
  .pd-pagehero-v3 h1{font-size:clamp(2.1rem,8.1vw,3rem)!important;line-height:1.14!important;letter-spacing:-.04em!important;overflow-wrap:normal;}
  .pd-pagehero-v3 p{font-size:.94rem!important;line-height:1.65!important;}
  .pd-pagehero-v3 .hero-chip{font-size:.72rem!important;margin-bottom:5px;}
  .pd-pagehero-v3 .pd-pagehero-media{margin-top:22px!important;}
  .pd-pagehero-v3 .pd-title-image-v4{height:230px!important;border-radius:20px!important;}
  .pd-pagehero-v3 .pd-title-photo-caption{font-size:.55rem!important;}
  main .pd-surface{padding:56px 0!important;}
  main .pd-surface.section-sm{padding:48px 0!important;}
  main .pd-surface h2{font-size:clamp(1.9rem,7.7vw,2.6rem)!important;letter-spacing:-.04em!important;line-height:1.2!important;overflow-wrap:normal;}
  main .pd-surface .section-head{margin-bottom:24px!important;}
  main .pd-surface .eyebrow{font-size:.7rem!important;letter-spacing:.08em;line-height:1.5!important;}
  .service-media{min-height:0!important;height:auto!important;aspect-ratio:1.7;}
  .service-card .body{padding:24px!important;}
  .service-card .body h3{font-size:1.3rem!important;}
  .service-card .body p{font-size:.94rem!important;}
  .photo-frame.pd-photo-frame-caption{min-height:310px!important;height:310px!important;}
  main .photo-frame.pd-photo-frame-caption .photo-label{left:20px;bottom:20px;right:17px;}
  .industry{min-width:0;}
  .industry-icon{flex-shrink:0;}
  .pd-faq-v8 .accordion-button{overflow-wrap:anywhere;}
  .pd-cta-panel-v4{padding:30px 22px!important;}
  #back-to-top{width:43px!important;height:43px!important;right:13px!important;bottom:max(15px,env(safe-area-inset-bottom))!important;border-radius:12px!important;}
  .footer-v2 a[href^="mailto:"]{overflow-wrap:anywhere;word-break:break-word;}
  .footer-v2 .footer-address-card{overflow-wrap:anywhere;}
  .row.g-5 > *{min-width:0;}
}
@media(max-width:390px){
  .hero h1,.hero .hero-slide-title{font-size:clamp(2rem,9vw,2.45rem)!important;}
  .hero .hero-actions .btn{width:100%;justify-content:center;}
  .hero .hero-img-wrap{height:235px!important;}
  .pd-pagehero-v3 h1{font-size:clamp(1.98rem,8.15vw,2.6rem)!important;}
  .pd-pagehero-v3 .pd-title-image-v4{height:210px!important;}
}
@media(prefers-reduced-motion:reduce){
  .hero.pd-slider-ready .pd-carousel .carousel-item.active{animation:none!important;}
}
