/* What We Do: shared division, service, catalogue and learning layouts. */
body.ts-pages{--navy:var(--tf-navy);--teal:var(--tf-blue);--off:#f3f6f8;--gold:var(--tf-gold);background:#fafbf9;color:var(--tf-ink);margin:0}
.ts-pages .tf-standard-banner{background-color:var(--tf-navy)!important;color:#fff;isolation:isolate;position:relative;text-align:left!important;border:0!important}
.ts-pages .tf-standard-banner :is(h1,p,.hi){color:#fff!important}
.ts-pages .tf-standard-banner p{color:#d2e0ec!important;max-width:58ch}
.ts-pages .tf-standard-banner :is(.hero-orb1,.hero-orb2,.hero-scan-line,.hero-badge){display:none}
.ts-pages .tf-standard-banner .hero-bg{opacity:.4!important;filter:saturate(.65)}
.ts-pages .tf-standard-banner:before{background:linear-gradient(90deg,#112b46eb,#112b4670)!important;opacity:1!important}
.ts-pages .tf-standard-banner:after{display:none!important}
.ts-pages .tf-standard-banner :is(.hero-in,.hero-inner,.page-hero-grid,.hero-text){position:relative;z-index:1}
.ts-pages .tf-standard-banner.hero{background:linear-gradient(90deg,#112b46f5,#112b46b3),url('../photo-1532187863486-abf9dbad1b69') center/cover!important}
.ts-pages .tf-standard-banner.hero>h1,.ts-pages .tf-standard-banner.hero>p,.ts-pages .tf-standard-banner.hero>.hero-pill{width:min(1200px,100%);margin-inline:auto}
.ts-pages .hero-in{max-width:1200px;margin-inline:auto}
.ts-pages .tf-standard-banner :is(.hero-pill,.page-hero-pill){background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important;color:#bad8f0!important;letter-spacing:.14em}
.ts-pages .page-hero-stats{border-left:1px solid #ffffff40;padding-left:28px}
.ts-pages .hero-stat-card{border:0!important;border-bottom:1px solid #ffffff30!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;text-align:left!important;padding:18px 0!important;transform:none!important}
.ts-pages :is(.hero-stat-n,.h-stat-n){color:#fff!important;font-family:var(--tf-serif)}
.ts-pages :is(.hero-stat-l,.h-stat-l){color:#c4d7e7!important}
.ts-pages .breadcrumb{color:#c8dae9}
.ts-pages .breadcrumb a{color:#c8dae9!important}
.ts-pages :is(.page-hero-acts,.cta-r){display:flex;gap:16px;flex-wrap:wrap}
.ts-pages :is(.btn-teal,.btn-pr,.btn-ol,.btn-ghost,.cta-btn,.cta-btn-w,.cta-btn-o,.lvl-btn,.cat-btn,.c-btn-enroll){border-radius:4px!important;box-shadow:none!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important}
.ts-pages :is(.page-hero-acts,.tf-standard-banner) :is(.btn-teal,.btn-pr){background:#fff!important;color:var(--tf-navy)!important;border:1px solid #fff!important}
.ts-pages .tf-standard-banner :is(.btn-ol,.btn-ghost){color:#fff!important;background:transparent!important;border:1px solid #ffffff80!important}
.ts-pages :is(.sec,.ts-route-section){padding:80px max(20px,calc((100% - 1200px)/2))!important;margin:0 auto;background:#fafbf9}
.ts-pages .sec :is(.sec-in),.ts-pages .ts-route-section>.tf-wrap{max-width:1200px;width:100%;margin:auto}
.ts-pages :is(.sec-alt,.sec.alt){background:#eef3f6!important}
.ts-pages :is(.sec-hd,.lvl-hd){text-align:left!important;margin-bottom:40px!important;max-width:820px}
.ts-pages :is(.sec-hd,.lvl-hd) :is(h2,p){text-align:left!important;margin-left:0!important}
.ts-pages :is(.sh,.sec h2,.lvl-hd h2){color:var(--tf-navy)!important}
.ts-pages :is(.ew,.eyebrow,.sh-sub){color:var(--tf-blue)!important;justify-content:flex-start!important}
.ts-pages :is(.svc-grid,.card-grid,.cat-grid,.lvl-grid,.course-grid,.ts-route-grid){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card,.course-card){background:#fff!important;border:1px solid #d8e2ea!important;border-radius:8px!important;box-shadow:none!important;overflow:hidden;min-width:0;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card){padding:28px!important;display:flex;flex-direction:column;text-align:left!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card):before,.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card):after{display:none!important}
.ts-pages .svc-num{display:none}
.ts-pages :is(.svc-title,.card-title,.cat-title,.lvl-title,.c-title){color:var(--tf-navy)!important;margin-bottom:16px}
.ts-pages :is(.svc-desc,.card-desc,.cat-desc,.lvl-desc,.c-desc){color:var(--tf-muted)!important;line-height:1.7;margin-bottom:24px}
.ts-pages :is(.svc-icon-wrap,.why-ic,.feature-icon,.card-icon,.benefit-icon,.c-icon){color:var(--tf-blue)!important;background:#eaf1f6!important;border-radius:6px!important;box-shadow:none!important;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ts-pages :is(.svc-icon-wrap,.card-icon){width:52px!important;height:52px!important;margin-bottom:24px}
.ts-pages :is(.svc-icon-wrap,.why-ic,.feature-icon,.card-icon,.benefit-icon,.c-icon,.modal-icon) svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ts-pages .svc-icon-wrap:has(img){width:100%!important;height:210px!important;background:#f8fafb!important;padding:12px;display:block}
.ts-pages .svc-icon-wrap img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:0!important;transform:none!important}
.ts-pages :is(.svc-tags,.lvl-features){margin-bottom:24px}
.ts-pages .svc-tag{background:#edf3f7!important;color:#38566e!important;border:0!important;border-radius:3px!important;font-size:var(--tf-type-caption)}
.ts-pages :is(.svc-link,.cat-btn,.lvl-btn){margin-top:auto!important;padding-top:14px;border-top:1px solid #d8e2ea!important;color:var(--tf-blue)!important;background:transparent!important;justify-content:space-between}
.ts-pages .c-btn-enroll{background:var(--tf-navy)!important;color:#fff!important;border:0!important;width:100%}
.ts-pages :is(.why-grid,.features-grid,.benefits-grid,.benefits-2col){gap:28px!important}
.ts-pages :is(.why-card,.feature-item,.benefit-item,.benefit-box){background:transparent!important;border:0!important;border-top:1px solid #c9d8e3!important;border-radius:0!important;box-shadow:none!important;padding:24px 0!important;min-width:0}
.ts-pages :is(.why-title,.step-title,.feature-content h3,.benefit-box h3){color:var(--tf-navy)!important}
.ts-pages :is(.process-steps){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.ts-pages .process-steps:before{display:none}
.ts-pages .step{padding:24px 0;border-top:1px solid #b9cfdf;text-align:left}
.ts-pages .step-circle{background:var(--tf-navy)!important;color:#fff!important;border:0!important;box-shadow:none!important;width:48px;height:48px;margin:0 0 24px}
.ts-pages .cta-wrap{background:#fafbf9!important;padding:64px 20px 72px!important;margin:0!important;max-width:none!important}
.ts-pages .cta-band,.ts-pages .cta-block{width:min(1200px,100%)!important;box-sizing:border-box;background:var(--tf-navy)!important;border:1px solid #25425e!important;border-radius:16px!important;padding:48px!important;color:#fff;box-shadow:0 16px 36px #112b4614!important;overflow:hidden}
.ts-pages .cta-band{margin:auto!important}
.ts-pages .cta-block{width:min(1200px,calc(100% - 40px))!important;margin:64px auto 72px!important}
.ts-pages :is(.cta-band,.cta-block) :is(h2,p){color:#fff!important}
.ts-pages :is(.cta-band,.cta-block) :is(.cta-btn,.cta-btn-w){background:#fff!important;color:var(--tf-navy)!important}
.ts-pages :is(.cta-scanline,.cta-band:before,.cta-block:before){display:none!important}
.ts-pages .cta-ew{color:#b8d8ef!important}
.ts-pages :is(.fade,.fade-up,.fade-left,.fade-right){opacity:1!important;transform:none!important;animation:none!important}
.ts-pages .filters{background:#fff;border-bottom:1px solid #d8e2ea;position:relative;top:auto}
.ts-pages .filters-in{max-width:1200px;padding:24px 20px;gap:12px}
.ts-pages :is(.filter-btn,.cat-tab){border-radius:4px!important;min-height:44px;background:#eef3f7;color:var(--tf-navy)}
.ts-pages :is(.filter-btn.active,.cat-tab.active){background:var(--tf-navy)!important;color:#fff!important}
.ts-pages .main{max-width:1240px;padding:48px 20px 80px}
.ts-pages .c-img{height:210px!important}.ts-pages .c-img img{object-fit:cover;width:100%;height:100%}
.ts-pages .c-body{padding:24px!important}.ts-pages .c-title{font-family:var(--tf-serif);font-size:var(--tf-type-subheading);line-height:1.2}.ts-pages .c-desc{font-size:var(--tf-type-body)}
.ts-pages .c-meta{font-size:var(--tf-type-caption);border-top:1px solid #d8e2ea;padding-top:16px}
.ts-route-heading{margin-bottom:32px}.ts-route-heading h2{margin-top:16px}
.ts-route-card{display:flex;flex-direction:column;color:var(--tf-ink);border-bottom:1px solid #c4d5e1;text-decoration:none!important}
.ts-route-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ts-route-card>div{padding:24px 0;flex:1;display:flex;flex-direction:column}
.ts-route-card h3{margin-bottom:16px}.ts-route-card p{color:var(--tf-muted);margin-bottom:24px}.ts-route-card span{color:var(--tf-blue);font-size:var(--tf-type-control);margin-top:auto}
.ts-pages :is(a,button,summary,input,select):focus-visible{outline:3px solid #2787e7!important;outline-offset:4px}
.ts-pages.ts-directory .tf-directory-banner{background:var(--tf-navy);color:#fff;padding-inline:40px;margin-inline:calc((1200px - 100vw)/2)}
.ts-pages.ts-directory .tf-directory-banner h1{color:#fff}
.ts-pages.ts-directory .tf-directory-photo{border-radius:6px}.ts-pages.ts-directory .tf-directory-grid{padding-top:32px}
@media(hover:hover){.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card,.course-card):hover{transform:translateY(-4px)!important;box-shadow:0 12px 28px #112b4612!important;border-color:#89abc8!important}.ts-route-card:hover h3{color:var(--tf-blue)}}
@media(max-width:1000px){.ts-pages :is(.svc-grid,.card-grid,.cat-grid,.lvl-grid,.course-grid,.ts-route-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}.ts-pages :is(.process-steps){grid-template-columns:1fr 1fr}.ts-pages .page-hero-stats{border-left:0;padding-left:0;border-top:1px solid #ffffff30;padding-top:20px}.ts-pages .hero-stat-card{text-align:center!important;padding:12px 8px!important}.ts-pages.ts-directory .tf-directory-banner{margin-inline:0}}
@media(max-width:600px){.ts-pages :is(.sec,.ts-route-section){padding:48px 20px!important}.ts-pages :is(.svc-grid,.card-grid,.cat-grid,.lvl-grid,.course-grid,.ts-route-grid,.why-grid,.features-grid,.benefits-grid,.benefits-2col,.process-steps){grid-template-columns:1fr!important;gap:24px!important}.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card){padding:24px!important}.ts-pages :is(.cta-band,.cta-block){padding:32px 24px!important;border-radius:12px!important}.ts-pages :is(.cta-l,.cta-r){width:100%}.ts-pages .cta-band{display:flex;flex-direction:column;gap:24px}.ts-pages .cta-r{justify-content:flex-start}.ts-pages .hero-in{display:block!important}.ts-pages .hero-text{width:100%}.ts-pages .hero-stats{margin-top:24px}.ts-pages.ts-directory .tf-directory-banner{padding-inline:20px}.ts-pages .page-hero-grid{min-width:0}.ts-pages .page-hero-stats{gap:8px!important}}
@media(prefers-reduced-motion:reduce){.ts-pages *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card,.course-card):hover{transform:none!important}}

/* Keep service and course imagery wide and consistent without overlapping card copy. */
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card){padding-top:250px!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card)::before{height:210px!important}
.ts-pages :is(.c-img){height:210px!important;overflow:hidden}
.ts-pages :is(.c-img) img{width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:600px){.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card){padding-top:214px!important}.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card)::before{height:178px!important}.ts-pages :is(.c-img){height:178px!important}}
.ts-pages :is(h1,h2,h3,.sh,.svc-title,.card-title,.cat-title,.lvl-title,.c-title){font-weight:500!important}
.ts-pages :is(.svc-title,.svc-desc,.card-title,.card-desc,.cat-title,.cat-desc,.lvl-title,.lvl-desc){text-align:left!important}
.ts-pages .tf-standard-banner>.page-hero-grid{max-width:1200px}
@media(max-width:600px){.ts-pages .tf-standard-banner{padding-inline:20px!important}}
.ts-pages .flt{min-height:44px;border-radius:4px!important;border:1px solid #c9d8e3;background:#fff;color:var(--tf-navy);font-size:var(--tf-type-control)}
.ts-pages .flt.on,.ts-pages .cat-tab.is-active{background:var(--tf-navy)!important;color:#fff!important;border-color:var(--tf-navy)!important}
.ts-pages :is(.course-no,.step-n){display:none}
@media(prefers-reduced-motion:reduce){
 .ts-pages :is(.svc-card,.card,.cat-card,.lvl-card,.course-card),.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card,.course-card):hover{transition:none!important;animation:none!important;transform:none!important}
}
.ts-generated-cta .cta-band{display:flex;align-items:center;justify-content:space-between;gap:40px}
.ts-generated-cta h2{margin:16px 0 20px}
.ts-generated-cta .tf-eyebrow{color:#b8d8ef!important}
.ts-generated-cta .cta-btn-w{padding:14px 24px;white-space:nowrap}
.ts-pages .cta-band .cta-ew,.ts-pages .cta-block .tf-eyebrow{color:#b8d8ef!important}

.ts-pages .c-icon{width:44px;height:44px;margin-bottom:20px}
/* Homepage-style hero composition for every What We Do route. */
html body.ts-pages .ts-home-banner{width:100%;max-width:none;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;text-align:left!important;padding-inline:max(32px,calc((100% - 1240px)/2))!important;background-color:#102b46!important;isolation:isolate;overflow:hidden}
html body.ts-pages .ts-home-banner :is(.page-hero-grid,.hero-inner,.hero-in){display:block!important;width:100%;max-width:1240px;margin-inline:auto!important;min-height:0!important;text-align:left!important}
html body.ts-pages .ts-home-banner .hero-text{max-width:730px;margin:0!important;text-align:left!important}
html body.ts-pages .ts-home-banner h1{max-width:730px!important;margin:20px 0 0!important;color:#fff!important;text-align:left!important}
html body.ts-pages .ts-home-banner p{max-width:565px!important;margin:28px 0 0!important;color:#e2eaf1!important;text-align:left!important}
html body.ts-pages .ts-home-banner :is(.hi,h1 em,h1 span){color:#9ecbfa!important}
html body.ts-pages .ts-home-banner .hero-bg{inset:0!important;width:100%!important;height:100%!important;opacity:1!important;filter:none!important;background-size:cover!important;background-position:70% center!important;z-index:-2!important}
html body.ts-pages .ts-home-banner:before{content:''!important;position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(90deg,#081d31fa 0%,#081d31ed 31%,#081d31a6 57%,#081d311f 100%)!important;opacity:1!important;pointer-events:none}
html body.ts-pages .ts-home-banner :is(.breadcrumb,.page-hero-pill,.hero-pill){position:relative;text-align:left!important;margin-left:0!important;margin-right:0!important;color:#a9d5ff!important}
html body.ts-pages .ts-home-banner .page-hero-acts{margin-top:32px!important;gap:16px!important;justify-content:flex-start!important}
html body.ts-pages .ts-home-banner.hero{background:linear-gradient(90deg,#081d31fa 0%,#081d31ed 31%,#081d31a6 57%,#081d311f 100%),url('../photo-1532187863486-abf9dbad1b69') 70% center/cover!important}
html body.ts-pages .ts-home-banner.hero:before{background:transparent!important}
html body.ts-pages .ts-home-banner.tf-directory-banner{width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;box-sizing:border-box;background:linear-gradient(90deg,#081d31fa,#081d31a6),url('./who-we-are-banner.png') 70% center/cover!important}
html body.ts-pages .ts-home-banner.tf-directory-banner:before{background:transparent!important}
.ts-banner-facts{background:var(--tf-navy);padding:24px 0;border-top:1px solid #ffffff25}
.ts-banner-facts :is(.page-hero-stats,.hero-stats){display:flex!important;flex-direction:row!important;justify-content:space-between;flex-wrap:wrap;gap:24px!important;border:0!important;padding:0!important;margin:0!important}
.ts-banner-facts :is(.hero-stat-card,.h-stat){flex:1;min-width:120px;padding:12px 24px!important;border:0!important;border-left:1px solid #ffffff30!important;background:transparent!important;text-align:left!important}
.ts-banner-facts :is(.hero-stat-n,.h-stat-n){font-size:var(--tf-type-subheading)!important;line-height:1.2}
.ts-banner-facts :is(.hero-stat-l,.h-stat-l){font-size:var(--tf-type-caption)!important;line-height:1.6}
@media(max-width:800px){html body.ts-pages .ts-home-banner{padding-inline:32px!important}}
@media(max-width:600px){html body.ts-pages .ts-home-banner{padding-inline:20px!important}html body.ts-pages .ts-home-banner:before{background:linear-gradient(90deg,#081d31ed,#081d31c9)!important}.ts-banner-facts{padding:16px 0}.ts-banner-facts :is(.hero-stat-card,.h-stat){padding:8px!important;min-width:80px}.ts-banner-facts :is(.page-hero-stats,.hero-stats){gap:8px!important}}
html body.ts-pages .ts-home-banner .hero-wave{display:none!important}
/* Use one supplied scientific banner image across all consulting service pages. */
html body.ts-pages.ts-consulting .ts-home-banner .hero-bg{background-image:url('/assets/home-original-background-0.jpg')!important;background-position:center right!important;background-size:cover!important;opacity:1!important;filter:none!important}

/* Image-led service cards: consistent visual anchor across consulting and Academy. */
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card){position:relative;padding-top:238px!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card)>*{position:relative;z-index:1}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card)::before{content:"";display:block!important;position:absolute;inset:0 0 auto;height:198px;background-position:center;background-size:cover;background-repeat:no-repeat;border-radius:8px 8px 0 0;z-index:0;transform:scale(1);transform-origin:center;transition:transform .45s ease,filter .35s ease!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card) :is(.svc-icon-wrap,.card-icon,.cat-icon,.lvl-icon){display:none!important}
.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card):hover::before{transform:scale(1.04);filter:saturate(1.08)}
.ts-pages.ts-consulting :is(.svc-card,.card,.cat-card,.lvl-card):nth-child(3n+1)::before{background-image:url('/assets/card-images/forensic-toxicology.jpg')}
.ts-pages.ts-consulting :is(.svc-card,.card,.cat-card,.lvl-card):nth-child(3n+2)::before{background-image:url('/assets/card-images/forensic-biology.jpg')}
.ts-pages.ts-consulting :is(.svc-card,.card,.cat-card,.lvl-card):nth-child(3n)::before{background-image:url('/assets/card-images/forensic-documents.jpg')}
.ts-pages.ts-academy :is(.card,.cat-card,.lvl-card):nth-child(3n+1)::before{background-image:url('/assets/card-images/academy-research.jpg')}
.ts-pages.ts-academy :is(.card,.cat-card,.lvl-card):nth-child(3n+2)::before{background-image:url('/assets/card-images/academy-writing.jpg')}
.ts-pages.ts-academy :is(.card,.cat-card,.lvl-card):nth-child(3n)::before{background-image:url('/assets/card-images/academy-data.jpg')}
@media(max-width:600px){.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card){padding-top:214px!important}.ts-pages :is(.svc-card,.card,.cat-card,.lvl-card)::before{height:178px}}
