@import"https://fonts.googleapis.com/css?family=Oswald";@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-DIScfSlK.ttf)}:root{--light: #f4f4f4;--card-background: #57575704;--button-background: rgba(170, 169, 173, .2)}html,body{margin:0;padding:0;height:100vh;width:100vw;overflow:hidden;color:#fff;font-size:large;overscroll-behavior:none;touch-action:manipulation}#root{height:100vh;width:100vw;overflow:hidden;position:relative;top:0;left:0}.bottom-navigation{position:fixed;bottom:max(40px,env(safe-area-inset-bottom,40px));left:0;right:0;display:flex;justify-content:space-evenly;align-items:center;padding:0 20px;pointer-events:none;height:60px;z-index:1}.nav-button{background:var(--button-background);border:1px solid rgba(255,255,255,.3);color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;pointer-events:auto}.nav-button:hover{background:var(--card-background);transform:translateY(-2px)}.visible{opacity:1;visibility:visible;transform:translate(0);transition:all .8s ease-out}.hidden{opacity:0;visibility:hidden;display:none;transform:translate(-100px);transition:all .15s ease-out}.name-display{position:relative;width:100vw;height:100vh;display:flex;flex-direction:column;pointer-events:none;z-index:5}.firstname{position:absolute;top:15%;left:15%;font-size:clamp(32px,8vw,70pt);font-weight:700;font-style:italic;font-family:Oswald,sans-serif}.lastname{position:absolute;bottom:15%;right:15%;font-size:clamp(32px,8vw,70pt);font-style:italic;font-weight:700;font-family:Oswald,sans-serif;text-align:right}.two-column-grid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:clamp(16px,4vw,40px);justify-content:center;align-items:flex-start;z-index:1;width:min(95vw,1200px);max-height:calc(100vh - 140px);padding-bottom:120px;box-sizing:border-box}.card{background:var(--card-background);border:1px solid grey;border-radius:12px;padding:clamp(16px,3vw,24px);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:all .3s ease;text-align:center;width:100%;max-width:400px;min-height:clamp(300px,calc(100vh - 200px),500px);max-height:calc(100vh - 200px);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;box-sizing:border-box;overflow-y:auto}.card:hover{background:var(--card-background);transform:translateY(-2px);border-color:#fff}.item{margin-bottom:20px;text-align:left;line-height:1.4}.list-title{font-weight:700;font-size:larger}.projects-section,.contact-section{display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;text-align:center}.contact-card{background:var(--card-background);border:1px solid grey;border-radius:12px;padding:clamp(16px,3vw,24px);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:all .3s ease;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;min-height:clamp(100px,35vh,1000px);min-width:clamp(100px,35vw,1000px)}.gradient-line{width:4rem;height:1px;background:linear-gradient(to right,white,transparent);opacity:.6}.gradient-line-back{width:4rem;height:1px;background:linear-gradient(to left,white,transparent);opacity:.6;margin-left:auto}@media (max-width: 768px){.two-column-grid{flex-direction:column;align-items:center;top:25px;transform:translate(-50%);width:95vw;gap:20px;max-height:calc(100vh - 140px);padding-bottom:100px}.card{width:90vw;max-width:none;min-height:clamp(200px,35vh,350px);max-height:calc(60vh - 40px)}.bottom-navigation{bottom:max(20px,env(safe-area-inset-bottom,20px));padding:0 10px;height:50px;position:fixed}.nav-button{padding:8px 16px;font-size:14px}}@media (max-width: 768px) and (orientation: portrait){.two-column-grid{flex-direction:column;align-items:center;top:20px;transform:translate(-50%);gap:15px;max-height:calc(100vh - 120px);padding-bottom:90px;width:95vw}.card{width:88vw;max-width:none;min-height:clamp(180px,32vh,300px);max-height:calc(38vh - 20px);padding:16px}.item{margin-bottom:12px;font-size:14px}.list-title{font-size:16px;margin-bottom:8px}}@media (max-width: 768px) and (orientation: landscape){.two-column-grid{flex-direction:row;align-items:flex-start;top:8%;gap:12px;max-height:calc(100vh - 100px);padding-bottom:70px;width:95vw}.card{width:45vw;min-height:clamp(150px,55vh,250px);max-height:calc(65vh - 20px);padding:12px}.item{margin-bottom:10px;font-size:13px}.list-title{font-size:15px;margin-bottom:6px}}@media (max-width: 480px){.two-column-grid{top:15px;transform:translate(-50%);gap:12px;width:96vw;padding-bottom:80px}.card{width:92vw;padding:12px;min-height:clamp(160px,28vh,280px);max-height:calc(35vh - 15px)}.item{margin-bottom:8px;font-size:13px;line-height:1.3}.list-title{font-size:14px;margin-bottom:6px}.bottom-navigation{height:45px;bottom:15px}.nav-button{padding:6px 12px;font-size:12px}}@media (max-width: 768px) and (min-height: 800px){.card{max-height:calc(40vh - 20px);min-height:clamp(200px,35vh,350px)}.two-column-grid{gap:18px}}@media (max-width: 360px){.two-column-grid{width:98vw;gap:8px;top:10px;transform:translate(-50%)}.card{width:94vw;padding:10px;min-height:clamp(140px,25vh,250px);max-height:calc(32vh - 10px)}.item{font-size:12px;margin-bottom:6px}.list-title{font-size:13px}}.projects-carousel{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 20px 140px;box-sizing:border-box}.project-card{background:var(--card-background);border:1px solid grey;border-radius:12px;padding:clamp(16px,3vw,24px);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:all .8s ease-out;text-align:center;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;box-sizing:border-box;min-height:clamp(250px,calc(100vh - 200px),500px);max-height:calc(100vh - 200px);aspect-ratio:.8;position:absolute;top:45%;left:50%;overflow-y:auto;z-index:1}.visible-card{opacity:1;visibility:visible;transform:translate(-50%,-55%)}.hidden-card-left{opacity:0;visibility:hidden;transform:translate(-150%,-55%)}.hidden-card-right{opacity:0;visibility:hidden;transform:translate(50%,-55%)}.project-navigation{position:absolute;bottom:120px;left:50%;transform:translate(-50%);display:flex;gap:clamp(60px,10vw,120px);z-index:1}.project-navigation button{background:var(--button-background);border:1px solid rgba(255,255,255,.3);color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.project-navigation button:hover{background:var(--card-background);transform:translateY(-2px)}.project-links{display:flex;gap:10px;margin-top:15px}.project-links img{width:clamp(32px,8vw,48px);height:clamp(32px,8vw,48px);transition:transform .2s ease}.project-links img:hover{transform:scale(1.3)}@media (max-width: 768px){.projects-carousel{padding-bottom:140px}.project-card{min-height:clamp(200px,calc(100vh - 180px),400px);max-height:calc(100vh - 180px);width:90vw}.project-navigation{bottom:110px;gap:15px}}@media (max-height: 600px){.projects-carousel{padding-bottom:120px}.project-card{min-height:clamp(150px,calc(100vh - 140px),300px);max-height:calc(100vh - 140px);width:clamp(250px,50vw,500px)}.project-navigation{bottom:90px}}@media (max-width: 480px){.projects-carousel{padding-bottom:150px}.project-card{padding:12px;min-height:clamp(180px,calc(100vh - 170px),350px);max-height:calc(100vh - 170px)}.project-navigation{bottom:120px}.project-navigation button{padding:6px 12px;font-size:12px}}canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}
