*, *::before, *::after {box-sizing:border-box;margin:0;padding:0;}:root {--clr-navy:#002147;--clr-teal:#008080;--clr-white:#FFFFFF;--bg-primary:#f8fafc;--bg-secondary:#e2e8f0;--bg-glass:rgba(255, 255, 255, 0.85);--text-primary:#0f172a;--text-secondary:#334155;--border-color:rgba(0, 33, 71, 0.1);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.1);--shadow-md:0 4px 6px rgba(0, 0, 0, 0.1);--shadow-lg:0 10px 15px rgba(0, 33, 71, 0.1);--font-main:'Inter', sans-serif;--font-mono:'Fira Code', monospace;}[data-theme="dark"] {--bg-primary:#0a0f18;--bg-secondary:#111a2a;--bg-glass:rgba(10, 15, 24, 0.85);--text-primary:#f8fafc;--text-secondary:#cbd5e1;--border-color:rgba(255, 255, 255, 0.1);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.5);--shadow-md:0 4px 6px rgba(0, 0, 0, 0.4);--shadow-lg:0 10px 25px rgba(0, 128, 128, 0.2);}* {margin:0;padding:0;box-sizing:border-box;}html {scroll-behavior:smooth;}body {font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;transition:background-color 0.3s ease, color 0.3s ease;overflow-x:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}img {-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:none;}#particles-js {position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;opacity:0.8;pointer-events:none;}.container {max-width:1200px;margin:0 auto;padding:0 2rem;}.section {padding:6rem 0;}.bg-alt {background-color:var(--bg-secondary);}.text-center {text-align:center;}.mt-4 {margin-top:1.5rem;}h1, h2, h3, h4, h5, h6 {font-weight:700;line-height:1.2;margin-bottom:1rem;color:var(--text-primary);}.highlight {color:var(--clr-teal);position:relative;display:inline-block;}.mobile-only {display:none;}code {font-family:var(--font-mono);background:rgba(0, 128, 128, 0.1);color:var(--clr-teal);padding:0.2rem 0.5rem;border-radius:4px;font-size:0.85em;font-weight:500;}.section-header {text-align:center;margin-bottom:4rem;}.section-header h2 {font-size:2.5rem;display:flex;align-items:center;justify-content:center;gap:0.75rem;color:var(--clr-navy);}[data-theme="dark"] .section-header h2 {color:var(--clr-white);}.section-header p {color:var(--clr-teal);font-weight:500;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;}.glass-header {position:fixed;top:0;left:0;width:100%;background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:1000;transition:all 0.3s ease;}.navbar {display:flex;justify-content:space-between;align-items:center;height:70px;}.logo-text {font-family:var(--font-mono);font-weight:700;font-size:1.25rem;color:var(--clr-navy);letter-spacing:-0.5px;}[data-theme="dark"] .logo-text {color:var(--clr-white);}.nav-links {display:flex;list-style:none;gap:2rem;}.nav-links a {text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:0.95rem;transition:color 0.3s ease;position:relative;}.nav-links a:hover {color:var(--clr-teal);}.nav-links a::after {content:'';position:absolute;width:0;height:2px;bottom:-4px;left:0;background-color:var(--clr-teal);transition:width 0.3s ease;}.nav-links a:hover::after {width:100%;}.btn-icon, .mobile-menu-btn {background:none;border:none;color:var(--text-primary);font-size:1.2rem;cursor:pointer;transition:color 0.3s;}.btn-icon:hover {color:var(--clr-teal);}.mobile-menu-btn {display:none;}.btn {display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.5rem;border-radius:4px;text-decoration:none;font-weight:600;font-size:1rem;transition:all 0.3s ease;cursor:pointer;border:2px solid transparent;}.btn-primary {background-color:var(--clr-navy);color:var(--clr-white);}.btn-primary:hover {background-color:#001530;transform:translateY(-2px);box-shadow:var(--shadow-md);}[data-theme="dark"] .btn-primary {background-color:var(--clr-teal);}[data-theme="dark"] .btn-primary:hover {background-color:#006666;}.btn-secondary {background-color:transparent;color:var(--clr-navy);border-color:var(--clr-navy);}.btn-secondary:hover {background-color:rgba(0, 33, 71, 0.05);transform:translateY(-2px);}.w-100 {width:100%;text-align:center;}[data-theme="dark"] .btn-secondary {color:var(--clr-white);border-color:var(--clr-white);}[data-theme="dark"] .btn-secondary:hover {background-color:rgba(255, 255, 255, 0.1);}.hero {min-height:100vh;display:flex;align-items:center;padding-top:80px;}.hero-content {display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}.status-badge {display:inline-flex;align-items:center;gap:0.5rem;background:rgba(0, 128, 128, 0.1);color:var(--clr-teal);padding:0.4rem 0.8rem;border-radius:20px;font-family:var(--font-mono);font-size:0.85rem;margin-bottom:1.5rem;border:1px solid rgba(0, 128, 128, 0.2);}.pulse {width:8px;height:8px;background-color:var(--clr-teal);border-radius:50%;animation:pulse 2s infinite;}@keyframes pulse {0% {box-shadow:0 0 0 0 rgba(0, 128, 128, 0.7);}70% {box-shadow:0 0 0 10px rgba(0, 128, 128, 0);}100% {box-shadow:0 0 0 0 rgba(0, 128, 128, 0);}}.headline {font-size:3.5rem;margin-bottom:1rem;letter-spacing:-1px;}.sub-headline {font-size:1.25rem;color:var(--text-secondary);font-weight:400;margin-bottom:2rem;}.skill-badges {display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:2.5rem;}.badge {background:var(--bg-secondary);color:var(--text-primary);padding:0.5rem 1rem;border-radius:4px;font-size:0.9rem;font-weight:500;display:flex;align-items:center;gap:0.5rem;border:1px solid var(--border-color);}.hero-cta {display:flex;gap:1rem;}.hero-visual {position:relative;width:100%;max-width:450px;margin:0 auto;}.image-frame {position:relative;padding:1rem;background:var(--bg-glass);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);}.hero-img {width:100%;height:auto;border-radius:4px;display:block;aspect-ratio:3/4;object-fit:cover;}.frame-decor {position:absolute;width:20px;height:20px;border-color:var(--clr-teal);border-style:solid;border-width:0;}.tl {top:-1px;left:-1px;border-top-width:2px;border-left-width:2px;}.tr {top:-1px;right:-1px;border-top-width:2px;border-right-width:2px;}.bl {bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px;}.br {bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px;}.grid {display:grid;gap:2rem;}.cards-grid {grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));}.card {background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:2rem;transition:transform 0.3s ease, box-shadow 0.3s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;}.card::before {content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg, var(--clr-navy), var(--clr-teal));opacity:0;transition:opacity 0.3s ease;}.card:hover {transform:translateY(-5px);box-shadow:var(--shadow-lg);}.card:hover::before {opacity:1;}.tech-card .card-icon {font-size:2.5rem;color:var(--clr-teal);margin-bottom:1.5rem;}.tech-tags {display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.5rem;}.clean-list {list-style:none;margin-top:1.5rem;}.tech-list li {position:relative;padding-left:1.5rem;margin-bottom:0.5rem;color:var(--text-secondary);font-size:0.95rem;}.tech-list li::before {content:'▹';position:absolute;left:0;color:var(--clr-teal);font-weight:bold;}.glass-panel {background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-lg);padding:3rem;}.research-showcase {display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}.research-visual {border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-color);}.image-roller {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--clr-teal) transparent;}.image-roller::-webkit-scrollbar {height:8px;}.image-roller::-webkit-scrollbar-track {background:transparent;}.image-roller::-webkit-scrollbar-thumb {background-color:var(--clr-teal);border-radius:4px;}.research-img {flex:0 0 100%;scroll-snap-align:start;width:100%;height:auto;object-fit:contain;background-color:var(--bg-primary);display:block;transition:transform 0.5s ease;}.research-showcase:hover .research-img {transform:scale(1.02);}.status-indicator {display:inline-block;padding:0.25rem 0.75rem;border-radius:4px;font-size:0.85rem;font-weight:600;background:rgba(16, 185, 129, 0.1);color:#10b981;margin-bottom:1rem;border:1px solid rgba(16, 185, 129, 0.2);}.paper-title {font-size:1.75rem;margin-bottom:1rem;}.paper-desc {color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem;}.timeline {position:relative;max-width:800px;margin:0 auto;}.timeline::after {content:'';position:absolute;width:2px;background-color:var(--border-color);top:0;bottom:0;left:50%;margin-left:-1px;}.timeline-item {padding:10px 40px;position:relative;background-color:inherit;width:50%;}.timeline-item:nth-child(even) {left:50%;}.timeline-item:nth-child(odd) {left:0;}.timeline-dot {position:absolute;width:20px;height:20px;right:-10px;background-color:var(--clr-navy);border:4px solid var(--bg-secondary);top:15px;border-radius:50%;z-index:1;}[data-theme="dark"] .timeline-dot {background-color:var(--clr-teal);border-color:var(--bg-secondary);}.timeline-item:nth-child(even) .timeline-dot {left:-10px;}.alt-dot {background-color:var(--clr-teal);}.timeline-date {font-family:var(--font-mono);color:var(--clr-teal);font-size:0.9rem;margin-bottom:0.5rem;}.cert-list {list-style:none;margin-top:1rem;}.cert-list li {margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--border-color);}.cert-list li:last-child {border-bottom:none;margin-bottom:0;padding-bottom:0;}.cert-id {display:block;font-family:var(--font-mono);font-size:0.8rem;color:var(--text-secondary);margin-top:0.25rem;}.datacamp-courses {display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem;}.dc-badge {background:rgba(5, 25, 45, 0.05);color:var(--text-primary);padding:0.25rem 0.6rem;border-radius:4px;font-size:0.8rem;font-weight:500;border:1px solid var(--border-color);}[data-theme="dark"] .dc-badge {background:rgba(255, 255, 255, 0.1);}.projects-grid {grid-template-columns:repeat(auto-fit, minmax(350px, 1fr));}.project-card {display:flex;flex-direction:column;}.project-header {display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);}.project-icon {width:50px;height:50px;background:rgba(0, 33, 71, 0.05);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--clr-navy);}[data-theme="dark"] .project-icon {background:rgba(255, 255, 255, 0.05);color:var(--clr-white);}.project-body {flex-grow:1;display:flex;flex-direction:column;justify-content:space-between;}.contact {position:relative;background-image:linear-gradient(rgba(0, 33, 71, 0.85), rgba(0, 33, 71, 0.85)), url('../res/DSC_7736.jpg');background-size:cover;background-position:center;background-attachment:fixed;padding:8rem 0;}[data-theme="dark"] .contact {background-image:linear-gradient(rgba(5, 8, 15, 0.9), rgba(5, 8, 15, 0.9)), url('../res/DSC_7736.jpg');}.contact-header h2 {color:#ffffff !important;}.contact-header p {color:var(--clr-teal) !important;}.contact-grid {max-width:600px;margin:0 auto;}.form-card {background:var(--bg-primary);border-radius:12px;padding:3rem;border:none;box-shadow:0 15px 35px rgba(0, 0, 0, 0.2);}[data-theme="dark"] .form-card {background:var(--bg-secondary);}.form-title {color:var(--clr-navy);margin-bottom:2rem;font-size:1.25rem;text-align:center;font-weight:700;}[data-theme="dark"] .form-title {color:var(--clr-white);}.contact-info {text-align:center;}.contact-link {display:flex;align-items:center;justify-content:center;gap:0.75rem;text-decoration:none;color:var(--text-primary);font-size:1.1rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;transition:all 0.3s ease;background:var(--bg-primary);}.contact-link:hover {border-color:var(--clr-teal);color:var(--clr-teal);transform:translateY(-2px);}@keyframes float {0% {transform:translateY(0px);filter:drop-shadow(0 0 0 transparent);}50% {transform:translateY(-10px);filter:drop-shadow(0 15px 15px rgba(0, 33, 71, 0.9));}100% {transform:translateY(0px);filter:drop-shadow(0 0 0 transparent);}}[data-theme="dark"] .floating-icon {animation-name:float-dark;}@keyframes float-dark {0% {transform:translateY(0px);filter:drop-shadow(0 0 0 transparent);}50% {transform:translateY(-10px);filter:drop-shadow(0 15px 15px rgba(0, 230, 230, 0.9));}100% {transform:translateY(0px);filter:drop-shadow(0 0 0 transparent);}}.floating-icon {animation:float 4s ease-in-out infinite;display:inline-block;}.social-icons {display:flex;justify-content:center;gap:1.5rem;}.social-icons a {display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;background:var(--bg-primary);color:var(--text-primary);font-size:1.25rem;text-decoration:none;transition:all 0.3s ease;border:1px solid var(--border-color);}.social-icons a:hover {background:var(--clr-teal);color:white;transform:translateY(-3px);border-color:var(--clr-teal);}.footer {background-color:var(--clr-navy);color:rgba(255, 255, 255, 0.7);padding:2rem 0;font-family:var(--font-mono);font-size:0.9rem;border-top:1px solid rgba(255, 255, 255, 0.1);}[data-theme="dark"] .footer {background-color:#05080f;}@media screen and (max-width:992px) {.hero-content, .research-showcase {grid-template-columns:1fr;text-align:center;}.hero-cta {justify-content:center;flex-wrap:wrap;}.skill-badges {justify-content:center;}.timeline::after {left:20px;margin-left:0;}.timeline-item {width:100%;padding-left:60px;padding-right:0px;}.timeline-item:nth-child(even), .timeline-item:nth-child(odd) {left:0%;}.timeline-item:nth-child(even) .timeline-dot, .timeline-item:nth-child(odd) .timeline-dot {left:10px;}.form-card {padding:2rem;margin:0;}}@media screen and (max-width:768px) {.section {padding:4rem 0;}.contact {padding:4rem 0;background-attachment:scroll;}.desktop-only {display:none !important;}.mobile-only {display:inline !important;}.headline {font-size:2.5rem;}.sub-headline {font-size:1.1rem;}.section-header h2 {font-size:2rem;flex-direction:column;gap:0.5rem;}.contact-link {font-size:1rem;padding:0.75rem;}.social-icons a {width:40px;height:40px;font-size:1.1rem;}.navbar {padding:0 1.5rem;}.nav-links {position:fixed;right:-100%;top:70px;flex-direction:column;background:var(--bg-glass);backdrop-filter:blur(16px);width:100%;text-align:center;transition:0.3s;box-shadow:0 10px 27px rgba(0, 0, 0, 0.05);padding:2rem 0;gap:1.5rem;}.nav-links.active {right:0;}.mobile-menu-btn {display:block;}}