:root{--accent: #00adb5;--accent-hover: #028f98;--bs-primary: #00adb5;--bs-primary-rgb: 0, 173, 181;font-family:Inter,system-ui,-apple-system,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:70px}body{font-family:Inter,system-ui,-apple-system,sans-serif;min-height:100vh}#root{min-height:100vh}.profile-photo-wrapper{position:relative;display:inline-block;width:280px;height:280px}.profile-photo{width:280px;height:280px;border-radius:50%;object-fit:cover;box-shadow:0 10px 30px rgba(var(--bs-primary-rgb),.3);border:4px solid var(--bs-primary);transition:transform .3s ease,box-shadow .3s ease,opacity .8s ease;position:absolute;top:0;left:0}.profile-photo:hover{transform:scale(1.15);box-shadow:0 15px 40px rgba(var(--bs-primary-rgb),.4)}html[data-bs-theme=dark] .profile-photo--night{opacity:1;z-index:2}html[data-bs-theme=dark] .profile-photo--light,html[data-bs-theme=light] .profile-photo--night{opacity:0;z-index:1}html[data-bs-theme=light] .profile-photo--light{opacity:1;z-index:2}html[data-bs-theme=dark] .profile-photo{box-shadow:0 10px 30px rgba(var(--bs-primary-rgb),.4)}html[data-bs-theme=dark] .profile-photo:hover{box-shadow:0 15px 40px rgba(var(--bs-primary-rgb),.5)}header{position:fixed;inset:0 0 auto 0;z-index:1030;border-bottom:1px solid rgba(108,117,125,.25);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .3s ease}html[data-bs-theme=dark] header{background-color:#0a0a0af2}html[data-bs-theme=light] header{background-color:#f5f5f5f2}.custom-nav{max-width:1200px;margin:0 auto;padding:1rem 1.25rem}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{position:relative;color:var(--bs-primary);text-decoration:none;font-weight:600;letter-spacing:.4px;transition:color .3s ease;font-size:1.25rem}.brand:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .25s ease;opacity:.85}.brand:hover{color:var(--accent-hover)}.brand:hover:after{transform:scaleX(1)}.nav-links{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0}.nav-links li{position:relative}.nav-links li:before{content:"";position:absolute;top:-.35rem;right:-.8rem;bottom:-.35rem;left:-.8rem;border-radius:12px;opacity:0;transform:scale(.96);transition:opacity .3s ease,transform .3s ease;pointer-events:none}html[data-bs-theme=dark] .nav-links li:before{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.18),#028f981f)}html[data-bs-theme=light] .nav-links li:before{background:linear-gradient(135deg,rgba(var(--bs-primary-rgb),.15),#028f981a)}.nav-links li:hover:before{opacity:1;transform:scale(1)}.nav-links a{position:relative;text-decoration:none;font-weight:500;font-size:1.05rem;padding:.35rem 0;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .25s ease;opacity:.85}.nav-links a:hover{color:var(--accent-hover)}.nav-links a:hover:after{transform:scaleX(1)}html[data-bs-theme=dark] .nav-links a{color:#f5f5f5}html[data-bs-theme=light] .nav-links a{color:#111}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer}.hamburger div{width:24px;height:3px;border-radius:2px;transition:all .3s ease}html[data-bs-theme=dark] .hamburger div{background-color:#f5f5f5}html[data-bs-theme=light] .hamburger div{background-color:#111}@media (max-width: 768px){.nav-links{display:none;position:absolute;top:100%;right:0;width:220px;padding:1.1rem 1.4rem;border-radius:0 0 8px 8px;flex-direction:column;gap:.75rem;box-shadow:0 1.4rem 2.4rem #0f172a52}html[data-bs-theme=dark] .nav-links{background:#0a0a0afa}html[data-bs-theme=light] .nav-links{background:#f5f5f5fa}.nav-links.active,.hamburger{display:flex}.nav-links li:before{display:none}.nav-links a{padding:.5rem 0}.nav-links a:after{bottom:-4px;transform-origin:left}}.btn-primary{background-color:var(--bs-primary);border-color:var(--bs-primary)}.btn-primary:hover,.btn-primary:focus{background-color:var(--accent-hover);border-color:var(--accent-hover)}.text-primary{color:var(--bs-primary)!important}.bg-primary{background-color:var(--bs-primary)!important}.card-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s ease}.card-reveal.revealed{opacity:1;transform:translateY(0)}.card{transition:all .3s ease;border-radius:12px}.card:hover{box-shadow:0 1rem 2rem #00000026!important;transform:translateY(-5px)}html[data-bs-theme=dark] .card:hover{box-shadow:0 .5rem 1.5rem rgba(var(--bs-primary-rgb),.15),0 .5rem 1rem rgba(var(--bs-primary-rgb),.1)!important}.progress-bar.skill-fill{width:0%;transition:width 1.5s cubic-bezier(.1,.7,.1,1)}.certificate-link{position:absolute;top:12px;right:16px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;border-radius:999px;border:1px solid rgba(0,0,0,.08);color:var(--bs-primary);text-decoration:none;background-color:#00000005;transition:color .2s ease,border-color .2s ease,background-color .2s ease}html[data-bs-theme=dark] .certificate-link{border-color:#ffffff1f;background-color:#ffffff0d}.certificate-link:hover{color:var(--accent-hover);border-color:#0000002e;background-color:#0000000a}html[data-bs-theme=dark] .certificate-link:hover{border-color:#fff3;background-color:#ffffff17}.toggle-theme{position:fixed;bottom:20px;right:20px;background:var(--accent);color:#fff;border:none;border-radius:50%;width:52px;height:52px;cursor:pointer;font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease;z-index:1050;box-shadow:0 4px 10px #0003}.toggle-theme:hover{transform:scale(1.06);background:var(--accent-hover)}.scroll-to-top{position:fixed;bottom:80px;right:20px;z-index:1040;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .5s cubic-bezier(.4,0,.2,1);background-color:#212529;color:#f8f9fa;border:none;border-radius:50%;width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px #0003}.scroll-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{transform:scale(1.06);background-color:var(--accent);color:#fff}html[data-bs-theme=dark] .scroll-to-top{background-color:#f8f9fa;color:#212529}html[data-bs-theme=dark] .scroll-to-top:hover{background-color:var(--accent);color:#fff}.contact-form .form-control,.contact-form textarea{border-radius:8px;border:2px solid rgba(0,0,0,.1);padding:.75rem 1rem;font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}html[data-bs-theme=dark] .contact-form .form-control,html[data-bs-theme=dark] .contact-form textarea{border-color:#ffffff26;background-color:#ffffff0d;color:#f5f5f5}.contact-form .form-control:focus,.contact-form textarea:focus{border-color:var(--bs-primary);box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.25);outline:none}html[data-bs-theme=dark] .contact-form .form-control:focus,html[data-bs-theme=dark] .contact-form textarea:focus{border-color:var(--bs-primary);background-color:#ffffff14;box-shadow:0 0 0 .2rem rgba(var(--bs-primary-rgb),.3)}.animate-fade-up{opacity:0;transform:translateY(20px);animation:fadeInUp .8s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.toggle-theme{width:46px;height:46px;bottom:16px;right:16px}.scroll-to-top{width:46px;height:46px;bottom:74px;right:16px}.opacity-0{opacity:1!important;transform:none!important}}
