.portrait-frame{width:100px;height:125px;border-radius:14px;overflow:hidden;flex-shrink:0;border:3px solid white;box-shadow:0 6px 19px #222c4922;display:block;background:#edf0f5}.people .portrait-frame .portrait{width:100%;height:100%;border:0;border-radius:0;box-shadow:none;object-fit:cover}.portrait-frame.victor .portrait{transform:scale(1.1);object-position:50% 26%;transform-origin:50% 30%}.portrait-frame.isabella .portrait{transform:scale(1.62);object-position:50% 20%;transform-origin:50% 25%}
@media(max-width:650px){.portrait-frame{width:94px;height:118px}.people .portrait-frame .portrait{width:100%;height:100%}}
@media(prefers-reduced-motion:no-preference){.hero h1{animation:hero-in .8s cubic-bezier(.2,.7,.2,1) both}.hero-bottom{animation:hero-in .8s .13s cubic-bezier(.2,.7,.2,1) both}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}.services article{transition:transform .25s ease,box-shadow .25s ease}.services article:hover{transform:translateY(-6px);box-shadow:0 20px 42px #43398414,inset 0 1px 0 white}.project .mock{transition:transform .4s cubic-bezier(.2,.7,.2,1)}.project:hover .mock{transform:rotate(0deg) translateY(-5px)}.button:active{transform:scale(.97)}nav a{transition:color .2s,background .2s}.people .portrait-frame .portrait{transition:filter .3s}.people article:hover .portrait{filter:brightness(1.06)}@keyframes hero-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
 .gradient-cursor{position:fixed;left:0;top:0;width:100px;height:100px;border-radius:50%;pointer-events:none;z-index:1000;opacity:0;background:radial-gradient(circle at 35% 35%,#439cff35,transparent 62%),radial-gradient(circle at 65% 60%,#884fff35,transparent 65%);filter:blur(10px);transform:translate(-50%,-50%);transition:opacity .2s,width .2s,height .2s;will-change:left,top}.gradient-cursor.visible{opacity:1}.gradient-cursor.over-link{width:120px;height:120px;opacity:1}@media(prefers-reduced-motion:reduce){.gradient-cursor{transition:none}}
