/* Original portfolio typography is defined in styles.css; motion remains. */
.site-header nav a{font-weight:500;position:relative;text-decoration:none!important}
.site-header nav a::after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:var(--highlight);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after,.site-header nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.button,.hero-links a,.slide-actions a{transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease}
.button:hover,.button:focus-visible,.slide-actions a:hover{transform:translateY(-3px);box-shadow:0 8px 22px #00000012}
.reading-progress{position:fixed;left:0;top:0;z-index:60;width:100%;height:2px;background:var(--highlight);transform-origin:left;transform:scaleX(0);pointer-events:none}
.site-header{transition:box-shadow .3s ease}
.site-header.has-scrolled{box-shadow:0 10px 30px #00000012}
@media(hover:hover) and (pointer:fine){.lab-card{transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.lab-card:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-6px);box-shadow:0 18px 35px #00000020}}
@media(prefers-reduced-motion:reduce){.button,.hero-links a,.slide-actions a,.site-header,.lab-card,.site-header nav a::after{transition:none!important}.lab-card,.lab-card:hover,.button:hover,.button:focus-visible{transform:none!important}.reading-progress{display:none}}

