@import "https://api.fontshare.com/v2/css?f[]=clash-display@600,700&f[]=satoshi@400,500&display=swap";.curved-loop-jacket{justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.curved-loop-svg{-webkit-user-select:none;user-select:none;aspect-ratio:100/12;text-transform:uppercase;width:100%;font-size:4rem;font-weight:700;line-height:1;display:block;overflow:visible}.scroll-stack-scroller{position:relative;overflow-x:hidden;transform:translateZ(0)}.scroll-stack-inner{min-height:100vh;padding:10vh 4rem 20vh}.scroll-stack-card{transform-origin:top;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform, filter;box-sizing:border-box;border-radius:16px;width:100%;height:22rem;margin:0;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000002e}.scroll-stack-end{width:100%;height:1px}:root{--color-bg-dark:#080808;--color-bg-light:#f2f2f2;--color-text-on-dark:#efefef;--color-text-on-light:#0d0d0d;--color-subtle:#888;--color-border-dark:#222;--color-border-light:#ddd;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:6rem;--space-2xl:8rem;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--duration-fast:.3s;--duration-med:.6s;--duration-slow:1.2s}*{box-sizing:border-box;cursor:none;margin:0;padding:0}::-webkit-scrollbar{display:none}html{-ms-overflow-style:none;scrollbar-width:none}body{background-color:var(--color-bg-dark);color:var(--color-text-on-dark);font-family:Satoshi,sans-serif;overflow-x:hidden}h1,h2,h3{font-family:Clash Display,sans-serif}.project-card{padding:var(--space-md);border:1px solid var(--color-border-dark);gap:var(--space-sm);transition:background var(--duration-fast) var(--ease-out-expo);background:#efefef05;border-radius:8px;flex-direction:column;display:flex}.project-card:hover{background:#efefef0d}.project-number{color:var(--color-subtle);font-family:Clash Display,sans-serif;font-size:.85rem}.tags{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tag{border:1px solid var(--color-border-dark);color:var(--color-subtle);border-radius:999px;padding:.25rem .75rem;font-size:.75rem}.project-link{color:var(--color-text-on-dark);padding-top:var(--space-sm);margin-top:auto;font-size:.9rem;text-decoration:none;display:inline-block}.contact-form{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;max-width:600px;display:flex}.contact-form input,.contact-form textarea{border:none;border-bottom:1px solid var(--color-border-dark);width:100%;color:var(--color-text-on-dark);transition:border-color var(--duration-fast) var(--ease-out-expo);background:0 0;outline:none;padding:1rem 0;font-family:Satoshi,sans-serif;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--color-text-on-dark)}.contact-form textarea{resize:none;height:120px}.submit-btn{margin-top:var(--space-sm);color:var(--color-text-on-dark);border:1px solid var(--color-text-on-dark);text-transform:uppercase;transition:all var(--duration-fast) var(--ease-out-expo);background:0 0;align-self:flex-start;padding:1rem 2.5rem;font-family:Clash Display,sans-serif;font-size:1rem}.submit-btn:hover{background:var(--color-text-on-dark);color:var(--color-bg-dark)}@media (width<=768px){.floating-model{display:none!important}h1{font-size:clamp(2rem,10vw,4rem)!important}}.grain-overlay{z-index:9990;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:180px 180px;animation:.4s step-end infinite grain;position:fixed;inset:0}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}
