:root{--bg:#080d1c;--surface:#0f172a;--text:#cbd5e1;--text-muted:#94a3b8;--text-strong:#f8fafc;--accent:#67e8f9;--accent-soft:#a7f3d0;--line:#94a3b82e;--shadow-soft:0 14px 40px #0000002e;--shadow-card:0 22px 70px #0000003d;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 18% 12%,#2dd4bf21,#0000 30%),radial-gradient(circle at 82% 6%,#60a5fa1f,#0000 28%),linear-gradient(#080d1c 0%,#0b1020 48%,#080d1c 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}body:before{content:"";z-index:-1;opacity:.34;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:54px 54px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}button,input,textarea{font:inherit}::selection{color:#06111f;background:var(--accent)}html{scroll-behavior:smooth}main{min-height:100vh;overflow:hidden}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;width:min(1120px,100% - 40px);margin:0 auto;padding:18px 0;display:flex;position:sticky;top:0}.topbar.nav-only{justify-content:flex-end}.brand,.nav-links a{color:var(--text-strong);text-decoration:none}.brand{letter-spacing:.02em;font-weight:800}.nav-links{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#080d1cc7;border-radius:999px;gap:10px;padding:7px;display:flex}.nav-links a{color:var(--text-muted);border-radius:999px;padding:8px 13px;font-size:.92rem;transition:color .18s,background .18s,transform .18s}.nav-links a:hover{color:var(--text-strong);background:#ffffff14;transform:translateY(-1px)}.hero-section,.section{width:min(1120px,100% - 40px);margin:0 auto}.hero-section{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:center;gap:54px;min-height:calc(100vh - 70px);padding:34px 0 84px;display:grid;position:relative}.hero-orb{filter:blur(58px);opacity:.28;pointer-events:none;border-radius:50%;width:320px;height:320px;animation:9s ease-in-out infinite alternate drift;position:absolute}.hero-orb-one{background:#2dd4bf;top:10%;left:-16%}.hero-orb-two{background:#60a5fa;animation-delay:-3s;bottom:16%;right:-18%}.hero-copy,.portrait-panel{z-index:1;position:relative}.section-eyebrow,.project-eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{max-width:760px;color:var(--text-strong);letter-spacing:-.05em;margin-bottom:20px;font-size:clamp(3rem,7vw,6rem);line-height:.95}h1 span,h1 strong{display:block}h1 span{letter-spacing:-.025em;font-size:.56em;font-weight:800}h1 strong{color:#0000;background:linear-gradient(135deg,#f8fafc 14%,#67e8f9 48%,#8b5cf6 88%);-webkit-background-clip:text;background-clip:text;font-weight:900}h2{max-width:760px;color:var(--text-strong);letter-spacing:-.035em;margin-bottom:28px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}h3{color:var(--text-strong);margin-bottom:8px;font-size:1.12rem;line-height:1.22}.hero-text{max-width:660px;color:var(--text);font-size:clamp(1rem,1.65vw,1.15rem)}.rotating-role{max-width:760px;color:var(--accent);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(1.12rem,2vw,1.38rem);font-weight:900;line-height:1.2;display:block}.role-letter{will-change:transform, opacity, filter;display:inline-block}.location-badge,.contact-location{flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px;display:flex}.location-badge span,.location-badge small,.contact-location span,.badge-panel span{min-height:32px;color:var(--text-strong);background:#67e8f912;border:1px solid #67e8f938;border-radius:999px;align-items:center;padding:0 12px;font-size:.86rem;font-weight:750;display:inline-flex}.location-badge small{min-height:auto;color:var(--text-muted);background:0 0;border:0;padding:0;font-size:.8rem;font-weight:700}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero-actions.centered{justify-content:center}.button{cursor:pointer;min-height:46px;font:inherit;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 19px;font-weight:800;text-decoration:none;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{color:#06111f;background:linear-gradient(135deg,#67e8f9,#8b5cf6);box-shadow:0 18px 44px #2dd4bf38}.button.ghost{color:var(--text-strong);border-color:var(--line);background:#ffffff0f}.button.ghost:hover{background:#67e8f914;border-color:#67e8f96b}.resume-modal{z-index:100;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.resume-modal-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#020617c7;position:absolute;inset:0}.resume-modal-panel{z-index:1;background:#080d1cf5;border:1px solid #94a3b847;border-radius:18px;grid-template-rows:auto minmax(0,1fr);width:min(100%,980px);height:min(90vh,860px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 90px #00000080}.resume-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.resume-modal-header h2{letter-spacing:0;margin:0;font-size:1.1rem}.resume-modal-actions{flex-wrap:wrap;gap:10px;display:flex}.resume-modal-actions .button{min-height:40px;padding:0 14px}.resume-frame{background:#f8fafc;border:0;width:100%;height:100%}.portrait-panel{place-self:start end;width:min(100%,320px);margin-top:clamp(44px,8vh,76px)}.portrait-frame{aspect-ratio:1;background:linear-gradient(145deg,#0f172adb,#1e293b8f);border:3px solid #f8fafceb;border-radius:50%;transition:transform .28s,box-shadow .28s;position:relative;overflow:hidden;box-shadow:0 30px 90px #00000057,0 0 48px #60a5fa24}.portrait-frame:hover{transform:translateY(-5px)scale(1.01);box-shadow:0 34px 100px #0006,0 0 62px #60a5fa33}.portrait-frame img,.portrait-fallback{width:100%;height:100%}.portrait-frame img{object-fit:cover;border-radius:50%;display:block}.portrait-fallback{color:var(--text-strong);letter-spacing:-.08em;background:radial-gradient(circle at 30% 20%,#67e8f957,#0000 34%),linear-gradient(145deg,#0f172aeb,#1e293bc2);place-items:center;font-size:4rem;font-weight:900;display:grid}.floating-note{z-index:2;border:1px solid var(--line);width:max-content;max-width:calc(100% - 28px);box-shadow:var(--shadow-card);background:#080d1ceb;border-radius:18px;margin:-36px auto 0;padding:14px 18px;position:relative;transform:translate(-14px)}.role-note{text-align:center}.floating-note strong,.floating-note span{display:block}.floating-note strong{color:var(--text-strong)}.floating-note span{color:var(--text-muted);font-size:.9rem}.section{padding:92px 0}.about-card,.badge-panel,.cert-card,.timeline-card,.skill-category,.project-card,.publication-card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:linear-gradient(145deg,#0f172ae6,#0f172a94)}.about-layout{gap:18px;max-width:980px;display:grid}.about-card{color:var(--text);border-radius:22px;padding:28px;font-size:1.08rem}.journey-list{gap:14px;display:grid}.about-card p{margin-bottom:0}.approach-card{gap:8px;padding:24px 28px;display:grid}.approach-card h3{margin-bottom:0}.badge-panel{border-radius:22px;flex-wrap:wrap;align-content:flex-start;gap:10px;padding:22px;display:flex}.timeline{gap:18px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(#0000,#67e8f980,#0000);width:1px;position:absolute;top:20px;bottom:20px;left:17px}.timeline-card{border-radius:20px;margin-left:42px;padding:22px;transition:transform .22s,border-color .22s,background .22s;position:relative}.timeline-card:hover,.project-card:hover,.skill-category:hover,.cert-card:hover,.publication-card:hover{border-color:#67e8f95c;transform:translateY(-4px)}.timeline-dot{background:var(--accent);border:3px solid #0b1020;border-radius:50%;width:14px;height:14px;position:absolute;top:26px;left:-33px;box-shadow:0 0 0 6px #67e8f91f}.card-topline{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.card-identity{align-items:center;gap:14px;display:flex}.logo-badge{width:52px;height:52px;color:var(--text-strong);background:#ffffff0f;border:1px solid #67e8f93d;border-radius:16px;flex:none;place-items:center;font-size:.78rem;font-weight:900;display:grid;overflow:hidden}.logo-badge img{object-fit:contain;width:78%;height:78%}.role{color:var(--accent-soft);margin-bottom:0;font-weight:800}.meta{color:var(--text-muted);white-space:nowrap;font-size:.9rem}ul{color:var(--text);margin:0 0 16px;padding-left:20px}li+li{margin-top:8px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{min-height:28px;color:var(--text-strong);background:#ffffff0e;border:1px solid #94a3b833;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:700;display:inline-flex}.education-list .timeline-card ul{margin-bottom:0}.cert-card{border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:24px;transition:transform .22s,border-color .22s;display:flex}.cert-card p{color:var(--text);margin-bottom:0}.skills-catalog,.project-grid{gap:18px;display:grid}.skills-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-category{border-radius:18px;padding:22px;transition:transform .22s,border-color .22s,background .22s}.skill-chip-grid{flex-wrap:wrap;gap:10px;display:flex}.skill-chip{min-height:36px;color:var(--text-strong);background:#ffffff0e;border:1px solid #94a3b833;border-radius:999px;align-items:center;gap:8px;padding:0 11px;font-size:.84rem;font-weight:750;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.skill-chip:hover{background:#67e8f917;border-color:#67e8f961;transform:translateY(-2px)}.skill-chip img,.skill-fallback{width:18px;height:18px}.skill-fallback{color:#06111f;background:var(--accent);border-radius:5px;place-items:center;font-size:.55rem;font-weight:900;display:inline-grid}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{border-radius:20px;flex-direction:column;min-height:232px;padding:24px;transition:transform .22s,border-color .22s,background .22s;display:flex}.project-card p:not(.project-eyebrow){color:var(--text)}.project-heading{justify-content:space-between;gap:16px;display:flex}.project-heading a{border:1px solid var(--line);width:38px;height:38px;color:var(--text-strong);background:#ffffff0f;border-radius:50%;flex:none;place-items:center;transition:transform .18s,color .18s,border-color .18s;display:inline-grid}.project-heading a:hover{color:var(--accent);border-color:#67e8f96b;transform:translateY(-2px)rotate(5deg)}.link-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:18px;height:18px}.project-card .tags{margin-top:auto;padding-top:20px}.publication-card{border-radius:22px;justify-content:space-between;align-items:center;gap:28px;padding:26px;display:flex}.publication-card p{color:var(--text)}.social-links{gap:12px;margin-top:18px;display:flex}.social-links a,.contact-icon{border:1px solid var(--line);width:42px;height:42px;color:var(--text-strong);background:#ffffff0f;border-radius:14px;place-items:center;transition:transform .18s,border-color .18s,background .18s;display:inline-grid}.social-links a:hover{background:#67e8f91a;border-color:#67e8f96b;transform:translateY(-2px)}.social-links svg,.contact-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px}.contact-icon svg{stroke-width:1.85px;width:30px;height:30px}.social-links a[aria-label=GitHub] svg,.social-links a[aria-label=LinkedIn] svg{fill:currentColor;stroke:none}.contact-section h2,.contact-subtitle{text-align:center;margin-left:auto;margin-right:auto}.contact-section h2{margin-bottom:12px}.contact-subtitle{max-width:720px;color:var(--text);font-size:1.08rem}.contact-grid{grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);align-items:start;gap:32px;margin-top:42px;display:grid}.contact-info-card,.contact-form-card{border:1px solid var(--line);box-shadow:var(--shadow-card);background:linear-gradient(145deg,#0f172ad1,#0f172a8a);border-radius:24px}.contact-info-card{text-align:left;padding:28px}.contact-info-card>p{color:var(--text)}.contact-items{gap:18px;margin-top:28px;display:grid}.contact-item{align-items:center;gap:14px;display:flex}.contact-icon{color:var(--accent);background:#2563eb2e;flex:none}.contact-item strong,.contact-item span{display:block}.contact-item strong{color:var(--text-strong);margin-bottom:2px}.contact-item span{color:var(--text)}.contact-location{justify-content:flex-start}.contact-socials{margin-top:22px}.contact-form-card{padding:28px}.contact-form-card form{gap:16px;display:grid}.contact-form-card label{color:var(--text-strong);gap:8px;font-size:.9rem;font-weight:750;display:grid}.contact-form-card input,.contact-form-card textarea{width:100%;color:var(--text-strong);background:#3341559e;border:1px solid #94a3b838;border-radius:16px;outline:none;padding:14px 16px;transition:border-color .18s,box-shadow .18s,background .18s}.contact-form-card textarea{resize:vertical;min-height:116px}.contact-form-card input:focus,.contact-form-card textarea:focus{background:#334155c2;border-color:#67e8f994;box-shadow:0 0 0 4px #67e8f91a}.send-button{cursor:pointer;width:100%}.reveal{opacity:0;transition:opacity .62s ease var(--delay,0s), transform .62s ease var(--delay,0s);transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(20px,-24px)scale(1.08)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}@media (width<=900px){.topbar{flex-direction:column;align-items:flex-start;gap:14px}.nav-links{scrollbar-width:none;width:100%;overflow-x:auto}.hero-section{grid-template-columns:1fr;gap:36px;min-height:auto;padding-top:44px}.portrait-panel{justify-self:stretch;width:min(390px,100%);margin:0 auto}.about-layout,.contact-grid,.skills-catalog,.project-grid{grid-template-columns:1fr}.card-topline,.cert-card,.publication-card{flex-direction:column}.meta{white-space:normal}}@media (width<=560px){.hero-section,.section,.topbar{width:min(100% - 28px,1120px)}.section{padding:66px 0}.nav-links a{padding:8px 11px}.hero-actions,.hero-actions.centered,.location-badge,.contact-location{flex-direction:column;align-items:stretch}.button,.location-badge span,.contact-location span{width:100%}.resume-modal{padding:12px}.resume-modal-panel{border-radius:12px;height:92vh}.resume-modal-header{flex-direction:column;align-items:stretch}.resume-modal-actions .button{flex:1}.contact-info-card,.contact-form-card{padding:22px}.timeline-card{margin-left:28px;padding:19px}.timeline:before{left:9px}.timeline-dot{left:-27px}}
