:root{color:#e7ecff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#090b12;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{color:#d7ddf4;background:radial-gradient(circle at 18% -6%,#627aff3d 0%,#627aff00 38%),radial-gradient(circle at 78% 12%,#15c7bf33 0%,#15c7bf00 34%),#090b12;min-width:320px;min-height:100vh;margin:0}a{color:inherit}#root{min-height:100vh}.page{gap:1.25rem;width:min(1120px,92vw);margin:0 auto;padding:3.5rem 0 4rem;display:grid}.card{background:linear-gradient(140deg,#0e121ff2,#0b0e19eb);border:1px solid #273250;border-radius:1.1rem;padding:1.6rem;box-shadow:0 16px 44px #03050b73}h1,h2,h3{color:#f5f8ff;margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(2rem,4.2vw,3.2rem)}h2{font-size:clamp(1.35rem,2.1vw,1.8rem)}h3{font-size:1.08rem}p{margin:0}.section-heading{margin-bottom:1rem}.section-heading p{color:#9da9cb;margin-top:.42rem}.hero{grid-template-columns:1.45fr 1fr;gap:1.25rem;display:grid}.hero__eyebrow{text-transform:uppercase;letter-spacing:.17em;color:#8d9bc4;margin:0;font-size:.74rem}.hero__role{color:#95c6ff;margin-top:.62rem;font-weight:600}.hero__intro{color:#b8c3e5;max-width:66ch;margin-top:.9rem}.hero__actions{flex-wrap:wrap;gap:.72rem;margin-top:1.3rem;display:flex}.button{border:1px solid #0000;border-radius:.72rem;justify-content:center;align-items:center;padding:.7rem 1.06rem;font-weight:600;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:focus-visible{outline-offset:2px;outline:2px solid #8fc2ff}.button--primary{color:#08142d;background:linear-gradient(135deg,#4f7fff,#3eb8ff);box-shadow:0 10px 24px #3f7eff59}.button--ghost{color:#d4ddfb;border-color:#3a496c}.button--ghost:hover{border-color:#5a6f9b}.hero__meta{gap:.72rem;display:grid}.meta-item{background:#090e1bc7;border:1px solid #273659;border-radius:.8rem;gap:.2rem;padding:.84rem .95rem;display:grid}.meta-item span:last-child,.meta-item a{color:#dce6ff;text-decoration:none}.meta-item__label{text-transform:uppercase;letter-spacing:.08em;color:#91a0c8;font-size:.73rem}.body-copy{color:#bdc9e7;max-width:90ch}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.skill-card{background:#0a0f1bbd;border:1px solid #223154;border-radius:.84rem;padding:.9rem .95rem}.skill-card ul{color:#c3cee9;gap:.34rem;margin:.72rem 0 0;padding-left:1rem;display:grid}.timeline{gap:.85rem;display:grid}.timeline-item{background:#090d18b8;border:1px solid #223154;border-radius:.88rem;padding:.95rem 1rem}.timeline-item__period{color:#8ea1cc;margin-bottom:.46rem;font-size:.86rem;font-weight:600}.timeline-item p{color:#bcc7e4;margin-top:.35rem}.timeline-item ul{color:#c4cfea;gap:.3rem;margin:.7rem 0 0;padding-left:1rem;display:grid}.language-chips{flex-wrap:wrap;gap:.58rem;display:flex}.chip{color:#ccdafc;background:#0d1426c7;border:1px solid #314778;border-radius:999px;margin:0;padding:.36rem .76rem;font-size:.84rem}.projects-state{color:#b7c5e8;margin:0;padding:.7rem .2rem}.projects-state--error{color:#ff9ca7}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.92rem;display:grid}.project-card{background:#0b101de0;border:1px solid #253357;border-radius:.95rem;flex-direction:column;min-height:100%;display:flex;overflow:hidden}.project-card__media{position:relative}.project-card__media img,.project-card__placeholder{object-fit:cover;width:100%;height:170px;display:block}.project-card__gallery-nav{gap:.3rem;display:flex;position:absolute;top:.5rem;right:.5rem}.project-card__gallery-nav button{color:#dce6ff;cursor:pointer;background:#060a14bd;border:1px solid #3a4f82;border-radius:.45rem;width:1.8rem;height:1.8rem;line-height:1}.project-card__gallery-nav button:hover{border-color:#5f7bc0}.project-card__gallery-count{color:#dbe4ff;background:#070b14c7;border:1px solid #324a80;border-radius:999px;margin:0;padding:.12rem .5rem;font-size:.74rem;font-weight:600;position:absolute;bottom:.5rem;left:.5rem}.project-card__placeholder{color:#9eb0d8;letter-spacing:.03em;background:linear-gradient(135deg,#141d35,#0e172d);place-items:center;font-weight:600;display:grid}.project-card__body{flex-direction:column;gap:.78rem;height:100%;padding:1rem;display:flex}.project-card__top{justify-content:space-between;align-items:flex-start;gap:.56rem;display:flex}.project-card__badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.36rem;display:flex}.project-card__status{text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;border-radius:999px;padding:.2rem .55rem;font-size:.7rem;font-weight:700}.project-card__status--progress{color:#ffe8a5;background:#78560752;border-color:#8e6d1e}.project-card__status--completed{color:#b7ffd8;background:#0b724047;border-color:#1c7a4f}.project-card__badge{text-transform:uppercase;letter-spacing:.06em;color:#e2ebff;background:#2f4477;border-radius:999px;padding:.18rem .56rem;font-size:.72rem}.project-card__description{color:#bdcaea}.project-card__stack{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.project-card__stack li{color:#c9d5f5;border:1px solid #314778;border-radius:999px;padding:.2rem .56rem;font-size:.77rem}.project-card__links{flex-wrap:wrap;align-items:center;gap:.58rem;margin-top:auto;display:flex}.project-card__links a{color:#9fbeff;font-weight:600;text-decoration:none}.project-card__links a:hover{text-decoration:underline}.project-card__nolink{color:#9caacf;font-size:.88rem}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.contact-card{color:#d9e4ff;background:#0a0f1bbd;border:1px solid #2a3a62;border-radius:.8rem;gap:.28rem;margin:0;padding:.82rem .94rem;text-decoration:none;display:grid}.contact-card__label{color:#92a1c5;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem}.contact-actions{flex-wrap:wrap;gap:.7rem;margin-top:.92rem;display:flex}@media (width<=960px){.hero,.skills-grid,.contact-grid{grid-template-columns:1fr}}@media (width<=640px){.page{gap:.95rem;width:min(1120px,94vw);padding:2rem 0 2.6rem}.card{border-radius:.94rem;padding:1.12rem}.hero__actions,.contact-actions{gap:.56rem}}
