.keyword-glow{color:#f9f9f9;background:linear-gradient(90deg,#f9f9f914 0%,#f9f9f926 50%,#f9f9f914 100%) 0/0% 100% no-repeat;border-radius:2px;padding:0 .2em;font-weight:600;transition:color .3s;position:relative}.keyword-glow:after{content:"";transform-origin:50%;background:linear-gradient(90deg,#0000,#f9f9f980,#0000);width:100%;height:1px;transition:transform .6s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:0;left:0;transform:scaleX(0)}.keyword-glow:hover:after{transform:scaleX(1)}.bio-reveal{opacity:0;will-change:transform, opacity}.abilities-container{will-change:transform, opacity}.abilities-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.abilities-grid{grid-template-columns:repeat(2,1fr)}}.ability-card{opacity:0;-webkit-backdrop-filter:blur(8px);transform-style:preserve-3d;perspective:800px;will-change:transform, opacity;gap:1rem;padding:1.5rem;transition:transform .3s cubic-bezier(.25,.46,.45,.94),border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;border:1px solid var(--low-opacity)!important;background:linear-gradient(145deg,#24242466 0%,#15151699 100%)!important;border-radius:0!important}.ability-card:hover{border-color:#f9f9f933!important;transform:translateY(-4px)rotateX(2deg)!important;box-shadow:0 12px 40px #0006,inset 0 1px #f9f9f90d!important}.ability-card__shine{opacity:0;pointer-events:none;z-index:1;transition:opacity .3s;position:absolute;inset:0;background:radial-gradient(320px circle at var(--shine-x,50%) var(--shine-y,50%), #f9f9f90f 0%, transparent 60%)!important}.ability-card:hover .ability-card__shine{opacity:1!important}.ability-card__icon{background:#f9f9f90a;border:1px solid #f9f9f90f;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.75rem;display:flex}.ability-card__content{flex:1}.ability-card__title{font-family:var(--font-teko), sans-serif;color:#f9f9f9;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:1.25rem;font-weight:600}.ability-card__description{font-family:var(--font-alumni-sans), sans-serif;color:#f9f9f999;font-size:.9375rem;line-height:1.5}.about-title{will-change:transform, opacity, clip-path}.subtitle-left,.subtitle-right{will-change:transform, opacity}.about-image-wrap{overflow:hidden}@media (prefers-reduced-motion:reduce){.bio-reveal,.ability-card,.abilities-container{opacity:1!important;clip-path:none!important;transform:none!important}}
.skill-card{transform-style:preserve-3d;will-change:transform;background:linear-gradient(145deg,#24242466 0%,#15151699 100%);transition:transform .25s cubic-bezier(.25,.46,.45,.94),border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.skill-card:hover{box-shadow:0 12px 40px #0006,inset 0 1px #f9f9f90d;border-color:#f9f9f933!important}.skill-card__shine{background:radial-gradient(300px circle at var(--shine-x,50%) var(--shine-y,50%), #f9f9f90f 0%, transparent 60%);opacity:0;pointer-events:none;z-index:1;transition:opacity .3s;position:absolute;inset:0}.skill-card:hover .skill-card__shine{opacity:1}

.skills-title{will-change:transform, opacity, clip-path}.github-section,.skills-container{will-change:transform, opacity}.skills-container .skill-card,.skills-see-all{opacity:0;will-change:transform, opacity}.skills-modal-backdrop{-webkit-backdrop-filter:blur(20px)}.skills-modal-content{animation:.3s cubic-bezier(.16,1,.3,1) forwards modalScaleIn}.skills-modal-content .skill-card{opacity:1!important;transform:none!important}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.skills-title,.github-section,.skills-container,.skills-container .skill-card,.skills-see-all{opacity:1!important;clip-path:none!important;transform:none!important}}
