*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.modal{display:none;opacity:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:800px;background-color:#002800d9;color:#fff;padding:20px;border-radius:20px;border:4px solid #003300;z-index:9999;overflow-y:auto}.overlay{height:100vh;width:100vw;overflow:hidden;position:fixed;top:0;left:0;z-index:3;display:none;background-color:#20202033;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-exit-button,.project-exit-button{position:absolute;top:10px;right:10px;background-color:transparent;border:none;cursor:pointer;color:#fff;padding:10px;font-size:24px}.exit-button-svg{width:20px;height:20px;fill:currentColor}.modal-title{font-size:2rem;font-weight:700;margin-bottom:20px;text-align:left;transition:transform .5s ease;transform-origin:left center}.modal-title:hover{transform:scale(1.02)}.modal-content{display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center}.about-row{display:flex;align-items:center;margin-bottom:20px;gap:20px;transition:transform .5s ease;width:100%;position:relative;padding:10px 0;overflow:visible}.about-row:hover{transform:scale(1.03);transform-origin:center}.about-row img{width:120px;height:120px;object-fit:cover;border-radius:50%;border:4px solid #003300;flex-shrink:0}.about-paragraph{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;line-height:1.6;color:#fff;text-align:justify;flex:1;padding-right:10px}.about-paragraph p{margin-bottom:10px}.resume-preview{width:100%;height:75vh;margin-bottom:20px;margin-top:20px}.resume-preview img{width:100%;height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 10px #0000001a}.modal-content p{margin:0;text-align:left}.modal-exit-button svg,.project-exit-button svg{transition:transform .3s ease}.modal-exit-button:hover svg,.project-exit-button:hover svg{transform:rotate(45deg)}.sm-font{font-size:1rem}.sm-margin-top{margin-top:12px}.project-title{color:#030;transition:transform .5s ease;justify-self:center}.project-title:hover{transform:scale(1.03)}.project-info{-webkit-overflow-scrolling:touch;display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:800px;background:#dacfaa;z-index:10000;padding:20px;box-shadow:0 4px 6px #0000004d;overflow-y:auto;max-height:80vh;text-align:center;border:#8d7958 solid;border-radius:20px;border-width:5px}.project-info .project h1{font-size:2rem;margin-bottom:20px;color:#030}.project-info .project img{width:100%;height:auto;transition:transform .5s ease}.project-info p{margin-top:10px;font-size:1rem}.project-info .tags{margin-top:15px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}.project-info .tags span{background-color:#030;color:#fff;padding:8px;border-radius:5px;transition:transform .5s ease}.project-info .tags span:hover{transform:scale(1.15)}.project-info a{display:inline-block;text-decoration:none;color:#fff;background-color:#551b01;padding:10px 20px;border-radius:5px;text-align:center;margin:5px;transition:transform .5s ease}.project-info a:hover{background-color:#441600;text-decoration:none;transform:scale(1.1)}.image-gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.image-gallery img{height:150px;flex:0 0 auto;scroll-snap-align:start;object-fit:cover;border:rgba(141,121,88,.3450980392) solid;border-radius:20px;border-width:5px}.scroll-hint{text-align:center;font-size:14px;color:#888;margin-top:5px;-webkit-user-select:none;user-select:none}.project-description{font-size:20px;text-align:justify;display:flex;justify-content:center;align-items:center;margin-bottom:20px}.project-description p{font-size:1.2rem}.project-exit-button{position:absolute;top:10px;right:10px;background-color:transparent;border:none;cursor:pointer;color:#030;padding:10px;font-size:24px}.folder-container{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px;overflow-x:auto;max-width:100%;padding-bottom:10px}.folder{padding:10px;border-radius:8px;align-items:center;text-align:center;cursor:pointer;transition:transform .2s ease-in-out;width:100%;min-height:120px;height:160px;display:flex;flex-direction:column;justify-content:flex-start}.folder:hover{transform:scale(1.05)}.folder-name{margin-top:10px;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0}.folder-icon.open,.folder:hover .folder-icon.closed{display:none}.folder:hover .folder-icon.open{display:inline-block}.folder-icon{width:100px;height:90px;transition:transform .3s ease}.folder:hover .folder-icon{transform:scale(1.05)}@media (max-width: 1024px){.folder-container{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.folder-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.folder-container{grid-template-columns:1fr}}.experience.modal{width:90vw;height:auto;max-height:90vh;aspect-ratio:3/4;overflow:auto}.experience.modal .resume-preview{overflow:hidden;width:100%;height:auto}.experience.modal .resume-preview img{width:100%;height:100%;object-fit:contain;display:block}.open-resume-button:hover{background:#003800}.education-row{display:flex;align-items:center;margin-bottom:20px;gap:150px;transition:transform .5s ease}.education-row:hover{transform:scale(1.05)}.education-row img{width:120px;height:120px;object-fit:cover;border-radius:100%;border:4px solid #003300}.education-description{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1}.education-degree{font:bold;font-weight:500;margin-bottom:5px}.education-bullet{margin-bottom:5px;position:relative;padding-left:20px}.contact{display:none;flex-direction:column;align-items:flex-start;background:linear-gradient(145deg,#f0f0f0,#376e41);border-radius:15px;box-shadow:2px 2px 10px #0000001a;max-width:350px;padding:20px;color:#333;gap:15px;margin:20px auto}.contact .modal-exit-button{color:#030}.contact-title{margin-bottom:10px;color:#030;font-size:1.2rem;color:#333;transition:transform .5s ease}.contact-title:hover{transform:scale(1.03)}.contact-row{display:flex;align-items:center;transition:transform .5s ease}.contact-row:hover{transform:scale(1.05)}.contact-row img{width:30px;height:30px;object-fit:cover;border-radius:50%;border:2px solid #003300}.contact-row p{font-size:1.2rem;color:#333;margin:0}.contact-row a{text-decoration:none;color:#030;font-weight:700}.contact-row a:hover{text-decoration:underline}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#888 transparent}.custom-scrollbar::-webkit-scrollbar{width:8px;height:8px}.custom-scrollbar::-webkit-scrollbar-track{background-color:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#555}.custom-scrollbar::-webkit-scrollbar-corner{background-color:transparent}.loading-screen{display:flex;justify-content:center;align-items:center;position:fixed;top:50%;left:50%;width:108vw;height:108vh;margin-left:-54vw;margin-top:-54vh;overflow:hidden;z-index:999999;border:8px solid;background-color:#030;transform:perspective(1000px);border-radius:48px}.loader{width:100px;aspect-ratio:1;--c: #8d7958 91%,#0000;background:radial-gradient(30% 50% at -3px 55%,var(--c)) top right,radial-gradient(30% 50% at -3px 45%,var(--c)) bottom right,radial-gradient(30% 50% at calc(100% + 3px) 55%,var(--c)) top left,radial-gradient(30% 50% at calc(100% + 3px) 45%,var(--c)) bottom left,radial-gradient(50% 30% at 45% calc(100% + 3px),var(--c)) top right,radial-gradient(50% 30% at 45% -3px,var(--c)) bottom right,radial-gradient(50% 30% at 55% calc(100% + 3px),var(--c)) top left,radial-gradient(50% 30% at 55% -3px,var(--c)) bottom left;background-size:50.1% 50.1%;background-repeat:no-repeat;-webkit-mask:radial-gradient(circle 5px,rgba(0,0,0,0) 90%,#000);animation:l8 1.5s infinite linear}@keyframes l8{to{transform:rotate(1turn)}}.loading-screen-button{font-family:Motley Forces;display:flex;justify-content:center;align-items:center;background-color:transparent;padding:10px 40px;outline:none;color:#e6dede;border-radius:1.2rem;border:none;font-size:30px}.instructions{display:flex;justify-content:center;align-items:center;text-align:center;position:absolute;bottom:10%;max-width:1200px;width:90%;font-size:24px;font-family:Shifty Notes;color:#e6dede}.desktop-instructions{display:block}@media (max-width: 768px){.desktop-instructions{display:none}}.mobile-instructions{display:none}@media (max-width: 768px){.mobile-instructions{display:block;font-size:28px}}@media (min-width: 768px){.mobile-instructions{display:none}}@media (max-width: 768px){.modal{width:90vw;height:auto;max-height:90vh;padding:15px;border-radius:12px;overflow-y:auto;top:50%;left:50%;transform:translate(-50%,-50%)}.modal p{font-size:.7rem}.project-description p{font-size:.8rem}.about-paragraph{display:flex;flex-direction:column;align-items:flex-start;flex-grow:1;font-size:.8rem;line-height:1.6;color:#fff;flex:1;padding-right:10px}.about-paragraph p{font-size:.6rem}.about-row{margin:0}.education-row{display:flex;align-items:center;margin-bottom:20px;gap:50px;transition:transform .5s ease;font-size:.8rem}.education-row img{max-width:30%;height:auto}.project span,.project a{font-size:.7rem}.project-description{margin:5px}.project-info .tags{margin-top:5px;gap:5px;margin-bottom:5px}.scroll-hint{margin-top:5px!important;font-size:.5rem!important}}
