*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body{overflow-x:hidden;background-color:#1c1c1c;color:#f3f3f3}.intro-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:transparent;z-index:2000;display:flex;justify-content:center;align-items:center;overflow:hidden;pointer-events:auto;transition:visibility 0s 1.2s}.intro-overlay.fade-out{visibility:hidden;pointer-events:none}.intro-logo-beating{position:absolute;width:200px;height:200px;border-radius:50%;object-fit:cover;z-index:2002;box-shadow:0 0 30px #ffffff80;animation:logoBeat 1s cubic-bezier(.42,0,.58,1) 2;transition:opacity .6s ease,transform .6s ease}.intro-overlay.logo-exploding .intro-logo-beating{opacity:0;transform:scale(2)}@keyframes logoBeat{0%{transform:scale(1);box-shadow:0 0 30px #ffffff80}50%{transform:scale(1.15);box-shadow:0 0 60px #ffffffe6}to{transform:scale(1);box-shadow:0 0 30px #ffffff80}}.curtain{position:absolute;top:0;width:50vw;height:100vh;background-color:#0a0a0a;border:1px solid rgba(255,255,255,.03);z-index:2001;transition:transform 1.2s cubic-bezier(.77,0,.175,1)}.curtain-left{left:0}.curtain-right{right:0}.intro-overlay .curtain-left.curtain-open-left{transform:translate(-100%)}.intro-overlay .curtain-right.curtain-open-right{transform:translate(100%)}@media (max-width: 768px){.intro-logo-beating{width:120px;height:120px}}#canvas-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1}.ui-container{position:relative;z-index:1;padding:2rem;max-width:1200px;margin:0 auto;pointer-events:none}.ui-content{pointer-events:auto}header{text-align:center;margin-bottom:2rem;background:rgba(20,20,20,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:15px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center}.logo{width:100px;height:100px;border-radius:50%;object-fit:cover;border:none;background-color:transparent;box-shadow:0 0 10px #ffffff1a;cursor:pointer;animation:popInRotate 1.2s cubic-bezier(.68,-.55,.265,1.55) 2.5s forwards;opacity:0;transition:transform .3s ease,box-shadow .3s ease}.logo:hover{transform:scale(1.1) rotate(15deg);box-shadow:0 0 30px #fffc}@keyframes popInRotate{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.text-red{color:#f44336}.text-green{color:#20be0c}.text-blue{color:#4da6ff}.hidden{display:none!important}.cv-section{display:flex;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}.person-card{flex:1;min-width:300px;padding:2rem;border-radius:15px;background:rgba(20,20,20,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column}.person-card.red{border-top:4px solid #f44336;box-shadow:0 10px 30px #ff4d4d1a}.person-card.green{border-top:4px solid #20be0c;box-shadow:0 10px 30px #4dff4d1a}.person-card h2{margin-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.person-card p{margin-bottom:1.5rem;line-height:1.5;color:#ccc}.skills{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.skill-tag{padding:.3rem .8rem;border-radius:20px;font-size:.8rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.05)}.social-links{display:flex;gap:.8rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.social-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:all .3s ease;text-decoration:none}.social-icon i{font-size:18px}.person-card.red .social-icon:hover{background:#f44336;transform:translateY(-3px);box-shadow:0 5px 15px #ff4d4d66;color:#fff}.person-card.green .social-icon:hover{background:#20be0c;transform:translateY(-3px);box-shadow:0 5px 15px #4dff4d66;color:#111}.projects-section{background:rgba(20,20,20,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:15px;text-align:center;border:1px solid rgba(255,255,255,.1)}.projects-wrapper{display:flex;flex-direction:column;gap:1rem;width:fit-content;margin:1.5rem auto 0}.project-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}button{background:transparent;color:#fff;border:1px solid white;padding:.8rem 1.5rem;border-radius:5px;cursor:pointer;transition:all .3s;font-weight:700;text-transform:uppercase;letter-spacing:1px}button:hover{background:white;color:#111}.btn-vari{width:100%}button.btn-red:hover{background:#f44336;border-color:#f44336;color:#fff}button.btn-green:hover{background:#20be0c;border-color:#20be0c;color:#111}button.btn-blue:hover{background:#4da6ff;border-color:#4da6ff;color:#111}.gallery-section{background:rgba(20,20,20,.85);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:2rem;border-radius:15px;border:1px solid rgba(255,255,255,.1);animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem;margin-bottom:2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.project-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;transition:background .3s}.project-card:hover{background:rgba(255,255,255,.1)}.project-model-container{width:100%;height:200px;border-radius:5px;margin-bottom:1rem;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.05);overflow:hidden;position:relative;cursor:grab}.project-model-container:active{cursor:grabbing}.project-card h3{margin-bottom:.5rem;font-size:1.2rem}.project-card p{font-size:.9rem;color:#ccc}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.8);z-index:1000;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.modal-box{background:rgba(20,20,20,.95);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:2.5rem;width:90%;max-width:700px;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 20px 50px #00000080}.close-btn{position:absolute;top:15px;right:20px;background:transparent;border:none;color:#fff;font-size:1.5rem;cursor:pointer;transition:color .3s;padding:0}.close-btn:hover{color:#f44336;background:transparent}.modal-body-content{margin-top:1.5rem;line-height:1.6;color:#ddd}.loading-logo{position:absolute;top:50%;left:50%;width:60px;height:60px;margin-top:-30px;margin-left:-30px;border-radius:50%;object-fit:cover;z-index:10;pointer-events:none;animation:spinInfinite 1.5s linear infinite;box-shadow:0 0 15px #ffffff4d}@keyframes spinInfinite{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.modal-body-content h3{color:#f3f3f3;margin:1.5rem 0 .5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.3rem}.modal-body-content ul,.modal-body-content ol{margin-left:1.5rem;margin-bottom:1rem}.btn-guide{margin-top:1rem;width:100%;border-color:#ffffff4d;font-size:.85rem}.guide-img{width:100%;max-width:100%;height:auto;margin:1rem 0}.email-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);color:#ccc;padding:.6rem 1.2rem;border-radius:25px;cursor:pointer;font-size:.9rem;display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;position:relative;transition:all .3s ease;text-transform:none;font-weight:400;letter-spacing:normal;width:fit-content}.email-btn:hover{background:rgba(255,255,255,.1);color:#fff}.person-card.red .email-btn:hover{border-color:#f44336}.person-card.green .email-btn:hover{border-color:#20be0c}.email-btn .tooltip{position:absolute;top:-35px;left:50%;transform:translate(-50%) translateY(10px);background:#fff;color:#111;padding:.3rem .6rem;border-radius:5px;font-size:.75rem;font-weight:700;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);pointer-events:none;white-space:nowrap}.email-btn:hover .tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.email-btn.copied .tooltip{color:#111}.person-card.red .email-btn.copied .tooltip{background:#f44336;color:#fff}.person-card.green .email-btn.copied .tooltip{background:#20be0c;color:#111}@media (max-width: 768px){.cv-section,.project-buttons{flex-direction:column}.gallery-header{flex-direction:column;gap:1rem}}
