/* One continuous slideshow behind the hero and its shortcut cards. */
.hero-intro{position:relative;isolation:isolate;overflow:hidden;background:#102e42}
.hero-intro>.hero-slides{position:absolute;inset:0;z-index:-2}
.hero-intro>.hero-slides .hero-slide{background-position:center;background-size:cover}
.hero-intro::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#061d3033 0%,#0a26394d 42%,#0c293dc7 100%)}
.hero-intro>.reference-hero{background:transparent;isolation:auto}
.hero-intro>.reference-hero::after,.hero-intro>.reference-utility::before,.hero-intro>.reference-utility::after{display:none}
.hero-intro>.reference-utility{background:transparent;isolation:auto;padding-top:38px;padding-bottom:58px}
.hero-intro .utility-heading{margin-bottom:28px}
.hero-intro .utility-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hero-intro .utility-card{grid-template-columns:40px minmax(0,1fr);gap:0 14px;padding:24px 18px 62px;min-height:224px;background:#0d293d70;border-color:#ffffff50;backdrop-filter:blur(3px)}
.hero-intro .utility-symbol{width:40px;height:40px}
.hero-intro .utility-symbol svg{width:23px;height:23px}
.hero-intro .utility-card .utility-label{font-size:8px;letter-spacing:1px;overflow-wrap:anywhere}
.hero-intro .utility-card h3{font-size:21px}
.hero-intro .utility-card p{font-size:12px}
.hero-intro .utility-link-arrow{right:18px;bottom:18px;width:30px;height:30px;font-size:17px}
.hero-intro .utility-card:hover,.hero-intro .utility-card:focus-visible{background:#153d56b8;border-color:#dfc58a}
@media(max-width:1100px){.hero-intro .utility-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-intro .utility-card{min-height:190px}}
@media(max-width:760px){.hero-intro>.reference-utility{padding-top:22px;padding-bottom:36px}.hero-intro .utility-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero-intro .utility-card{display:block;padding:20px 16px 58px;min-height:222px}.hero-intro .utility-symbol{width:34px;height:34px;margin-bottom:14px}.hero-intro .utility-symbol svg{width:21px;height:21px}.hero-intro .utility-card .utility-label{font-size:7px;letter-spacing:.7px;margin-bottom:8px}.hero-intro .utility-card h3{font-size:19px}.hero-intro .utility-card p{font-size:11px}.hero-intro .utility-heading>p{color:#d4e1e9}.hero-intro::before{background:linear-gradient(180deg,#061d304d 0%,#0a263966 35%,#0c293de0 100%)}}

/* Compact navigation buttons in place of tall cards. */
.hero-intro .utility-card{display:flex;align-items:center;gap:12px;padding:16px 48px 16px 18px;min-height:76px}
.hero-intro .utility-card>div{min-width:0}
.hero-intro .utility-card .utility-label,.hero-intro .utility-card p{display:none}
.hero-intro .utility-card h3{font-size:18px;line-height:1.4;margin:0;white-space:nowrap}
.hero-intro .utility-symbol{width:32px;height:32px;flex-shrink:0;margin:0}
.hero-intro .utility-symbol svg{width:20px;height:20px}
.hero-intro .utility-link-arrow{top:50%;bottom:auto;right:16px;width:24px;height:24px;font-size:15px;transform:translateY(-50%)}
.hero-intro .utility-card:hover .utility-link-arrow{transform:translate(2px,-50%)}
@media(max-width:760px){.hero-intro .utility-cards{gap:10px}.hero-intro .utility-card{gap:9px;padding:14px 32px 14px 12px;min-height:64px}.hero-intro .utility-card h3{font-size:15px;letter-spacing:-.7px}.hero-intro .utility-symbol{width:26px;height:26px}.hero-intro .utility-symbol svg{width:17px;height:17px}.hero-intro .utility-link-arrow{right:10px;width:20px;height:20px;font-size:13px}}
@media(max-width:360px){.hero-intro .utility-card{gap:6px;padding-left:9px;padding-right:27px}.hero-intro .utility-card h3{font-size:14px}.hero-intro .utility-symbol{width:23px;height:23px}.hero-intro .utility-link-arrow{right:7px;width:18px;height:18px}}

/* Lower the main banner copy as one group without moving slide controls. */
.hero-intro .reference-hero .hero-content{transform:translateY(36px)}
@media(max-width:760px){.hero-intro .reference-hero .hero-content{transform:translateY(22px)}}

/* Larger banner text, positioned lower in the shared hero background. */
.hero-intro .reference-hero .hero-content{transform:translateY(64px)}
.hero-intro .reference-hero h1{font-size:44px;line-height:1.35}
.hero-intro .reference-hero .hero-desc{font-size:18px;margin-top:14px}
.hero-intro .reference-hero .hero-phone{font-size:21px;padding:12px 26px;margin-top:22px}
@media(max-width:1100px){.hero-intro .reference-hero h1{font-size:38px}}
@media(max-width:760px){.hero-intro .reference-hero .hero-content{transform:translateY(34px);width:calc(100% - 48px)}.hero-intro .reference-hero h1{font-size:28px;line-height:1.4}.hero-intro .reference-hero .hero-desc{font-size:14px;line-height:1.7;margin-top:12px}.hero-intro .reference-hero .hero-phone{font-size:17px;padding:11px 16px;margin-top:18px}.hero-intro .reference-hero{height:380px}}
@media(max-width:360px){.hero-intro .reference-hero h1{font-size:25px}.hero-intro .reference-hero .hero-desc{font-size:13px}.hero-intro .reference-hero .hero-phone{font-size:16px}}

.hero-intro .utility-heading h2{white-space:nowrap}
@media(max-width:760px){.hero-intro .utility-heading h2{font-size:clamp(14px,4.4vw,27px);letter-spacing:-.6px;line-height:1.5}}

.hero-intro .utility-heading{flex-wrap:wrap;gap:14px 28px}
.hero-intro .utility-heading>p{white-space:nowrap;max-width:100%}
@media(max-width:760px){.hero-intro .utility-heading>p{font-size:clamp(9px,2.65vw,12px);letter-spacing:-.2px;line-height:1.8}}
