:root{--bg: #f5f5f7;--text-primary: #1d1d1f;--text-secondary: #86868b;--border: #d2d2d7}body{background-color:var(--bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;-webkit-font-smoothing:antialiased;overflow-x:hidden}.content-wrapper{max-width:1200px;margin:0 auto;padding:0 40px}.flex-center{display:flex;justify-content:center}h1,h2,h3,h4{font-weight:700;margin:0;letter-spacing:-.02em}p{color:var(--text-secondary);margin:0;line-height:1.6}.navbar{border-bottom:1px solid var(--border);position:fixed;top:0;width:100%;background-color:#f5f5f7cc;backdrop-filter:saturate(180%) blur(20px);z-index:100;height:60px;display:flex;align-items:center}nav{display:flex;justify-content:space-between;width:100%;max-width:1200px;margin:0 auto;padding:0 40px;align-items:center}.nav-logo{height:44px;width:auto}nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}nav ul a{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:14px;transition:color .2s ease}nav ul a:hover,nav ul a.active{color:var(--text-primary)}.hero{padding-top:100px;padding-bottom:60px;background-color:#fff}.hero .content-wrapper{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-text{flex:1;max-width:540px}.badge{display:inline-block;padding:6px 12px;background-color:#f5f5f7;color:var(--text-secondary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:20px;margin-bottom:24px;border:1px solid var(--border)}.hero-text h1{font-size:64px;line-height:1.05;margin-bottom:24px;color:var(--text-primary)}.hero-text p{font-size:20px;color:var(--text-secondary);font-weight:400;margin-bottom:32px}.hero-actions{display:flex;gap:16px}.btn-primary{background-color:var(--text-primary);color:#fff;padding:14px 28px;border-radius:980px;text-decoration:none;font-weight:500;font-size:16px;transition:transform .2s ease,background-color .2s ease}.btn-primary:hover{background-color:#000;transform:scale(1.02)}.btn-secondary{background-color:transparent;color:var(--text-primary);padding:14px 28px;border-radius:980px;text-decoration:none;font-weight:500;font-size:16px;border:1px solid var(--text-primary);transition:all .2s ease;cursor:pointer;font-family:inherit}.btn-secondary:hover{background-color:var(--bg);transform:scale(1.02)}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#1d1d1f66;backdrop-filter:blur(8px);align-items:center;justify-content:center}.modal.show{display:flex}.modal-content{background-color:#fff;padding:40px;border-radius:24px;max-width:420px;text-align:center;position:relative;box-shadow:0 20px 40px #00000026;animation:modalFadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.close-btn{position:absolute;top:16px;right:24px;font-size:28px;font-weight:300;color:var(--text-secondary);cursor:pointer;line-height:1}.close-btn:hover{color:var(--text-primary)}.modal-content h2{font-size:28px;margin-bottom:12px}.modal-content p{font-size:16px;margin-bottom:20px}.email-link{color:#0071e3;font-weight:600;font-size:18px;text-decoration:none}.email-link:hover{text-decoration:underline}.card-med:nth-child(2) h3{background:linear-gradient(90deg,#34c759,#30b0c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card-med:nth-child(3) h3{background:linear-gradient(90deg,#0071e3,#af52de);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.card-med:nth-child(4) h3{background:linear-gradient(90deg,#ff9500,#ff2d55);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-image-container{flex:1;display:flex;justify-content:flex-end}.render-placeholder{width:100%;max-width:500px;aspect-ratio:4/3;background:#e5e5ea;border-radius:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-family:monospace;font-size:14px;border:1px dashed var(--border)}.showcase{padding:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;padding:48px;border-radius:24px;box-shadow:0 4px 24px #00000005;transition:transform .3s ease}.card:hover{transform:translateY(-4px)}.card h2{font-size:32px;margin-bottom:16px}.card h3{font-size:24px;margin-bottom:12px}.card p{font-size:17px}.card-lrg{grid-column:span 3;display:flex;flex-direction:column;justify-content:center;text-align:center;align-items:center;padding:80px 40px}.card-lrg p{max-width:600px}.card-med{grid-column:span 1}.team{padding:80px 0 60px;text-align:center}.team h2{font-size:40px;margin-bottom:10px}.section-subtitle{font-size:18px;margin-bottom:60px;color:var(--text-secondary)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}.team-member{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.avatar-link{display:block;border-radius:50%;width:120px;height:120px;flex-shrink:0}.team-avatar{width:120px;height:120px;object-fit:cover;border-radius:50%;display:block;transition:transform .3s ease,box-shadow .3s ease}.avatar-link:hover .team-avatar{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.team-member h4{font-size:15px;margin:0}.team-member p{font-size:13px}.gallery{padding:60px 0 120px;text-align:center}.gallery h2{font-size:40px;margin-bottom:10px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.gallery-img{width:100%;height:300px;object-fit:cover;border-radius:20px;box-shadow:0 4px 20px #0000000a;transition:transform .3s ease}.gallery-img:hover{transform:scale(1.02)}.gallery-placeholder{width:100%;height:300px;background-color:#e5e5ea;border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-family:monospace}.academic-context{padding:0 0 120px}.academic-card{background:#fff;border-radius:24px;padding:60px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 4px 24px #00000005;max-width:800px;width:100%}.uni-logo{max-height:140px;width:auto;margin-bottom:30px;opacity:.85}.academic-info h3{font-size:24px;margin-bottom:12px}.academic-info p{font-size:16px;margin-bottom:24px}.supervisors{font-size:15px;color:var(--text-primary);line-height:1.5}@media(max-width:768px){.content-wrapper,nav{padding:0 24px}.nav-logo{height:32px}nav ul{gap:16px}.hero .content-wrapper{flex-direction:column;text-align:center}.hero-text h1{font-size:48px}.hero-actions{justify-content:center}.hero-image-container{display:none}.card-grid{grid-template-columns:1fr}.card-lrg{grid-column:span 1;padding:40px 24px}.card{padding:32px 24px}.modal-content{width:90%;padding:32px 24px;margin:0 16px}.modal-content h2{font-size:24px}.close-btn{top:12px;right:16px}.team-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr}}@media(max-width:480px){.team-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%;box-sizing:border-box}}.roach-divider{width:100%;height:40px;position:relative;overflow:hidden;margin:40px 0}.roach-track{width:100%;height:100%;position:relative}.roach-mover{position:absolute;top:50%;left:-100px;will-change:transform}.scurrying-roach{height:24px;width:auto;display:block;opacity:.7;animation:wobble .15s infinite alternate ease-in-out}@keyframes wobble{0%{transform:translateY(-50%) rotate(-4deg)}to{transform:translateY(-50%) rotate(4deg)}}
