html,body{margin:0;padding:0;width:100vw;height:100dvh;background-color:#050505;overflow:hidden!important;font-family:Inter,sans-serif;position:relative;overscroll-behavior:none}.gallery-container{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;width:100vw;height:100dvh;-webkit-overflow-scrolling:touch;position:absolute;top:0;left:0;z-index:10;scrollbar-width:none;-ms-overflow-style:none}.gallery-container::-webkit-scrollbar{display:none}.gallery-slide{flex:0 0 100vw;width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;scroll-snap-stop:always;position:relative;padding:0}.gallery-slide img{width:100%;height:100%;object-fit:contain;max-width:100vw;max-height:100dvh;display:block;animation:fadeIn .8s ease-in-out}.gallery-body .ui-overlay{position:absolute;z-index:1000;margin:0}.gallery-nav-back{top:20px!important;left:20px!important;color:#fff;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:2px;opacity:.8;transition:opacity .3s;background:#00000080;padding:10px 15px;border-radius:4px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);display:inline-block}.gallery-nav-back:hover{opacity:1}.gallery-meta{bottom:max(20px,env(safe-area-inset-bottom))!important;left:max(20px,env(safe-area-inset-left))!important;top:auto!important;color:#fff;pointer-events:none;background:transparent;padding:0;width:auto;z-index:1001!important}.gallery-title{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:900;margin:0 0 5px;letter-spacing:-1px;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.8)}.gallery-year{font-size:.9rem;color:#ffffffe6;margin:0;letter-spacing:1px;font-weight:700;text-shadow:0 1px 5px rgba(0,0,0,.8)}.gallery-controls{position:absolute;top:50%;transform:translateY(-50%);left:0;width:100%;display:flex;justify-content:space-between;padding:0 40px;box-sizing:border-box;z-index:900;pointer-events:none}.gallery-btn{pointer-events:auto;background:#00000080;border:1px solid rgba(255,255,255,.2);color:#fff;width:50px;height:50px;border-radius:50%;font-size:20px;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.gallery-btn:hover{background:#fff3;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.gallery-title{font-size:1.5rem}.gallery-controls{display:none}}.gallery-drag-hint{display:none;position:absolute;bottom:60px;left:50%;transform:translate(-50%);z-index:999;pointer-events:none;opacity:1;transition:opacity .5s ease;filter:invert(1) brightness(1.5)}@media (max-width: 768px){.gallery-drag-hint{display:block}}:root{--bg-color: #111;--text-color: #fff;--accent-color: #fff;--font-main: "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-color);color:var(--text-color);margin:0;padding:0}.noscroll-body,body.is-stack{overflow:hidden!important;position:fixed!important;width:100%!important;height:100%!important;overscroll-behavior:none!important}.noscroll-html,html.is-stack{overflow:hidden!important;height:100%!important;width:100%!important;overscroll-behavior:none!important}#app{position:relative;width:100%;min-height:100vh}#container{position:relative;width:100%;min-height:100vh;z-index:10}#app.is-stack,#container.is-stack{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}#container.scroll-mode{overflow-y:auto;overflow-x:hidden;height:100%;-webkit-overflow-scrolling:touch;pointer-events:auto}.bg-text-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;pointer-events:none;text-align:center;width:100%}.bg-text{font-size:18vw;line-height:1;font-weight:900;text-transform:uppercase;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.1);opacity:1;white-space:nowrap}.ui-overlay{position:fixed;z-index:100;font-size:14px;font-weight:700;text-transform:uppercase;padding:20px;text-decoration:none;color:var(--text-color);transition:all .3s ease}a.ui-overlay{cursor:pointer}a.ui-overlay:hover{opacity:.7;letter-spacing:1px}#app .top-left:hover:after{content:" →";font-weight:400}.top-left{top:0;left:0}.top-right{top:0;right:0;cursor:default;opacity:.6}.bottom-center{bottom:20px;left:0;width:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.bottom-center button{pointer-events:auto}@media (max-width: 768px){.bottom-center{bottom:70px}}.bottom-text{bottom:0;width:100%;display:flex;justify-content:space-between;padding:20px;font-size:12px;opacity:.6}.bottom-area{position:fixed;bottom:0;left:0;width:100%;z-index:100;display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:20px;pointer-events:none}.bottom-area button{pointer-events:auto}.bottom-text-inner{width:100%;display:flex;justify-content:space-between;padding:0 20px;font-size:12px;opacity:.6;color:var(--text-color);text-transform:uppercase;font-weight:700;letter-spacing:1px}.action-btn{background:#fff;color:#000;border:none;padding:12px 24px;border-radius:30px;font-family:Inter,sans-serif;font-weight:700;cursor:pointer;letter-spacing:1px;transition:transform .2s}.action-btn.icon-btn{padding:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;width:56px;height:56px;box-shadow:0 4px 15px #0006}.action-btn:hover{transform:scale(1.05)}.drag-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;display:flex;flex-direction:column;align-items:center;pointer-events:none;opacity:0;transition:opacity .5s ease}.drag-hint span{position:absolute;top:-140px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#fffc;text-shadow:0 2px 10px rgba(0,0,0,.8);width:300px;text-align:center}.drag-hint .responsive-lottie{width:220px;height:220px;filter:invert(1) brightness(1.5) drop-shadow(0 2px 10px rgba(0,0,0,.8));margin-top:-10px}.draggable-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.card{position:absolute;width:300px;height:400px;background-size:cover;background-position:center;border-radius:12px;cursor:grab;box-shadow:0 10px 30px #00000080;will-change:transform;border:1px solid rgba(255,255,255,.1);overflow:hidden}@media (min-width: 769px){.card:after{content:attr(data-hover-text);position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;letter-spacing:2px;opacity:0;transition:opacity .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.card:hover:after{opacity:1}.card:active{cursor:grabbing}}@media (max-width: 768px){.drag-hint .responsive-lottie{width:160px;height:160px}.drag-hint span{top:-80px;font-size:11px;letter-spacing:1px}.bg-text{font-size:15vw;line-height:1.2;writing-mode:vertical-rl;text-orientation:mixed;opacity:.2;letter-spacing:15px}.bg-text-container{left:10px;transform:translateY(-50%);text-align:left;width:auto}.ui-overlay{padding:12px;font-size:11px}.ui-overlay.top-left,.ui-overlay.top-right{background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;margin:15px;border:1px solid rgba(255,255,255,.05)}.ui-overlay.top-right{right:0;max-width:40vw;text-align:right}.bottom-center{bottom:25px;top:auto;left:50%;transform:translate(-50%);width:90%;z-index:9999;position:fixed}.action-btn{padding:16px 20px;writing-mode:horizontal-tb;text-orientation:mixed;font-size:13px;width:100%;border-radius:50px;box-shadow:0 10px 30px #00000080}.bottom-text{flex-direction:column;align-items:center;gap:12px;font-size:10px;padding-bottom:90px;text-align:center;width:100%;white-space:normal}.profile-container{padding:100px 15px 120px}.profile-pic-container{width:120px;height:120px}.name-title{font-size:2.2rem}.tagline{font-size:1rem;margin-bottom:40px}.section{padding:20px;margin-bottom:30px}.section h2{font-size:.85rem}.section p{font-size:.95rem}#container.grid-scroll-active{position:absolute!important;top:0;left:0;width:100%!important;height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:200px;-webkit-overflow-scrolling:touch;touch-action:pan-y!important}#container.grid-scroll-active .card{touch-action:pan-y!important}html.grid-scroll-body,body.grid-scroll-body{overflow:hidden!important;position:fixed!important;height:100dvh!important;width:100%!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.profile-body{overflow-y:auto!important;overflow-x:hidden!important;position:relative!important;min-height:100vh;-webkit-overflow-scrolling:touch;overscroll-behavior:auto;padding-bottom:50px;background-color:var(--bg-color)}.profile-container{max-width:800px;margin:0 auto;padding:100px 20px 40px;text-align:center}.profile-header{animation:fadeInUp .8s ease-out forwards;opacity:0;animation-delay:.2s}.section{margin-bottom:60px;background:#ffffff08;padding:40px;border-radius:16px;border:1px solid rgba(255,255,255,.05);animation:fadeInUp .8s ease-out forwards;opacity:0;animation-delay:.5s}.section:nth-child(2){animation-delay:.7s}.section:nth-child(3){animation-delay:.9s}.profile-pic-container{width:150px;height:150px;margin:0 auto 30px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #00000080}.profile-pic{width:100%;height:100%;background-color:#333;background-size:cover;background-position:center}.name-title{font-size:clamp(2rem,5vw,4rem);font-weight:900;margin-bottom:10px;letter-spacing:-1px}.tagline{font-size:1.2rem;color:#fff9;margin-bottom:60px}.profile-content{text-align:left}.section{margin-bottom:60px;background:#ffffff08;padding:40px;border-radius:16px;border:1px solid rgba(255,255,255,.05)}.section h2{font-size:1rem;text-transform:uppercase;color:#fff6;margin-bottom:20px;letter-spacing:2px}.section p{font-size:1.1rem;line-height:1.6;color:#ffffffe6}.skill-tags{display:flex;flex-wrap:wrap;gap:15px}.skill-tags span{padding:10px 20px;background:#ffffff1a;border-radius:50px;font-size:.9rem;font-weight:500;transition:background .3s}.skill-tags span:hover{background:#fff3}.contact-btn{display:inline-block;background:#fff;color:#000;padding:15px 40px;border-radius:50px;text-decoration:none;font-weight:700;font-size:1.1rem;transition:transform .2s}.contact-btn:hover{transform:scale(1.05)}
