.timeline-container{flex-direction:column;gap:4rem;padding-left:3rem;display:flex;position:relative}.timeline-line{background:linear-gradient(#5dffbfe6 0%,#ff7bc4e6 14%,#7b75ffe6 28%,#fff066e6 42%,#6ba8ffe6 57%,#ff7bc4e6 71%,#fff066e6 85%,#7b75ffe6 100%);width:3px;animation:3s ease-in-out infinite linePulse;position:absolute;top:0;bottom:0;left:60px;box-shadow:0 0 10px #5dffbf66,0 0 20px #ff7bc44d,0 0 30px #7b75ff4d}@keyframes linePulse{0%,to{opacity:.85;box-shadow:0 0 10px #5dffbf80,0 0 20px #ff7bc44d,0 0 30px #7b75ff4d,0 0 40px #fff0664d,0 0 50px #6ba8ff4d}50%{opacity:1;box-shadow:0 0 20px #5dffbf99,0 0 40px #ff7bc480,0 0 60px #7b75ff80,0 0 80px #fff06680,0 0 100px #6ba8ff80}}.timeline-item{z-index:1;opacity:0;cursor:pointer;align-items:flex-start;gap:3rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.8s ease-out forwards slideIn;display:flex;position:relative;transform:translate(-30px)}@keyframes slideIn{to{opacity:1;transform:translate(0)}}.timeline-item:hover{transform:translate(10px)}.timeline-node-wrapper{flex-direction:column;flex-shrink:0;align-items:center;gap:1rem;display:flex;position:relative}.timeline-node{z-index:3;background:#000;border:3px solid #fff;border-radius:50%;width:24px;height:24px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;box-shadow:0 0 #fff6}.timeline-node:before{content:"";background:var(--node-color,#fff);opacity:0;border-radius:50%;width:12px;height:12px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-node.hovered{border-color:var(--node-color,#fff);box-shadow:0 0 20px var(--node-color,#fff), 0 0 40px var(--node-color,#fff);transform:scale(1.5)}.timeline-node.hovered:before{opacity:1}.timeline-node-glow{background:radial-gradient(circle, var(--node-color,#fff), transparent 70%);opacity:0;pointer-events:none;z-index:-1;border-radius:50%;width:50px;height:50px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-node.hovered .timeline-node-glow{opacity:.4}.timeline-thumbnail{background:#000;border:3px solid #ffffff4d;border-radius:50%;width:80px;height:80px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 20px #0000004d}.timeline-thumbnail.udemy-thumbnail,.timeline-thumbnail.calpoly-thumbnail{background:#fff}.timeline-thumbnail.calpoly-thumbnail img{object-fit:contain;object-position:center;transform:translateY(-4px)}.timeline-thumbnail:before{content:"";background:radial-gradient(circle, var(--node-color,#fff), transparent 70%);opacity:0;pointer-events:none;z-index:1;border-radius:50%;width:100px;height:100px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timeline-thumbnail.hovered:before{opacity:.3}.timeline-thumbnail img{object-fit:cover;z-index:0;width:100%;height:100%;transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative}.timeline-thumbnail.hovered{border-color:var(--node-color,#fff);box-shadow:0 8px 30px #00000080, 0 0 30px var(--node-color,#fff);transform:scale(1.15)rotate(5deg)}.timeline-thumbnail.calpoly-thumbnail.hovered{transform:scale(1.15)rotate(5deg)}.timeline-thumbnail.hovered img{transform:scale(1.1)}.timeline-thumbnail.calpoly-thumbnail.hovered img{transform:translateY(-4px)scale(1.1)}.thumbnail-icon{background:#000c;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .3s;display:flex;position:absolute;bottom:-5px;right:-5px}.timeline-thumbnail.hovered .thumbnail-icon{background:var(--node-color,#fff);border-color:#000;transform:scale(1.2)rotate(-10deg)}.timeline-content{flex:1;padding-top:0;transition:all .3s}.timeline-content.hovered{transform:translate(5px)}.timeline-date{letter-spacing:.1em;text-transform:uppercase;margin:0 0 .75rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:600;line-height:1.6;transition:all .3s}.timeline-content.hovered .timeline-date{text-shadow:0 0 10px;transform:translate(5px)}.timeline-title{color:#fffffff2;letter-spacing:-.01em;margin:0 0 .75rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-weight:400;line-height:1.5;transition:all .3s}.timeline-content.hovered .timeline-title{color:#fff;transform:translate(5px)}.timeline-description{color:#ffffffb3;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.05rem;line-height:1.7;transition:all .3s}.timeline-content.hovered .timeline-description{color:#ffffffd9;transform:translate(5px)}@media (max-width:968px){.timeline-container{gap:3.5rem;padding-left:2.5rem}.timeline-line{left:50px}.timeline-item{gap:2rem}.timeline-thumbnail{width:70px;height:70px}}@media (max-width:640px){.timeline-container{gap:3rem;padding-left:1.5rem}.timeline-line{width:2px;left:35px}.timeline-node{border-width:2px;width:20px;height:20px}.timeline-node.hovered{transform:scale(1.3)}.timeline-item{flex-direction:column;align-items:flex-start;gap:1.5rem}.timeline-node-wrapper{flex-direction:row;align-items:center}.timeline-thumbnail{width:60px;height:60px}.thumbnail-icon{width:24px;height:24px;font-size:12px}.timeline-title{font-size:1.25rem}.timeline-description{font-size:.95rem}.timeline-date{font-size:.8rem}}
.pixel-snow-container{contain:layout style paint;width:100%;height:100%;position:relative;overflow:hidden}.pixel-snow-container canvas{will-change:transform;backface-visibility:hidden;width:100%;height:100%;display:block;transform:translateZ(0)}
.editable{position:relative}.editable-edit{z-index:2;letter-spacing:.15em;text-transform:uppercase;color:#ffffffb3;opacity:.45;cursor:pointer;background:#000000a6;border:1px solid #ffffff40;border-radius:3px;padding:.3rem .85rem;font-family:inherit;font-size:.7rem;font-weight:500;transition:opacity .25s,color .25s,border-color .25s;position:absolute;top:-.5rem;right:0}.editable:hover .editable-edit,.editable-edit:focus-visible{opacity:1;color:#fff;border-color:#ffffffb3;outline:none}.editable-open{background:#ffffff08;border:1px solid #ffffff2e;border-radius:6px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.editable-label{letter-spacing:.15em;text-transform:uppercase;color:#fff9;font-size:.75rem;font-weight:500}.editable-input{color:#fff;resize:vertical;background:#0006;border:1px solid #fff3;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem;line-height:1.6}.editable-input:focus{border-color:#6ba8ff;outline:none}.editable-input:disabled{opacity:.6}.editable-file{color:#ffffffa6;font-size:.8rem}.editable-hint{color:#fff6;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem}.editable-error{color:#ff5757;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem}.editable-actions{gap:.75rem;display:flex}.editable-button{letter-spacing:.12em;text-transform:uppercase;color:#fff;cursor:pointer;background-color:#0000;background-image:linear-gradient(90deg,#ff5757,#6ba8ff);background-position:0 0;background-repeat:no-repeat;background-size:0% 100%;border:1px solid #ffffff4d;border-radius:3px;padding:.55rem 1.5rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:background-size .4s cubic-bezier(.22,1,.36,1),border-color .3s}.editable-button:hover:not(:disabled),.editable-button:focus-visible:not(:disabled){background-size:100% 100%;border-color:#ffffffbf;outline:none}.editable-button-primary{border-color:#fff9}.editable-button:disabled{opacity:.45;cursor:not-allowed}
.home{color:#fff;background:#000;min-height:100vh}.hero-section{background:#000;border-bottom:1px solid #ffffff14;padding:6rem 3rem;position:relative;overflow:hidden}.hero-background{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;justify-content:space-between;align-items:center;gap:6rem;max-width:1400px;margin:0 auto;display:flex;position:relative}.hero-text{flex:1;max-width:700px}.hero-name{color:#fff;letter-spacing:-.02em;margin:0 0 2rem;font-family:Georgia,Times New Roman,serif;font-size:4.5rem;font-weight:400;line-height:1.1}.hero-subtitle{color:#fffc;letter-spacing:-.01em;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.3rem;font-weight:400;line-height:1.7}.hero-image-container{flex-shrink:0}.hero-headshot{object-fit:cover;background:#fff;border:2px solid #fff;border-radius:50%;width:280px;height:280px;transition:all .4s cubic-bezier(.4,0,.2,1)}.hero-headshot:hover{border-color:#fff;transform:scale(1.02)}.about-section{background:#000;border-top:1px solid #ffffff14;padding:8rem 3rem}.about-content{max-width:900px;margin:0 auto}.about-title{color:#ffffff80;text-transform:uppercase;letter-spacing:.15em;text-align:left;margin:0 0 3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400}.about-text{color:#fffc;text-align:left;letter-spacing:-.01em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:300;line-height:1.8}.education-section{background:#000;border-top:1px solid #ffffff14;padding:8rem 3rem}.education-content{max-width:900px;margin:0 auto}.education-title{color:#ffffff80;text-transform:uppercase;letter-spacing:.15em;text-align:left;margin:0 0 3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400}.education-list{flex-direction:column;gap:3rem;display:flex}.education-item{text-align:left;align-items:flex-start;gap:2rem;display:flex}.education-thumbnail{object-fit:contain;object-position:center;background:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:110px;height:110px;padding:8px;transform:scale(.9)}.education-info{flex:1}.education-degree{color:#ffffffe6;letter-spacing:-.01em;margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:400;line-height:1.6}.education-expected{color:#ffffff80;font-size:.9em;font-style:italic}.education-school{color:#fff9;margin:0 0 .25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.6}.education-years{color:#ffffff80;letter-spacing:.05em;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6}.journey-section{background:#000;border-top:1px solid #ffffff14;padding:8rem 3rem}.journey-content{max-width:900px;margin:0 auto}.journey-title{color:#ffffff80;text-transform:uppercase;letter-spacing:.15em;text-align:left;margin:0 0 3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:400}.hero-cursor{margin-left:2px;font-weight:lighter;display:inline-block}.hero-cursor-blink{animation:1.5s step-end infinite cursor-blink}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-subtitle{opacity:0;transition:opacity .6s ease-out}.hero-subtitle-visible{opacity:1}@media (max-width:968px){.hero-section{padding:4rem 2rem}.hero-content{text-align:left;flex-direction:column;align-items:flex-start;gap:4rem}.hero-text{max-width:100%}.hero-name{font-size:3.5rem}.hero-subtitle{font-size:1rem}.hero-headshot{align-self:center;width:220px;height:220px}.about-section,.education-section{padding:5rem 2rem}}@media (max-width:640px){.hero-section{padding:3rem 1.5rem}.hero-name{font-size:2.5rem}.hero-subtitle{font-size:.95rem}.hero-headshot{width:180px;height:180px}.about-section{padding:4rem 1.5rem}.about-title{margin-bottom:2rem;font-size:.875rem}.about-text{font-size:1.125rem}.education-section{padding:4rem 1.5rem}.education-title{margin-bottom:2rem;font-size:.875rem}.education-degree{font-size:1.125rem}.education-school{font-size:.95rem}.education-years{font-size:.8rem}.education-list{gap:2.5rem}.education-item{gap:1.5rem}.education-thumbnail{width:80px;height:80px}.journey-section{padding:4rem 1.5rem}.journey-title{margin-bottom:2rem;font-size:.875rem}}
