.elementor-39553 .elementor-element.elementor-element-66c8227{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39553 .elementor-element.elementor-element-66c8227.e-con{--align-self:center;}.elementor-39553 .elementor-element.elementor-element-ca15f0d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.77;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;--border-radius:0px 0px 20px 20px;box-shadow:0px 7px 7px 0px rgba(0, 0, 0, 0.1);--padding-top:70px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;--z-index:0;}.elementor-39553 .elementor-element.elementor-element-ca15f0d:not(.elementor-motion-effects-element-type-background), .elementor-39553 .elementor-element.elementor-element-ca15f0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-abd8d68 );}.elementor-39553 .elementor-element.elementor-element-ca15f0d::before, .elementor-39553 .elementor-element.elementor-element-ca15f0d > .elementor-background-video-container::before, .elementor-39553 .elementor-element.elementor-element-ca15f0d > .e-con-inner > .elementor-background-video-container::before, .elementor-39553 .elementor-element.elementor-element-ca15f0d > .elementor-background-slideshow::before, .elementor-39553 .elementor-element.elementor-element-ca15f0d > .e-con-inner > .elementor-background-slideshow::before, .elementor-39553 .elementor-element.elementor-element-ca15f0d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-abd8d68 );--background-overlay:'';}.elementor-39553 .elementor-element.elementor-element-b6ab1b8{--display:flex;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-widget-theme-page-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-39553 .elementor-element.elementor-element-26ef8c4{text-align:center;}.elementor-39553 .elementor-element.elementor-element-26ef8c4 .elementor-heading-title{font-size:64px;font-weight:600;line-height:1.2em;letter-spacing:-0.03em;color:var( --e-global-color-793cbc7 );}.elementor-39553 .elementor-element.elementor-element-5c296db{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-39553 .elementor-element.elementor-element-e7f0972{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-39553 .elementor-element.elementor-element-9a64211{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-39553 .elementor-element.elementor-element-5aeedfd{width:var( --container-widget-width, 70% );max-width:70%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 40px 0px;--container-widget-width:70%;--container-widget-flex-grow:0;text-align:start;}.elementor-39553 .elementor-element.elementor-element-5aeedfd.elementor-element{--align-self:center;}.elementor-39553 .elementor-element.elementor-element-5aeedfd .elementor-heading-title{font-size:64px;font-weight:600;line-height:1.2em;color:var( --e-global-color-1b233e8 );}.elementor-39553 .elementor-element.elementor-element-56067d8{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;}.elementor-39553 .elementor-element.elementor-element-1fc2ef6{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-decoration:var( --e-global-typography-accent-text-decoration );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-39553 .elementor-element.elementor-element-3c77036{--grid-columns:3;--grid-row-gap:20px;--grid-column-gap:20px;}.elementor-39553 .elementor-element.elementor-element-3c77036 > .elementor-widget-container{padding:10px 10px 10px 30px;}.elementor-39553 .elementor-element.elementor-element-3c77036 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-39553 .elementor-element.elementor-element-3c77036 .e-loop-item > .elementor-section, .elementor-39553 .elementor-element.elementor-element-3c77036 .e-loop-item > .elementor-section > .elementor-container, .elementor-39553 .elementor-element.elementor-element-3c77036 .e-loop-item > .e-con, .elementor-39553 .elementor-element.elementor-element-3c77036 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-widget-divider .elementor-divider__text{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-39553 .elementor-element.elementor-element-1e55d6d{--divider-border-style:solid;--divider-color:var( --e-global-color-text );--divider-border-width:1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-39553 .elementor-element.elementor-element-1e55d6d .elementor-divider-separator{width:100%;}.elementor-39553 .elementor-element.elementor-element-1e55d6d .elementor-divider{padding-block-start:15px;padding-block-end:15px;}@media(max-width:1024px){.elementor-39553 .elementor-element.elementor-element-b6ab1b8{--margin-top:0px;--margin-bottom:0px;--margin-left:60px;--margin-right:60px;}.elementor-widget-theme-page-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-39553 .elementor-element.elementor-element-26ef8c4 .elementor-heading-title{font-size:50px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-39553 .elementor-element.elementor-element-5aeedfd .elementor-heading-title{font-size:56px;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-39553 .elementor-element.elementor-element-3c77036{--grid-columns:2;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(max-width:767px){.elementor-39553 .elementor-element.elementor-element-ca15f0d{--border-radius:0px 0px 20px 20px;--margin-top:4px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:35px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-39553 .elementor-element.elementor-element-b6ab1b8{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-widget-theme-page-title .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-39553 .elementor-element.elementor-element-26ef8c4 .elementor-heading-title{font-size:42px;}.elementor-39553 .elementor-element.elementor-element-9a64211{--width:98%;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-39553 .elementor-element.elementor-element-9a64211.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-39553 .elementor-element.elementor-element-5aeedfd{padding:10px 10px 10px 10px;}.elementor-39553 .elementor-element.elementor-element-5aeedfd .elementor-heading-title{font-size:48px;}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-39553 .elementor-element.elementor-element-3c77036{--grid-columns:1;}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(min-width:768px){.elementor-39553 .elementor-element.elementor-element-66c8227{--content-width:1600px;}.elementor-39553 .elementor-element.elementor-element-e7f0972{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-39553 .elementor-element.elementor-element-b6ab1b8{--width:100%;}}/* Start custom CSS *//* =========================================================
   CASE STUDY INDEX - Elementor build
   Paste into: Page Settings (gear) > Advanced > Custom CSS
   Uses these CSS classes (Advanced > CSS Classes):
     tt-idx         -> the main container
     tt-idx-head    -> container holding the heading
     tt-idx-filter  -> each Taxonomy Filter widget
     tt-idx-grid    -> the Loop Grid widget
   And in the Loop Item template:
     tt-card        -> the card container
     tt-card-tag    -> Post Terms (industry) widget
     tt-card-title  -> Post Title widget
     tt-card-num    -> Heading widget (number)
     tt-card-label  -> Text widget (number label)
     tt-card-link   -> "Read case study" Heading/Text widget
   ========================================================= */

body.elementor-page-39553 { background: #0b0b0d; }

/* Page wrapper */
.tt-idx { max-width: 1180px; margin: 0 auto; padding: 64px 16px 72px; }

/* Heading */
.tt-idx-head { text-align: center; padding-bottom: 28px; }
.tt-idx-head .elementor-heading-title {
    color: #fff; font-size: clamp(30px, 4.4vw, 50px); line-height: 1.12; font-weight: 700;
    letter-spacing: -0.5px; max-width: 900px; margin: 0 auto; text-wrap: balance;
}

/* Filter buttons (Elementor Taxonomy Filter widget) */
.tt-idx-filter .e-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.tt-idx-filter .e-filter-item {
    padding: 9px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.2;
    background: #17171b; border: 1px solid rgba(255,255,255,.22); color: #fff; cursor: pointer;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.tt-idx-filter .e-filter-item:hover { border-color: #f26522; color: #fff; background: #17171b; }
.tt-idx-filter .e-filter-item[aria-pressed="true"] { background: #f26522; border-color: #f26522; color: #fff; }
/* Second filter row (services) uses green when active: add class tt-idx-filter-alt to that widget too */
.tt-idx-filter-alt .e-filter-item[aria-pressed="true"] { background: #1fbf8f; border-color: #1fbf8f; color: #06140f; }
.tt-idx-filter { margin-bottom: 10px; }
.tt-idx-filter + .tt-idx-grid, .tt-idx-grid { margin-top: 22px; }

/* Card (Loop Item) */
.tt-card {
    height: 100%; padding: 26px !important; gap: 14px !important;
    background: #111114; border: 1px solid rgba(255,255,255,.22); border-radius: 18px;
    transition: transform .25s ease, border-color .25s ease;
}
.tt-card:hover { transform: translateY(-3px); border-color: #f26522; }
.tt-card a { text-decoration: none !important; }

.tt-card-tag a, .tt-card-tag .elementor-post-info__terms-list-item, .tt-card-tag span {
    display: inline-block; padding: 5px 12px; border-radius: 999px;
    background: rgba(31,191,143,.10); border: 1px solid rgba(31,191,143,.45);
    color: #1fbf8f !important; font-size: 12.5px; font-weight: 700; line-height: 1.3;
}
.tt-card-title .elementor-heading-title, .tt-card-title .elementor-heading-title a {
    color: #fff !important; font-size: 19px; line-height: 1.35; font-weight: 700;
}
.tt-card-num .elementor-heading-title {
    color: #f26522; font-size: 36px; line-height: 1.05; font-weight: 700; font-variant-numeric: tabular-nums;
}
.tt-card-label, .tt-card-label p { color: #9a9ca4; font-size: 13.5px; line-height: 1.45; margin: 0; }
.tt-card-link { margin-top: auto !important; }
.tt-card-link .elementor-heading-title, .tt-card-link a { color: #f26522 !important; font-size: 14.5px; font-weight: 600; }

/* Mobile */
@media (max-width: 767px) {
    .tt-idx { padding: 44px 16px 56px; }
    .tt-idx-filter .e-filter { justify-content: flex-start; }
    .tt-idx-head { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
    .tt-card { transition: none; }
    .tt-card:hover { transform: none; }
}
/* SEO H1 fix: keep former-H1 look */
body.elementor-page-39553 .tt-was-h1 .elementor-heading-title{font-family:var(--e-global-typography-b3cccbc-font-family),Sans-serif;font-size:var(--e-global-typography-b3cccbc-font-size);font-weight:var(--e-global-typography-b3cccbc-font-weight);line-height:var(--e-global-typography-b3cccbc-line-height);color:var(--e-global-color-primary);letter-spacing:var(--e-global-typography-b3cccbc-letter-spacing);}
body.elementor-page-39553 .elementor-element-5aeedfd .elementor-heading-title{letter-spacing:-0.5px;}/* End custom CSS */