*{box-sizing:border-box}body{margin:0;background:#f7f5f0;color:#101114}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;background:#f7f5f0}.motion-canvas{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.72}.name-mark{position:relative;display:inline-block;color:transparent;background:linear-gradient(90deg,#101114 0%,#101114 34%,#6b6d69 48%,#101114 62%,#101114 100%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;animation:name-sheen 4.8s linear infinite;transition:letter-spacing .28s ease,transform .28s ease,filter .28s ease}.name-mark:hover{letter-spacing:.015em;transform:translateY(-2px);filter:drop-shadow(0 10px 18px rgba(16,17,20,.14))}.name-mark::before{position:absolute;inset:-8% -5%;z-index:-1;content:"";background:linear-gradient(100deg,transparent 18%,rgba(16,17,20,.08),transparent 82%);filter:blur(18px);opacity:.48;transform:translateX(-18%);animation:name-glow 7s ease-in-out infinite alternate;transition:opacity .28s ease,filter .28s ease}.name-mark:hover::before{opacity:.95;filter:blur(24px)}.ambient::before{position:absolute;inset:-35%;content:"";background:radial-gradient(closest-side at 24% 34%,rgba(16,17,20,.075),transparent 62%),radial-gradient(closest-side at 74% 28%,rgba(16,17,20,.05),transparent 60%),radial-gradient(closest-side at 50% 78%,rgba(16,17,20,.055),transparent 65%);filter:blur(42px);opacity:.82;animation:soft-mesh 24s ease-in-out infinite alternate}.ambient::after{position:absolute;top:18%;left:-30%;width:160%;height:34%;content:"";background:linear-gradient(100deg,transparent 5%,rgba(16,17,20,.08) 24%,rgba(255,255,255,.75) 42%,rgba(16,17,20,.06) 58%,transparent 82%);filter:blur(30px);opacity:.58;transform:skewY(-7deg);animation:aurora-slide 10s ease-in-out infinite alternate}.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.18;background-image:radial-gradient(rgba(16,17,20,.22) .7px,transparent .7px);background-size:18px 18px;mask-image:linear-gradient(to bottom,black,transparent 86%)}.link-line{position:relative;text-decoration:none}.link-line::after{position:absolute;left:0;right:0;bottom:-3px;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.link-line:hover::after{transform:scaleX(1);transform-origin:left}.icon-link{display:inline-flex;align-items:center;gap:.45rem}.icon-link svg{width:1rem;height:1rem;flex:0 0 auto}.scroll-cue{display:inline-flex;margin-top:3.25rem;color:rgba(16,17,20,.55);animation:cue-bounce 1.8s ease-in-out infinite;transition:color .2s ease,transform .2s ease}.scroll-cue:hover{color:#101114;transform:translateY(2px)}.scroll-cue svg{width:1.75rem;height:1.75rem}.back-top svg{animation:top-cue 1.8s ease-in-out infinite}.stack-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem .8rem;max-width:760px;margin:.55rem auto 0;color:rgba(16,17,20,.66);font-size:.82rem;font-weight:500}.stack-title{margin-top:1.45rem;color:rgba(16,17,20,.42);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.stack-group-label{color:rgba(16,17,20,.42);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.stack-item{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;text-decoration:none;color:inherit;transition:color .2s ease,opacity .2s ease}.stack-item:hover{color:#101114;opacity:.82}.stack-item img,.stack-item svg{width:1rem;height:1rem;object-fit:contain}.stack-separator{color:rgba(16,17,20,.24)}.soft-rule{border-color:rgba(16,17,20,.08)}@keyframes soft-mesh{from{transform:translate3d(-2vw,-1vh,0) rotate(0deg) scale(1)}to{transform:translate3d(2vw,1.5vh,0) rotate(8deg) scale(1.05)}}@keyframes aurora-slide{from{transform:translate3d(-8vw,0,0) skewY(-7deg);opacity:.42}to{transform:translate3d(8vw,2vh,0) skewY(-7deg);opacity:.72}}@keyframes name-glow{to{opacity:.78;transform:translateX(18%)}}@keyframes name-sheen{from{background-position:140% 0}to{background-position:-140% 0}}@keyframes cue-bounce{0%,100%{transform:translateY(0);opacity:.42}50%{transform:translateY(8px);opacity:.9}}@keyframes top-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}}
