@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(/job/assets/fonts/inter-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(/job/assets/fonts/inter-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(/job/assets/fonts/inter-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  @font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(/job/assets/fonts/inter-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  header, .sec-profil, .sec-facon, .sec-comp{font-family:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;}
  :root{
    --ink:#1f2937;
    --muted:#5b6472;
    --accent:#0f766e;
    --accent-dark:#0b5850;
    --soft:#eef4f3;
    --line:#e4e8ec;
    --paper:#ffffff;
  }
  *{box-sizing:border-box;}
  html{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  body{
    margin:0;
    font-family:'Inter',"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
    color:var(--ink);
    background:#dfe3e7;
    font-size:10.6pt;
    line-height:1.52;
  }
  .page{
    background:var(--paper);
    width:210mm;
    min-height:297mm;
    margin:18px auto;
    padding:16mm 15mm 14mm;
    box-shadow:0 6px 30px rgba(0,0,0,.14);
  }

  /* ---------- Header ---------- */
  header{display:flex;gap:20px;align-items:center;}
  .photo{
    width:104px;height:104px;flex:0 0 104px;border-radius:50%;
    object-fit:cover;border:3px solid var(--accent);
  }
  .id h1{
    margin:0;font-size:25pt;font-weight:700;letter-spacing:.2px;line-height:1.05;
  }
  .id .role{
    margin:3px 0 0;font-size:12.5pt;font-weight:600;color:var(--accent);
    letter-spacing:.3px;
  }
  .contact{
    margin-top:9px;display:flex;flex-wrap:wrap;gap:5px 16px;
    font-size:9.6pt;color:var(--muted);
  }
  .contact span{display:inline-flex;align-items:center;gap:5px;}
  .contact svg{width:13px;height:13px;fill:none;stroke:var(--accent);stroke-width:1.8;}
  .avail{
    margin-top:8px;display:inline-block;background:var(--soft);color:var(--accent-dark);
    font-weight:600;font-size:9.2pt;padding:4px 11px;border-radius:20px;
  }

  .rule{height:7px;background:linear-gradient(90deg,#10b981 0%,#0ea5e9 50%,#2563eb 100%);margin:13px 0 4px;border-radius:999px;}
  .avail-bar{width:100%;box-sizing:border-box;background:linear-gradient(90deg,#10b981 0%,#0ea5e9 50%,#2563eb 100%);color:#fff;text-align:center;font-weight:600;font-size:9.6pt;letter-spacing:.2px;padding:5px 12px;border-radius:999px;margin:12px 0 4px;}
  .exp-title{font-size:12.5pt;font-weight:600;color:var(--accent);letter-spacing:.3px;text-align:center;}
  .rule-sm{height:5.6px;width:100%;margin:6px 0 0;background:linear-gradient(90deg,#10b981 0%,#0ea5e9 50%,#2563eb 100%);border-radius:999px;}
  .contnote{display:none;}
  .exp-head{margin-bottom:0.4cm;}

  /* ---------- Sections ---------- */
  section{margin-top:20px;}
  h2{
    font-size:10.2pt;text-transform:uppercase;letter-spacing:1.3px;
    color:var(--accent);margin:0 0 10px;font-weight:700;
    padding-bottom:4px;border-bottom:1px solid var(--line);
  }
  section{break-inside:auto;}
  p{margin:0 0 6px;}
  .profile{font-size:10.7pt;color:#333b46;text-align:justify;}
  .profile strong{color:var(--ink);}

  /* pillars */
  .pillars{display:flex;flex-direction:column;gap:9px;}
  .pillar{display:flex;align-items:center;gap:11px;background:var(--soft);border-radius:8px;padding:8px 13px;border-left:3px solid transparent;}
  .pillar .pico{flex:0 0 auto;line-height:0;}
  .pillar .pico svg{width:21px;height:21px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .pillar .ptxt{font-size:9.6pt;color:#3c4551;line-height:1.35;}
  .pillar .ptxt b{color:var(--accent-dark);font-weight:700;}
  .pillar.gold{background:#fbf3e0;border-left-color:#c8901a;}
  .pillar.gold .pico svg{stroke:#c8901a;}
  .pillar.gold .ptxt b{color:#9a6a12;}
  .pillar.blue{background:#eef3fd;border-left-color:#2563eb;}
  .pillar.blue .pico svg{stroke:#2563eb;}
  .pillar.blue .ptxt b{color:#1d4ed8;}
  .pillar.green{background:#e8f6f0;border-left-color:#059669;}
  .pillar.green .pico svg{stroke:#059669;}
  .pillar.green .ptxt b{color:#047857;}

  /* skills */
  .skcols{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;}
  .skcol{display:flex;flex-direction:column;gap:12px;}
  .skill{background:#ffffff;border:2px solid #eeeeee;border-radius:8px;overflow:hidden;}
  .skill>b{display:flex;align-items:center;justify-content:center;height:0.75cm;background:#eeeeee;color:var(--ink);font-weight:700;font-size:10pt;text-align:center;}
  .skill>p{margin:0;padding:0;font-size:8.6pt;color:#333b46;line-height:1.4;background:#fff;text-align:center;}
  .skill>p .a{display:block;margin:0;padding:3px 12px;}
  .skill>p .a:nth-of-type(even){background:#f6f6f6;}
  .skill>p b{font-weight:700;color:var(--accent);text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--accent);text-decoration-thickness:0.5pt;text-underline-offset:2px;}
  .langblock>p{display:flex;flex-direction:column;}
  .langblock>p .a{flex:1;display:flex;align-items:center;justify-content:center;}
  .langs{margin-top:2px;font-size:9.9pt;}
  .sec-entr-lite{margin-top:14px;}
  .extraline{margin:0;font-size:9.9pt;color:#3c4551;line-height:1.4;}
  .extraline b{color:var(--accent-dark);font-weight:700;}

  /* timeline */
  .parcours-row{display:flex;align-items:stretch;gap:10px;margin-top:0;}
  .parcours-label{flex:0 0 auto;width:0.72cm;display:flex;align-items:center;justify-content:center;background:#fbf3e0;border-radius:8px;border-left:3px solid #c8901a;padding:6px 2px;box-sizing:border-box;}
  .parcours-label span{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:1px;line-height:1;font-family:"DejaVu Sans Mono","Courier New",monospace;text-transform:uppercase;}
  .parcours-label .pv{font-weight:700;font-size:8pt;letter-spacing:0.5px;color:#9a6a12;}
  .parcours-label .pv2{font-weight:700;font-size:7.5pt;letter-spacing:0.5px;color:#1d4ed8;}
  .parcours-wrap{position:relative;break-inside:avoid;}
  .scroll-hint{display:none;}
  .lang-switch{display:flex;justify-content:flex-end;margin:0 0 8px;}
  .lang-switch a{font-size:8.5pt;font-weight:700;letter-spacing:.5px;color:var(--muted);text-decoration:none;padding:3px 12px;border:1px solid var(--line);background:#fff;}
  .lang-switch a:first-child{border-radius:999px 0 0 999px;}
  .lang-switch a:last-child{border-radius:0 999px 999px 0;border-left:none;}
  .lang-switch a.active{background:var(--accent);color:#fff;border-color:var(--accent);}
  @media print{.lang-switch{display:none;}}
  .joblink{margin-top:7px;font-size:9pt;line-height:1.3;padding:0 13px;}
  .joblink+.joblink{margin-top:3px;}
  .joblink:last-child{padding-bottom:11px;}
  .joblink a{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(15,118,110,.4);}
  .joblink a:hover{text-decoration-color:var(--accent);}
  .lk-ico{width:11px;height:11px;fill:var(--accent);vertical-align:-1px;margin-left:5px;}
  .hlink{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:rgba(15,118,110,.4);}
  .hlink:hover{text-decoration-color:var(--accent);}
  .exp-detail .parcours-wrap{margin-bottom:0.5cm;}
  .timeline{position:relative;flex:1 1 auto;height:5.1cm;}
  .tl-grid{position:absolute;top:0;height:5.0cm;width:1px;background:#eef1f4;}
  .tl-axis{position:absolute;left:0;right:0;top:5.10cm;border-top:1px solid var(--line);}
  .tl-tick{position:absolute;top:5.16cm;transform:translateX(-50%);font-size:7pt;color:var(--muted);}
  .tl-lane{position:absolute;height:0.46cm;border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0 8px;font-weight:700;font-size:7.8pt;color:#fff;white-space:nowrap;overflow:hidden;letter-spacing:.2px;}
  .tl-lane.g{background:#c8901a;}
  .tl-lane.w{background:linear-gradient(90deg,#38bdf8 0%,#1d4ed8 100%);}
  .tl-lane.e{background:#059669;}
  .tl-card{position:absolute;background:#eeeeee;border-radius:5px;padding:2px 5px;box-sizing:border-box;overflow:hidden;}
  .tl-card b{display:block;font-size:8pt;color:var(--ink);line-height:1.16;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .tl-card span{display:block;font-size:7pt;color:var(--muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .tl-card.ent{background:#e8f6f0;}
  .tl-card.fil-o::before,.tl-card.fil-b::before,.tl-card.fil-v::before,.tl-card.fil-ob::before,.tl-card.fil-bv::before,.tl-card.fil-obv::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;}
  .tl-card.fil-o::before{background:#c8901a;}
  .tl-card.fil-b::before{background:#2563eb;}
  .tl-card.fil-v::before{background:#059669;}
  .tl-card.fil-ob::before{background:linear-gradient(180deg,#c8901a,#2563eb);}
  .tl-card.fil-bv::before{background:linear-gradient(180deg,#2563eb,#059669);}
  .tl-card.fil-obv::before{background:linear-gradient(180deg,#059669 0 33%,#c8901a 33% 66%,#2563eb 66%);}
  .tl-card.rr-v::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:#059669;}
  .tl-card.glue-r{border-top-right-radius:0;border-bottom-right-radius:0;}
  .tl-free{background:rgba(238,238,238,0.7);border-radius:0 5px 5px 0;display:flex;align-items:center;justify-content:center;text-align:center;}
  .tl-endline{position:absolute;right:0;top:0;height:5.1cm;width:0;border-left:1px dashed #aab2bc;}
  .tl-cta{position:absolute;background:#fff;border:1px solid #eef1f4;border-radius:6px;padding:5px 10px;font-size:7.4pt;color:#3c4551;line-height:1.4;width:max-content;box-sizing:border-box;}
  .tl-cta b{font-weight:700;text-decoration:underline;color:var(--ink);}
  .cta-ico{width:11px;height:11px;fill:none;stroke:var(--ink);stroke-width:1.8;vertical-align:-1px;}
  .tl-card.one{display:flex;align-items:center;white-space:nowrap;font-size:6.5pt;color:#3c4551;}
  .tl-card.one b{display:inline;font-size:7pt;margin-right:4px;flex:0 0 auto;}
  .hobcards{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:0;}
  .hobcard{display:flex;align-items:center;gap:10px;background:#eeeeee;border-radius:8px;padding:6px 12px;}
  .hobcard .hico{flex:0 0 auto;line-height:0;}
  .hobcard .hico svg{width:20px;height:20px;fill:none;stroke:#4a525c;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .hobcard .hotxt{flex:1;text-align:center;font-size:9.2pt;color:#3c4551;line-height:1.28;}
  .hobcard .hotxt b{display:block;color:var(--ink);font-weight:700;margin-bottom:1px;}
  .langs b{color:var(--ink);}

  /* experience */
  .job{margin-bottom:13px;break-inside:avoid;page-break-inside:avoid;background:#fff;border:2px solid #eeeeee;border-radius:8px;overflow:hidden;}
  .jhead{display:flex;align-items:baseline;gap:10px;background:#eeeeee;padding:5px 12px;}
  .jcompany{flex:1 1 0;text-align:left;font-weight:700;color:var(--ink);font-size:10.7pt;}
  .jrole{flex:1.5 1 0;text-align:center;color:var(--accent);font-weight:600;font-size:10.7pt;}
  .jdate{flex:1 1 0;text-align:right;color:var(--muted);font-weight:600;font-size:9.2pt;white-space:nowrap;}
  .two-col .jhead{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;}
  .two-col .jcompany{white-space:nowrap;}
  .job .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;}
  .job .title{font-weight:700;font-size:10.7pt;color:var(--ink);}
  .job .title em{font-style:normal;color:var(--accent);font-weight:600;}
  .job .date{font-size:9.2pt;color:var(--muted);white-space:nowrap;font-weight:600;}
  .job .desc{font-size:9.9pt;color:#3c4551;padding:8px 13px;}
  .job .desc b{color:var(--ink);font-weight:600;}

  .two-col{display:grid;grid-template-columns:1fr;gap:13px;}

  .formation .line{display:flex;justify-content:space-between;gap:10px;font-size:10pt;margin-bottom:3px;}
  .formation .line b{color:var(--ink);}
  .form-grid{display:grid;grid-template-columns:max-content 1fr max-content;column-gap:22px;row-gap:3px;align-items:baseline;font-size:10pt;}
  .f-dip{font-weight:600;color:var(--ink);text-align:left;}
  .f-school{text-align:center;color:#9199a3;}
  .f-date{text-align:right;color:var(--muted);font-weight:600;font-size:9.2pt;white-space:nowrap;}
  .formation .date{color:var(--muted);font-weight:600;font-size:9.2pt;white-space:nowrap;}
  .formation .sub{font-size:9.2pt;color:var(--muted);margin:-1px 0 6px;}

  @media print{
    body{background:#fff;font-size:8.6pt;line-height:1.29;}
    .page{margin:0;box-shadow:none;width:auto;min-height:0;padding:0;}
    @page{size:A4;margin:12mm 13mm 10mm;}
    section{margin-top:4px;}
    .job{margin-bottom:5px;break-inside:auto;page-break-inside:auto;}
    .jcompany,.jrole{font-size:10.3pt;}
    .job .desc{font-size:10.3pt;line-height:1.28;padding:6px 12px;}
    .formation .line{font-size:10.3pt;}
    .form-grid{font-size:10.3pt;}
    .langs{font-size:10.3pt;}
    h2{margin:0 0 5px;padding-bottom:2px;}
    header{flex-direction:column;align-items:center;text-align:center;gap:8px;}
    .id h1{font-size:21pt;}
    .contact{justify-content:center;}
    .sec-profil h2,.sec-facon h2{display:none;}
    .rule{margin:0.28cm 0;}
    .avail-bar{margin:0.16cm 0 0.2cm;padding:4px 12px;font-size:9.6pt;}
    .sec-profil{margin-top:0;}
    .profile{font-size:9.4pt;text-align:center;margin:0 0 0.4cm;}
    .sec-facon{margin-top:0;}
    .pillars{flex-direction:row;gap:8px;align-items:stretch;}
    .pillar{flex:1;display:block;text-align:center;border-left:none;border-bottom:3px solid transparent;padding:8px 10px;}
    .pillar.gold{border-bottom-color:#c8901a;order:2;}
    .pillar.blue{border-bottom-color:#2563eb;}
    .pillar.green{border-bottom-color:#059669;}
    .pillar .pico{display:inline-block;vertical-align:middle;line-height:0;margin-right:6px;}
    .pillar .pico svg{width:17px;height:17px;}
    .pillar .ptxt{display:inline;}
    .pillar .pt-title{display:inline;vertical-align:middle;font-size:10.6pt;}
    .pillar .pt-sep{display:none;}
    .pillar .pt-desc{display:block;margin-top:4px;text-align:center;font-size:8pt;line-height:1.3;}
    .sec-comp{margin-top:0.28cm;}
    .sec-exp{padding-top:0;margin-top:0.28cm;}
    .sec-exp.exp-detail{margin-top:0.5cm;}
    .joblink{display:none;}
    .hlink{color:inherit;text-decoration:none;border-bottom:none;font-weight:inherit;}
    .sec-entr{margin-top:0.48cm;}
    .sec-entr .exp-head{margin-bottom:0.48cm;}
    .exp-head{margin-bottom:0.4cm;}
    .skcols{gap:8px;align-items:stretch;}
    .skcol{gap:6px;}
    .skill{display:flex;flex-direction:column;flex:1 1 auto;}
    .skill>b{font-size:10.3pt;height:0.68cm;}
    .skill>p{font-size:8.4pt;padding:0;line-height:1.25;flex:1 1 auto;}
    .skill>p .a{margin:0;padding:2.4pt 11px;}
  }
  @media (max-width:640px){
    /* pas de cadre gris : la feuille occupe tout l'écran */
    body{background:var(--paper);}
    .page{width:auto;padding:20px 16px;margin:0;box-shadow:none;}
    header{flex-direction:column;text-align:center;}
    .contact{justify-content:center;}
    .pillars,.two-col{grid-template-columns:1fr;}
    /* compétences : une seule colonne */
    .skcols{grid-template-columns:1fr;}
    /* centres d'intérêt : une seule colonne */
    .hobcards{grid-template-columns:1fr;}
    /* formations : chaque entrée sur 3 lignes empilées */
    .form-grid{grid-template-columns:1fr;column-gap:0;row-gap:1px;}
    .f-dip,.f-school,.f-date{text-align:left;}
    .f-date{margin-bottom:12px;}
    /* graphique : taille réelle, défilement horizontal */
    .parcours-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
    .parcours-scroll::-webkit-scrollbar{height:6px;}
    .parcours-scroll::-webkit-scrollbar-thumb{background:#c8d0d8;border-radius:3px;}
    .parcours-row{width:650px;}
    .scroll-hint{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;right:6px;transform:translateY(-50%);
      width:34px;height:34px;border-radius:50%;background:rgba(31,41,55,.82);box-shadow:0 2px 8px rgba(0,0,0,.25);
      pointer-events:none;z-index:5;transition:opacity .4s ease;animation:hintNudge 1.3s ease-in-out infinite;}
    .scroll-hint svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
    .scroll-hint.hidden{opacity:0;}
  }
  @keyframes hintNudge{0%,100%{transform:translateY(-50%) translateX(0);}50%{transform:translateY(-50%) translateX(5px);}}
