@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght@400");:root{color-scheme:light;--font-body:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--font-size:1rem;--font-size-title:1.4rem;--color-page-bg:#f3f6fb;--color-text:#0b2942;--color-muted:#475569;--color-accent:#0f6cbd;--color-accent-soft:rgba(15,108,189,0.12);--color-card-bg:#ffffff;--color-card-border:#d8e1f1;--color-dark-background:#131b2b;--color-dark-text:oklch(0.967 0.003 264.542);--shadow-card:0 20px 36px -28px rgba(15,108,189,0.35);--max-width:1080px;--transition:150ms ease;--spacing-base:1rem;--spacing-1:calc(var(--spacing-base) * 1);--spacing-2:calc(var(--spacing-base) * 2)}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--font-size);line-height:1.65;color:var(--color-text);background:radial-gradient(circle at top left,rgba(15,108,189,.08),transparent 55%),var(--color-page-bg)}blockquote{border-left:.5em solid var(--color-accent-soft);box-sizing:border-box;margin-left:0;padding-left:1em}main{gap:2rem}.page-card,main{display:flex;flex-direction:column}.page-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:18px;padding:2.4rem;box-shadow:var(--shadow-card);gap:1.2rem}@media (max-width:640px){.page-card{padding:1.8rem}}h1{margin:0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--color-text)}.subtitle,h1{text-align:center}.subtitle{margin:-.4rem 0 0;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:500;color:var(--color-muted)}p,ul{margin:.5rem 0}ul{padding-left:1.15rem}.hero{display:grid;grid-gap:1.2rem;gap:1.2rem}.badge{display:inline-flex;align-items:center;gap:.45rem;background:var(--color-accent-soft);color:var(--color-accent);border-radius:999px;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .9rem;font-weight:600;width:-moz-fit-content;width:fit-content}.badge:before{content:"";width:.5rem;height:.5rem;border-radius:999px;background:var(--color-accent);box-shadow:0 0 0 4px rgba(15,108,189,.12)}.action-bar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-card-border);border-radius:12px;padding:.6rem .85rem;margin:.5rem 0 1.2rem;display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center}.action-label{font-weight:600;color:var(--color-muted);margin-right:.25rem}.group{display:inline-flex;gap:.35rem;align-items:center}.spacer{flex:1 1}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #d0d0d4;background:#fff;color:#222;border-radius:10px;padding:.38rem .65rem;font-size:13px;line-height:1.1;cursor:pointer;text-decoration:none;transition:background var(--transition),border-color var(--transition),color var(--transition)}.btn:hover{background:#f0f0f2}.btn.active{color:var(--color-accent);background:rgba(15,108,189,.08)}.btn.active,.btn.primary{border-color:var(--color-accent)}.btn.primary{background:var(--color-accent);color:#fff}.btn.primary:hover{background:#0c58a0;border-color:#0c58a0}.btn .flag{margin-right:.35em}.lead p{margin:.5rem 0}.meta{margin:.15rem 0 .45rem;color:var(--color-muted);font-size:.95rem}.experience{margin:.85rem 0 .6rem}.experience h3{margin:.35rem 0 .2rem;font-size:1.05rem;color:var(--color-accent);font-weight:700}.experience .desc{padding-left:1.8rem}.experience .desc p{margin:.35rem 0}.formations ul{padding-left:1.15rem}.formations li{margin:.25rem 0}table.status{border-collapse:collapse;width:100%;margin:.35rem 0 .6rem;background:#fff}table.status td,table.status th{border:1px solid #e0e0e3;padding:.4rem .55rem;text-align:center;font-size:13px}table.status th{background:#f5f7fa;font-weight:600}.exp-status{font-size:12px;color:var(--color-muted)}.status-entry+.status-entry{border-top:1px solid var(--color-card-border);padding-top:1.4rem;margin-top:1.4rem}.status-card{gap:1.4rem}.status-entry h3{margin:.35rem 0 .2rem;font-size:1.05rem;color:var(--color-accent);font-weight:700}.cv-card{gap:1.5rem}.cv-card h1{text-align:center}.cv-card .lead{margin-top:-.4rem}.cv-card .experience+.experience{border-top:1px solid rgba(15,108,189,.12);padding-top:1.1rem;margin-top:1.1rem}.cv-card .formations{margin-top:.6rem}.status-card h1{text-align:center;margin-bottom:.6rem}.article{position:relative;margin:0 auto 2.6rem;padding:clamp(1.6rem,2.6vw,2.35rem) clamp(1.4rem,3vw,2.8rem);border-radius:22px;background:var(--color-card-bg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-card);overflow:hidden}.article .markdown>:first-child{margin-top:0}.article .markdown h1{font-size:clamp(1.7rem,3vw,2.1rem);margin-top:0;margin-bottom:1.2rem;color:var(--color-accent)}.article .markdown h2{margin-top:2.2rem;color:var(--color-text);font-size:clamp(1.3rem,2.3vw,1.6rem)}.markdown table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.95rem;background:#fff;border:1px solid var(--color-card-border);border-radius:14px;overflow:hidden;box-shadow:0 18px 30px -26px rgba(15,108,189,.35)}.markdown table thead{background:linear-gradient(135deg,rgba(15,108,189,.12),rgba(15,108,189,.04))}.markdown table td,.markdown table th{padding:.85rem 1rem;border-bottom:1px solid rgba(15,108,189,.08);text-align:left;vertical-align:top}.markdown table th{font-weight:700;letter-spacing:.01em;color:var(--color-text)}.markdown table tbody tr:nth-child(2n){background:rgba(15,108,189,.03)}.markdown table tbody tr:hover{background:rgba(15,108,189,.08);transition:background var(--transition)}.markdown table tbody tr:last-child td{border-bottom:none}@media print{body{padding:0;background:#fff}.container{margin:0 1.5cm}.page-card{border:none;box-shadow:none;padding:0}.action-bar{display:none}a{color:inherit;text-decoration:none}}