@import"https://fonts.googleapis.com/css2?family=Radio+Canada+Big:wght@400;500;600&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;1,8..60,300;1,8..60,400&family=Geist+Mono:wght@400;500&family=Inter:wght@400;500;600&display=swap";:root{--black: #000;--white: #fff;--off-white: #f6f8fb;--gray: #dbe0ec;--muted: rgba(255,255,255,.7);--accent: rgba(255,255,255,.08);--font-serif: "Source Serif 4", "Georgia", serif;--font-sans: "Radio Canada Big", sans-serif;--font-mono: "Geist Mono", monospace;--font-body: "Inter", sans-serif;--max: 1100px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{background:var(--black);color:var(--white);font-family:var(--font-body);overflow-x:hidden}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer;padding:0}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit}img{display:block;max-width:100%}nav{position:fixed;top:0;left:0;right:0;z-index:9999;height:60px;backdrop-filter:blur(32px);background:#00000080;border-bottom:1px solid rgba(255,255,255,.06)}.nav-inner{max-width:var(--max);margin:0 auto;height:100%;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.nav-name{font-family:var(--font-sans);font-weight:500;font-size:17px;letter-spacing:-.3px;color:var(--white);text-decoration:none}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--white);opacity:.6;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-contact{font-family:var(--font-mono);font-size:12px;color:var(--white);border:1px solid rgba(255,255,255,.2);padding:7px 14px;border-radius:3px;transition:border-color .2s,background .2s;opacity:1!important}.nav-contact:hover{border-color:#ffffffc7;background:#ffffff0d}@media(max-width:640px){.nav-inner{padding:0 20px}.nav-links{gap:14px}.nav-section{display:none}}.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:120px 40px 80px;max-width:var(--max);margin:0 auto;position:relative}.hero-layout{display:flex;align-items:flex-start;gap:60px;width:100%}.hero-text{flex:1;display:flex;flex-direction:column}.hero-photo-wrap{flex-shrink:0;padding-top:8px}.hero-photo{width:300px;height:300px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.6)}.hero-photo-placeholder{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:#ffffff40;text-align:center;padding:16px}@media(max-width:640px){.hero-layout{flex-direction:column;gap:28px;align-items:center}.hero-photo{width:140px;height:140px}.hero-text{align-items:center;text-align:center}.hero-desc{text-align:left}.hero-meta{justify-content:center}.hero-tag{text-align:center}}.hero-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--muted);margin-bottom:32px}.hero-greeting{font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,2.5vw,26px);color:#ffffffd1;margin-bottom:12px}.hero-name{font-family:var(--font-sans);font-weight:600;font-size:clamp(52px,8vw,100px);line-height:.95;letter-spacing:-2px;color:var(--white);margin-bottom:32px}.hero-desc{font-family:var(--font-body);font-size:clamp(16px,1.8vw,20px);line-height:1.6;color:#ffffffd1;max-width:560px;margin-bottom:48px}.hero-meta{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.hero-meta-item{display:flex;align-items:center;gap:8px}.hero-meta-dot{width:5px;height:5px;border-radius:50%;background:#ffffff40;flex-shrink:0}.hero-meta-text{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--muted)}.hero-scroll{position:absolute;bottom:40px;left:40px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:#fff3;display:flex;align-items:center;gap:12px}.hero-scroll:before{content:"";display:block;width:32px;height:1px;background:#ffffff26}.section{max-width:var(--max);margin:0 auto;padding:80px 40px}.section-divider{border:none;border-top:1px solid rgba(255,255,255,.07)}.section-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:#ffffff8c;text-transform:uppercase;margin-bottom:48px}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:grid;grid-template-columns:200px 1px 1fr;gap:0 32px;padding-bottom:56px}.timeline-left{text-align:right;padding-top:3px}.timeline-date{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:#ffffff8c;line-height:1.5}.timeline-divider{width:1px;background:#ffffff14;position:relative}.timeline-divider:before{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:7px;height:7px;border-radius:50%;background:#fff3;border:1px solid rgba(255,255,255,.35)}.timeline-item:first-child .timeline-divider:before{background:var(--white);border-color:var(--white)}.timeline-right{padding-top:0}.timeline-org{font-family:var(--font-sans);font-size:18px;font-weight:500;color:var(--white);margin-bottom:4px}.timeline-role{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:#ffffffd9;margin-bottom:14px}.timeline-bullets{display:flex;flex-direction:column;gap:8px}.timeline-bullet{font-family:var(--font-body);font-size:14px;line-height:1.65;color:#ffffffd1;padding-left:14px;position:relative}.timeline-bullet:before{content:"·";position:absolute;left:0;color:#ffffff40}@media(max-width:700px){.timeline-item{grid-template-columns:1fr;gap:6px 0;padding-bottom:40px}.timeline-left{text-align:left}.timeline-divider{display:none}.timeline-org{font-size:16px}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-card{border:1px solid rgba(255,255,255,.08);border-radius:4px;padding:28px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s,background .2s}.project-card:hover{border-color:#ffffff2e;background:#ffffff05}.project-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:#ffffff8c}.project-title{font-family:var(--font-sans);font-size:20px;font-weight:500;color:var(--white);line-height:1.2}.project-body{font-family:var(--font-body);font-size:14px;line-height:1.65;color:#ffffffc7;flex:1}.project-footer{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.project-skills{display:flex;flex-wrap:wrap;gap:6px}.project-skill{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:#fff9;border:1px solid rgba(255,255,255,.1);padding:2px 8px;border-radius:2px}.edu-grid{display:flex;flex-direction:column;gap:32px}.edu-item{display:flex;flex-direction:column;gap:6px}.edu-school{font-family:var(--font-sans);font-size:17px;font-weight:500;color:var(--white)}.edu-detail{font-family:var(--font-body);font-size:14px;line-height:1.6;color:#ffffffc7}.edu-meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:#ffffff8c}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:32px}.skill-group-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:#ffffff8c;margin-bottom:14px}.skill-list{display:flex;flex-direction:column;gap:8px}.skill-item{font-family:var(--font-body);font-size:15px;color:#ffffffd9}.contact-section{max-width:var(--max);margin:0 auto;padding:80px 40px 60px;display:flex;flex-direction:column;gap:24px}.contact-heading{font-family:var(--font-sans);font-size:clamp(32px,5vw,56px);font-weight:500;line-height:1.1;color:var(--white)}.contact-heading em{font-family:var(--font-serif);font-style:italic;font-weight:300;color:#ffffffc7}.contact-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.contact-link{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;color:#fff9;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:2px;transition:color .2s,border-color .2s}.contact-link:hover{color:var(--white);border-color:#ffffffc7}.footer-bottom{max-width:var(--max);margin:0 auto;padding:20px 40px;border-top:1px solid rgba(255,255,255,.06);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:#fff3;display:flex;justify-content:space-between;align-items:center}@media(max-width:640px){.section{padding:56px 20px}.section-label{margin-bottom:32px}.hero{padding:100px 20px 60px}.hero-name{letter-spacing:-1px}.hero-scroll{left:20px}.contact-section{padding:60px 20px 40px}.footer-bottom{padding:20px}.projects-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr 1fr}}
