/* Original Divi motion, without a frontend library. */
:root{--ease-in-out:cubic-bezier(.77,0,.175,1)}
.hero[data-hero-carousel]{overflow:hidden}
.hero-frame{position:absolute;inset:0;opacity:0;pointer-events:none}
.hero-frame.is-active{opacity:1}
/* Keep the foam above the photo shade and below the fixed content/controls. */
.hero-wake{position:absolute;z-index:0;inset:auto 0 16px;width:100%;height:38%;min-height:155px;max-height:230px;opacity:0;background:url('hero-wake.svg?v=2') center/100% 100% no-repeat;pointer-events:none;contain:paint}
.faithful [data-hero-carousel] .hero-content{position:relative;z-index:1}
.faithful [data-hero-carousel] .hero-footnote{z-index:1}
.hero-footnote .hero-caption{text-shadow:0 1px 4px #03122a,0 0 8px #03122a}
.hero-navigation{display:flex;align-items:center;gap:16px}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--line);background:white;color:var(--navy);font-size:16px;line-height:1;border-radius:50%}
.hero-motion{color:white;background:#0b215433;border-color:#ffffff77;flex-shrink:0}
.hero-arrow{position:absolute;z-index:3;top:43%;width:48px;height:48px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#ffffff24;color:white;font-size:36px;line-height:1}
.hero-arrow-prev{left:25px}.hero-arrow-next{right:25px}
.loop-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.loop-track,.loop-group{display:flex;width:max-content;align-items:stretch}
.loop-group{gap:25px;padding-right:25px;flex-shrink:0}
.loop-carousel.is-ready .loop-viewport{overflow:hidden}
.service-carousel{--card-width:calc((min(1180px, calc(100vw - 100px)) - 50px) / 3)}
.service-carousel .service{width:var(--card-width);flex:0 0 var(--card-width)}
.faithful .service-carousel .service-content{min-height:300px}
.carousel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:22px}
.carousel-controls{display:flex;align-items:center;gap:10px}
.carousel-controls>button:not(.motion-toggle){width:38px;height:38px;background:white;color:var(--navy);border:1px solid var(--line);font-size:18px;border-radius:50%}
.partners-moving{padding-block:38px 28px}
.partners-moving>.wrap{display:block}
.partners-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.partners-moving .partners-label{width:auto}
.partner-carousel .loop-group{gap:40px;padding-right:40px;align-items:center}
.partner-logo{width:200px;flex:0 0 200px;min-height:126px;display:flex;align-items:center;justify-content:center}
.partner-logo img{width:200px;height:112px;object-fit:contain}
.partner-motion-control{display:flex;align-items:center;justify-content:end;gap:10px;margin-top:12px;color:var(--text);font-size:10px}
.partner-motion-control .motion-toggle{width:30px;height:30px;font-size:13px}
@media(hover:hover) and (pointer:fine){.hero-arrow:hover{background:#fff;color:var(--red)}.hero-motion:hover{background:#ffffff40}.carousel-controls>button:hover,.partner-motion-control .motion-toggle:hover{background:var(--paper)}}
@media(max-width:1100px){.service-carousel{--card-width:calc((100vw - 110px) / 3)}}
@media(max-width:800px){.service-carousel{--card-width:calc(100vw - 40px)}.hero-arrow{width:36px;height:36px;font-size:29px;top:40%}.hero-arrow-prev{left:12px}.hero-arrow-next{right:12px}.partner-logo{width:180px;flex-basis:180px}.partner-logo img{width:180px;height:100px}.partner-carousel .loop-group{gap:30px;padding-right:30px}.faithful .service-carousel .service-content{min-height:285px}}
@media(max-width:540px){.hero-navigation{gap:9px}.hero-motion{width:30px;height:30px;font-size:13px}.hero-counter{gap:6px!important}.hero-counter button{width:21px}.hero-arrow{top:31%}.hero-caption{max-width:135px}.carousel-toolbar .text-link{font-size:10px;gap:7px}.partners-heading .text-link{font-size:10px;gap:8px}.partner-logo{width:160px;flex-basis:160px;min-height:112px}.partner-logo img{width:160px;height:95px}.partner-carousel .loop-group{gap:26px;padding-right:26px}}
/* Overlay invisible sizing copies in one grid cell: the longest localized slide
   reserves its natural height at every width, including before JavaScript runs. */
.faithful .hero[data-hero-carousel]{height:auto;min-height:550px}
.faithful [data-hero-carousel] .hero-content{height:auto;min-height:550px;padding:155px 25px 110px;display:flex;flex-direction:column;align-items:center}
.hero-copy{display:grid;width:100%;align-items:center}
.hero-copy-current,.hero-copy-reserve{grid-area:1/1;min-width:0}
.hero-copy-reserve{visibility:hidden;pointer-events:none;user-select:none}
.faithful [data-hero-carousel] .hero-slide-title{font-size:clamp(28px,3.1vw,44px);line-height:1.15;font-weight:750;text-transform:uppercase;letter-spacing:-.03em;margin:0;overflow-wrap:anywhere}
.faithful [data-hero-carousel] .hero-actions{flex-shrink:0}
@media(max-width:800px){.faithful .hero[data-hero-carousel]{min-height:430px}.faithful [data-hero-carousel] .hero-content{min-height:430px;padding-top:115px}.faithful [data-hero-carousel] .hero-slide-title{font-size:32px}}
@media(max-width:540px){.faithful .hero[data-hero-carousel]{min-height:450px}.faithful [data-hero-carousel] .hero-content{min-height:450px;padding:55px 40px 110px;justify-content:center}.faithful [data-hero-carousel] .hero-slide-title{font-size:25px;line-height:1.12;max-width:345px;margin:auto}.faithful [data-hero-carousel] .hero-slide-title.is-long{font-size:22px}.faithful [data-hero-carousel] .eyebrow{min-height:0;flex-shrink:0}.faithful [data-hero-carousel] .hero-actions{margin-top:20px;flex-wrap:nowrap}.hero-arrow{top:40%}.hero-arrow-prev{left:4px}.hero-arrow-next{right:4px}}
@media(max-width:360px){.faithful [data-hero-carousel] .hero-slide-title{font-size:23px}.faithful [data-hero-carousel] .hero-slide-title.is-long{font-size:21px}}
@media(prefers-reduced-motion:reduce){.loop-carousel.is-ready .loop-viewport{overflow-x:auto}.loop-carousel .loop-group[aria-hidden=true]{display:none}.hero-frame{transform:none!important}.hero-wake{display:none!important}.motion-toggle:disabled{opacity:.45;cursor:default}}
