.tb-site-header{position:fixed;z-index:1000;top:0;left:0;right:0;color:#fff;transition:background .25s,border-color .25s,color .25s,backdrop-filter .25s}
body.admin-bar .tb-site-header{top:32px}
.tb-site-header.is-scrolled,.tb-site-header:has(+ .tb-main .tb-page-hero--light){background:rgba(255,255,255,.92);color:var(--tb-ink);border-bottom:1px solid rgba(16,19,26,.07);backdrop-filter:blur(18px)}
.tb-header-inner{height:78px;display:flex;align-items:center;gap:42px}
.tb-brand{display:inline-flex;flex-direction:column;line-height:1;min-width:max-content}
.tb-brand-name{font-size:24px;font-weight:900;letter-spacing:-.04em}
.tb-brand-sub{margin-top:5px;font-size:9px;letter-spacing:.14em;opacity:.7;text-transform:uppercase}
.tb-primary-nav{margin-left:auto}
.tb-nav-list{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}
.tb-nav-list a{font-size:14px;font-weight:700}
.tb-header-actions{display:flex;align-items:center;gap:10px}
.tb-icon-button,.tb-menu-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}
.tb-search-icon{display:block;width:19px;height:19px;border:2px solid currentColor;border-radius:50%;position:relative}
.tb-search-icon:after{content:"";position:absolute;width:7px;height:2px;background:currentColor;right:-5px;bottom:-2px;transform:rotate(45deg);transform-origin:center}
.tb-menu-button{display:none;gap:5px}
.tb-menu-button span{display:block;width:20px;height:2px;background:currentColor}
.tb-search-panel{position:absolute;left:0;right:0;top:78px;background:#fff;color:var(--tb-ink);border-top:1px solid var(--tb-line);border-bottom:1px solid var(--tb-line);opacity:0;transform:translateY(-8px);transition:.18s}
.tb-search-panel.is-open{opacity:1;transform:none}
.tb-search-panel-inner{display:flex;align-items:center;gap:18px;padding-block:22px}
.tb-search-form{display:flex;align-items:center;width:100%;max-width:760px;border:1px solid var(--tb-line);border-radius:14px;overflow:hidden;background:#fff}
.tb-search-form input{flex:1;min-width:0;border:0;outline:0;padding:15px 18px;background:transparent}
.tb-search-form button{width:52px;height:52px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--tb-ink)}
.tb-search-close{border:0;background:transparent;color:var(--tb-muted);cursor:pointer}

.tb-hero{min-height:700px;background:radial-gradient(circle at 68% 45%,rgba(28,91,186,.34),transparent 29%),linear-gradient(135deg,#05080f 0%,#07101e 55%,#03060b 100%);color:#fff;overflow:hidden}
.tb-hero-inner{min-height:700px;display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);grid-template-rows:auto auto;align-content:center;column-gap:40px;padding-top:78px}
.tb-hero-copy{position:relative;z-index:3;grid-column:1;grid-row:1;padding:48px 0 0}
.tb-hero-copy h1{margin:0;font-size:clamp(56px,6vw,96px);line-height:1.03;letter-spacing:-.065em;font-weight:900}
.tb-hero-copy h1 span{background:linear-gradient(90deg,#fff 5%,#88c6ff 72%);-webkit-background-clip:text;background-clip:text;color:transparent}
.tb-hero-description{margin:28px 0 0;color:#e1e8f4;font-size:17px;line-height:1.9}
.tb-hero-action{position:relative;z-index:3;grid-column:1;grid-row:2;padding:34px 0 70px}
.tb-primary-button{display:inline-flex;align-items:center;gap:30px;padding:14px 24px;border-radius:999px;background:#fff;color:#10131a;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s}
.tb-primary-button:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.2)}
.tb-primary-button--dark{background:#111827;color:#fff}
.tb-hero-visual{position:relative;grid-column:2;grid-row:1/3;align-self:stretch;min-height:620px}
.tb-motion-field{position:absolute;inset:50% -5% auto 4%;height:420px;transform:translateY(-50%) rotate(-6deg)}
.tb-motion-field:before{content:"";position:absolute;left:10%;right:8%;top:48%;height:3px;background:linear-gradient(90deg,transparent,#7cb9ff 30%,#d9e9ff 55%,#6e8aff 80%,transparent);filter:blur(2px);box-shadow:0 0 36px #3e8fff}
.tb-motion-field span{--x:calc((var(--i) * 37) % 92);--y:calc((var(--i) * 53) % 76);position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(14px + (var(--i) % 5)*10px);aspect-ratio:1;border-radius:4px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(40,126,255,.38));box-shadow:0 0 24px rgba(76,145,255,.45);transform:rotate(calc(var(--i)*17deg));animation:tb-float calc(4.5s + (var(--i)%6)*.7s) ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.18s)}
@keyframes tb-float{to{transform:translate3d(calc((var(--i)%3 - 1)*22px),calc((var(--i)%5 - 2)*14px),0) rotate(calc(var(--i)*17deg + 34deg));opacity:.55}}
.tb-hero-work-label{position:absolute;right:0;bottom:54px;display:flex;gap:18px;align-items:center;font-size:12px}.tb-hero-work-label b{font-size:11px;opacity:.7}.tb-hero-work-label span:before{content:"";display:inline-block;width:32px;height:2px;background:#fff;margin-right:12px;vertical-align:middle}

.tb-section{padding:70px 0}.tb-section--first{padding-top:38px}.tb-section--technology{padding-bottom:74px}.tb-section--soft{background:var(--tb-paper)}
.tb-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.tb-section-heading-title{display:flex;align-items:baseline;gap:18px}.tb-section-heading h2{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.04em}.tb-section-heading-title span{font-size:13px;color:var(--tb-muted)}.tb-text-link{font-size:13px;font-weight:800;color:#17427d}.tb-text-link span{margin-left:10px}
.tb-animation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tb-animation-grid--library{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tb-category-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px}
.tb-category-grid--large{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.tb-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tb-collection-grid--large{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.tb-tech-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}

.tb-page-hero{padding:170px 0 86px}.tb-page-hero h1{margin:0 0 20px;font-size:clamp(52px,7vw,92px);line-height:1.04;letter-spacing:-.06em}.tb-page-hero p:not(.tb-eyebrow){max-width:720px;margin:0;font-size:18px;color:var(--tb-muted)}.tb-page-hero--dark{background:linear-gradient(135deg,#05080f,#0b1727);color:#fff}.tb-page-hero--dark p:not(.tb-eyebrow){color:#c9d3e3}.tb-page-hero--light{background:linear-gradient(#f8fafc,#fff)}
.tb-page-content{padding-top:20px}.tb-prose{font-size:17px}.tb-prose h2{margin-top:2.2em;font-size:32px}.tb-prose p{margin:1.2em 0}.tb-placeholder-box{padding:28px;border:1px dashed #cfd5df;border-radius:16px;background:#fafbfd;color:var(--tb-muted)}
.tb-three-points{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.tb-three-points span{display:block;color:var(--tb-blue);font-weight:900}.tb-three-points h2{font-size:32px;margin:8px 0}.tb-three-points p{color:var(--tb-muted)}
.tb-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tb-search-result a{display:block;padding:24px;border:1px solid var(--tb-line);border-radius:16px;transition:.2s}.tb-search-result a:hover{transform:translateY(-2px);box-shadow:var(--tb-shadow)}.tb-search-result span{font-size:11px;text-transform:uppercase;color:var(--tb-muted)}.tb-search-result h2{margin:8px 0;font-size:24px}.tb-search-result p{margin:0;color:var(--tb-muted)}.tb-page-search{margin-top:36px;max-width:760px}.tb-empty-state{padding:70px 0;text-align:center}.tb-empty-state p{color:var(--tb-muted);margin-bottom:24px}.tb-not-found{padding:220px 0 140px;background:#f8fafc;text-align:center}.tb-not-found>div>span{display:block;font-size:120px;line-height:1;font-weight:900;letter-spacing:-.08em;color:#dce4ef}.tb-not-found h1{font-size:46px;margin:22px 0 10px}.tb-not-found p{color:var(--tb-muted);margin-bottom:28px}

.tb-library-hero{padding-bottom:54px}
.tb-library-search{display:flex;max-width:900px;margin-top:38px;background:#fff;border:1px solid var(--tb-line);border-radius:16px;overflow:hidden;box-shadow:0 14px 44px rgba(20,33,61,.06)}
.tb-library-search input{flex:1;min-width:0;border:0;outline:0;padding:17px 20px;background:transparent}
.tb-library-search button{display:flex;align-items:center;gap:18px;padding:0 24px;border:0;background:#111827;color:#fff;font-weight:800;cursor:pointer}
.tb-library-controls{padding:30px 0 14px;border-bottom:1px solid var(--tb-line);background:#fff}
.tb-filter-groups{display:grid;gap:18px}
.tb-filter-group{display:grid;grid-template-columns:84px 1fr;gap:18px;align-items:start}
.tb-filter-label{padding-top:6px;color:#8690a0;font-size:10px;font-weight:900;letter-spacing:.14em}
.tb-filter-options{display:flex;flex-wrap:wrap;gap:8px}
.tb-filter-chip{padding:6px 11px;border:1px solid var(--tb-line);border-radius:999px;background:#fff;color:#4b5565;font-size:12px;font-weight:700;transition:.18s}
.tb-filter-chip:hover,.tb-filter-chip.is-active{border-color:#111827;background:#111827;color:#fff}
.tb-active-filter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--tb-line);font-size:12px}.tb-active-filter span{color:var(--tb-muted)}.tb-active-filter a{font-weight:800;color:#17427d}
.tb-library-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.tb-library-meta strong{font-size:20px}.tb-library-meta span{color:var(--tb-muted);font-size:12px}
.tb-animation-library{padding-top:46px}

.tb-site-footer{background:#060a12;color:#fff;padding:56px 0 24px}.tb-footer-grid{display:grid;grid-template-columns:2.1fr repeat(4,1fr);gap:46px}.tb-footer-brand p{margin:20px 0 0;color:#9da8b8;font-size:13px;line-height:1.8}.tb-site-footer h2{font-size:12px;margin:0 0 14px}.tb-site-footer div>div:not(.tb-footer-brand) a{display:block;color:#aab4c3;font-size:12px;margin:8px 0}.tb-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:44px;padding-top:22px;border-top:1px solid #1d2633;color:#7f8a99;font-size:11px}.tb-footer-bottom div{display:flex;gap:22px}
