@font-face{font-family:Compagnon;src:url(/fonts/compagnon/Compagnon-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat/Montserrat-Medium.woff2) format("woff2"),url(/fonts/montserrat/Montserrat-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat/Montserrat-Bold.woff2) format("woff2"),url(/fonts/montserrat/Montserrat-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat/Montserrat-Regular.woff2) format("woff2"),url(/fonts/montserrat/Montserrat-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat/Montserrat-Light.woff2) format("woff2"),url(/fonts/montserrat/Montserrat-Light.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}.cv-page{padding-top:5rem;min-height:100vh;background:radial-gradient(1000px 420px at 10% 0%,rgba(188,156,60,.14),transparent 52%),radial-gradient(960px 420px at 88% 0%,rgba(46,50,78,.12),transparent 62%),linear-gradient(180deg,#f5f7fc,#edf1f9)}.cv-shell{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease;padding:1.2rem 1.25rem 3.8rem}.cv-shell.is-visible{opacity:1;transform:translateY(0)}.cv-shell__inner{width:min(1080px,100%);margin:0 auto}.cv-header{margin-bottom:1rem}.cv-header__back{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-heading-family, "Manrope", sans-serif);color:var(--color-secondary, #2e324e);font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8;transition:opacity .2s ease,transform .2s ease}.cv-header__back:hover{opacity:1;transform:translate(2px)}.cv-header__kicker{margin:1rem 0 .2rem;font-family:var(--font-heading-family, "Manrope", sans-serif);color:var(--color-secondary, #2e324e);text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;opacity:.82}.cv-header__name{margin:0;font-family:Italiana,serif;font-weight:400;color:var(--color-secondary, #2e324e);font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.cv-header__role{margin:.45rem 0 0;font-size:1rem;color:#3f4c6d}.cv-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1rem;align-items:start}.cv-sidebar{position:sticky;top:6rem;display:flex;flex-direction:column;gap:.85rem}.cv-panel{background:#fffc;border:1px solid rgba(46,50,78,.12);border-radius:14px;padding:1rem;box-shadow:0 8px 20px #2e324e0f}.cv-panel h2{margin:0 0 .5rem;font-family:var(--font-heading-family, "Manrope", sans-serif);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#2a3350}.cv-panel p{margin:0;color:#3a4363;line-height:1.5;font-size:.95rem}.cv-panel--accent{border-left:4px solid rgba(188,156,60,.9)}.cv-tags{display:flex;flex-wrap:wrap;gap:.4rem}.cv-tag{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(46,50,78,.2);padding:.24rem .62rem;color:#2e3a5e;background:#ffffffd9;font-size:.78rem}.cv-main{min-width:0}.cv-main__content{background:#ffffffeb;border:1px solid rgba(46,50,78,.1);border-radius:16px;box-shadow:0 10px 28px #2e324e14,0 2px 6px #2e324e14;padding:clamp(1.2rem,2vw,2rem)}.cv-main__content h1,.cv-main__content h2,.cv-main__content h3,.cv-main__content h4{color:var(--color-secondary, #2e324e);margin-top:1.2rem;margin-bottom:.48rem;font-family:Italiana,serif;font-weight:400}.cv-main__content h3{margin-top:1.4rem;font-size:clamp(1.2rem,2.2vw,1.62rem);border-left:3px solid rgba(188,156,60,.82);padding-left:.66rem}.cv-main__content p{margin-bottom:.85rem;color:#313955;line-height:1.68;font-size:clamp(.98rem,1.35vw,1.04rem)}.cv-main__content strong{color:#26304a}.cv-main__content ol,.cv-main__content ul{margin:.9rem 0 1.1rem;padding-left:1.35rem;color:#313955}.cv-main__content ol li,.cv-main__content ul li{line-height:1.65;margin-bottom:.48rem}.cv-main__content ol li::marker{color:#bc9c3cf2;font-weight:700}@media(max-width:768px){.cv-shell{padding-top:1rem}.cv-layout{grid-template-columns:1fr;gap:.8rem}.cv-sidebar{position:static;order:2}.cv-main{order:1}}
