
.tsb-case-study{background:#f6f7f9;color:#162032;padding:64px 20px 96px}.tsb-case-study-inner{max-width:1160px;margin:auto}.tsb-case-eyebrow{font-size:12px;letter-spacing:.17em;color:#697587;font-weight:700;margin-bottom:28px}.tsb-case-header{background:#101b2b;color:#fff;border-radius:14px;padding:clamp(28px,5vw,65px);margin-bottom:36px}.tsb-case-logo{display:block;max-width:220px;max-height:105px;object-fit:contain;margin-bottom:25px}.tsb-case-company{font-size:16px;font-weight:600;color:#c8d4e5;margin:0 0 10px}.tsb-case-header h1{font-size:clamp(32px,4.5vw,60px);line-height:1.12;max-width:900px;margin:0 0 22px;color:white;overflow-wrap:break-word}.tsb-case-website{color:#d6b15f;text-decoration:underline}.tsb-case-intro{max-width:850px;margin:0 0 40px;font-size:17px;line-height:1.7}.tsb-case-videos h2{font-size:28px;margin:0 0 24px}.tsb-case-videos .tsb-campaign-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:24px}.tsb-case-videos .tsb-campaign-tile{background:#fff;border-radius:12px;overflow:hidden;padding:12px;box-shadow:0 4px 20px #17203312}.tsb-case-videos .tsb-campaign-tile video{border-radius:7px;max-height:550px}.tsb-case-videos .tsb-campaign-tile h3{font-size:18px;color:#162032}.tsb-case-credit{border-top:1px solid #d9dfe6;padding-top:28px;margin-top:65px;color:#566477}.tsb-case-credit a{font-weight:700;color:#172b45}@media(max-width:600px){.tsb-case-study{padding:30px 14px 60px}.tsb-case-header{padding:28px 22px}}

/* v4.3.1: editable branded hero and responsive native-ratio videos */
.tsb-case-header{position:relative;isolation:isolate;overflow:hidden;min-height:300px}
.tsb-case-header.has-hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--tsb-campaign-hero);background-position:center;background-size:cover}
.tsb-case-header.has-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,18,32,.93),rgba(9,18,32,.70) 55%,rgba(9,18,32,.32))}
.tsb-case-logo{max-width:280px;max-height:120px;background:rgba(255,255,255,.94);padding:12px;border-radius:8px;object-fit:contain}
.tsb-case-social{display:inline-block;color:#e8bd62;margin-left:20px}
.tsb-case-videos .tsb-campaign-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;align-items:start}
.tsb-case-videos .tsb-campaign-tile{grid-column:span 2;min-width:0;border:1px solid #e5d4a5}
.tsb-case-videos .tsb-campaign-tile[data-orientation="horizontal"]{grid-column:span 3}
.tsb-case-videos .tsb-campaign-tile video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:9/16;object-fit:contain;background:transparent}
.tsb-case-videos .tsb-campaign-tile[data-orientation="horizontal"] video{aspect-ratio:16/9}
.tsb-branded-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:48px auto;max-width:1160px;padding:0 18px}
.tsb-branded-directory .tsb-directory-card{border:2px solid #c99a35;background:#fff;padding:28px 22px;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:255px;box-shadow:0 5px 22px rgba(10,20,40,.06)}
.tsb-directory-main{text-decoration:none;display:flex;flex-direction:column;align-items:center;color:#12203a;width:100%}
.tsb-directory-logo{display:block;max-width:90%;width:auto;height:auto;max-height:115px;object-fit:contain;margin:0 auto 18px}
.tsb-directory-card h2{font-size:clamp(17px,1.8vw,22px);line-height:1.3;margin:0 0 12px;color:#13233a}
.tsb-directory-view{font-size:13px;font-weight:700;color:#a87516}
.tsb-directory-link{display:block;margin-top:12px;font-size:13px;color:#314666;overflow-wrap:anywhere}
@media(max-width:900px){.tsb-branded-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.tsb-case-videos .tsb-campaign-tile,.tsb-case-videos .tsb-campaign-tile[data-orientation="horizontal"]{grid-column:span 3}}
@media(max-width:580px){.tsb-branded-directory{grid-template-columns:1fr}.tsb-case-videos .tsb-campaign-tile,.tsb-case-videos .tsb-campaign-tile[data-orientation="horizontal"]{grid-column:span 6}.tsb-case-social{margin:14px 0 0;display:block}}

/* v4.3.3: responsive branded campaigns and direct-link website project directory */
.tsb-project-directory{max-width:1240px;margin:36px auto 72px;padding:0 20px}
.tsb-directory-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.tsb-directory-filters{display:flex;gap:10px;flex-wrap:wrap}.tsb-directory-filters button{border:1px solid #d7dfe8;background:#fff;color:#233955;border-radius:24px;padding:10px 18px;cursor:pointer}.tsb-directory-filters button.is-active{background:#e6b75c;color:#10203a;border-color:#e6b75c}.tsb-directory-search{padding:11px 16px;border:1px solid #d7dfe8;border-radius:24px;max-width:100%;width:230px}
.tsb-project-directory .tsb-branded-directory{max-width:none;padding:0;margin:22px 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tsb-project-directory .tsb-directory-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;padding:10px;border:1px solid #d7a94e;border-radius:15px;overflow:hidden;min-height:0;box-shadow:0 6px 22px #17203312}
.tsb-directory-cover{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#10203a;text-decoration:none}.tsb-directory-cover img{width:100%;height:100%;object-fit:cover;display:block}.tsb-directory-image-fallback{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#fff;font-size:20px}
.tsb-directory-body{padding:18px 14px 14px;display:flex;flex:1;flex-direction:column}.tsb-project-directory .tsb-directory-logo{height:52px;max-height:52px;max-width:180px;margin:0 0 12px;object-position:left}.tsb-project-directory .tsb-directory-card h2{margin:0 0 5px;font-size:21px}.tsb-directory-industry{color:#ac7210;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.tsb-directory-body p{font-size:14px;line-height:1.6;color:#516078;margin:12px 0 22px}.tsb-directory-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tsb-project-directory .tsb-directory-link{margin:0}.tsb-project-directory .tsb-directory-view{color:#9e6707;text-decoration:none;font-size:13px;font-weight:700}.tsb-directory-empty{text-align:center;padding:32px}.tsb-directory-card[hidden]{display:none!important}
@media(max-width:920px){.tsb-project-directory .tsb-branded-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.tsb-project-directory .tsb-branded-directory{grid-template-columns:1fr}.tsb-directory-search{width:100%}.tsb-directory-search-label{width:100%}}

/* v4.3.4 approved individual campaign design; directory styles intentionally unchanged */
.tsb-case-v434{padding:24px 20px 85px;background:#f7f8fa}.tsb-case-v434 .tsb-case-study-inner{max-width:1240px}.tsb-case-v434 .tsb-case-eyebrow{margin:10px 0 16px}.tsb-case-v434 .tsb-case-eyebrow a{text-decoration:none;color:#6b7788}
.tsb-case-v434 .tsb-case-header{min-height:unset;padding:38px clamp(24px,4vw,52px);border-radius:12px;background:#0d1c30;margin-bottom:22px}.tsb-case-v434 .tsb-case-header h1{font-size:clamp(38px,5vw,70px);margin:0 0 10px}.tsb-case-v434 .tsb-case-header p{max-width:780px;color:#d6e0ef;font-size:16px;line-height:1.6;margin:0}
.tsb-client-panel{background:#fff;border:1px solid #e8c783;border-radius:14px;padding:22px 25px;display:grid;grid-template-columns:minmax(150px,260px) 1fr auto;gap:28px;align-items:center;margin-bottom:32px;box-shadow:0 8px 24px #15223b0a}.tsb-client-panel-logo{max-width:100%;max-height:115px;width:auto;height:auto;object-fit:contain}.tsb-client-panel-copy h2{font-size:23px;margin:0 0 7px;color:#14243b}.tsb-client-panel-copy p{font-size:15px;color:#4d607b;line-height:1.5;margin:0 0 8px}.tsb-client-panel-copy a{color:#16559b}.tsb-client-panel-action{border:1px solid #c88d21;border-radius:10px;padding:13px 20px;color:#a36d0c;text-decoration:none;font-weight:700;white-space:nowrap}.tsb-client-panel-action:hover{background:#fff7e8}
.tsb-video-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px}.tsb-case-v434 .tsb-case-videos h2{margin:0;font-size:30px}.tsb-video-filters{display:flex;gap:8px;flex-wrap:wrap}.tsb-video-filters button{border:1px solid #d9e1eb;background:white;color:#45556f;padding:9px 13px;border-radius:22px;cursor:pointer;font-size:13px}.tsb-video-filters button.is-active{background:#efc778;border-color:#efc778;color:#172339}.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.tsb-case-v434 .tsb-case-videos .tsb-campaign-tile,.tsb-case-v434 .tsb-case-videos .tsb-campaign-tile[data-orientation="horizontal"]{grid-column:auto;padding:0;overflow:hidden;border:1px solid #e3e9ef;border-radius:12px;box-shadow:0 8px 18px #14223810}.tsb-case-v434 .tsb-campaign-tile video{width:100%;height:auto;display:block;aspect-ratio:9/16;object-fit:contain;background:#101827;max-height:none}.tsb-case-v434 .tsb-campaign-tile[data-orientation="horizontal"] video{aspect-ratio:16/9}.tsb-campaign-tile-copy{padding:12px 16px 16px}.tsb-case-v434 .tsb-campaign-tile h3{font-size:18px;margin:0 0 4px}.tsb-campaign-tile-description{font-size:14px;color:#53647c;line-height:1.5}.tsb-campaign-tile-description p{margin:0 0 8px}.tsb-campaign-category{display:inline-block;background:#e2eaf5;color:#23446b;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:600}.tsb-case-v434 .tsb-campaign-tile[hidden]{display:none!important}
@media(max-width:950px){.tsb-client-panel{grid-template-columns:180px 1fr}.tsb-client-panel-action{grid-column:1/-1;justify-self:start}.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:610px){.tsb-client-panel{grid-template-columns:1fr}.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{grid-template-columns:1fr}.tsb-case-v434 .tsb-case-header{padding:28px 22px}.tsb-client-panel-logo{max-width:230px}}

/* v4.3.6: portrait/landscape smart masonry. Native video dimensions, never crop. */
.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{display:block!important;columns:3 260px;column-gap:18px}
.tsb-case-v434 .tsb-case-videos .tsb-campaign-tile{display:inline-block!important;width:100%;vertical-align:top;break-inside:avoid;page-break-inside:avoid;margin:0 0 18px;box-sizing:border-box}
.tsb-case-v434 .tsb-case-videos .tsb-campaign-tile[hidden]{display:none!important}
.tsb-case-v434 .tsb-campaign-tile video{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:9 / 16;object-fit:contain;background:#101827}
.tsb-case-v434 .tsb-campaign-tile[data-orientation="horizontal"] video{aspect-ratio:16 / 9}
.tsb-case-v434 .tsb-campaign-tile[data-video-ready="1"] video{aspect-ratio:auto!important}
@media(min-width:951px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{columns:3!important}}
@media(min-width:611px) and (max-width:950px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{columns:2!important}}
@media(max-width:610px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{columns:1!important}}

/* v4.3.7: fixed three equal desktop columns; aspect ratio belongs to each player,
   never to the grid item. Override old 6-column span rules. */
@media(min-width:951px){
 .tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
 .tsb-case-v434 .tsb-case-videos .tsb-campaign-tile,
 .tsb-case-v434 .tsb-case-videos .tsb-campaign-tile[data-orientation="horizontal"]{grid-column:auto!important;width:100%!important;min-width:0!important}
}
@media(min-width:611px) and (max-width:950px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:610px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{grid-template-columns:minmax(0,1fr)!important}}
.tsb-case-v434 .tsb-campaign-tile video{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:#101827}
.tsb-case-v434 .tsb-campaign-tile[data-orientation="vertical"] video{aspect-ratio:9/16!important}
.tsb-case-v434 .tsb-campaign-tile[data-orientation="horizontal"] video{aspect-ratio:16/9!important}

/* v4.3.9: approved mixed-width directory, website before/after detail. */
@media(min-width:921px){
 .tsb-project-directory .tsb-branded-directory{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
 .tsb-project-directory .tsb-directory-card{grid-column:span 2}
 .tsb-project-directory .tsb-directory-card[data-tsb-layout="horizontal"]{grid-column:span 3}
}
.tsb-project-directory .tsb-directory-cover img{object-fit:cover;object-position:top center}
.tsb-web-detail{max-width:1220px;margin:40px auto 100px;padding:0 22px;color:#12243c}
.tsb-web-detail nav a{color:#9a6a12;text-decoration:none}.tsb-web-detail-head{display:flex;align-items:center;gap:32px;padding:30px;margin:25px 0 45px;border:1px solid #d7a94e;border-radius:16px;background:#fff}
.tsb-web-detail-logo{max-width:220px;max-height:110px;object-fit:contain}.tsb-web-detail-head h1{font-size:clamp(30px,4vw,52px);margin:6px 0 14px}.tsb-web-eyebrow{color:#a36d0c;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tsb-web-detail-head a{color:#a36d0c}
.tsb-web-comparison h2{font-size:clamp(28px,3vw,40px);margin-bottom:24px}.tsb-web-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tsb-web-comparison-grid article{background:#fff;border:1px solid #e3c381;border-radius:14px;overflow:hidden}.tsb-web-comparison-grid h3{margin:0;padding:16px 20px;background:#10203a;color:#fff}.tsb-web-comparison-grid img{display:block;width:100%;height:auto;object-fit:contain;object-position:top}.tsb-web-image-pending{min-height:320px;display:grid;place-items:center;text-align:center;color:#65748a;background:#f4f6fa;padding:30px}.tsb-web-project-story{margin-top:40px;max-width:850px}
@media(max-width:700px){.tsb-web-detail-head{display:block}.tsb-web-detail-logo{margin-bottom:22px}.tsb-web-comparison-grid{grid-template-columns:1fr}}


/* v4.3.11: single authoritative layout, no masonry/column override collisions. */
.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{display:grid!important;columns:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:start!important}
.tsb-case-v434 .tsb-case-videos .tsb-campaign-tile,.tsb-case-v434 .tsb-case-videos .tsb-campaign-tile[data-orientation]{display:block!important;grid-column:auto!important;width:100%!important;min-width:0!important;margin:0!important;break-inside:initial!important}
.tsb-case-v434 .tsb-campaign-tile video{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:fill!important;background:#101827;aspect-ratio:9/16!important}
.tsb-case-v434 .tsb-campaign-tile[data-orientation="horizontal"] video{aspect-ratio:16/9!important}
.tsb-case-v434 .tsb-campaign-tile[data-video-ready="1"] video{aspect-ratio:var(--tsb-native-ratio,9/16)!important}
@media(min-width:621px) and (max-width:950px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.tsb-case-v434 .tsb-case-videos .tsb-campaign-grid{grid-template-columns:minmax(0,1fr)!important}}
/* Separate full-width rows: video projects 3 across, website projects 2 across. */
.tsb-project-directory .tsb-branded-directory{width:100%!important;max-width:none!important;display:block!important}
.tsb-project-directory .tsb-directory-group{width:100%;display:grid;gap:20px;align-items:stretch;margin:0 0 20px}
.tsb-project-directory .tsb-directory-group[data-kind="video"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.tsb-project-directory .tsb-directory-group[data-kind="web"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.tsb-project-directory .tsb-directory-card,.tsb-project-directory .tsb-directory-card[data-tsb-kind]{grid-column:auto!important;min-width:0!important}
.tsb-project-directory .tsb-directory-card[data-tsb-kind="web"] .tsb-directory-cover{aspect-ratio:16/9;overflow:hidden;background:#f0f3f7}
.tsb-project-directory .tsb-directory-card[data-tsb-kind="web"] .tsb-directory-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
@media(min-width:621px) and (max-width:950px){.tsb-project-directory .tsb-directory-group[data-kind="video"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.tsb-project-directory .tsb-directory-group[data-kind="video"],.tsb-project-directory .tsb-directory-group[data-kind="web"]{grid-template-columns:minmax(0,1fr)}}
/* Visible sticky return navigation, safely beneath WordPress/admin header. */
.tsb-project-topnav{position:sticky;top:var(--tsb-sticky-offset,0px);z-index:30;background:rgba(255,255,255,.97);border:1px solid #e7d6ad;border-radius:12px;padding:10px 16px;margin:0 0 22px;box-shadow:0 5px 18px #14223812;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.admin-bar .tsb-project-topnav{top:32px}
.tsb-project-topnav .tsb-project-back{padding:7px 0}
.tsb-web-detail{max-width:1220px!important;margin:32px auto 90px!important;padding:0 24px!important;display:block!important}
.tsb-web-detail .tsb-web-detail-head{display:flex!important;align-items:center;gap:32px;padding:30px;margin:20px 0 38px;border:1px solid #d7a94e;border-radius:16px;background:#fff}
.tsb-web-detail .tsb-web-comparison-grid{display:grid!important;grid-template-columns:1fr 2fr!important;gap:22px;align-items:start}
.tsb-web-detail .tsb-web-comparison-grid article{min-width:0;background:#fff;border:1px solid #e3c381;border-radius:14px;overflow:hidden}
.tsb-web-detail .tsb-web-comparison-grid img{display:block;width:100%;height:auto;object-fit:contain;object-position:top}
.tsb-web-detail .tsb-web-comparison-grid h3{padding:16px 20px;margin:0;background:#10203a;color:#fff}
@media(max-width:700px){.tsb-web-detail .tsb-web-comparison-grid{grid-template-columns:1fr!important}.tsb-web-detail .tsb-web-detail-head{display:block!important}}

.tsb-project-directory .tsb-directory-group[hidden]{display:none!important}
