:root{--border:.5px solid #0000004d;--background:#f9f7f3;--lavender:#eee9f5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:#111;margin:0;font-family:Instrument Serif,serif}a{color:inherit;text-decoration:none}.hero{min-height:100vh;padding:0 5%}.navbar{z-index:1000;border-bottom:var(--border);background:var(--background);justify-content:space-between;align-items:center;height:90px;display:flex;position:fixed;top:0;left:5%;right:5%}.logo{font-size:24px}.nav-links{gap:40px;display:flex}.nav-links a{font-size:20px;position:relative}.nav-links a:after{content:"";transform-origin:0;background:#000;width:100%;height:.5px;transition:transform .25s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.nav-links a:hover:after{transform:scaleX(1)}.hero-content{flex-direction:column;min-height:calc(100vh - 90px);display:flex}.portfolio-year{text-align:end;margin-top:120px;font-size:14px}.hero-title{isolation:isolate;margin-top:auto;position:relative}.hero-title h1{z-index:2;text-align:end;margin:0;font-size:clamp(90px,11vw,190px);font-weight:400;line-height:.9;position:relative}.hero-title h1 span{font-style:italic;font-weight:400}.lavender-shape{z-index:-1;background:var(--lavender);opacity:0;border-radius:72% 28% 65% 35%/35% 62% 38% 65%;width:115%;height:150%;animation:5s ease-out forwards lavenderReveal,22s ease-in-out 5s infinite alternate lavenderFloat;position:absolute;bottom:15%;right:-25%;transform:rotate(-8deg)}@keyframes lavenderReveal{0%{opacity:0;transform:translate(15%,15%)rotate(-12deg)scale(.65)}to{opacity:.65;transform:translate(0)rotate(-8deg)scale(1)}}@keyframes lavenderFloat{0%{border-radius:72% 28% 65% 35%/35% 62% 38% 65%;transform:translate(0)rotate(-8deg)scale(1)}50%{border-radius:55% 45% 78% 22%/65% 32% 68% 35%;transform:translate(-3%,-2%)rotate(-5deg)scale(1.05)}to{border-radius:35% 65% 42% 58%/28% 72% 45% 55%;transform:translate(2%,3%)rotate(-10deg)scale(.98)}}.divider{border-bottom:var(--border);width:100%}.menu-button{z-index:2001;cursor:pointer;background:0 0;border:0;width:32px;height:32px;display:none;position:relative}.menu-button span{background:#000;width:100%;height:1px;transition:top .3s,transform .3s;position:absolute;left:0}.menu-button span:first-child{top:10px}.menu-button span:last-child{top:21px}.menu-button.open span:first-child{top:16px;transform:rotate(45deg)}.menu-button.open span:last-child{top:16px;transform:rotate(-45deg)}.mobile-menu{display:none}.projects{padding:60px 5%}.projects-heading{margin-bottom:50px}.projects-heading h2{margin:0 0 20px;font-size:32px;font-weight:400}@media (width<=768px){.navbar{z-index:2002}.nav-links{display:none}.menu-button{display:block}.navbar.menu-open{background:0 0;border-bottom:none}.navbar.menu-open .logo{opacity:0;visibility:hidden}.mobile-menu{z-index:2000;background:var(--background);opacity:0;visibility:hidden;justify-content:center;align-items:center;min-height:100vh;transition:opacity .4s,visibility .4s;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu nav{border-top:var(--border);border-bottom:var(--border);flex-direction:column;align-items:center;gap:50px;width:70%;padding:65px 0;display:flex}.mobile-menu a{font-family:Instrument Serif,serif;font-size:24px}.hero{height:100svh;min-height:100svh;padding:0 22px;position:relative;overflow:hidden}.hero-content{flex-direction:column;height:100%;min-height:0;padding-top:90px;display:flex}.hero-title{margin-top:auto;margin-bottom:10vh;position:relative}.lavender-shape{z-index:-1;pointer-events:none;width:125%;height:120%;position:absolute;bottom:0;right:-35%}.portfolio-year{text-align:end;margin-top:auto;margin-bottom:12px}.hero-title .divider{margin-top:12px}.logo{transition:opacity .3s,visibility .3s}}.intro{grid-template-columns:1.5fr 1fr;gap:80px;padding:80px 5% 120px;display:grid}.intro-left p,.intro-right p{margin:0}.intro-left p{font-size:clamp(28px,3vw,48px);line-height:1.05}.intro-right{justify-self:end;max-width:420px}.intro-right p{font-size:20px;line-height:1.3}.text-link{border-bottom:var(--border);margin-top:24px;font-size:16px;display:inline-block}@media (width<=768px){.intro{grid-template-columns:1fr;gap:40px;padding:60px 22px 80px}.intro-right{justify-self:stretch;max-width:none}.projects{padding:60px 5% 20px}}.project-card{width:100%;margin-bottom:120px}.project-card-link{width:100%;color:inherit;grid-template-columns:1.5fr 1fr;align-items:center;gap:60px;text-decoration:none;display:grid}.project-image{width:100%;overflow:hidden}.project-image img{width:100%;height:auto;display:block}.project-info{margin:0}.project-info h3{margin:0 0 14px;font-size:clamp(32px,3vw,52px);font-weight:400;display:inline-block;position:relative}.project-info h3:after{content:"";transform-origin:0;background:#000;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.project-card-link:hover .project-info h3:after{transform:scaleX(1)}.project-info p{margin:8px 0 0}.project-technologies{text-transform:uppercase;margin-top:24px;font-size:12px}@media (width<=768px){.project-card{margin-bottom:70px}.project-card-link{grid-template-columns:1fr;gap:20px}.project-info h3{font-size:30px}}.footer{padding:0 5%}.footer-inner{border-top:var(--border);justify-content:space-between;align-items:center;padding:30px 0;display:flex}.footer p{text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:12px}@media (width<=768px){.footer-inner{gap:20px;padding:24px 0}.footer p{letter-spacing:.1em;font-size:9px}}.contact{grid-template-columns:2fr 1fr;gap:20px;padding:60px 5%;display:grid}.contact-left,.contact-right{height:60vh}.contact-left{background:var(--lavender);position:relative}.contact-links{flex-direction:column;align-items:flex-start;display:flex;position:absolute;bottom:28px;left:28px}.contact-links a{color:#000;font-size:clamp(60px,6.5vw,105px);line-height:.95;text-decoration:none;position:relative}.contact-links a:after{content:"";transform-origin:0;background:#000;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.contact-links a:hover:after{transform:scaleX(1)}.contact-link-italic{font-style:italic}.contact-right{justify-content:flex-end;align-items:flex-start;display:flex;overflow:hidden}.contact-right img{object-fit:contain;width:100%;height:100%;margin-left:auto;display:block}@media (width<=768px){.contact{grid-template-columns:1fr 1fr;align-items:stretch;gap:10px;padding:20px 5% 40px}.contact-left,.contact-right{height:auto;min-height:0}.contact-right img{width:100%;height:auto;display:block}.contact-left{background:var(--lavender);position:relative}.contact-links{position:absolute;bottom:14px;left:14px}.contact-links a{font-size:clamp(24px,8vw,40px)}}.project-page{padding-top:90px}.project-hero{padding:70px 5% 0}.project-back{color:#000;text-transform:uppercase;letter-spacing:.08em;margin-bottom:30px;font-size:1rem;text-decoration:none;display:inline-block}.project-title h1{margin:0 0 20px;font-size:clamp(48px,6vw,90px);font-weight:400;line-height:1}.project-meta{text-transform:uppercase;letter-spacing:.08em;margin:0 0 20px;font-size:1.1rem}.project-cover{width:65%;margin:45px auto 0}.project-cover img{width:100%;height:auto;display:block}.project-overview{grid-template-columns:1.5fr 1fr;gap:100px;width:65%;margin:70px auto 0;padding-bottom:30px;display:grid}.project-label{text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px;font-size:1.2rem}.overview-description{max-width:420px;margin:0;font-size:1.1rem;line-height:1.4}.overview-details{flex-direction:column;gap:35px;display:flex}.technology-list{margin:0;padding:0;list-style:none}.technology-list li{border-bottom:var(--border);padding:10px 0;font-size:1.1rem}.project-links{flex-direction:column;align-items:flex-start;display:flex}.project-links a{color:#000;font-size:1.1rem;line-height:1.6;text-decoration:none;position:relative}.project-links a:after{content:"";transform-origin:0;background:#000;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.project-links a:hover:after{transform:scaleX(1)}.project-mobile-images{grid-template-columns:repeat(2,1fr);gap:40px;width:85%;margin:0 auto;padding:35px 0 70px;display:grid}.mobile-image{width:100%}.mobile-image img{width:100%;height:auto;display:block}@media (width<=768px){.project-page{padding-top:70px}.project-hero{padding:40px 5% 0}.project-back{margin-bottom:24px;font-size:.8rem}.project-title h1{margin-bottom:16px;font-size:clamp(42px,13vw,58px);line-height:.95}.project-meta{margin-bottom:18px;font-size:.85rem;line-height:1.5}.project-cover{width:100%;margin-top:28px}.project-overview{grid-template-columns:1fr;gap:45px;width:100%;margin-top:20px;padding-bottom:55px}.overview-description{max-width:100%;font-size:1.1rem;line-height:1.45}.overview-details{gap:32px}.project-label{margin-bottom:12px;font-size:1.2rem}.technology-list li{padding:9px 0;font-size:1rem}.project-links{gap:3px}.project-links a{font-size:1rem;line-height:1.8}.project-mobile-images{grid-template-columns:1fr 1fr;gap:12px;width:100%;padding:0 0 35px}}.next-project{border-top:var(--border);margin-top:auto;padding:40px 0 140px}.next-project .project-label{margin-bottom:24px}.next-project-link{color:#000;font-size:clamp(48px,6vw,90px);line-height:.95;text-decoration:none;display:inline-block;position:relative}.next-project-link:after{content:"";transform-origin:0;background:#000;width:100%;height:1px;transition:transform .3s;position:absolute;bottom:-4px;left:0;transform:scaleX(0)}.next-project-link:hover:after{transform:scaleX(1)}.about-page{padding-top:90px}.about-section{padding:70px 5% 0}.about-section h1{margin:0 0 20px;font-size:clamp(48px,6vw,90px);font-weight:400;line-height:1}.about-section h1 span{font-style:italic}.about-content{grid-template-columns:1fr .9fr;align-items:start;gap:45px;width:100%;min-height:80vh;margin:70px 0 0;display:grid}.about-text{max-width:750px}.about-text p{margin:0 0 24px;font-size:1.2rem;line-height:1.5}.about-image{width:100%;height:720px;overflow:hidden}.about-image img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=768px){.about-page{padding-top:70px}.about-section{padding:40px 5% 0}.about-section h1{font-size:clamp(42px,13vw,58px);line-height:.95}.about-content{grid-template-columns:1fr;gap:32px;width:100%;margin-top:40px}.about-text{max-width:100%}.about-text p{margin-bottom:20px;font-size:1rem;line-height:1.5}.about-image{width:100%;height:500px}.about-image img{object-fit:cover;width:100%;height:100%}}.cv-section{margin-top:110px}.cv-section .project-label{margin-bottom:16px}.cv-content{padding:40px 0;display:block}.cv-content h2{margin:0 0 16px;font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1}.cv-content p{max-width:600px;margin:0;font-size:1.1rem;line-height:1.45}.cv-links{flex-direction:row;gap:32px;margin-top:28px;display:flex}.cv-links a{color:#000;font-size:1.2rem;text-decoration:none}.cv-links a:hover{text-decoration:underline}.education{margin-top:110px;padding-bottom:120px;scroll-margin-top:110px}.education .project-label{margin-bottom:16px}.education-list{flex-direction:column;display:flex}.education-item{border-bottom:var(--border);padding:32px 0}.education-year{text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:1rem}.education-item h2{margin:0 0 8px;font-size:clamp(34px,4vw,56px);font-weight:400;line-height:1}.education-item p{margin:0;font-size:1.1rem}.education-toggle{background:var(--lavender);color:#000;font:inherit;cursor:pointer;border:0;margin-top:16px;margin-bottom:16px;padding:5px 9px;font-size:1rem;display:block}.education-details>p{max-width:1000px}.education-courses{margin-top:16px}@media (width<=768px){.education{margin-top:60px;padding-bottom:80px}.education-item{align-items:start;gap:20px;padding:26px 0}.education-item h2{font-size:32px}.education-year,.education-item p,.education-toggle{font-size:.95rem}}
