:root{font-family:Frank Ruhl Libre,serif;font-style:normal;color-scheme:light dark;color:#201825de;background-color:#edeae8;height:100vh;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;display:flex;flex-direction:column;width:100vw;min-width:320px;min-height:100vh;overflow-x:hidden}h1,p,a,li{margin:0;padding:0}.introduction{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:36px;max-width:1100px}.intro-text{width:40%}.intro-text h1{font-size:3rem;margin-bottom:16px;font-weight:800}.intro-text p{font-size:1.4rem;line-height:1.6;font-weight:400}.headshot-wrapper{position:relative;width:35%;border-radius:80px;padding:5px;background:linear-gradient(135deg,#5b293bbc,#5d3c7293,#6b4962b4);transition:all .2s ease}.headshot-wrapper:hover{box-shadow:0 0 4px #5c3d6fbd;transform:scale(1.007)}.headshot{display:block;width:100%;border-radius:77px;object-fit:cover}@media(max-width:1024px){.introduction{flex-direction:column-reverse;align-items:center;text-align:center}.intro-text{width:80%}.headshot-wrapper{width:70%;margin-top:20px}}.page-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:center;height:100vh;box-sizing:border-box;padding-top:160px;padding-bottom:40px;opacity:0;animation:slideUp .6s ease forwards;height:fit-content;overflow-x:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.page-wrapper{padding-top:100px}}.projects-container{max-width:1100px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px;padding-bottom:120px}.project-preview-card{background:#fff9;border:1px solid rgba(32,24,37,.1);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease}.project-preview-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #2018251f;border-color:#9f51714d}.project-preview-card.isExperience:hover{box-shadow:0 12px 32px #515d9f31}.project-preview-card:hover .project-image{transform:scale(1.05)}.project-image-wrapper{width:100%;aspect-ratio:16/10;overflow:hidden;background:#f0ede8}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-info{padding:20px 24px 24px;display:flex;flex-direction:column;gap:6px}.project-card-title{font-size:1.4em;font-weight:600;color:#201825de;margin:0}.project-card-company{font-size:1.1em;font-weight:500;color:#9f5171}.project-card-company.isExperience{color:#4655aa}.project-card-date{font-size:.9em;color:#5b5353;margin-top:4px}@media(max-width:1024px){.projects-container{padding:0 20px;width:80%}.projects-title{font-size:2em}.projects-subtitle{font-size:1em}.projects-grid{grid-template-columns:1fr;gap:24px;padding-bottom:40px}.project-info{padding:16px 20px 20px}.project-card-title{font-size:1.2em}}.navbar{position:fixed;z-index:120;top:0;left:0;width:100%;height:90px;background-color:#edeae8be;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 48px;box-sizing:border-box;border-bottom:1px solid rgba(32,24,37,.06)}.nav-linkedin{position:absolute;left:36px;cursor:pointer}.nav-email{position:absolute;right:48px;cursor:pointer}.nav-links{display:flex;gap:32px;align-items:center}.nav-links-left{justify-content:flex-end}.nav-links-right{justify-content:flex-start}.nav-link{position:relative;text-decoration:none;color:#201825b3;font-size:1.25rem;font-weight:500;letter-spacing:.02em;padding:6px 0;transition:color .3s ease;cursor:pointer}.nav-link:after{content:"";position:absolute;cursor:pointer;bottom:0;left:50%;width:0;height:1.5px;background-color:#ae4f72;transition:width .3s ease,left .3s ease}.nav-link:hover{color:#201825f2;cursor:pointer}.nav-link:hover:after{width:100%;left:0;cursor:pointer}.nav-link.active{color:#ae4f72;cursor:pointer}.nav-link.active:after{width:100%;left:0;cursor:pointer}.nav-header{text-decoration:none;margin:0 40px;cursor:pointer}.nav-header-text{font-size:2.1rem;font-weight:600;color:#201825e6;letter-spacing:-.01em;transition:color .3s ease;cursor:pointer}.nav-header:hover .nav-header-text{color:#ae4f72;cursor:pointer}.navbar-mobile{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:70px}.navbar-mobile .nav-header{margin:0}.navbar-mobile .nav-header-text{font-size:1.6rem}.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;z-index:130}.hamburger-line{display:block;width:24px;height:2px;background-color:#201825cc;border-radius:2px;transition:all .3s ease}.hamburger.open .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open .hamburger-line:nth-child(2){opacity:0}.hamburger.open .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.drawer-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#2018254d;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:115}.drawer-overlay.visible{opacity:1;visibility:visible}.drawer{position:fixed;top:0;right:0;width:280px;max-width:80vw;height:100%;background-color:#edeae8;box-shadow:-4px 0 20px #2018251a;transform:translate(100%);transition:transform .3s ease;z-index:125;padding-top:5px;padding-bottom:5px;display:flex;flex-direction:column;justify-content:space-between}.drawer.open{transform:translate(0)}.drawer-links{display:flex;flex-direction:column;padding:20px 30px;gap:8px}.drawer-link{text-decoration:none;color:#201825b3;font-size:1.2rem;font-weight:500;letter-spacing:.02em;padding:12px 0;border-bottom:1px solid rgba(32,24,37,.08);transition:color .3s ease}.drawer-link:hover{color:#201825f2}.drawer-link.active{color:#ae4f72}.projects-container{max-width:1100px;padding:0 60px}.project-nav{position:fixed;bottom:50px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 24px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:40px;border:1px solid rgba(32,24,37,.1);box-shadow:0 4px 20px #0000001a;z-index:100}.nav-button{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(32,24,37,.2);background:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-button:hover{background:#9f517126;border-color:#9f5171}.nav-button:active{transform:scale(.95)}.nav-button svg{width:24px;height:24px;stroke:#201825de}.project-indicator{display:flex;flex-direction:column;align-items:center;gap:4px}.project-count{font-size:1em;font-weight:500;color:#5b5353;letter-spacing:2px}.project-content{background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px}.project-header{display:flex;justify-content:space-between;align-items:flex-start;flex-direction:column;margin-bottom:32px;flex-wrap:wrap;gap:16px}.project-title-section{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.project-title{font-size:3em;font-weight:600;margin:0;padding:0;color:#201825de}.company-badge{padding:6px 14px;background:#9f51719e;border:1.5px solid #82335487;border-radius:20px;font-size:1.4em;color:#fff;font-weight:600}.company-badge.isExperience{background:#515d9f9e;border-color:#3e338287}.date-range{display:flex;align-items:center;gap:8px;font-weight:500;color:#5b5353;font-size:1.2em}.calendar-icon{width:18px;height:18px}.description-section{margin-top:50px;margin-bottom:80px}.section-label{display:flex;align-items:center;gap:16px}.section-label-text{font-size:1.6em;letter-spacing:2px;color:#201825de;font-weight:600;white-space:nowrap;margin:0}.section-label-line{flex:1;height:2px;background:linear-gradient(90deg,#75453e86,transparent)}.project-block{display:flex;flex-direction:column;justify-content:center;width:100%;margin-bottom:40px;margin-top:20px}.description-section:last-child{margin-bottom:140px}.block-content{display:flex;flex-direction:row;width:100%;align-items:flex-start}.block-content.reverse{flex-direction:row-reverse;width:100%}.block-content{display:flex;gap:32px;flex-direction:row;width:100%;align-items:stretch}.block-content.with-pictures{flex-direction:column-reverse;gap:16px}.block-pictures{flex:0 0 40%;display:flex;flex-direction:column;gap:16px}.block-picture{width:100%;height:100%;display:flex;border-radius:8px;object-fit:cover}.block-pictures.with-pictures{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center}.block-pictures.with-pictures .block-picture{width:auto;border-radius:8px;object-fit:cover;max-height:35vh}.block-paragraphs{flex:1;gap:16px;display:flex;flex-direction:column}.block-paragraph{font-size:1.2em;line-height:1.8;color:#201825de;font-weight:400}.block-list{font-size:1.2em;line-height:1.8;color:#201825de;font-weight:400;padding-left:24px;margin-top:-10px}.block-list li{margin-bottom:8px}.block-header{font-size:1.4em;font-weight:600;margin:0 0 8px;text-decoration:underline}.picture-wrapper{position:relative}.picture-caption{position:absolute;bottom:8px;left:8px;background:#000000b3;color:#fff;padding:4px 8px;border-radius:8px;font-size:.9em;width:fit-content;height:auto}@media(max-width:1024px){.description-paragraph:last-child{margin-bottom:90px}.project-nav{gap:10px}.project-count{font-size:.8em}.nav-button{width:40px;height:40px}.nav-button svg{width:20px;height:20px}.project-title{font-size:1.8em}.company-badge{font-size:1em}.project-header{flex-direction:column;align-items:flex-start}.section-label-text{font-size:1.5em}.description-paragraph{font-size:1.1em}.date-range{font-size:1em}.block-content,.block-content.reverse{flex-direction:column}.block-content.with-pictures{flex-direction:column-reverse}.block-pictures.with-pictures .block-picture{height:200px;max-height:none;min-height:none}}.resume-container{width:100%;max-width:1100px;height:calc(100vh - 240px);min-height:100vh;padding-bottom:60px}.resume-pdf{width:100%;height:100%;border:1px solid rgba(32,24,37,.1);border-radius:8px}@media(max-width:1024px){.resume-container{width:80%;height:70vh;min-height:40vh}}.about-layout{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:60px;max-width:1100px}.about-content{flex:1.2}.about-content h1{font-size:3rem;margin-bottom:24px}.about-content p{font-size:1.15rem;line-height:1.7;margin-bottom:20px;color:#444}.carousel-container{flex:.8;position:sticky;top:20px}.carousel-frame{position:relative;width:100%;aspect-ratio:4 / 5;border-radius:30px;overflow:hidden;box-shadow:0 20px 40px #0000001a}.carousel-img{width:100%;height:100%;object-fit:cover;display:block;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:.5;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.carousel-ctrl{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff4d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;padding:15px 10px;cursor:pointer;font-size:1.5rem;transition:.3s;z-index:2}.carousel-ctrl:hover{background:#ffffff80}.prev{left:0;border-radius:0 8px 8px 0}.next{right:0;border-radius:8px 0 0 8px}.carousel-dots{position:absolute;bottom:15px;width:100%;display:flex;justify-content:center;gap:8px}.dot{height:8px;width:8px;background-color:#ffffff80;border-radius:50%;cursor:pointer;transition:.3s}.dot.active{background-color:#fff;width:24px;border-radius:10px}@media(max-width:1024px){.about-layout{flex-direction:column-reverse;align-items:center;text-align:left;gap:40px}.about-content,.carousel-container{width:80%}}
