/* Brand proof: logo grid after the hero, using the site’s light/dark tokens. */
.tt-brands{width:100%;margin:0;padding:46px 24px 72px;background:var(--tt-page,#f7f8fa);color:var(--tt-text,#171a20)}
html[data-theme=dark] .tt-brands{background:var(--tt-page,#101318)}
.tt-brands *{box-sizing:border-box}.tt-brands-inner{max-width:1400px;margin:auto}
.tt-brands-heading{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 auto 44px}
.tt-brands-heading h2{max-width:600px;margin:0;text-align:center;font-size:19px;line-height:1.4;font-weight:700;letter-spacing:-.025em;color:var(--tt-subtle,#556173)}
.tt-brands-rule{width:min(12vw,130px);height:1px;background:linear-gradient(90deg,transparent,var(--tt-border,rgba(27,50,83,.14)))}
.tt-brands-rule:last-child{transform:rotate(180deg)}
.tt-brands-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 22px;align-items:center}
.tt-brand-item{display:flex;align-items:center;justify-content:center;min-width:0;height:95px;border:1px solid var(--tt-border,rgba(27,50,83,.14));border-radius:16px;background:var(--tt-surface,#fff);}
.tt-brand-item>a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;text-decoration:none;color:inherit}
.tt-brand-item>a:focus-visible{outline:2px solid #006dfa;outline-offset:3px;border-radius:16px}
.tt-brand-item>img,.tt-brand-item>a>img{display:block;width:auto;height:auto;max-width:calc(100% - 38px);max-height:46px;object-fit:contain}
.tt-brand-item>a>img{max-width:100%}.tt-brand-name{font-size:clamp(17px,1.55vw,24px);line-height:1.2;font-weight:760;letter-spacing:-.045em;color:var(--tt-text,#171d29);text-align:center}
.tt-brands-empty{display:flex;align-items:center;justify-content:center;gap:16px;min-height:110px;padding:20px;border:1px solid var(--tt-border,rgba(27,50,83,.14));border-radius:18px;background:var(--tt-surface,#fff)}
.tt-brands-empty-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(0,109,250,.1);color:#006dfa;font-size:27px}
.tt-brands-empty p{margin:0;color:var(--tt-text,#171d29);font-size:20px;font-weight:700;letter-spacing:-.035em}
.tt-brands-empty a{margin-left:20px;color:#006dfa;font-size:14px;font-weight:700;text-decoration:none}.tt-brands-empty a:hover{text-decoration:underline}
@media(max-width:1100px){.tt-brands-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.tt-brands{padding:42px 20px 62px}.tt-brands-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tt-brand-item{height:78px}.tt-brand-item>a{padding:12px}.tt-brand-item>img,.tt-brand-item>a>img{max-height:36px}.tt-brand-name{font-size:17px}.tt-brands-heading{gap:12px;margin-bottom:32px}.tt-brands-heading h2{font-size:17px}.tt-brands-empty{flex-wrap:wrap;gap:10px}.tt-brands-empty a{margin-left:0}}
@media(max-width:480px){.tt-brands-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-brand-item{height:74px}.tt-brands-empty p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.tt-brand-item{transition:none}}
/* Keep full-width section inside the viewport; logos sit cleanly on the canvas. */
.tt-brands{box-sizing:border-box;scroll-margin-top:70px}
.tt-brand-item{border-color:transparent;background:transparent}
.tt-brand-item.is-sample{position:relative}.tt-brand-sample-tag{position:absolute;right:5px;bottom:5px;color:var(--tt-subtle,#556173);font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
html[data-theme=dark] .tt-brand-item.is-sample img{filter:brightness(0) invert(1);opacity:.85}
@media(min-width:1101px){.tt-brands-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Three continuously moving logo lanes, following the reference section's rhythm. */
.tt-brands-grid.is-marquee{display:flex;flex-direction:column;gap:18px;overflow:hidden}
.tt-brands-row{width:100%;overflow:hidden;--tt-marquee-width:max(min(calc(100vw - 48px),1400px),720px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tt-brands-track{display:flex;width:max-content;animation:tt-brands-scroll 38s linear infinite;animation-play-state:paused;will-change:transform}
.tt-brands-row:nth-child(2) .tt-brands-track{animation-duration:43s}
.tt-brands-row:nth-child(3) .tt-brands-track{animation-duration:40s}
.tt-brands-row.is-reversed .tt-brands-track{animation-direction:reverse}
.tt-brands-grid.is-in-view .tt-brands-track{animation-play-state:running}
.tt-brands-row:focus-within .tt-brands-track{animation-play-state:paused}
.tt-brands-group{display:flex;align-items:center;flex:none;width:var(--tt-marquee-width)}
.tt-brands-group>.tt-brand-item{flex:0 0 calc(100% / var(--items-in-row));height:65px}
.tt-brands-group .tt-brand-item>img,.tt-brands-group .tt-brand-item>a>img{max-height:42px}
@keyframes tt-brands-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.tt-brands-grid.is-marquee{gap:12px}.tt-brands-row{--tt-marquee-width:max(calc(100vw - 40px),720px)}.tt-brands-group>.tt-brand-item{height:60px}.tt-brands-group .tt-brand-item>img,.tt-brands-group .tt-brand-item>a>img{max-height:38px}}
@media(prefers-reduced-motion:reduce){.tt-brands-track{animation:none!important;will-change:auto}}
/* Fade the hero lighting out before the shared background meets the brands. */
.tt-hero{padding-bottom:48px;background:radial-gradient(ellipse at 77% 43%,rgba(0,109,250,.055),transparent 43%),var(--tt-page,#f7f8fa)}
.tt-hero::after{content:"";position:absolute;inset:auto 0 0;z-index:4;height:120px;pointer-events:none;background:linear-gradient(180deg,rgba(247,248,250,0),var(--tt-page,#f7f8fa) 88%)}
html[data-theme=dark] .tt-hero{background:radial-gradient(ellipse at 77% 43%,rgba(0,109,250,.075),transparent 43%),var(--tt-page,#101318)}
html[data-theme=dark] .tt-hero::after{background:linear-gradient(180deg,rgba(16,19,24,0),var(--tt-page,#101318) 88%)}
@media(max-width:700px){.tt-hero{padding-bottom:32px}.tt-hero::after{height:80px}}
/* Show two readable logos at a time on phones. */
@media(max-width:700px){
 .tt-brands{padding:34px 20px 46px}
 .tt-brands-heading{margin-bottom:20px}
 .tt-brands-heading h2{font-size:18px}
 .tt-brands-grid.is-marquee{gap:8px}
 .tt-brands-group{width:max-content}
 .tt-brands-group>.tt-brand-item{flex:0 0 clamp(150px,44vw,190px);height:76px}
 .tt-brands-group .tt-brand-item>a{padding:7px}
 .tt-brands-group .tt-brand-item>img,
 .tt-brands-group .tt-brand-item>a>img{width:100%;max-width:150px;max-height:52px;object-fit:contain}
 .tt-brands-grid:not(.is-marquee) .tt-brand-item{height:76px}
 .tt-brands-grid:not(.is-marquee) .tt-brand-item>img,
 .tt-brands-grid:not(.is-marquee) .tt-brand-item>a>img{width:100%;max-width:150px;max-height:52px;object-fit:contain}
}