/* Shared hero; isolated from legacy .section-hero and Bootstrap layout rules. */
.ti-hero {
    position:relative; isolation:isolate; overflow:hidden; box-sizing:border-box;
    display:flex; align-items:center; min-height:var(--ti-hero-min-height,764px); padding:176px 0 116px;
    background:#002b3f; color:#fff; font-family:'Poppins',sans-serif;
}
/* Keep legacy Small/Medium selections from compressing the inner-page layout. */
.ti-hero--inner { min-height:max(700px,var(--ti-hero-min-height,700px)); padding-top:156px; padding-bottom:88px; }
.ti-hero *, .ti-hero *::before, .ti-hero *::after { box-sizing:border-box; }
.ti-hero__background { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; filter:none; opacity:1!important; transform:none!important; }
.ti-hero--background-video::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(0,35,54,.97) 0%,rgba(0,48,66,.88) 35%,rgba(0,52,68,.46) 69%,rgba(3,20,32,.22) 100%); }
.ti-hero__container { width:100%; max-width:1440px; padding:0 40px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; }
.ti-hero__copy, .ti-hero__media { min-width:0; }
/* Override alignment saved inline by the WYSIWYG editor, including nested elements. */
.ti-hero__copy,
.ti-hero :is(.ti-hero__heading,.ti-hero__description,.ti-hero__stats),
.ti-hero :is(.ti-hero__heading,.ti-hero__description,.ti-hero__stats) * { text-align:left!important; }
.ti-hero__eyebrow { display:inline-flex; align-items:center; gap:7px; max-width:100%; margin:0 0 24px; padding:5px 15px; border:1px solid #ffffff3d; border-radius:5px; background:#718d9cc7; color:#fff; font:600 14px/20px 'Inter',sans-serif; letter-spacing:1.4px; text-transform:uppercase; overflow-wrap:anywhere; }
.ti-hero :is(h1,h2,h3), .ti-hero__rotating { margin:0 0 24px; color:#fff; font-family:'Poppins',sans-serif; font-size:var(--ti-hero-title-size,clamp(32px,4.166667vw,60px)); font-weight:400; line-height:1.1; letter-spacing:0; text-align:left; overflow-wrap:break-word; }
.ti-hero :is(h1,h2,h3) :is(em,i) { font-weight:600; }
.ti-hero__heading > :last-child { margin-bottom:24px; }
.ti-hero__heading :is(h1,h2,h3){font-family:Poppins,Arial,sans-serif!important;font-size:var(--ti-hero-title-size,clamp(32px,4.166667vw,60px))!important;font-weight:400!important;line-height:1.1!important;letter-spacing:0!important}
.ti-hero__heading :is(h1,h2,h3) :is(span,strong,b,a){font:inherit!important;letter-spacing:0!important}
.ti-hero__heading :is(h1,h2,h3) :is(em,i){font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;font-style:italic!important;font-weight:600!important;letter-spacing:0!important}
.ti-hero__description { max-width:600px; font:400 18px/1.4 'Inter',sans-serif; letter-spacing:0; }
.ti-hero .ti-hero__description :is(p,li) { font:inherit; color:inherit; }
.ti-hero .ti-hero__description :is(p,li,span){font:inherit!important;font-family:Inter,Arial,sans-serif!important;letter-spacing:0!important;color:inherit!important}
.ti-hero__description p { margin:0 0 16px; }
.ti-hero__description > :last-child { margin-bottom:0; }
.ti-hero__description a:not(.button) { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.ti-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:24px; }
.ti-hero a.ti-hero__button, .ti-hero__description a.button, .sec_twoColimgTag a.ti-media-feature__button, .sec_twoColimgTag .mainSec_ctaGroup > a.btn {
    display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:54px; max-width:100%;
    padding:15px 24px; margin:0; border:1px solid #00adbb; border-radius:999px; background:#00adbb; color:#fff;
    font:400 14px/1.5 'Inter',sans-serif; text-decoration:none; text-align:center; white-space:normal; transition:background .18s,color .18s;
}
.ti-hero a.ti-hero__button--secondary { border-color:#88a9b4; background:transparent; color:white; }
.ti-hero__button > span, .ti-media-feature__button > span { display:inline-flex; align-items:center; flex-shrink:0; }
.ti-hero a.ti-hero__button:hover, .ti-hero__description a.button:hover, .sec_twoColimgTag a.ti-media-feature__button:hover, .sec_twoColimgTag .mainSec_ctaGroup > a.btn:hover { background:#6fd9df; border-color:#6fd9df; color:#fff; text-decoration:none; }
.sec_twoColimgTag a.ti-media-feature__button:focus-visible, .sec_twoColimgTag .mainSec_ctaGroup > a.btn:focus-visible { outline:3px solid #007888; outline-offset:5px; }
/* Older block templates output .btn and an optional uploaded icon. Keep their CTA in sync with the Hero. */
.sec_twoColimgTag .mainSec_ctaGroup > a.btn { color:#fff!important; }
.sec_twoColimgTag .mainSec_ctaGroup > a.btn > img { display:none; }
.sec_twoColimgTag .mainSec_ctaGroup > a.btn::after {
    content:""; display:inline-block; flex:0 0 22px; width:22px; height:22px; background-color:currentColor;
    -webkit-mask:url('../img/icons/ArrowUpRight.svg') center / contain no-repeat;
    mask:url('../img/icons/ArrowUpRight.svg') center / contain no-repeat;
}
.ti-hero :is(a,button):focus-visible { outline:3px solid #fff; outline-offset:5px; }
.ti-hero__media { overflow:hidden; border-radius:24px; box-shadow:0 18px 50px #00182730; }
.ti-hero__media--image { box-shadow:none; }
.ti-hero__media:is(.ti-hero__media--wistia,.ti-hero__media--vimeo,.ti-hero__media--embed) { width:100%; align-self:center; justify-self:center; border-radius:0; box-shadow:none; overflow:visible; }
.ti-hero__image { display:block; width:100%; height:auto; opacity:1!important; transform:none!important; }
.ti-hero__video { position:relative; aspect-ratio:16/9; background:transparent; }
.ti-hero--inner .ti-hero__video { aspect-ratio:16/9; }
.ti-hero__video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:0; box-shadow:none; }
.ti-hero__play { position:absolute; inset:0; display:grid; place-items:center; color:white; }
.ti-hero__play > img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; border-radius:0; box-shadow:none; opacity:1!important; filter:none!important; transform:none!important; }
.ti-hero__play-icon { display:grid; place-items:center; position:relative; z-index:1; width:112px; height:112px; border-radius:50%; background:#002b3f; color:white; }
.ti-hero__play-icon svg { margin-left:4px; }
.ti-hero__animation { aspect-ratio:2/1; display:grid; place-items:center; border:1px solid #b6d2db70; border-radius:24px; background:linear-gradient(120deg,#acc9d52b,#d7e5ec12); backdrop-filter:blur(12px); }
.ti-hero__media--animation { box-shadow:none; border-radius:0; }
.ti-hero__animation--lottie { position:relative; display:block; aspect-ratio:1/1; border:0; border-radius:0; background:transparent; backdrop-filter:none; }
.ti-hero__lottie-canvas { display:block; width:100%; height:100%; position:absolute; inset:0; visibility:hidden; }
.ti-hero__animation-fallback { width:100%; height:100%; display:grid; place-items:center; }
.ti-hero__animation-fallback img { width:100%; height:100%; object-fit:contain; }
.ti-hero__animation.is-ready .ti-hero__lottie-canvas { visibility:visible; }
.ti-hero__animation.is-ready .ti-hero__animation-fallback { visibility:hidden; }
.ti-hero__embed { position:relative; width:100%; }
.ti-hero__embed iframe, .ti-hero__embed video { display:block; width:100%; max-width:100%; aspect-ratio:16/9; height:auto; margin-inline:auto; border:0; border-radius:0; box-shadow:none; }
.ti-hero__embed wistia-player { display:block; width:100%; }
.ti-hero__breadcrumbs { margin-bottom:20px; font:400 12px/1.5 'Inter',sans-serif; }
.ti-hero__breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }
.ti-hero__breadcrumbs li { margin:0; }
.ti-hero__breadcrumbs li + li::before { content:'/'; margin-right:8px; color:#93b4c0; }
.ti-hero__breadcrumbs a { color:#cde5eb; }
.ti-hero__stats { display:flex; flex-wrap:wrap; gap:24px; margin-top:32px; font-size:14px; }
.ti-hero__stats > div { flex:1 1 100px; }
.ti-hero__stats strong { display:block; font-size:26px; }
.ti-hero__stats p { color:inherit; font:inherit; margin:0; }
.ti-hero--text-only .ti-hero__container { grid-template-columns:minmax(0,860px); }
@media(min-width:1440px) { .ti-hero:not(.ti-hero--text-only) .ti-hero__container { grid-template-columns:minmax(0,696px) minmax(0,600px); } }
@media(max-width:1100px) {
    .ti-hero__container { gap:32px; padding-inline:32px; }
    .ti-hero, .ti-hero--inner { padding-top:148px; padding-bottom:80px; }
    .ti-hero__description { font-size:16px; }
}
@media(max-width:767px) {
    .ti-hero, .ti-hero--inner { min-height:0; padding:124px 0 56px; }
    .ti-hero__container, .ti-hero--text-only .ti-hero__container { grid-template-columns:minmax(0,1fr); gap:36px; padding-inline:24px; }
    .ti-hero__eyebrow { margin-bottom:20px; font-size:12px; }
    .ti-hero--background-video::before { background:linear-gradient(90deg,#002336ed,#003042b3); }
    .ti-hero__media, .ti-hero__animation { border-radius:18px; }
    .ti-hero__video { aspect-ratio:16/9; }
    .ti-hero__play-icon { width:76px; height:76px; }
    .ti-hero__actions { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .ti-hero *, .ti-hero *::before, .ti-hero *::after { transition:none!important; animation:none!important; } }

.ti-hero__eyebrow > span { min-width:0; }
.ti-hero__eyebrow .ti-hero__tag-icon { display:block; flex:0 0 16px; width:16px; height:16px; margin:0; object-fit:contain; opacity:1!important; transform:none!important; }

/* Keep the fallback image visible until the first video frame can play. */
.ti-hero__background-video { visibility:hidden; pointer-events:none; filter:grayscale(1); opacity:.7!important; }
.ti-hero__background-video.is-ready { visibility:visible; }
@media(prefers-reduced-motion:reduce) { .ti-hero__background-video { display:none; } }

/* Final homepage: the transparent animation floats over the footage without
   making the banner as tall as its square artboard. Inner/Hub pages retain their layout. */
.ti-hero--home.ti-hero--background-video::before { display:none; }
.ti-hero--home .ti-hero__background-video { filter:none; opacity:1!important; }
.ti-hero--home .ti-hero__animation--lottie { width:70%; margin-inline:auto; }
@media(min-width:768px) {
    .ti-hero--home.ti-hero--hub { padding-top:156px; padding-bottom:160px; }
    .ti-hero--home.ti-hero--hub:not(.ti-hero--text-only) .ti-hero__container { grid-template-columns:minmax(0,696fr) minmax(0,600fr); }
    .ti-hero--home.ti-hero--hub .ti-hero__heading { max-width:696px; }
    .ti-hero--home.ti-hero--hub .ti-hero__description { max-width:600px; }
    .ti-hero--home.ti-hero--hub .ti-hero__media--animation { position:relative; align-self:stretch; overflow:visible; }
    .ti-hero--home.ti-hero--hub .ti-hero__animation--lottie {
        position:absolute; width:min(35vw,504px); max-width:none; aspect-ratio:1/1!important;
        top:calc(50% + 72px); left:calc(50% - 32px); transform:translate(-50%,-50%);
    }
}
