.certification-card .details-reveal,.experience-card .details-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .44s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.certification-card .details-reveal-inner,.experience-card .details-reveal-inner{min-height:0;overflow:hidden}.certification-card:focus-within .details-reveal,.certification-card:hover .details-reveal,.experience-card:focus-within .details-reveal,.experience-card:hover .details-reveal{grid-template-rows:1fr;opacity:1}.certification-card:focus-visible,.experience-card:focus-visible{outline:2px solid #00c2cc;outline-offset:3px}@media (hover:none){.certification-card .details-reveal,.experience-card .details-reveal{grid-template-rows:1fr;opacity:1}}@media (prefers-reduced-motion:reduce){.certification-card .details-reveal,.experience-card .details-reveal{transition:none}}.experience-motion-item.experience-motion-visible .experience-motion-node-lit{animation:experience-node-awake .85s cubic-bezier(.18,.7,.2,1) both}@keyframes experience-node-awake{0%{filter:brightness(.75);box-shadow:0 0 0 rgba(0,194,204,0)}55%{filter:brightness(1.4);box-shadow:0 0 0 7px rgba(0,194,204,.09),0 0 22px rgba(0,194,204,.42)}to{filter:brightness(1)}}.skill-motion-card.skill-motion-visible{animation:skill-card-arrive .65s cubic-bezier(.22,1,.36,1) both}@keyframes skill-card-arrive{0%{opacity:0;translate:0 19px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:blur(0)}}.skill-motion-chip.skill-motion-chip-visible{animation:skill-chip-arrive .42s cubic-bezier(.22,1,.36,1) both}@keyframes skill-chip-arrive{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}.skill-motion-card:focus-within .skill-chip,.skill-motion-card:hover .skill-chip{border-color:rgba(0,194,204,.26)}.skill-motion-card:hover .skill-chip:hover{translate:0 -2px}.skill-motion-card>div>div>span:has(svg) svg{transition:transform .26s ease,color .26s ease}.skill-motion-card:focus-within>div>div>span:has(svg) svg,.skill-motion-card:hover>div>div>span:has(svg) svg{transform:translateY(-2px) rotate(-5deg)}.skill-motion-stack-visible .skill-motion-module{animation:skill-module-arrive .54s cubic-bezier(.22,1,.36,1) both}@keyframes skill-module-arrive{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}@media (prefers-reduced-motion:reduce){.experience-motion-item.experience-motion-visible .experience-motion-node-lit,.skill-motion-card.skill-motion-visible,.skill-motion-chip.skill-motion-chip-visible,.skill-motion-stack-visible .skill-motion-module{animation:none!important;opacity:1!important;filter:none!important;translate:none!important}.skill-motion-card:hover .skill-chip:hover{translate:none}}.hero-entrance-pending{opacity:0!important}.hero-entrance{animation:hero-arrive .78s cubic-bezier(.16,1,.3,1) both}.hero-entrance-1{animation-delay:0s}.hero-entrance-2{animation-delay:.14s}.hero-entrance-3{animation-delay:.34s}.hero-entrance-4{animation-delay:.51s}.hero-entrance-5{animation-delay:.68s}.hero-entrance-6{animation-delay:.84s}.hero-entrance-7{animation-delay:.98s}.hero-entrance-photo{animation:hero-photo-arrive 1.1s cubic-bezier(.16,1,.3,1) .42s both}.hero-entrance-scroll{animation:hero-arrive .72s ease-out 1.15s both}@keyframes hero-arrive{0%{opacity:0;transform:translate3d(0,24px,0);filter:blur(5px)}to{opacity:1;transform:translateZ(0);filter:blur(0)}}@keyframes hero-photo-arrive{0%{opacity:0;filter:blur(10px) brightness(.65)}to{opacity:1;filter:blur(0) brightness(1)}}@media (prefers-reduced-motion:reduce){.hero-entrance{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.hero-entrance-pending{opacity:0!important}}