/* CV web — Mickael Gicquaire · design « Blueprint Système » (maquette C + corrections du jury + greffe B).
   Polices : IBM Plex Sans / IBM Plex Mono (SIL OFL 1.1), locales (fonts/). Aucun CDN.
   Monospace : dates, chiffres clés, étiquettes STACK uniquement. Vermillon : signal « en cours » uniquement (frise). */

@font-face{font-family:"Plex Sans";font-style:normal;font-weight:400;font-display:block;src:url(../fonts/ibm-plex-sans-latin-400-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:400;font-display:block;src:url(../fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex Sans";font-style:italic;font-weight:400;font-display:block;src:url(../fonts/ibm-plex-sans-latin-400-italic.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Sans";font-style:italic;font-weight:400;font-display:block;src:url(../fonts/ibm-plex-sans-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:500;font-display:block;src:url(../fonts/ibm-plex-sans-latin-500-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:500;font-display:block;src:url(../fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:600;font-display:block;src:url(../fonts/ibm-plex-sans-latin-600-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:600;font-display:block;src:url(../fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+A720-A7FF}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:400;font-display:block;src:url(../fonts/IBMPlexSans-Regular-Pi.woff2) format("woff2");unicode-range:U+2190-2199,U+2248,U+2260,U+2264-2265}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:500;font-display:block;src:url(../fonts/IBMPlexSans-Medium-Pi.woff2) format("woff2");unicode-range:U+2190-2199,U+2248,U+2260,U+2264-2265}
@font-face{font-family:"Plex Sans";font-style:normal;font-weight:600;font-display:block;src:url(../fonts/IBMPlexSans-SemiBold-Pi.woff2) format("woff2");unicode-range:U+2190-2199,U+2248,U+2260,U+2264-2265}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:400;font-display:block;src:url(../fonts/ibm-plex-mono-latin-400-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:500;font-display:block;src:url(../fonts/ibm-plex-mono-latin-500-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:600;font-display:block;src:url(../fonts/ibm-plex-mono-latin-600-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:400;font-display:block;src:url(../fonts/IBMPlexMono-Regular-Pi.woff2) format("woff2");unicode-range:U+2190-2199,U+2248,U+2260,U+2264-2265}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:600;font-display:block;src:url(../fonts/IBMPlexMono-SemiBold-Pi.woff2) format("woff2");unicode-range:U+2190-2199,U+2248,U+2260,U+2264-2265}

:root{
  color-scheme:light;
  --desk:#E7EAF1;
  --paper:#FFFFFF;
  --ink:#131A31;          /* texte : 16,9:1 */
  --ink-2:#39425E;        /* 9,9:1 */
  --muted:#5B6380;        /* 5,9:1 */
  --navy:#1E2B5E;         /* marine unique (titres, dates, repères) : 12,6:1 */
  --navy-soft:#C3CADF;    /* rails */
  --line:#D2D7E5;         /* filets */
  --grid:#F0F2F7;         /* quadrillage très clair */
  --grid-major:#E6E9F1;
  --tint:#F6F7FB;
  --bar-base:#7A829E;     /* barre « consigne minimale (référence) » : 3,4:1 sur le rail */
  --rail:#F0F2F7;
  --signal:#E04A2B;       /* vermillon : signal « en cours » de la frise, rien d'autre */
  --ph-bg:#FFF2CC;        /* surlignage brouillon (ambre, distinct du vermillon) */
  --ph-ink:#7A4A00;
  --sans:"Plex Sans",system-ui,sans-serif;
  --mono:"Plex Mono",ui-monospace,monospace;
  --fs:9.5pt;
  --lh:1.23;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{margin:0}
body{
  background:var(--desk);color:var(--ink);
  font-family:var(--sans);font-size:var(--fs);line-height:var(--lh);
  font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0;
  hyphens:none;-webkit-hyphens:none;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--navy);color:#fff;padding:8px 12px;border-radius:4px;font-size:13px;line-height:1.3}
.skip:focus{top:8px}
.skip:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nw{white-space:nowrap}
.ph{background:var(--ph-bg);color:var(--ph-ink);outline:1px dashed #C98A12;outline-offset:-1px;padding:0 .6mm;border-radius:1px}

/* ───────── Barre d'outils (écran) ───────── */
.toolbar{position:sticky;top:0;z-index:20;background:rgba(250,251,253,.94);backdrop-filter:saturate(1.2) blur(6px);border-bottom:1px solid var(--line);font-size:13px;line-height:1.3;color:var(--ink-2)}
.tb-in{max-width:1180px;margin:0 auto;padding:8px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.tb-brand{font-weight:600;color:var(--navy);display:flex;align-items:center;gap:8px;white-space:nowrap}
.tb-brand i{width:8px;height:8px;background:var(--navy);display:inline-block}
.tb-group{display:flex;align-items:center;gap:7px;min-width:0}
.tb-group>span{color:var(--muted);font-size:12px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;background:#fff}
.seg a{padding:5px 10px;border-right:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.seg a:first-child{border-radius:5px 0 0 5px}
.seg a:last-child{border-right:0;border-radius:0 5px 5px 0}
.seg a:only-child{border-radius:5px}
.seg a:focus-visible{outline:2px solid var(--navy);outline-offset:-3px;border-radius:3px}
.seg a[aria-current="page"]:focus-visible{outline-color:#fff;box-shadow:0 0 0 2px var(--navy)}
.seg a[aria-current="page"]{background:var(--navy);color:#fff}
.seg a:not([aria-current]):hover{background:var(--tint);color:var(--navy)}
.tb-actions{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--navy);border-radius:6px;padding:6px 12px;white-space:nowrap}
.btn.primary{background:var(--navy);color:#fff}
.btn.primary:hover{background:#2A3A78}
.btn.ghost{color:var(--navy);background:#fff}
.btn.ghost:hover{background:var(--tint)}
.tb-draft{flex-basis:100%;margin:0;color:var(--ph-ink);font-size:12px}
.tb-draft::before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;background:var(--ph-bg);outline:1px dashed #C98A12;vertical-align:-1px}

/* ───────── Feuilles A4 ───────── */
.desk{padding:28px 16px 56px}
.sheet{width:210mm;min-height:297mm;margin:0 auto 28px;padding:10mm 13mm 12mm;background:var(--paper);
  box-shadow:0 1px 2px rgba(19,26,49,.08),0 10px 30px rgba(19,26,49,.10);display:flex;flex-direction:column}
.sheet-body{flex:1 0 auto}
.sheet-foot{margin-top:auto;padding-top:1.1mm;border-top:1px solid var(--grid-major);text-align:right;font-size:var(--fs);color:var(--muted)}

/* ───────── En-tête quadrillé, repères de coupe ───────── */
/* Repères de coupe : fonds du conteneur (aucun élément positionné, pour garder l'ordre de lecture du PDF) */
.hd-wrap{margin:0 0 2.6mm;padding:1.8mm;
  background:
    linear-gradient(var(--navy),var(--navy)) left top/3.4mm 1px no-repeat,
    linear-gradient(var(--navy),var(--navy)) left top/1px 3.4mm no-repeat,
    linear-gradient(var(--navy),var(--navy)) right top/3.4mm 1px no-repeat,
    linear-gradient(var(--navy),var(--navy)) right top/1px 3.4mm no-repeat,
    linear-gradient(var(--navy),var(--navy)) left bottom/3.4mm 1px no-repeat,
    linear-gradient(var(--navy),var(--navy)) left bottom/1px 3.4mm no-repeat,
    linear-gradient(var(--navy),var(--navy)) right bottom/3.4mm 1px no-repeat,
    linear-gradient(var(--navy),var(--navy)) right bottom/1px 3.4mm no-repeat}
.hd{padding:3.4mm 4.5mm 3.2mm;border:1px solid var(--grid-major);display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"main side" "contact contact";column-gap:5mm;
  background-color:#fff;
  background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:15mm 15mm,15mm 15mm,3mm 3mm,3mm 3mm;background-position:-1px -1px}
.hd-main{grid-area:main;min-width:0}
.hd-name{font-size:24pt;line-height:1.05;font-weight:600;letter-spacing:-.01em;color:var(--navy)}
.hd-role{margin-top:1.2mm;font-size:12.5pt;line-height:1.25;font-weight:500;color:var(--navy)}
.hd-lines{margin-top:2mm;color:var(--ink-2)}
.hd-lines li{display:flex;gap:2.2mm;align-items:baseline}
.hd-lines li::before{content:"";flex:none;width:1.2mm;height:1.2mm;background:var(--navy);transform:translateY(-.35mm)}
/* Contacts : une ligne pleine sous le nom et la photo ; e-mail / tél. à gauche, LinkedIn / CV web à droite */
.hd-contact{grid-area:contact;margin-top:2.2mm;display:grid;grid-template-columns:max-content max-content max-content minmax(0,1fr);gap:.4mm 2.4mm;align-items:baseline}
.hd-contact dt{color:var(--muted)}
.hd-contact dd{color:var(--ink);min-width:0;white-space:nowrap}
.hd-contact .c-email,.hd-contact .c-linkedin{grid-row:1}
.hd-contact .c-telephone,.hd-contact .c-cv-web{grid-row:2}
.hd-contact dt.c-email,.hd-contact dt.c-telephone{grid-column:1}
.hd-contact dd.c-email,.hd-contact dd.c-telephone{grid-column:2;margin-right:8mm}
.hd-contact dt.c-linkedin,.hd-contact dt.c-cv-web{grid-column:3}
.hd-contact dd.c-linkedin,.hd-contact dd.c-cv-web{grid-column:4}
.hd-contact a:hover{color:var(--navy);text-decoration:underline}
.hd-side{grid-area:side;display:flex;gap:3.5mm;align-items:flex-end}
.hd-qr{display:none;width:19mm;height:19mm;background:#fff}
.hd-qr svg{display:block;width:100%;height:100%}
.hd-photo img{display:block;width:30mm;height:30mm;object-fit:cover}

/* ───────── Sections ───────── */
.sec{margin-top:2.3mm}
.sec:first-child{margin-top:0}
.sec-h{display:flex;align-items:center;gap:2.6mm;margin-bottom:1.1mm;break-after:avoid;page-break-after:avoid}
.sec-h::before{content:"";flex:none;width:2.2mm;height:2.2mm;background:var(--navy)}
.sec-h::after{content:"";flex:1;border-top:1px solid var(--line)}
.sec-h h2{font-size:11.5pt;line-height:1.2;font-weight:600;color:var(--navy);white-space:nowrap}

.lead{font-size:9.6pt;line-height:1.27}

/* Schéma de méthode : écran uniquement */
.pipe{margin-top:3mm}
.pipe svg{display:block;width:100%;height:auto}
.pipe svg text{font-family:var(--sans)}
.pipe .t-idx{font-family:var(--mono);font-size:11.5px;fill:var(--muted)}
.pipe .t-lab{font-size:12.6px;font-weight:600;fill:var(--navy)}
.pipe .t-sub{font-size:12px;fill:var(--ink-2)}
.pipe .t-loop{font-size:11.5px;fill:var(--navy)}
.pipe-line{display:none}

/* Bandeau chiffres clés : valeur principale + libellé + contexte, une ligne par chiffre */
.kpis{display:grid;grid-template-columns:max-content 1fr;border:1px solid var(--grid-major);
  background:
    linear-gradient(var(--navy),var(--navy)) left top/3.2mm 1.5px no-repeat,
    linear-gradient(var(--navy),var(--navy)) left top/1.5px 3.2mm no-repeat,
    linear-gradient(var(--navy),var(--navy)) right top/3.2mm 1.5px no-repeat,
    linear-gradient(var(--navy),var(--navy)) right top/1.5px 3.2mm no-repeat,
    linear-gradient(var(--navy),var(--navy)) left bottom/3.2mm 1.5px no-repeat,
    linear-gradient(var(--navy),var(--navy)) left bottom/1.5px 3.2mm no-repeat,
    linear-gradient(var(--navy),var(--navy)) right bottom/3.2mm 1.5px no-repeat,
    linear-gradient(var(--navy),var(--navy)) right bottom/1.5px 3.2mm no-repeat,
    var(--tint)}
.kpi{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding:1.05mm 3.4mm 1.15mm;break-inside:avoid}
.kpi+.kpi{border-top:1px solid var(--grid-major)}
.kpi-v{font-family:var(--mono);font-weight:600;font-size:12pt;line-height:1.15;color:var(--navy);white-space:nowrap;padding-right:4mm}
.kpi-l{color:var(--ink)}
.kpi-c{display:block;color:var(--muted)}

/* Expérience : rail, carré plein = en cours, carré vide = terminé */
.rail{background:linear-gradient(var(--navy-soft),var(--navy-soft)) no-repeat 1.15mm 1.8mm/1px calc(100% - 3.4mm)}
.item{padding-left:5.6mm;break-inside:avoid;page-break-inside:avoid;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect x='.5' y='.5' width='9' height='9' fill='%23fff' stroke='%231E2B5E' stroke-width='1'/%3E%3C/svg%3E") no-repeat 0 1.15mm/2.4mm 2.4mm}
.item+.item{margin-top:2mm}
.item.now{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Crect width='10' height='10' fill='%23E04A2B'/%3E%3C/svg%3E")}
.item-h{display:flex;align-items:baseline;gap:4mm}
.item-h h3{flex:1;min-width:0;font-size:10.2pt;line-height:1.28;font-weight:600;color:var(--navy)}
.dates{flex:none;font-family:var(--mono);font-size:9.5pt;color:var(--navy);white-space:nowrap}
.org{color:var(--ink-2);font-weight:500}
.ctx{color:var(--muted);font-style:italic}
.bul{margin-top:.7mm}
.bul li{padding-left:3.2mm;background:linear-gradient(var(--navy),var(--navy)) no-repeat .2mm .62em/1.3mm .3mm}
.bul li+li{margin-top:.25mm}
.xref{margin-top:.9mm;color:var(--muted)}

/* Projets : sans losange ni pointillé */
.proj .pj{break-inside:avoid;page-break-inside:avoid}
.proj .pj+.pj{margin-top:1.4mm}
.pj h3{font-size:10.2pt;line-height:1.28;font-weight:600;color:var(--navy)}
.stack{margin-top:.4mm;color:var(--ink-2);text-wrap:pretty}
.stack .k{font-family:var(--mono);font-size:9.5pt;color:var(--muted);letter-spacing:.06em;margin-right:2mm}
.stack .s{white-space:nowrap}

/* Fiche d'évaluation (greffe de B) : Protocole → Mesure → Résultat */
.card{margin-top:1mm;border:1px solid var(--line);border-left:2px solid var(--navy);background:#fff;padding:1.2mm 3.2mm 1.3mm;break-inside:avoid}
.card-t{font-weight:600;color:var(--navy);margin-bottom:.8mm}
.card dl{display:grid;grid-template-columns:max-content 1fr;gap:.25mm 3.6mm}
.card dt{color:var(--muted);font-weight:500}
.card dd{min-width:0}
.res{display:grid;grid-template-columns:max-content max-content minmax(20mm,62mm);gap:.3mm 3.4mm;align-items:center}
.res .rl{color:var(--ink-2)}
.res .rv{font-family:var(--mono);font-weight:600;color:var(--navy);white-space:nowrap}
.res .rv.base{color:var(--ink-2);font-weight:400}
.res svg{display:block;width:100%;height:2.4mm}
.res .r-track{fill:var(--rail);stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}
.res .r-base{fill:var(--bar-base)}
.res .r-best{fill:var(--navy)}
.res-note{margin-top:.3mm;color:var(--ink-2)}

/* Compétences */
.skills{display:grid;grid-template-columns:minmax(34mm,max-content) 1fr;border-top:1px solid var(--grid-major)}
.skills dt,.skills dd{padding:.55mm 0;border-bottom:1px solid var(--grid-major)}
.skills dd{text-wrap:pretty}
.skills dt{font-weight:600;color:var(--navy);padding-right:3mm}
.skills .s{white-space:nowrap}

/* Formation : dates en encre neutre */
.edu li{display:flex;align-items:baseline;gap:4mm;padding:.3mm 0;border-bottom:1px solid var(--grid)}
.edu li:last-child{border-bottom:0}
.edu .what{flex:1;min-width:0}
.edu .dates{color:var(--ink-2)}
.edu .sub{display:block;color:var(--ink-2)}

/* Langues, références */
.langs{display:flex;flex-wrap:wrap;align-items:baseline}
.langs .sep{color:var(--muted);white-space:pre}

/* ───────── Impression ───────── */
@page{size:A4;margin:10mm 13mm 12mm}
@media print{
  html,body{background:#fff}
  .toolbar,.web-only,.skip{display:none !important}
  .desk{padding:0}
  .sheet{width:auto;min-height:274.5mm;margin:0;padding:0;box-shadow:none}
  .sheet+.sheet{break-before:page;page-break-before:always}
  .hd-qr{display:block}
}

/* ───────── Écran étroit ───────── */
@media screen and (max-width:860px){
  .desk{padding:12px 0 32px}
  .sheet{width:auto;min-height:0;margin:0 0 12px;padding:20px 16px 18px;box-shadow:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  body{font-size:15px;line-height:1.45}
  .hd-wrap{margin-bottom:18px;padding:6px}
  .hd{display:flex;flex-direction:column;padding:16px;gap:12px}
  .hd-side{order:-1}
  .hd-photo img{width:96px;height:96px}
  .hd-name{font-size:30px}
  .hd-role{font-size:17px}
  .hd-contact{margin-top:0;grid-template-columns:auto 1fr;gap:4px 12px}
  .hd-contact dt,.hd-contact dd{grid-row:auto !important}
  .hd-contact dt{grid-column:1 !important}
  .hd-contact dd{grid-column:2 !important;margin-right:0 !important;white-space:normal;overflow-wrap:anywhere}
  .sec{margin-top:22px}
  .sec-h{margin-bottom:10px}
  .sec-h h2{font-size:18px;white-space:normal}
  .lead{font-size:15.5px}
  .pipe svg{display:none}
  .pipe{margin-top:12px}
  .pipe-line{display:block;padding:8px 12px;border:1px solid var(--grid-major);background:var(--tint);color:var(--navy);font-weight:500;font-size:14.5px;line-height:1.5}
  .pipe-line .ar{color:var(--muted);font-weight:400}
  .kpis{grid-template-columns:1fr}
  .kpi{grid-template-columns:1fr;padding:10px 14px}
  .kpi-v{font-size:20px;padding:0 0 2px}
  .item-h{flex-direction:column;gap:0}
  .item-h h3,.pj h3{font-size:16px}
  .item{background-position:0 .45em}
  .dates,.stack .k{font-size:13px}
  .card{padding:10px 12px}
  .card dl{grid-template-columns:1fr;gap:2px}
  .card dt{margin-top:6px}
  .res{grid-template-columns:auto auto;gap:2px 10px}
  .res svg{grid-column:1/-1;height:6px;margin-bottom:4px}
  .skills{grid-template-columns:1fr}
  .skills dt{border-bottom:0;padding:8px 0 0}
  .skills dd{padding:2px 0 8px}
  .skills .s{white-space:normal}
  .edu li{flex-direction:column;gap:0;padding:6px 0}
  .sheet-foot{display:none}
  .tb-actions{margin-left:0}
}
/* Écran large : la feuille A4 est agrandie (lecture confortable), sans toucher aux valeurs d'impression (R06) */
@media screen and (min-width:1100px){
  .sheet{zoom:1.2}
}
@media screen and (max-width:420px){
  .tb-group{flex-wrap:wrap}
  .seg a{padding:5px 8px}
}
@media (prefers-reduced-motion:no-preference){
  .seg a,.btn{transition:background-color .15s ease}
}
