@font-face{font-family:customfont;src:url(/fonts/55roman.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:customfont;src:url(/fonts/75bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:customfont;src:url(/fonts/45light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:customfont;src:url(/fonts/35thin.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:customfont,Arial,sans-serif;background-color:#fafafa;overflow-x:hidden;font-size:1.8rem}.about p,.body p,.hero p,.project-description p,body p{letter-spacing:.065vw;margin-bottom:2vw}.container{width:100vw;margin:0 auto;position:relative}header{height:auto;min-height:10vw;background-color:#000;color:#fff;display:flex;align-items:center;justify-content:flex-start;padding:7vw 15vw 0;flex-wrap:wrap}.header-title{flex-grow:1}header h1{font-size:4.7vw;font-weight:700;margin:0}.header-subtitle,header h1{line-height:1.2;font-family:customfont,Arial,sans-serif}.header-subtitle{color:#ccc;margin:.5vw 0 0;white-space:pre-line}.hero{min-height:20vw;display:flex;flex-direction:column;align-items:center;color:#fff;padding:.75vw 5vw}.hero-content{display:flex;align-items:flex-start;max-width:90vw;margin:0 auto;position:relative}.hero-line{width:28vw;height:.2vw;background-color:#fff;margin-right:10vw;margin-top:6.2vw;margin-left:10vw;position:absolute;left:0}.hero-text{flex:1 1;margin-left:45%;max-width:45%;padding-top:2vw}.hero h2{font-size:5vw;margin-bottom:4vw;font-weight:700;color:#fff}.hero h2,.hero p{text-align:left;font-family:customfont,Arial,sans-serif}.hero p{font-size:1.7vw;line-height:1.1;margin-bottom:2vw;font-weight:200;letter-spacing:.05em}.about{padding:5vw;background-color:#fff}.about h2{font-size:4vw;margin-bottom:2vw}.about p{font-size:2vw;max-width:80vw;margin-bottom:2vw}.contact{padding:5vw;background-color:#000;color:#fff}#contact p{font-size:1.8vw;line-height:1.6;margin-bottom:1vw}#contact p a{font-size:1.8vw;color:red;text-decoration:none}.contact h2{font-size:4vw;margin-bottom:.5vw}.contact form{display:flex;flex-direction:column;max-width:60vw}.contact input,.contact textarea{margin-bottom:2vw;padding:1vw;font-size:1.8vw;border:none;border-radius:.5vw}.contact button{background-color:#4caf50;color:#fff;border:none;padding:1vw 2vw;font-size:2vw;cursor:pointer;border-radius:.5vw;align-self:flex-start}footer{background-color:#222;color:#fff;text-align:center;padding:2vw;font-size:1.2vw}.layout-container{width:100vw;height:100vh;max-width:calc(90vh * 4/3);display:flex;justify-content:center;align-items:center;background:#1a1a1a}.aspect-container{width:1440px;height:100vh;background:#fff;transform:scale(calc(100vw / 1440));transform-origin:top-left}.content{width:100%;height:100%;padding:20px}.nav{position:absolute;top:0;left:0;right:0;padding:20px;display:flex;justify-content:space-between;align-items:center;z-index:1000}.nav-links{display:flex;flex-direction:column;align-items:flex-start;gap:.5vh;width:100%;padding-left:1vw;pointer-events:auto}.nav a{color:#333;text-decoration:none;font-size:24px}.logo{font-weight:700;font-size:32px}.role{font-size:48px}.projects{width:90%;margin:0 auto}.projects h2{font-size:5vh;margin-bottom:4vh;text-align:center}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:0}.circle{position:absolute;border-radius:50%;opacity:.1}.hero{position:relative;text-align:center;padding-bottom:1rem;background-color:#000;margin:0;overflow:hidden}.hero h1{font-size:5rem;background:linear-gradient(90deg,#333,#666);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero h1,.role{margin-bottom:2rem}.role{font-size:2.5rem;color:#666}.intro{font-size:1.5rem;max-width:50rem;margin:0 auto;line-height:1.6}.hero-cta{margin-top:3rem;display:flex;gap:2rem;justify-content:center}.btn{font-size:1.2rem;padding:1rem 2.5rem;border-radius:3rem;border:none;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.btn:hover{transform:translateY(-.2rem);box-shadow:0 5px 15px rgba(0,0,0,.1)}.btn.primary{background:linear-gradient(45deg,#333,#666);color:#fff}.btn.secondary{background:#fff;border:2px solid #333}.section-title{font-size:3rem;text-align:center;margin-bottom:4rem;background:linear-gradient(45deg,#333,#666);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.project-image{height:15rem;background:linear-gradient(45deg,#f0f0f0,#e0e0e0);border-radius:.5rem;margin-bottom:2rem}.tech-stack{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.tech-tag{padding:.5rem 1rem;background:#f0f0f0;border-radius:2rem;font-size:.9rem;color:#666}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:#fff;padding:2rem 0;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:2rem}.footer{margin-top:auto;padding:4rem 2rem;text-align:center;background:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.1);font-size:1.2rem}.header-content{display:flex;flex-direction:column}.header-subtitle{font-size:2.35vw;font-weight:400;margin-top:.5vw;opacity:.8}.resume-section{padding-top:0;padding-bottom:2vw;background-color:#000;color:#fff;display:flex;flex-direction:column;align-items:center}.resume-content{max-width:40%;width:45%;margin-left:31%;margin-top:0}.section-divider-full{width:100%;height:.1vw;background-color:#fff;margin:2vw 0}.section-container{display:flex;align-items:flex-start;margin:1vw 2vw 1vw 0}.section-label{width:10vw;font-size:.85vw;padding-top:0}.section-label,.section-text{font-weight:300;font-family:customfont,Arial,sans-serif}.section-text{flex:1 1;font-size:1.25vw;line-height:1.3;margin-left:1vw;padding-bottom:1vw}.section-text p{margin-bottom:.6vw}.experience-columns{display:flex;gap:5vw}.experience-column{flex:1 1;font-family:customfont,Arial,sans-serif;font-weight:300}.side-nav{position:fixed;left:0;top:50%;transform:translateY(-50%);padding-left:4vw;z-index:1000}.side-nav ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25vw}.side-nav a{color:#c00;text-decoration:none;font-size:.85vw;font-weight:500;transition:color .3s ease;text-transform:uppercase}.side-nav a:hover{color:maroon}.project-section{position:relative;min-height:50vw;background-color:#fafafa;color:#333;padding:5vw}.project-indicator-line{position:absolute;top:4.7vw;left:6.1vw;width:9.7vw;height:.3vw;background-color:#000}.project-label{position:absolute;top:4.3vw;left:16vw;width:25vw}.project-label h2{font-size:4.7vw;font-weight:300;margin:0;padding:0;line-height:1;color:#000;font-family:customfont,Arial,sans-serif}.project-description{position:absolute;top:5vw;left:45vw;width:40vw}.project-description p{letter-spacing:.065vw!important;margin-bottom:2vw!important;font-size:1.8vw;line-height:1.1;text-align:left;color:#000;font-family:customfont,Arial,sans-serif;font-weight:300;letter-spacing:.3px}.project-description-text{margin-bottom:1em;line-height:1.6}.project-description-text.research-spacing-top{margin-top:0}.project-assets-section{padding:4vw 5vw;background-color:#fff}.assets-title{font-size:2.5vw;color:#333;margin-bottom:3vw;text-align:center}.asset-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2vw;gap:2vw;max-width:90vw;margin:0 auto}.asset-item{background-color:#fff;padding:.5vw;border-radius:.5vw;box-shadow:0 .2vw .5vw rgba(0,0,0,.1)}.asset-item img,.asset-item video{display:block;width:100%;height:auto;border-radius:.3vw}.full-width-asset{width:90vw;max-width:100%;margin:0 auto 2vw;background-color:#fff;padding:.5vw;border-radius:.5vw;box-shadow:0 .2vw .5vw rgba(0,0,0,.1)}.full-width-asset img{display:block;width:100%;height:auto;border-radius:.3vw}.full-width-caption{text-align:left;margin-top:.8vw;font-size:1vw;color:#555}#project-3+.project-assets-section .asset-grid .asset-item:nth-child(4) img{height:25vw;object-fit:cover;object-position:center}.asset-caption{font-size:1vw;color:#555;text-align:center;margin-top:.8vw}.subheader-indicator-icon{position:absolute;top:4.25vw;left:26vw;width:5vw;height:5vw;color:#000}#subheader1{padding-top:3vw;padding-bottom:10vw;min-height:auto}.squirgle-video-container{width:100%;margin:0 0 .5em}.squirgle-video-container video{display:block;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.1)}#project-3{min-height:40vw}#project-3b{min-height:50vw}#project-4{padding-bottom:15vw}.research-spacing-top{margin-top:50vw}@media screen and (max-width:700px){body{overflow-x:auto;min-width:700px;background-color:#fafafa}.side-nav{width:70px;padding-top:105px}.side-nav a{font-size:10px;font-family:customfont,Arial,sans-serif;font-weight:300;color:#c00;text-decoration:none;text-transform:uppercase}.nav-links{gap:3.5px;padding-left:7px}.hero{min-height:140px;background-color:#000;padding:40px 35px px}.hero-content{max-width:630px}.hero-line{width:190px;height:1.4px;margin-top:16px;margin-left:-4px}.hero-text{margin-left:204px;max-width:276px;padding-top:0}.hero h2{font-size:35px;text-align:left;font-weight:700}.hero h2,.hero p{margin-bottom:14px;font-family:customfont,Arial,sans-serif}.hero p{font-size:12.6px;font-weight:200;letter-spacing:.5px}.about{padding:35px}.about h2{font-size:28px;margin-bottom:14px}.about p{font-size:14px;max-width:560px;margin-bottom:14px}.contact{padding:0x 0 24px 105px;text-align:left}.contact h2{font-size:28px;margin-bottom:4px}.contact form{max-width:420px}.contact input,.contact textarea{margin-bottom:14px;padding:7px;font-size:12.6px;border-radius:3.5px}.contact button{padding:7px 14px;font-size:14px;border-radius:3.5px}#contact p{font-size:10.5px;margin-bottom:7px}#contact p a{font-size:13px!important}footer{padding:14px;font-size:9px}.resume-section{padding:0 35px 14px;background-color:#000}.resume-content{max-width:280px;width:315px;margin-left:210px;margin-top:0}.section-container{margin:7px 0}.section-label{width:70px;font-size:7.7px;padding-top:3.5px;font-family:customfont,Arial,sans-serif;font-weight:300}.section-divider-full{width:100%;height:.7px;margin:7px 0}.section-text{font-size:9px;margin-left:14px;padding-bottom:7px;font-family:customfont,Arial,sans-serif;font-weight:300}.section-text p{margin-bottom:4.2px}.experience-columns{gap:35px}.experience-column{font-family:customfont,Arial,sans-serif;font-weight:300}.project-section{position:relative;min-height:350px;background-color:#fafafa}.project-indicator-line{position:absolute;top:33px;left:43px;width:68px;height:2px;background-color:#000}.project-label{position:absolute;top:30px;left:112px;width:175px}.project-description{position:absolute;top:35px;left:315px;width:280px}.project-description p{font-size:12.6px;margin-bottom:10.5px;line-height:1.1;text-align:left;color:#000;font-family:customfont,Arial,sans-serif;font-weight:300;letter-spacing:.3px}.project-description-text{white-space:pre-wrap;line-height:1.3}header{padding:49px 105px 0;flex-direction:column;align-items:flex-start;text-align:left}header h1{font-size:33px;text-align:left}.header-subtitle{font-size:16px;text-align:left}.project-assets-section{padding:28px 35px}.assets-title{font-size:17.5px;margin-bottom:21px}.asset-grid{gap:14px;max-width:630px}.asset-item{padding:3.5px;border-radius:3.5px}.asset-item img,.asset-item video{border-radius:2.1px;display:block;width:100%;height:auto}.full-width-asset{width:630px;max-width:100%;margin:0 auto 14px;padding:3.5px;border-radius:3.5px;box-shadow:0 .2vw .5vw rgba(0,0,0,.1)}.full-width-asset img{display:block;width:100%;height:auto;border-radius:2.1px}.full-width-caption{text-align:left;margin-top:5.6px;font-size:7px}.subheader-indicator-icon{position:absolute;top:29.75px;left:182px;width:35px;height:35px;color:#000}.squirgle-video-container{width:100%;margin:0 0 .5em}.project-description-text.research-spacing-top{margin-top:0;margin-bottom:50px}.resume-section p{line-height:1.3;color:#000;font-size:1.25rem}.subheader-label{font-weight:700;margin-bottom:7px}.subheader-label,.subheader-text{font-size:12.6px;color:#000;margin-left:224px;position:relative;z-index:1}.subheader-text{font-weight:300;line-height:1.3}.project-section{padding:28px 105px}#project-3.project-section{min-height:280px}#project-3b.project-section{min-height:595px}#subheader1.project-section{min-height:105px}.contact-info p{font-size:10.5px;margin-bottom:7px}.contact-info a{font-size:7px}.project-label h2{font-size:33px;font-weight:300;margin:0;padding:0;line-height:1;color:#000;font-family:customfont,Arial,sans-serif}.about p,.body p,.hero p,.project-description p,body p{letter-spacing:.7px;margin-bottom:14px}}