.elementor-39966 .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-39966 .elementor-element.elementor-element-66c8227.e-con{--align-self:center;}@media(min-width:768px){.elementor-39966 .elementor-element.elementor-element-66c8227{--content-width:1600px;}}/* 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-39966 { 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-39966 .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-39966 .elementor-element-5aeedfd .elementor-heading-title{letter-spacing:-0.5px;}/* End custom CSS */