.tl-project-filters{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:40px}.tl-project-filters a{display:flex;align-items:center;justify-content:center;min-height:50px;flex:1 1 180px;border:1px solid var(--e-global-color-tl-brand,#053266);border-radius:18px;padding:10px 12px;text-decoration:none;background:var(--e-global-color-tl-pale,#f2f8ff);color:var(--e-global-color-tl-brand,#053266);font:500 16px/1.3 Inter,sans-serif}.tl-project-filters a[aria-current],.tl-project-filters a:hover{background:var(--e-global-color-tl-bright,#0a6be5);color:white;border-color:var(--e-global-color-tl-bright,#0a6be5)}.tl-project-portfolio a:focus-visible{outline:3px solid #0a6be5;outline-offset:4px}.tl-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tl-project-card{min-width:0;overflow:hidden;border:1px solid #e2e2e3;border-radius:4px;background:white;box-shadow:0 4px 4px #00000024}.tl-project-image{display:block}.tl-project-card .tl-project-image>img{width:100%;height:240px;object-fit:cover;display:block}.tl-project-copy{padding:24px 24px 80px;display:flex;flex-direction:column;gap:12px}.tl-project-copy h3{margin:0;color:var(--e-global-color-tl-dark,#131c2e);font:600 22px/1.2 Inter,sans-serif}.tl-project-copy p{margin:0}.tl-project-location{color:var(--e-global-color-tl-bright,#0a6be5);text-transform:uppercase;font:400 16px/1.3 Inter,sans-serif}.tl-project-summary{color:var(--e-global-color-tl-navy,#001d42);font:500 15px/23px Inter,sans-serif}.tl-project-button{align-self:flex-start;margin-top:12px;border:1.5px solid var(--e-global-color-tl-bright,#0a6be5);border-radius:8px;padding:8px 16px;color:var(--e-global-color-tl-bright,#0a6be5);font:600 15px/20px 'Plus Jakarta Sans',sans-serif;text-decoration:none}.tl-project-button:hover{background:#0a6be5;color:white}.tl-project-empty{padding:40px 0;font:500 20px/1.5 Inter,sans-serif}.tl-project-pagination{display:flex;gap:16px;margin-top:32px}.tl-project-pagination a{padding:8px 16px;border:1px solid #0a6be5;border-radius:4px}.tl-project-portfolio[aria-busy=true]{opacity:.65}.tl-project-single{max-width:1440px;margin:auto;padding:90px 32px;font:500 20px/1.65 Inter,sans-serif}.tl-project-single h1{font:400 88px/.96 'Bebas Neue',sans-serif}.tl-project-single img{max-width:100%;height:auto}.tl-project-single .wp-post-image{width:100%;max-height:700px;object-fit:cover;margin:32px 0}.tl-project-single a{color:#0a6be5}@media(max-width:1024px){.tl-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tl-project-filters a{flex-basis:28%}}@media(max-width:767px){.tl-project-grid{grid-template-columns:1fr}.tl-project-filters a{flex-basis:42%;font-size:14px}.tl-project-single{padding:48px 22px}.tl-project-single h1{font-size:48px}}
.tl-case-hero-copy{padding-left:max(32px,calc((100vw - 1440px)/2))!important}.tl-case-gallery{display:flex;flex-direction:column;gap:24px}.tl-case-main{width:100%;height:600px;object-fit:cover;display:block}.tl-case-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tl-case-thumb{padding:0!important;border:2px solid transparent!important;background:transparent!important;border-radius:0!important;cursor:pointer}.tl-case-thumb[aria-pressed=true]{border-color:#0a6be5!important}.tl-case-thumb:focus-visible{outline:3px solid #0a6be5;outline-offset:3px}.tl-case-thumbs img{width:100%;height:140px;object-fit:cover;display:block}@media(max-width:1024px){.tl-case-hero-copy{padding-left:32px!important}.tl-case-main{height:480px}}@media(max-width:767px){.tl-case-hero-copy{padding-left:22px!important}.tl-case-main{height:340px}.tl-case-thumbs{gap:10px}.tl-case-thumbs img{height:80px}}
/* Project hero height: fill the stretched photo column, including long titles. */
.elementor .elementor-element.tl-field-hero {
  position: relative;
  flex: 1 1 auto;
  min-height: 800px;
  overflow: hidden;
}
.elementor .elementor-element.tl-field-hero img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100% !important;
  max-width: 100%;
  object-fit: cover;
}
@media (max-width: 1024px) {
  .elementor .elementor-element.tl-field-hero { min-height: 500px; }
}
@media (max-width: 767px) {
  .elementor .elementor-element.tl-field-hero { min-height: 350px; }
}
