:root{--font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Open Sans","Helvetica Neue",sans-serif;--main-bg-light:#f0f0f0;--main-bg-dark:#333;--text-light:#636363;--text-dark:#e2e4ef;--link-bg:#007bff;--link-hover-bg:#0056b3;--link-text:#fff;--link-hover-text:#e2e4ef;--accent-color:#f90;--circle-bg:#666;--background-social-icon:#ccc}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--main-bg-light);font-family:var(--font);height:100vh;transition:background-color .5s ease-in-out}body.dark-mode{background-color:var(--main-bg-dark)}a,body,div,footer,header,p,span{outline:none;user-select:none}header{padding:3.5rem 0 2.5rem;text-align:center}#userPhoto{border-radius:50%;box-shadow:0 0 8px transparent;display:block;height:100px;margin:auto;object-fit:contain;object-position:center;overflow:hidden;transition:transform .3s ease-in-out,border-color .5s ease-in-out,box-shadow .5s ease-in-out;width:100px}#userPhoto.loaded{box-shadow:0 0 8px var(--link-bg)}#userPhoto:hover{border-color:var(--circle-bg);box-shadow:0 0 20px var(--circle-bg);transform:scale(1.1)}#name{border-right:3px solid var(--text-light);color:var(--text-light);display:block;font-size:1.5rem;font-weight:700;left:50%;margin:1.5rem 0 1rem;overflow:hidden;position:relative;text-align:center;transform:translateX(-50%);white-space:nowrap;width:fit-content}.typing-effect{animation:typing 6s steps(30) forwards,blink-caret .75s step-end infinite;max-width:0}@keyframes typing{0%{max-width:0}to{max-width:100%}}@keyframes blink-caret{50%{border-right-color:transparent}}#name.typing-done{animation:blink-caret .85s step-end infinite;border-right:3px solid var(--text-light)}#bio{color:var(--text-light);font-size:1rem;margin-bottom:2rem;text-align:center}main{align-items:center;justify-content:center;margin:0 auto;max-width:800px;padding:1rem}#links,main{display:flex;flex-direction:column;width:100%}#links{gap:20px;margin-bottom:20px;max-width:675px;padding:0 15px}.link{background-color:var(--link-bg);border:none;box-shadow:0 4px 10px rgba(0,0,0,.1);color:var(--link-text);display:block;font-size:1.2rem;font-weight:400;overflow:hidden;padding:17px;position:relative;text-align:center;text-decoration:none;transition:all .3s ease;z-index:0}.link:before{background:linear-gradient(to right,var(--link-bg) 0,var(--link-hover-bg) 50%,var(--link-bg) 100%);content:"";height:100%;left:-150%;position:absolute;top:0;transition:left .5s ease;width:300%;z-index:-1}.link:hover:before{left:0}.link span{position:relative;z-index:1}.link:hover{border-color:var(--link-hover-text);box-shadow:0 6px 12px rgba(0,0,0,.2);color:var(--link-hover-text);transform:scale(1.05)}.footer{font-size:1.3rem;margin-bottom:2rem;margin-top:2rem;text-align:center}#socialMedia{align-items:center;display:flex;justify-content:center;margin-bottom:1rem}#socialMedia a{color:var(--text-light);margin:.4rem;text-decoration:none;transition:color .3s ease-in-out}#socialMedia a:hover{color:var(--accent-color)}.circle{background:var(--background-social-icon);height:38px;padding:.25rem;transition:background .3s,transform .3s;width:38px}.circle,.circle i{align-items:center;display:flex;justify-content:center}.circle i{font-size:1.2rem;height:1.2rem;width:1.2rem}.circle:hover{background:var(--circle-bg);box-shadow:0 4px 6px rgba(0,0,0,.4);color:#fff;transform:scale(1.1)}#username{color:var(--text-light);font-size:1rem;margin-bottom:2rem auto}.night_mode{cursor:pointer;font-size:1.5rem;position:fixed;right:30px;top:25px;transition:transform .3s ease-in-out;z-index:1000}.night_mode:hover{text-shadow:0 0 10px #8892bf50;transform:rotate(25deg)}body.dark-mode #bio,body.dark-mode #name,body.dark-mode #username{color:var(--text-dark)}body.dark-mode .circle,body.dark-mode .link{filter:grayscale(100%)}.reviews-section{margin:2rem auto;overflow:hidden;padding:0;position:relative;width:100%}.reviews-carousel{display:flex;flex-direction:column;gap:1.5rem;position:relative;width:100%}.reviews-container{-webkit-overflow-scrolling:touch;overflow:hidden;position:relative;touch-action:pan-x;width:100%}.reviews-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%}.review-card{background:#fff;border-radius:14px;box-shadow:0 4px 20px rgba(0,0,0,.1);flex:0 0 100%;margin:0;opacity:.7;padding:2rem;transform:scale(.9);transition:all .3s ease;width:100%}.review-card.active{opacity:1;transform:scale(1)}.carousel-controls{gap:1.5rem;margin-top:1rem}.carousel-button,.carousel-controls{align-items:center;display:flex;justify-content:center}.carousel-button{background:var(--link-bg);border:none;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.1);color:#fff;cursor:pointer;height:40px;transition:all .3s ease;width:40px}.carousel-button:hover:not(:disabled){background:var(--link-hover-bg);transform:scale(1.1)}.carousel-button:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.carousel-button i{font-size:1rem}.carousel-dots{align-items:center;display:flex;gap:.8rem;justify-content:center}.dot{background:#ccc;border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all .3s ease;width:10px}.dot:hover{background:var(--link-hover-bg)}.dot.active{background:var(--link-bg);transform:scale(1.2)}.review-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:1.5rem}.review-photo{border:3px solid var(--link-bg);border-radius:50%;height:60px;object-fit:cover;width:60px}.review-name{color:var(--text-light);font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.review-rating{color:gold;font-size:1.2rem;letter-spacing:2px}.review-comment{color:var(--text-light);font-size:1rem;line-height:1.6}body.dark-mode .review-card{background:#444;border:1px solid #2d2d2d;box-shadow:0 4px 20px rgba(0,0,0,.3)}body.dark-mode .review-comment,body.dark-mode .review-name{color:var(--text-dark)}.gallery-section{margin:2rem auto;overflow:hidden;padding:0;position:relative;width:100%}.gallery-carousel{display:flex;flex-direction:column;gap:1.5rem;position:relative;width:100%}.gallery-container{-webkit-overflow-scrolling:touch;aspect-ratio:16/9;border-radius:14px;overflow:hidden;position:relative;touch-action:pan-x;width:100%}.gallery-track{display:flex;height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%}.gallery-slide{flex:0 0 100%;height:100%;overflow:hidden;position:relative;width:100%}.gallery-image{cursor:pointer;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-slide:hover .gallery-image{transform:scale(1.05)}.gallery-controls{gap:1.5rem;margin-top:1rem}.gallery-button,.gallery-controls{align-items:center;display:flex;justify-content:center}.gallery-button{background:var(--link-bg);border:none;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.1);color:#fff;cursor:pointer;height:40px;transition:all .3s ease;width:40px}.gallery-button:hover:not(:disabled){background:var(--link-hover-bg);transform:scale(1.1)}.gallery-button:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.gallery-dots{align-items:center;display:flex;gap:.8rem;justify-content:center}.gallery-dot{background:#ccc;border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all .3s ease;width:10px}.gallery-dot:hover{background:var(--link-hover-bg)}.gallery-dot.active{background:var(--link-bg);transform:scale(1.2)}.lightbox{align-items:center;background:rgba(0,0,0,.9);display:flex;height:100%;justify-content:center;left:0;opacity:1;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:1000}.lightbox[aria-hidden=true]{opacity:0;pointer-events:none}.lightbox-content{display:flex;flex-direction:column;gap:1rem;max-height:90vh;max-width:90%;position:relative}.lightbox-image{border-radius:8px;max-height:80vh;max-width:100%;object-fit:contain}.lightbox-caption{color:#fff;padding:1rem;text-align:center}.lightbox-title{font-size:1.5rem;margin-bottom:.5rem}.lightbox-description{font-size:1rem;opacity:.8}.lightbox-close,.lightbox-next,.lightbox-prev{align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;transition:all .3s ease;width:48px}.lightbox-close{right:1rem;top:1rem}.lightbox-prev{left:1rem}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-next{right:1rem}.lightbox-close:hover,.lightbox-next:hover,.lightbox-prev:hover{background:rgba(0,0,0,.8);transform:scale(1.1) translateY(-50%)}.lightbox-close:hover{transform:scale(1.1)}body.dark-mode .gallery-slide{background:#444}.gallery-title,.reviews-title{color:var(--text-light);font-size:1.5rem;font-weight:700;margin:2rem 0 1.5rem;padding-bottom:1rem;position:relative;text-align:center}.gallery-title:after,.reviews-title:after{background:var(--link-bg);bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}body.dark-mode .gallery-title,body.dark-mode .reviews-title{color:var(--text-dark)}body.dark-mode .gallery-title:after,body.dark-mode .reviews-title:after{background:var(--accent-color)}@media (max-width:768px){.gallery-container{aspect-ratio:4/3}.lightbox-content{max-width:95%}.lightbox-close,.lightbox-next,.lightbox-prev{height:40px;width:40px}}@media (max-width:480px){.gallery-button{height:36px;width:36px}.gallery-dot{height:8px;width:8px}.lightbox-close,.lightbox-next,.lightbox-prev{height:36px;width:36px}.lightbox-title{font-size:1.2rem}.lightbox-description{font-size:.9rem}}@media (max-width:768px){.review-card{padding:1.5rem}.review-photo{height:50px;width:50px}.carousel-controls{gap:1rem}.carousel-button{height:36px;width:36px}}@media (max-width:480px){.review-card{padding:1rem}.carousel-button{height:32px;width:32px}.carousel-controls{gap:.8rem}.dot{height:8px;width:8px}}