.card-grid{gap:.5em;max-width:54em;padding:.75em;font-size:clamp(1rem,.9rem + .5vw,1.5rem);display:grid}.magic-bento-card{aspect-ratio:4/3;border:1px solid var(--border);background:var(--card);width:100%;max-width:100%;min-height:200px;color:var(--card-foreground);--glow-x:50%;--glow-y:50%;--glow-intensity:0;--glow-radius:200px;--glow-color:var(--primary);border-radius:20px;flex-direction:column;justify-content:space-between;padding:1.25em;font-weight:300;transition:all .3s;display:flex;position:relative;overflow:hidden}.magic-bento-card:hover{box-shadow:0 8px 25px color-mix(in oklch, var(--foreground) 15%, transparent);transform:translateY(-2px)}.magic-bento-card__header,.magic-bento-card__content{color:var(--card-foreground);display:flex;position:relative}.magic-bento-card__header{justify-content:space-between;align-items:center;gap:.75em}.magic-bento-card__icon{color:var(--primary);flex-shrink:0}.magic-bento-card__content{flex-direction:column}.magic-bento-card__label{color:var(--muted-foreground);font-size:16px}.magic-bento-card__title,.magic-bento-card__description{--clamp-title:1;--clamp-desc:2}.magic-bento-card__title{color:var(--card-foreground);margin:0 0 .25em;font-size:16px;font-weight:400}.magic-bento-card__description{color:var(--muted-foreground);font-size:12px;line-height:1.2}.magic-bento-card--text-autohide .magic-bento-card__title,.magic-bento-card--text-autohide .magic-bento-card__description{text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.magic-bento-card--text-autohide .magic-bento-card__title{-webkit-line-clamp:var(--clamp-title);line-clamp:var(--clamp-title)}.magic-bento-card--text-autohide .magic-bento-card__description{-webkit-line-clamp:var(--clamp-desc);line-clamp:var(--clamp-desc)}@media (max-width:599px){.card-grid{grid-template-columns:1fr;width:90%;margin:0 auto;padding:.5em}.magic-bento-card{width:100%;min-height:180px}}@media (min-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr)}.magic-bento-card:nth-child(3){grid-area:span 2/span 2}.magic-bento-card:nth-child(4){grid-area:2/1/span 2/span 2}.magic-bento-card:nth-child(6){grid-area:3/4}}.magic-bento-card--border-glow:after{content:"";background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y), color-mix(in oklch, var(--glow-color) calc(var(--glow-intensity) * 80%), transparent) 0%, color-mix(in oklch, var(--glow-color) calc(var(--glow-intensity) * 40%), transparent) 30%, transparent 60%);border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;opacity:1;z-index:1;padding:6px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.magic-bento-card--border-glow:hover:after{opacity:1}.magic-bento-card--border-glow:hover,.particle-container:hover{box-shadow:0 4px 20px color-mix(in oklch, var(--glow-color) 20%, transparent), 0 0 30px color-mix(in oklch, var(--glow-color) 15%, transparent)}.particle-container{position:relative;overflow:hidden}.particle:before{content:"";background:color-mix(in oklch, var(--glow-color) 20%, transparent);z-index:-1;border-radius:50%;position:absolute;inset:-2px}.global-spotlight{mix-blend-mode:screen;will-change:transform, opacity;pointer-events:none;z-index:200!important}.bento-section{-webkit-user-select:none;user-select:none;position:relative}
.logoloop{--logoloop-gap:32px;--logoloop-logoHeight:28px;position:relative;overflow-x:hidden}.logoloop--vertical{height:100%;display:inline-block;overflow:hidden}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}.logoloop__track{will-change:transform;-webkit-user-select:none;user-select:none;z-index:0;width:max-content;display:flex;position:relative}.logoloop--vertical .logoloop__track{flex-direction:column;width:100%;height:max-content}.logoloop__list{align-items:center;display:flex}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);flex:none;line-height:1}.logoloop--vertical .logoloop__item{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__item:last-child{margin-right:var(--logoloop-gap)}.logoloop--vertical .logoloop__item:last-child{margin-right:0;margin-bottom:var(--logoloop-gap)}.logoloop__node{align-items:center;display:inline-flex}.logoloop__item img{height:var(--logoloop-logoHeight);object-fit:contain;width:auto;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1);display:block}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover img,.logoloop--scale-hover .logoloop__item:hover .logoloop__node{transform-origin:50%;transform:scale(1.2)}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{border-radius:4px;align-items:center;text-decoration:none;transition:opacity .2s;display:inline-flex}.logoloop__link:hover{opacity:.8}.logoloop__link:focus-visible{outline-offset:2px;outline:2px solid}.logoloop--horizontal.logoloop--fade{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 clamp(24px,8%,120px) calc(100% - clamp(24px,8%,120px)),#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 clamp(24px,8%,120px) calc(100% - clamp(24px,8%,120px)),#0000 100%)}.logoloop--vertical.logoloop--fade{-webkit-mask-image:linear-gradient(#0000 0%,#000 clamp(24px,8%,120px) calc(100% - clamp(24px,8%,120px)),#0000 100%);mask-image:linear-gradient(#0000 0%,#000 clamp(24px,8%,120px) calc(100% - clamp(24px,8%,120px)),#0000 100%)}@media (prefers-reduced-motion:reduce){.logoloop__track{transform:translate(0,0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}
