:root{--bg:#0b1220;--surface:#111a2c;--surface-soft:#152039;--text:#ecf2ff;--muted:#b4c1dd;--accent:#78a8ff;--border:#263758}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top right, #142748, var(--bg) 60%);color:var(--text);scroll-behavior:smooth;margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--accent);text-decoration:none}.page{grid-template-columns:300px 1fr;gap:1rem;width:min(1200px,94vw);margin:2rem auto;display:grid}.sidebar{border:1px solid var(--border);background:linear-gradient(#ffffff0a,#0000);border-radius:18px;flex-direction:column;gap:1.2rem;height:fit-content;padding:1.2rem;display:flex;position:sticky;top:1rem}.sidebar h1{margin:.25rem 0;font-size:1.7rem}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem}.title{color:var(--accent);margin:0}.muted{color:var(--muted)}.sidebar ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.sidebar li a{border-radius:8px;padding:.35rem .45rem;transition:background-color .2s;display:inline-block}.sidebar li a:hover{background:var(--surface-soft)}.contact{gap:.4rem;font-size:.93rem;display:grid}.content{gap:1rem;display:grid}.hero-card{--mx:50%;--my:50%;background:radial-gradient(circle at 0 0,#113d34 0%,#08131d 68%);border:1px solid #22564c;border-radius:22px;padding:1.4rem;position:relative;overflow:hidden}.hero-card:before{content:"";left:var(--mx);top:var(--my);pointer-events:none;background:radial-gradient(circle,#48e0ba38 0%,#48e0ba00 65%);width:260px;height:260px;position:absolute;transform:translate(-50%,-50%)}.hero-grid{z-index:1;grid-template-columns:1fr 220px;align-items:end;gap:1rem;display:grid;position:relative}.resume-pill{color:#dcfff6;background:#0a3b3173;border:1px solid #2e6f62;border-radius:999px;align-items:center;gap:.6rem;padding:.42rem .42rem .42rem .75rem;font-weight:600;display:inline-flex}.pill-arrow{background:#0a1e1a;border:1px solid #2e6f62;border-radius:999px;place-items:center;width:28px;height:28px;display:inline-grid}.hero-name{margin:.9rem 0 .2rem;font-size:clamp(2rem,7vw,4rem);line-height:1}.hero-role{color:#a9b6d0;margin:0;font-size:clamp(1.1rem,3vw,2rem)}.hero-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.hero-actions a{color:#e7edf9;background:#0a0f18b3;border:1px solid #33445f;border-radius:12px;padding:.5rem .8rem;font-weight:600;display:inline-block}.hero-photo-wrap{justify-self:end;width:220px;max-width:100%}.hero-photo{aspect-ratio:4/5;object-fit:cover;background:#ffffff0d;border:1px solid #2d4d68;border-radius:18px;width:100%}.card{border:1px solid var(--border);background:linear-gradient(#ffffff08,#0000);border-radius:18px;padding:1.2rem}.card h2,.card h3{margin-top:0}.chips{flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.chips li{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.42rem .7rem;font-size:.9rem}.timeline{gap:.9rem;display:grid}.timeline-item{border-left:2px solid var(--border);padding-left:.8rem}.timeline-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.timeline-header span{color:var(--muted);font-size:.9rem}.company{color:var(--muted);margin:.3rem 0}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.project-links{flex-wrap:wrap;gap:.8rem;margin-top:.8rem;display:flex}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.8rem;display:grid}.project-bullets{color:var(--muted);gap:.45rem;margin:.8rem 0 0;padding-left:1.1rem;display:grid}.project-gallery img{border:1px solid var(--border);background:var(--surface-soft);object-fit:cover;border-radius:12px;width:100%}.project-links a,.inline-link{background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;padding:.5rem .75rem;display:inline-block}@media (max-width:900px){.page{grid-template-columns:1fr}.sidebar{position:static}.skills-grid,.hero-grid{grid-template-columns:1fr}.hero-photo-wrap{justify-self:start;width:min(260px,80%)}.project-gallery{grid-template-columns:1fr}.timeline-header{flex-direction:column;gap:.2rem}}
