.timeline-stage[data-astro-cid-y3soregm]{perspective:1200px;perspective-origin:50% 30%}@media(max-width:767px){.timeline-stage[data-astro-cid-y3soregm]{perspective:none}}.background-heading{--background-reveal: 0;opacity:0;visibility:hidden;transform:translateY(calc((1 - var(--background-reveal)) * 18px));filter:blur(calc((1 - var(--background-reveal)) * 5px));transition:opacity .28s ease-out,transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease-out,visibility 0s linear .28s}.background-heading.is-visible{opacity:var(--background-reveal);visibility:visible;transition:opacity .28s ease-out,transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease-out,visibility 0s linear 0s}.timeline-rail-progress[data-astro-cid-y3soregm]{height:0;opacity:0;transition:height .18s ease-out,opacity .18s ease-out}.timeline-item[data-astro-cid-y3soregm]{--reveal: 0;--dot-reveal: 0;--tilt-x: 15deg;--tilt-y: 10deg}.timeline-dot[data-astro-cid-y3soregm]{opacity:var(--dot-reveal);filter:blur(calc((1 - var(--dot-reveal)) * 3px));transition:opacity .18s ease-out,filter .18s ease-out}.timeline-panel[data-astro-cid-y3soregm]{opacity:0;visibility:hidden;pointer-events:none;transform-style:preserve-3d;transform-origin:50% 20%;transform:translate3d(0,calc((1 - var(--reveal)) * 42px),calc((1 - var(--reveal)) * -220px)) rotateX(calc((1 - var(--reveal)) * var(--tilt-x))) rotateY(calc((1 - var(--reveal)) * var(--tilt-y))) scale(calc(.84 + var(--reveal) * .16));filter:blur(calc((1 - var(--reveal)) * 10px));will-change:opacity,transform,filter;transition:opacity .26s ease-out,transform .35s cubic-bezier(.22,.8,.24,1),filter .26s ease-out,visibility 0s linear .26s}.timeline-item[data-astro-cid-y3soregm].is-active .timeline-panel[data-astro-cid-y3soregm]{opacity:var(--reveal);visibility:visible;pointer-events:auto;transition:opacity .26s ease-out,transform .35s cubic-bezier(.22,.8,.24,1),filter .26s ease-out,visibility 0s linear 0s}@media(max-width:767px){.timeline-panel[data-astro-cid-y3soregm]{transform-origin:.95rem .75rem}}@media(prefers-reduced-motion:reduce){.timeline-dot[data-astro-cid-y3soregm]{opacity:1;filter:none}.timeline-panel[data-astro-cid-y3soregm]{opacity:1;visibility:visible;pointer-events:auto;transform:none;filter:none}.background-heading{opacity:1;visibility:visible;transform:none;filter:none}}[data-skills-heading=true]{--skills-heading-reveal: 0;opacity:0;visibility:hidden;transform:translateY(calc((1 - var(--skills-heading-reveal)) * 18px));filter:blur(calc((1 - var(--skills-heading-reveal)) * 5px));transition:opacity .28s ease-out,transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease-out,visibility 0s linear .28s}[data-skills-heading=true].is-visible{opacity:var(--skills-heading-reveal);visibility:visible;transition:opacity .28s ease-out,transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease-out,visibility 0s linear 0s}.skills-subheading[data-astro-cid-ab4ihpzs]{--skill-subheading-reveal: 0;opacity:0;visibility:hidden;transform:translateY(calc((1 - var(--skill-subheading-reveal)) * 10px));filter:blur(calc((1 - var(--skill-subheading-reveal)) * 4px));transition:opacity .22s ease-out,transform .28s ease-out,filter .22s ease-out,visibility 0s linear .22s}.skills-subheading[data-astro-cid-ab4ihpzs].is-visible{opacity:var(--skill-subheading-reveal);visibility:visible;transition:opacity .22s ease-out,transform .28s ease-out,filter .22s ease-out,visibility 0s linear 0s}.skill-item[data-astro-cid-ab4ihpzs]{--skill-reveal: 0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc((1 - var(--skill-reveal)) * 10px));will-change:opacity,transform;transition:opacity .24s ease-out,transform .28s ease-out,visibility 0s linear .24s}.skill-item[data-astro-cid-ab4ihpzs].is-visible{opacity:var(--skill-reveal);visibility:visible;pointer-events:auto;transition:opacity .24s ease-out,transform .28s ease-out,visibility 0s linear 0s}@media(prefers-reduced-motion:reduce){[data-skills-heading=true],.skills-subheading[data-astro-cid-ab4ihpzs],.skill-item[data-astro-cid-ab4ihpzs]{opacity:1;visibility:visible;pointer-events:auto;transform:none}}.projects-grid[data-astro-cid-mspuyifq]{perspective:1200px;perspective-origin:50% 30%}[data-projects-heading=true]{--projects-heading-reveal: 0;opacity:0;visibility:hidden;transform:translateY(calc((1 - var(--projects-heading-reveal)) * 18px));filter:blur(calc((1 - var(--projects-heading-reveal)) * 5px));transition:opacity .28s ease-out,transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease-out,visibility 0s linear .28s}[data-projects-heading=true].is-visible{opacity:var(--projects-heading-reveal);visibility:visible;transition:opacity .28s ease-out,transform .38s cubic-bezier(.22,.8,.24,1),filter .28s ease-out,visibility 0s linear 0s}.project-card[data-astro-cid-mspuyifq]{--project-reveal: 0;--tilt-x: 15deg;--tilt-y: 10deg;opacity:0;visibility:hidden;pointer-events:none;transform-style:preserve-3d;transform:translate3d(0,calc((1 - var(--project-reveal)) * 42px),calc((1 - var(--project-reveal)) * -220px)) rotateX(calc((1 - var(--project-reveal)) * var(--tilt-x))) rotateY(calc((1 - var(--project-reveal)) * var(--tilt-y))) scale(calc(.84 + var(--project-reveal) * .16));filter:blur(calc((1 - var(--project-reveal)) * 10px));will-change:opacity,transform,filter;transition:opacity .36s ease-out,transform .52s cubic-bezier(.22,.8,.24,1),filter .36s ease-out,visibility 0s linear .36s}.project-card[data-astro-cid-mspuyifq].is-visible{opacity:var(--project-reveal);visibility:visible;pointer-events:auto;transition:opacity .36s ease-out,transform .52s cubic-bezier(.22,.8,.24,1),filter .36s ease-out,visibility 0s linear 0s}@media(prefers-reduced-motion:reduce){[data-projects-heading=true],.project-card[data-astro-cid-mspuyifq]{opacity:1;visibility:visible;pointer-events:auto;transform:none;filter:none}}.intro-cue[data-astro-cid-j7pv25f6]{--cue-wipe: 0;--cue-roll: 0;position:relative;overflow:clip;opacity:calc(1 - var(--cue-roll) * .8);transform:translateY(calc(var(--cue-roll) * -24px));clip-path:inset(calc(var(--cue-roll) * 108%) 0 0 0);transition:opacity .26s ease-out,transform .36s cubic-bezier(.22,.8,.24,1),clip-path .36s cubic-bezier(.22,.8,.24,1),visibility 0s linear .26s}.intro-cue[data-astro-cid-j7pv25f6]:after{content:"";position:absolute;left:-4%;right:-4%;top:calc(var(--cue-roll) * 100%);height:24px;transform:translateY(-100%);background:linear-gradient(180deg,#e4e4e700,#e4e4e76b 55%,#e4e4e7d1);pointer-events:none;opacity:calc(var(--cue-roll) * .74);transition:top .36s cubic-bezier(.22,.8,.24,1),opacity .26s ease-out}.intro-cue[data-astro-cid-j7pv25f6].is-hidden{visibility:hidden;pointer-events:none}@media(prefers-reduced-motion:reduce){.intro-cue[data-astro-cid-j7pv25f6]{opacity:1;transform:none;clip-path:none;transition:none}.intro-cue[data-astro-cid-j7pv25f6]:after{opacity:0;transition:none}}
