:root{--bg-color: #0f0f14;--text-color: #f0f0f5;--accent-color: #00fff7;--accent-hover: #ff00ff;--card-bg: #1a1a2e;--card-shadow: rgba(0, 255, 247, .15);--card-shadow-hover: rgba(0, 255, 247, .25);--navbar-height: 80px;--max-content-width: 1200px;--section-padding: 4rem;--border-radius: 12px;--transition-speed: .3s}body{margin:0;font-family:Roboto,sans-serif;background-color:var(--bg-color);color:var(--text-color);min-height:100vh;line-height:1.6;padding-top:var(--navbar-height);scroll-behavior:smooth;transition:padding-top var(--transition-speed) ease}a{color:var(--accent-color);text-decoration:none;transition:color var(--transition-speed)}a:hover{color:var(--accent-hover)}#root{max-width:var(--max-content-width);margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;align-items:center}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 .5rem #00fff766;transform:scale(1)}50%{box-shadow:0 0 1.2rem #00fff7cc;transform:scale(1.1)}}@media(max-width:768px){body,body.has-profile-image{padding-top:4rem}}.content-wrapper{padding-top:0;padding-bottom:4rem;width:100%;box-sizing:border-box}.fixed-image-offset{padding-left:10.5rem;padding-top:2rem}main{padding:1rem 4rem 4rem;box-sizing:border-box;width:100%}@media(max-width:1024px){main{padding-right:2rem;padding-left:2rem}}@media(max-width:600px){main{padding-right:1rem;padding-left:1rem}}@media(max-width:768px){.fixed-image-offset{padding-left:0;padding-top:8rem}}:root{--navbar-height: 16rem}.navbar{background-color:var(--card-bg);box-shadow:0 2px 10px var(--card-shadow);color:var(--text-color);padding:0 4rem;height:var(--navbar-height);display:flex;justify-content:space-between;align-items:flex-start;position:fixed;top:0;width:100%;box-sizing:border-box;z-index:100;transition:all var(--transition-speed) ease}.navbar .logo{font-size:3.5rem;font-weight:800;letter-spacing:-1px;line-height:3.5;color:var(--accent-color);text-shadow:0 0 8px rgba(0,255,247,.5);margin-bottom:auto;margin-top:.75rem;flex-shrink:0}.navbar .menu-content-row{display:flex;align-self:flex-end;flex-direction:row;margin-bottom:.75rem;flex-grow:1;justify-content:flex-end;min-width:0}.navbar .nav-links{list-style:none;margin:0;padding:0;gap:1.5rem;display:flex;align-items:flex-end;flex-shrink:1;min-width:0}.navbar .nav-links li{padding:0;margin:0;flex-shrink:0}.navbar .nav-link{white-space:nowrap;color:var(--text-color);text-decoration:none;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem .6rem;border-radius:var(--border-radius);transition:color var(--transition-speed);position:relative}.navbar .nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:0;left:50%;transform:translate(-50%);background-color:var(--accent-color);box-shadow:0 0 8px var(--accent-color),0 0 15px #00fff780;transition:width var(--transition-speed) ease-out}.navbar .nav-link:hover{color:var(--accent-color);background-color:transparent}.navbar .nav-link:hover:after{width:100%}.navbar .nav-link .icon{width:18px;height:18px}.navbar .active-link{color:var(--accent-color);background-color:#00fff70d;box-shadow:0 0 5px #00fff74d;padding:.4rem .6rem .6rem}.navbar .active-link:after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:50%;transform:translate(-50%);background-color:var(--accent-color);box-shadow:0 0 8px var(--accent-color),0 0 15px #00fff780}.menu-toggle{display:none}.mobile-feature{flex-shrink:0;margin-left:2rem;align-self:flex-end;margin-bottom:3rem}@media(max-width:768px){.navbar{padding:.2rem 1rem .6rem;min-height:10rem;flex-direction:row;align-items:flex-start;flex-wrap:wrap;background-color:var(--card-bg);box-shadow:0 2px 10px var(--card-shadow)}.navbar .logo{margin-top:-.2rem;margin-bottom:0;line-height:2}.menu-toggle{display:block;background:none;border:none;color:var(--accent-color);cursor:pointer;padding:.5rem;transition:transform var(--transition-speed)}.navbar .menu-content-row{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:1rem 0 1rem 1rem;gap:1.5rem;background-color:var(--card-bg);position:relative;z-index:2000;transition:all 1s ease}.navbar .menu-content-row.open{display:flex}.navbar .nav-links{width:100%;flex-direction:column;align-items:flex-start;gap:.5rem}.navbar .nav-links li{width:100%;padding:0}.navbar .nav-link{width:100%;white-space:nowrap;padding:1rem;box-sizing:border-box;text-align:left;background-color:var(--card-bg);border-radius:.5rem;position:relative;transition:all .3s ease}.navbar .nav-link:after{display:block;width:0;left:1rem;transform:none;height:2px;background-color:var(--accent-color);box-shadow:0 0 8px var(--accent-color),0 0 15px #00fff780;transition:width var(--transition-speed) ease-out}.navbar .nav-link:hover:after{width:calc(100% - 2rem)}.navbar .active-link:after{width:calc(100% - 2rem);display:block}.navbar .nav-link:hover{color:var(--accent-hover);background-color:#00fff71a}.mobile-feature{width:90%;max-width:300px;margin-left:0;align-self:center}}.hero{margin:var(--section-padding) 0 2rem;padding:0 6rem;max-width:900px;display:flex;justify-content:center;transition:all var(--transition-speed)}.hero-content{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;padding:2rem;border-radius:var(--border-radius);background:linear-gradient(145deg,#11101b,#1a1a2e);box-shadow:0 0 2rem var(--card-shadow);transition:all var(--transition-speed) ease-in-out}.hero-content:hover{box-shadow:0 0 2.5rem var(--card-shadow-hover)}.hero-text{flex:1;text-align:left}.hero-text h1{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--accent-color);text-shadow:0 0 1rem rgba(0,255,247,.4);opacity:0;transform:translateY(20px);animation:fadeInUp 1s forwards .2s}.hero-text p{font-size:clamp(1rem,2.5vw,1.3rem);color:#bbb;opacity:0;transform:translateY(20px);animation:fadeInUp 1s forwards .6s}.hero-button{background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));color:var(--bg-color);font-weight:700;padding:.75rem 2rem;border-radius:50px;border:none;cursor:pointer;box-shadow:0 0 1rem #00fff780;transition:all .3s ease}.hero-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 0 1.5rem var(--accent-hover)}.hero-image{flex-shrink:0;width:150px;height:150px;border-radius:50%;overflow:hidden;border:3px solid var(--accent-color);box-shadow:0 0 1rem #00fff780;transition:all .3s ease,box-shadow .4s ease-in-out;background:radial-gradient(circle at top left,rgba(0,255,247,.2),transparent)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .5s ease}.hero-image:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 0 1.5rem #00fff7b3,0 0 .5rem #ff00ff4d}@media(max-width:768px){.hero{margin-top:0;padding:1rem}.hero-content{flex-direction:column;align-items:center;gap:1rem}.hero-text{text-align:center}.hero-text h1{font-size:clamp(1.8rem,8vw,2.2rem)}.hero-text p{font-size:clamp(.9rem,4vw,1rem)}.hero-image{width:clamp(80px,20vw,120px);height:clamp(80px,20vw,120px);order:-1}}.mobile-feature{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;width:auto;max-width:300px;height:140px;padding:.5rem .75rem;background-color:#151525;border-radius:var(--border-radius);border:1px solid rgba(0,255,247,.2);pointer-events:none}.mobile-feature>*{pointer-events:auto}.mobile-feature-animation{width:220px;height:220px;margin-right:.75rem;filter:drop-shadow(0 0 5px var(--accent-color))}.mobile-feature-tagline{font-size:1.1rem;font-weight:500;text-align:center;color:var(--accent-color);text-shadow:none;margin:0}@media(max-width:768px){.mobile-feature{display:flex;flex-direction:column;justify-content:center;align-items:center;width:90%;max-width:250px;height:12rem;margin-top:0;margin-bottom:0;background-color:#151525;border-radius:var(--border-radius);border-top:1px solid rgba(0,255,247,.2);padding:.8rem 1.2rem}.mobile-feature-animation{width:120px;height:120px;margin-bottom:.2rem;filter:drop-shadow(0 0 10px var(--accent-color));align-self:center;margin-right:0}.mobile-feature-tagline{font-size:clamp(.8rem,2.5vw,1rem);font-weight:500;text-align:center;color:var(--text-color);text-shadow:0 0 5px var(--accent-color);margin:0}}.card{background-color:var(--card-bg);padding:2rem;margin:2rem 0;border-radius:var(--border-radius);box-shadow:0 0 1.5rem var(--card-shadow);max-width:900px;display:flex;flex-direction:column;gap:1rem;transition:all var(--transition-speed) ease-in-out}.card:hover{transform:translateY(-5px);box-shadow:0 0 2rem var(--card-shadow-hover)}.card h2{font-size:clamp(1.5rem,4vw,2rem);font-weight:600;color:var(--accent-color)}.card p{font-size:clamp(.9rem,2vw,1rem);color:#ccc}.card button{background:var(--accent-color);color:var(--bg-color);font-weight:600;padding:.5rem 1.5rem;border-radius:12px;border:none;cursor:pointer;transition:all .3s ease}.card button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 1rem var(--accent-hover)}.profile-image-top-left{position:fixed;top:calc(var(--navbar-height) + 3.2rem);left:6.5rem;width:180px;height:180px;border-radius:50%;overflow:hidden;border:3px solid var(--accent-color);background-color:#111;box-shadow:0 0 1rem #00fff780;z-index:999;transition:transform .3s ease,box-shadow .3s ease}.profile-image-top-left img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.2);transform-origin:center top;transition:transform .4s ease}.profile-image-top-left:hover{transform:scale(1.25);box-shadow:0 0 1.5rem #00fff7b3}.profile-image-top-left:hover img{transform:none}@media(max-width:768px){.profile-image-top-left{top:calc(var(--navbar-height) - 10.5rem);left:50%;transform:translate(-50%,50%);width:80px;height:80px;z-index:999}.profile-image-top-left:hover{transform:translate(-50%) scale(1.5);box-shadow:0 0 1.5rem #00fff7b3;transition:transform .4s ease,box-shadow .4s ease}}@media(max-width:768px){.profile-image-top-left{transform:translate(-50%,50%) scale(1);z-index:999}.profile-image-top-left:hover{transform:translate(-50%,50%) scale(1)}}.content-wrapper{margin-top:var(--navbar-height) - 2rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:var(--max-content-width);transition:margin-top .3s}.headline{color:var(--accent-color);font-weight:600;font-size:1.1rem;margin-bottom:1rem}@not-valid{:root { --bg-color: #0f0f14; --text-color: #f0f0f5; --accent-color: #00fff7; --accent-hover: #ff00ff; --card-bg: #1a1a2e; --card-shadow: rgba(0, 255, 247, .15); --card-shadow-hover: rgba(0, 255, 247, .25); --navbar-height: 80px; --max-content-width: 1200px; --section-padding: 4rem; --border-radius: 12px; --transition-speed: .3s; } body {margin: 0; font-family: "Roboto",sans-serif; background-color: var(--bg-color); color: var(--text-color); min-height: 100vh; line-height: 1.6; padding-top: var(--navbar-height); scroll-behavior: smooth; transition: padding-top var(--transition-speed) ease;} a {color: var(--accent-color); text-decoration: none; transition: color var(--transition-speed);} a:hover {color: var(--accent-hover);} #root {max-width: var(--max-content-width); margin: 0 auto; padding: 0 2rem; display: flex; flex-direction: column; align-items: center;} .content-wrapper {margin-top: var(--navbar-height); display: flex; flex-direction: column; align-items: center; width: 100%; max-width: var(--max-content-width); transition: margin-top .3s;} .headline {color: var(--accent-color); font-weight: 600; font-size: 1.1rem; margin-bottom: 1rem;} @keyframes fadeInUp {to {opacity: 1; transform: translateY(0);}} @keyframes pulseGlow {0%,100% {box-shadow: 0 0 .5rem rgba(0,255,247,.4); transform: scale(1);} 50% {box-shadow: 0 0 1.2rem rgba(0,255,247,.8); transform: scale(1.1);}} .navbar {position: fixed; top: 0; left: 0; right: 0; height: var(--navbar-height); display: flex; justify-content: space-between; align-items: center; padding: 0 2rem; background-color: #111; border-bottom: 1px solid rgba(0,255,247,.2); z-index: 100;} .navbar .logo {font-weight: 700; font-size: clamp(1.25rem,2vw,1.5rem); color: var(--accent-color); cursor: pointer; transition: transform var(--transition-speed),filter var(--transition-speed);} .navbar .logo:hover {transform: scale(1.05) rotate(5deg); filter: drop-shadow(0 0 .8rem var(--accent-color));} .navbar .nav-links {display: flex; gap: 2rem; list-style: none;} .navbar .nav-links li a {display: flex; align-items: center; gap: .5rem; font-weight: 500; font-size: clamp(.9rem,1.5vw,1rem); color: var(--accent-color); padding: .25rem .5rem; border-radius: var(--border-radius); position: relative; transition: all var(--transition-speed);} .navbar .nav-links li a::after {content: ""; position: absolute; width: 0%; height: 2px; bottom: -4px; left: 0; background-color: var(--accent-color); transition: width .3s ease;} .navbar .nav-links li a:hover::after {width: 100%;} .navbar .nav-links li a:hover,.nav-link.active-link {color: var(--accent-hover); background-color: rgba(0,255,247,.15); text-shadow: 0 0 1rem var(--accent-hover); transform: translateY(-2px);} .navbar .nav-links li a .icon {display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em;} @media (max-width: 768px) {.navbar {flex-direction: column; height: auto; padding: .5rem 5rem; align-items: flex-end;} .navbar .logo {align-self: flex-start; width: 100%; text-align: center; margin-bottom: .5rem;} .navbar .nav-links {flex-direction: column; gap: 1rem;}} .hero {margin: var(--section-padding) 0 2rem; padding: 0 1rem; max-width: 900px; display: flex; justify-content: center; transition: all var(--transition-speed);} .hero-content {display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; padding: 2rem; border-radius: var(--border-radius); background: linear-gradient(145deg,#11101b,#1a1a2e); box-shadow: 0 0 2rem var(--card-shadow); transition: all var(--transition-speed) ease-in-out;} .hero-content:hover {box-shadow: 0 0 2.5rem var(--card-shadow-hover);} .hero-text {flex: 1; text-align: left;} .hero-text h1 {font-size: clamp(2rem,5vw,3rem); font-weight: 700; color: var(--accent-color); text-shadow: 0 0 1rem rgba(0,255,247,.4); opacity: 0; transform: translateY(20px); animation: fadeInUp 1s forwards .2s;} .hero-text p {font-size: clamp(1rem,2.5vw,1.3rem); color: #bbb; opacity: 0; transform: translateY(20px); animation: fadeInUp 1s forwards .6s;} .hero-button {background: linear-gradient(90deg,var(--accent-color),var(--accent-hover)); color: var(--bg-color); font-weight: 700; padding: .75rem 2rem; border-radius: 50px; border: none; cursor: pointer; box-shadow: 0 0 1rem rgba(0,255,247,.5); transition: all .3s ease;} .hero-button:hover {transform: translateY(-3px) scale(1.05); box-shadow: 0 0 1.5rem var(--accent-hover);} .hero-image {flex-shrink: 0; width: 150px; height: 150px; border-radius: 50%; overflow: hidden; border: 3px solid var(--accent-color); box-shadow: 0 0 1rem rgba(0,255,247,.5); transition: all .3s ease,box-shadow .4s ease-in-out; background: radial-gradient(circle at top left,rgba(0,255,247,.2),transparent);} .hero-image img {width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease;} .hero-image:hover {transform: translateY(-5px) scale(1.05); box-shadow: 0 0 1.5rem rgba(0,255,247,.7),0 0 .5rem rgba(255,0,255,.3);} @media (max-width: 768px) {.hero {margin-top: 0; padding: 1rem;} .hero-content {flex-direction: column; align-items: center; gap: 1rem;} .hero-text {text-align: center;} .hero-text h1 {font-size: clamp(1.8rem,8vw,2.2rem);} .hero-text p {font-size: clamp(.9rem,4vw,1rem);} .hero-image {width: clamp(80px,20vw,120px); height: clamp(80px,20vw,120px); order: -1;}} .card {background-color: var(--card-bg); padding: 2rem; margin: 2rem 0; border-radius: var(--border-radius); box-shadow: 0 0 1.5rem var(--card-shadow); max-width: 600px; display: flex; flex-direction: column; gap: 1rem; transition: all var(--transition-speed) ease-in-out;} .card:hover {transform: translateY(-5px); box-shadow: 0 0 2rem var(--card-shadow-hover);} .card h2 {font-size: clamp(1.5rem,4vw,2rem); font-weight: 600; color: var(--accent-color);} .card p {font-size: clamp(.9rem,2vw,1rem); color: #ccc;} .card button {background: var(--accent-color); color: var(--bg-color); font-weight: 600; padding: .5rem 1.5rem; border-radius: 12px; border: none; cursor: pointer; transition: all .3s ease;} .card button:hover {transform: translateY(-2px) scale(1.03); box-shadow: 0 0 1rem var(--accent-hover);} .profile-image-top-left {position: fixed; top: calc(var(--navbar-height) + 1.2rem); left: 1.5rem; width: 120px; height: 120px; border-radius: 50%; overflow: hidden; border: 3px solid var(--accent-color); background-color: #111; box-shadow: 0 0 1rem rgba(0,255,247,.5); z-index: 999; transition: transform .3s ease,box-shadow .3s ease;} .profile-image-top-left img {width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;} .profile-image-top-left:hover {transform: translateY(-4px) scale(1.05); box-shadow: 0 0 1.5rem rgba(0,255,247,.7);} .profile-image-top-left:hover img {transform: scale(1.05);} @media (max-width: 768px) {.profile-image-top-left {top: calc(var(--navbar-height) + 2rem); left: 50%; transform: translateX(-50%); width: 80px; height: 80px; z-index: 999;}} .contact-section {display: flex; flex-direction: column; align-items: center; padding: var(--section-padding) 1rem; width: 100%; max-width: var(--max-content-width); gap: 2rem;} .contact-section h2 {font-size: clamp(1.5rem,4vw,2rem); color: var(--accent-color);} .contact-section p {font-size: clamp(.9rem,2vw,1rem); color: #ccc;} .contact-form {display: flex; flex-direction: column; gap: 1rem; width: 100%; max-width: 500px;} .contact-form input,.contact-form textarea {background-color: #222; border: 1px solid rgba(0,255,247,.3); color: var(--text-color); padding: .75rem; border-radius: var(--border-radius); transition: border-color .3s,box-shadow .3s;} .contact-form input:focus,.contact-form textarea:focus {border-color: var(--accent-color); box-shadow: 0 0 0 2px rgba(0,255,247,.5); outline: none;} .contact-submit {background: var(--accent-color); color: var(--bg-color); font-weight: 700; padding: .75rem; border-radius: var(--border-radius); border: none; cursor: pointer; transition: all .3s ease;} .contact-submit:hover {background-color: var(--accent-hover); box-shadow: 0 0 1rem var(--accent-hover); transform: translateY(-2px);} .contact-links {display: flex; gap: 1.5rem; margin-top: 1.5rem; flex-wrap: wrap; justify-content: center;} .contact-links a {display: inline-block; padding: .5rem 1.25rem; border-radius: var(--border-radius); background: linear-gradient(90deg,var(--accent-color),var(--accent-hover)); color: var(--bg-color); font-weight: 600; transition: all .3s ease;} .contact-links a:hover {transform: translateY(-2px) scale(1.05); box-shadow: 0 0 1.5rem var(--accent-hover);} .success-overlay {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15,15,20,.85); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 999; color: var(--accent-color); text-align: center; backdrop-filter: blur(4px);} .success-checkmark {font-size: 4rem; font-weight: bold; background: radial-gradient(circle,var(--accent-color),var(--accent-hover)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: 0 0 2rem rgba(0,255,247,.6); margin-bottom: 1rem;} .success-overlay p {font-size: 1.2rem; color: var(--text-color);} @media (max-width: 768px) {.contact-section {padding: 2rem 1rem; gap: 1.5rem;} .contact-form input,.contact-form textarea {font-size: .9rem;}} .timeline-item {opacity: 0; transform: translateY(10px); transition: opacity .6s ease,transform .6s ease,box-shadow .35s;} .timeline-item.is-visible {opacity: 1; transform: translateY(0);} .timeline {margin-top: 3rem; width: 100%; max-width: 800px; text-align: left;} .timeline h3 {color: var(--accent-color); font-size: 1.8rem; margin-bottom: 1.5rem; text-align: center;} .timeline-container {position: relative; margin-left: 2rem; padding-left: 2.5rem; border-left: 2px solid rgba(0,255,247,.2);} .timeline-item {margin-bottom: 2.5rem; position: relative;} .timeline-marker {position: absolute; left: -1.1rem; top: 8px; width: 18px; height: 18px; background: var(--accent-color); border-radius: 50%; box-shadow: 0 0 1rem rgba(0,255,247,.5); animation: pulseGlow 2s infinite ease-in-out;} .timeline-content {margin-left: 1rem;} .timeline-content h4 {color: var(--accent-color); font-size: 1.1rem; margin-bottom: .3rem;} .timeline-institution {font-weight: 500; color: #bbb; margin-bottom: .25rem;} .timeline-date {font-size: .85rem; color: #999; font-style: italic;} .timeline-details {font-size: .95rem; color: #ccc; margin-top: .5rem; line-height: 1.5;} .timeline-details ul,.timeline-details li {list-style: disc; margin-left: 1.5rem; color: #ccc;} @media (max-width: 768px) {.timeline {padding-left: .5rem;} .timeline-container {margin-left: 0; padding-left: 1.5rem;} .timeline-marker {left: -.9rem; width: 14px; height: 14px;} .timeline-content {margin-left: .8rem;}} @media (max-width: 768px) {.navbar {flex-direction: column; height: auto; padding: .5rem 5rem; align-items: flex-end;} .navbar .logo {align-self: flex-start; width: 100%; text-align: center; margin-bottom: .5rem;} .navbar .nav-links {flex-direction: column; gap: 1rem;} body {padding-top: calc(var(--navbar-height) + 15rem);} .hero {margin-top: 0; padding: 1rem;} .hero-content {flex-direction: column; align-items: center; gap: 1rem;} .hero-text {text-align: center;} .hero-text h1 {font-size: clamp(1.8rem,8vw,2.2rem);} .hero-text p {font-size: clamp(.9rem,4vw,1rem);} .hero-image {width: clamp(80px,20vw,120px); height: clamp(80px,20vw,120px); order: -1;} .profile-image-top-left {top: calc(var(--navbar-height) + 3rem); left: 5.5rem; width: 80px; height: 80px;} .contact-section {padding: 2rem 1rem; gap: 1.5rem;} .contact-form input,.contact-form textarea {font-size: .9rem;}}}@media(max-width:768px){.content-wrapper{margin-top:calc(var(--navbar-height) - 40px)}}.timeline-item{opacity:0;transform:translateY(15px);transition:opacity .6s ease,transform .6s ease,box-shadow .35s}.timeline-item.is-visible{opacity:1;transform:translateY(0)}.timeline{margin-top:3.5rem;width:100%;max-width:890px;text-align:left;position:relative}.timeline h3{color:var(--accent-color);font-size:1.9rem;margin-bottom:2rem;text-align:center;letter-spacing:.5px}.timeline-container{position:relative;margin-left:0;padding-left:1rem;border-left:2px solid rgba(0,255,247,.15);box-shadow:inset 0 0 10px #00fff70d}.timeline-item{position:relative;margin-bottom:3rem;padding-left:.5rem}.timeline-item:last-child{margin-bottom:1rem}.timeline-marker{position:absolute;left:-1.8rem;top:6px;width:20px;height:20px;background:var(--accent-color);border-radius:50%;box-shadow:0 0 1.2rem #00fff799;animation:pulseGlow 2.5s infinite ease-in-out;border:2px solid var(--bg-color)}.timeline-content{margin-left:1.4rem;padding:1rem;border-radius:8px;transition:transform .3s ease,box-shadow .3s ease}.timeline-content:hover{transform:translateY(-2px);box-shadow:0 0 .6rem #00fff726}.timeline-content h4{color:var(--accent-color);font-size:1.15rem;font-weight:600;margin-bottom:.3rem;text-shadow:0 0 .4rem rgba(0,255,247,.4)}.timeline-institution{font-weight:500;color:#bbb;margin-bottom:.25rem}.timeline-date{font-size:.85rem;color:#999;font-style:italic;margin-bottom:.4rem}.timeline-details{font-size:.95rem;color:#ccc;margin-top:.5rem;line-height:1.6}.timeline-details ul,.timeline-details li{list-style:disc;margin-left:1.5rem;color:#ccc}@keyframes pulseGlow{0%,to{box-shadow:0 0 .6rem #00fff766;transform:scale(1)}50%{box-shadow:0 0 1.4rem #00fff7cc;transform:scale(1.1)}}@media(max-width:768px){.timeline{padding-left:.5rem;margin-top:2rem}.timeline-container{margin-left:0;padding-left:2rem}.timeline-marker{left:-1rem;width:14px;height:14px}.timeline-content{margin-left:1rem}.timeline-content h4{font-size:1rem}.timeline-date{font-size:.8rem}}.project-search-bar{width:100%;max-width:500px;margin:1.5rem auto 2rem;display:block;padding:.7rem 1rem;border:1px solid rgba(0,255,247,.3);border-radius:var(--border-radius);background-color:#1a1a2e;color:var(--text-color);font-size:1rem;transition:all .3s ease}.project-search-bar:focus{border-color:var(--accent-color);box-shadow:0 0 1rem #00fff74d;outline:none}.project-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;justify-items:stretch;width:100%}.project-card{background:linear-gradient(145deg,#11101b,#1a1a2e);border:1px solid rgba(0,255,247,.15);border-radius:var(--border-radius);box-shadow:0 0 1rem #00fff71a;padding:1.6rem;transition:all .35s ease;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-4px);border-color:#00fff759;box-shadow:0 0 1.5rem #00fff740}.project-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.project-header h3{font-size:1.1rem;color:var(--accent-color)}.project-date{font-size:.85rem;color:#aaa;font-style:italic}.project-role{font-weight:600;color:#bbb;margin-bottom:.5rem}.project-desc{color:#ccc;font-size:.95rem;margin-bottom:.75rem;line-height:1.5}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.tag{background-color:#00fff726;color:var(--accent-color);border:1px solid rgba(0,255,247,.25);border-radius:12px;padding:.25rem .6rem;font-size:.8rem;transition:background .3s ease,transform .2s ease}.tag:hover{background-color:#00fff74d;transform:scale(1.05)}.project-highlights{margin-top:.6rem;margin-left:1.3rem;color:#ccc;font-size:.9rem;line-height:1.45;list-style-type:disc}.project-tech{margin-top:.75rem;color:#bbb;font-size:.9rem}.github-link{display:inline-block;margin-top:.75rem;color:var(--accent-color);font-weight:500;text-decoration:underline;transition:color .3s ease}.github-link:hover{color:var(--accent-hover)}@media(max-width:1200px){.project-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}}@media(max-width:1024px){.project-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(max-width:768px){.project-card{padding:1rem}.project-grid{grid-template-columns:1fr}}.instrumentation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2.5rem;width:100%}.instrumentation-card{background:linear-gradient(145deg,#11101b,#1a1a2e);border:1px solid rgba(0,255,247,.15);border-radius:var(--border-radius);box-shadow:0 0 1rem #00fff714;padding:1.8rem;opacity:0;transform:translateY(15px);transition:all .5s ease;position:relative;overflow:hidden}.instrumentation-card.is-visible{opacity:1;transform:translateY(0)}.instrumentation-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,255,247,.15) 0%,transparent 60%);opacity:0;transition:opacity .4s ease}.instrumentation-card:hover:before{opacity:1}.instrumentation-card:hover{transform:translateY(-5px);box-shadow:0 0 2rem #00fff740;border-color:#00fff759}.instrumentation-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}.instrumentation-icon{font-size:1.5rem;filter:drop-shadow(0 0 .5rem var(--accent-color))}.instrumentation-card h3{color:var(--accent-color);font-size:1.3rem;margin:0}.instrumentation-description{color:#bbb;font-size:.95rem;line-height:1.4;margin-bottom:.8rem}.instrumentation-techniques{padding-left:1.5rem;list-style:disc;margin:0}.instrumentation-techniques li{color:#ccc;font-size:.9rem;margin-bottom:.35rem;transition:color .3s ease}.instrumentation-techniques li:hover{color:var(--accent-hover)}@media(max-width:768px){.instrumentation-grid{grid-template-columns:1fr}.instrumentation-card{padding:1.2rem}.instrumentation-card h3{font-size:1.15rem}}.publication-search{width:100%;max-width:500px;margin-top:1.5rem;padding:.7rem 1rem;border:1px solid rgba(0,255,247,.3);border-radius:var(--border-radius);background-color:#1a1a2e;color:var(--text-color);font-size:1rem;transition:all .3s ease}.publication-search:focus{border-color:var(--accent-color);box-shadow:0 0 1rem #00fff74d;outline:none}.search-bar{width:100%;max-width:400px;padding:.75rem 1rem;margin-bottom:1.5rem;border-radius:8px;border:1px solid rgba(0,255,247,.3);background-color:#1a1a2e;color:var(--text-color);font-size:1rem;transition:all .3s ease}.search-bar:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 .5rem #00fff780}.publication-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.publication-card{background:linear-gradient(145deg,#11101b,#1a1a2e);border:1px solid rgba(0,255,247,.15);border-radius:var(--border-radius);box-shadow:0 0 1rem #00fff71a;padding:1.5rem;transition:all .35s ease;position:relative;overflow:hidden}.publication-card:hover{transform:translateY(-4px);border-color:#00fff759;box-shadow:0 0 1.5rem #00fff740}.publication-card h3{font-size:1rem;color:var(--accent-color);margin-bottom:.5rem}.journal{color:#bbb;font-style:italic;font-size:.9rem;margin-bottom:.3rem}.pub-date{color:#999;font-size:.85rem;margin-bottom:.5rem}.doi-link{color:var(--accent-color);font-size:.9rem;font-weight:500;text-decoration:underline;transition:color .3s ease}.doi-link:hover{color:var(--accent-hover)}.no-results{color:#aaa;text-align:center;grid-column:1 / -1}@media(max-width:768px){.publication-card{padding:1rem}}.contact-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;max-width:560px;margin:0 auto;padding:2rem 1rem;box-sizing:border-box;opacity:0;animation:fadeInUp .8s ease forwards;animation-delay:.2s}.contact-form{display:flex;flex-direction:column;gap:1rem;width:100%;background:linear-gradient(145deg,#11101b,#1a1a2e);border:1px solid rgba(0,255,247,.15);border-radius:var(--border-radius);box-shadow:0 0 1rem #00fff71a;padding:2rem;margin-top:1rem;transition:all .35s ease;box-sizing:border-box}.card-section{width:100%;max-width:560px;margin:0 auto;box-sizing:border-box}.contact-form input,.contact-form textarea{background-color:#222;border:1px solid rgba(0,255,247,.3);color:var(--text-color);padding:.75rem;border-radius:var(--border-radius);transition:border-color .3s,box-shadow .3s}.contact-form input:hover,.contact-form textarea:hover{box-shadow:0 0 .5rem #00fff740}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 2px #00fff766;outline:none}.contact-submit{background:var(--accent-color);color:var(--bg-color);font-weight:700;padding:.8rem;border-radius:var(--border-radius);border:none;cursor:pointer;transition:all .3s ease}.contact-submit:hover{background-color:var(--accent-hover);box-shadow:0 0 1rem var(--accent-hover);transform:translateY(-2px)}.contact-error{color:tomato;margin-top:1rem;text-align:center}.contact-links{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:2rem;justify-content:center}.contact-links a{display:inline-block;padding:.6rem 1.3rem;border-radius:var(--border-radius);background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));color:var(--bg-color);font-weight:600;transition:all .3s ease}.contact-links a:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 1.2rem var(--accent-hover)}.success-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f0f14d9;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:999;color:var(--accent-color);text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.success-checkmark{font-size:4rem;font-weight:700;background:radial-gradient(circle,var(--accent-color),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 2rem rgba(0,255,247,.6);margin-bottom:1rem}.success-overlay p{font-size:1.2rem;color:var(--text-color)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.contact-container,.card-section{max-width:100%;padding:1.5rem 1rem}.contact-form{padding:1.25rem}.contact-links{flex-direction:column;align-items:center}.contact-links a{width:100%;text-align:center}}
