.circular-text{margin:0 auto;border-radius:50%;width:220px;position:relative;height:220px;font-weight:500;color:currentColor;text-align:center;cursor:pointer;transform-origin:50% 50%;-webkit-transform-origin:50% 50%}.circular-text span{position:absolute;display:inline-block;left:0;right:0;top:0;bottom:0;font-size:14px;letter-spacing:.05em;text-transform:uppercase;transition:all .5s cubic-bezier(0,0,0,1)}.logoloop{position:relative;--logoloop-gap:32px;--logoloop-logoHeight:28px;--logoloop-fadeColorAuto:#09090b}.logoloop--vertical{height:100%;display:inline-block}.logoloop--scale-hover{padding-top:calc(var(--logoloop-logoHeight) * .1);padding-bottom:calc(var(--logoloop-logoHeight) * .1)}.logoloop__track{display:flex;width:-moz-max-content;width:max-content;will-change:transform;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:0}.logoloop--vertical .logoloop__track{flex-direction:column;height:-moz-max-content;height:max-content;width:100%}.logoloop__list{display:flex;align-items:center;list-style:none;margin:0;padding:0}.logoloop--vertical .logoloop__list{flex-direction:column}.logoloop__item{flex:0 0 auto;margin-right:var(--logoloop-gap);font-size:var(--logoloop-logoHeight);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{display:inline-flex;align-items:center;gap:.625rem}.logoloop__item img{height:var(--logoloop-logoHeight);width:auto;display:block;-o-object-fit:contain;object-fit:contain;image-rendering:-webkit-optimize-contrast;-webkit-user-drag:none;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop--scale-hover .logoloop__item{overflow:visible}.logoloop--scale-hover .logoloop__item:hover .logoloop__node,.logoloop--scale-hover .logoloop__item:hover img{transform:scale(1.2);transform-origin:center center}.logoloop--scale-hover .logoloop__node{transition:transform .3s cubic-bezier(.4,0,.2,1)}.logoloop__link{display:inline-flex;align-items:center;text-decoration:none;border-radius:4px;transition:opacity .2s ease}.logoloop__link:hover{opacity:.8}.logoloop__link:focus-visible{outline:2px solid currentColor;outline-offset:2px}.logoloop--fade:after,.logoloop--fade:before{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,8%,120px);pointer-events:none;z-index:10}.logoloop--fade:before{left:0;background:linear-gradient(to right,var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0,rgba(0,0,0,0) 100%)}.logoloop--fade:after{right:0;background:linear-gradient(to left,var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade:after,.logoloop--vertical.logoloop--fade:before{left:0;right:0;width:100%;height:clamp(24px,8%,120px)}.logoloop--vertical.logoloop--fade:before{top:0;bottom:auto;background:linear-gradient(to bottom,var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0,rgba(0,0,0,0) 100%)}.logoloop--vertical.logoloop--fade:after{bottom:0;top:auto;background:linear-gradient(to top,var(--logoloop-fadeColor,var(--logoloop-fadeColorAuto)) 0,rgba(0,0,0,0) 100%)}@media (prefers-reduced-motion:reduce){.logoloop__track{transform:translateZ(0)!important}.logoloop__item img,.logoloop__node{transition:none!important}}:root{--glow-primary:rgba(231,229,228,1);--glow-color:rgba(231,229,228,0.2);--glow-border:rgba(231,229,228,0.8);--border-color:#27272a;--background-dark:#09090b}.card-grid{display:grid;gap:1rem;width:100%;max-width:100%;font-size:clamp(1rem,.9rem + .5vw,1.5rem)}.magic-bento-card{display:flex;flex-direction:column;justify-content:space-between;position:relative;aspect-ratio:4/3;min-height:220px;width:100%;max-width:100%;padding:1.5rem;border-radius:1rem;border:1px solid var(--border-color);background:var(--background-dark);font-weight:300;overflow:hidden;transition:all .3s ease;--glow-x:50%;--glow-y:50%;--glow-intensity:0;--glow-radius:200px}.magic-bento-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.3);border-color:#3f3f46}.magic-bento-card__content,.magic-bento-card__header{display:flex;position:relative;color:#fafafa}.magic-bento-card__header{gap:.75em;justify-content:space-between}.magic-bento-card__content{flex-direction:column;gap:.5rem}.magic-bento-card__label{font-size:.75rem;color:#a1a1aa;text-transform:uppercase;letter-spacing:.05em}.magic-bento-card__title{font-weight:600;font-size:1.25rem;margin:0;color:#fafafa;font-family:var(--font-display),system-ui,sans-serif}.magic-bento-card__description{font-size:.875rem;line-height:1.5;color:#a1a1aa;margin:0}.magic-bento-card__features{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.5rem 0 0}.magic-bento-card__features li{font-size:.75rem;color:#71717a;background:rgba(39,39,42,.5);padding:.25rem .5rem;border-radius:.25rem;border:1px solid #3f3f46}.magic-bento-card__link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#fafafa;text-decoration:none;margin-top:.75rem;transition:color .2s ease}.magic-bento-card__link:hover{color:#a1a1aa}.magic-bento-card__link svg{width:1rem;height:1rem}.magic-bento-card--text-autohide .magic-bento-card__description,.magic-bento-card--text-autohide .magic-bento-card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.magic-bento-card--text-autohide .magic-bento-card__title{-webkit-line-clamp:1;line-clamp:1}.magic-bento-card--text-autohide .magic-bento-card__description{-webkit-line-clamp:2;line-clamp:2}@media (max-width:599px){.card-grid{grid-template-columns:1fr}.magic-bento-card{min-height:200px;aspect-ratio:auto}}@media (min-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}.magic-bento-card{aspect-ratio:auto;min-height:320px}.magic-bento-card:first-child{grid-column:span 2;min-height:280px}}.magic-bento-card--border-glow:after{content:"";position:absolute;inset:0;padding:6px;background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),rgba(231,229,228,calc(var(--glow-intensity) * .8)) 0,rgba(231,229,228,calc(var(--glow-intensity) * .4)) 30%,transparent 60%);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:1;transition:opacity .3s ease;z-index:1}.magic-bento-card--border-glow:hover:after{opacity:1}.magic-bento-card--border-glow:hover{box-shadow:0 4px 20px rgba(39,39,42,.4),0 0 30px var(--glow-color)}.particle-container{position:relative;overflow:hidden}.particle:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:rgba(231,229,228,.2);border-radius:50%;z-index:-1}.particle-container:hover{box-shadow:0 4px 20px rgba(39,39,42,.2),0 0 30px var(--glow-color)}.global-spotlight{mix-blend-mode:screen;will-change:transform,opacity;z-index:200!important;pointer-events:none}.bento-section{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-reveal{margin:20px 0}.scroll-reveal-text{font-size:clamp(1.6rem,4vw,3rem);line-height:1.5;font-weight:600}.word{display:inline-block}.staggered-menu-wrapper{position:fixed;top:0;left:0;right:0;z-index:50;pointer-events:none}.staggered-menu-wrapper>*{pointer-events:auto}.staggered-menu-header{position:absolute;top:0;right:0;left:0;padding:1.5rem;display:flex;justify-content:flex-end;align-items:center;z-index:60}.staggered-menu-wrapper[data-position=left] .staggered-menu-header{justify-content:flex-start}.staggered-menu-toggle{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#18181b;border:1px solid #27272a;border-radius:9999px;color:#fafafa;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.staggered-menu-toggle:hover{border-color:#3f3f46}.staggered-menu-toggle:focus{outline:2px solid #3f3f46;outline-offset:2px}.toggle-icon{display:flex;flex-direction:column;gap:4px;width:16px}.toggle-icon .bar{width:100%;height:1.5px;background:currentColor;transition:all .3s ease;transform-origin:center}.toggle-icon .bar.open:first-child{transform:translateY(5.5px) rotate(45deg)}.toggle-icon .bar.open:nth-child(2){opacity:0;transform:translateX(10px)}.toggle-icon .bar.open:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.toggle-text{overflow:hidden;transition:opacity .3s ease}.staggered-menu-prelayer{position:fixed;inset:0;z-index:45;pointer-events:none;transform:scaleX(0)}.staggered-menu-wrapper[data-position=right] .staggered-menu-prelayer{transform-origin:right}.staggered-menu-wrapper[data-position=left] .staggered-menu-prelayer{transform-origin:left}.prelayer-1{background:rgba(24,24,27,.5);backdrop-filter:blur(8px)}.prelayer-2{background:#09090b;opacity:.98}.staggered-menu-panel{position:fixed;top:0;bottom:0;width:min(400px,90vw);background:#09090b;border-left:1px solid #27272a;z-index:55;display:flex;flex-direction:column;justify-content:center;padding:6rem 3rem 3rem;overflow-y:auto}.staggered-menu-wrapper[data-position=right] .staggered-menu-panel{right:0;transform:translateX(100%)}.staggered-menu-wrapper[data-position=left] .staggered-menu-panel{left:0;border-left:none;border-right:1px solid #27272a;transform:translateX(-100%)}.staggered-menu-nav{flex:1;display:flex;align-items:center}.staggered-menu-items{list-style:none;padding:0;margin:0;counter-reset:menu-counter}.staggered-menu-item{display:block;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;text-transform:uppercase;letter-spacing:-.02em;color:#fafafa;text-decoration:none;padding:.5rem 0;transition:color .2s ease;position:relative;opacity:0;transform:translateY(60px)}.staggered-menu-item:before{content:attr(data-number);position:absolute;left:-2rem;top:50%;transform:translateY(-50%);font-size:.75rem;font-weight:400;opacity:.3;font-family:monospace}.staggered-menu-item:hover{color:#a1a1aa}.staggered-menu-social{padding-top:2rem;border-top:1px solid #27272a;opacity:0;transform:translateY(30px)}.social-title{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#52525b;margin-bottom:1rem}.social-links{display:flex;gap:.75rem}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#18181b;border:1px solid #27272a;color:#71717a;transition:all .2s ease}.social-link:hover{color:#fafafa;border-color:#3f3f46}.staggered-menu-backdrop{position:fixed;inset:0;z-index:40;cursor:pointer}@media (max-width:1024px){.staggered-menu-panel{width:100%;border:none}}@media (max-width:640px){.staggered-menu-header{padding:1rem}.staggered-menu-panel{padding:5rem 2rem 2rem}.staggered-menu-item:before{display:none}}