/* ===== Polices auto-hébergées (woff2) ===== */
@font-face{font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-ext-a4fe79f7.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-a9723242.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-ext-a4fe79f7.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-a9723242.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-ext-a4fe79f7.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-a9723242.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-ext-a4fe79f7.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: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src:url("fonts/bricolage-latin-a9723242.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:url("fonts/inter-latin-ext-39529051.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: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:url("fonts/inter-latin-56724408.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url("fonts/inter-latin-ext-39529051.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: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url("fonts/inter-latin-56724408.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:url("fonts/inter-latin-ext-39529051.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: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src:url("fonts/inter-latin-56724408.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:url("fonts/inter-latin-ext-39529051.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: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src:url("fonts/inter-latin-56724408.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:url("fonts/jbmono-latin-ext-ba16536d.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src:url("fonts/jbmono-latin-480c0625.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url("fonts/jbmono-latin-ext-ba16536d.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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src:url("fonts/jbmono-latin-480c0625.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;}

/* ===========================================================
   LES ARTISANS - Direction artistique "PRISME"
   Blanc épuré + matière de couleur liquide + relief (profondeur).
   Display : Bricolage Grotesque · Texte : Inter · Data : JetBrains Mono
   =========================================================== */

:root{
  --bg:#0A0C12;            /* base blanche */
  --bg-2:#0E121C;          /* sections alternées, gris-bleu très clair */
  --surface:#11151F;       /* cartes */
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.15);

  --ink:#EDF0F7;           /* presque noir, légèrement bleuté */
  --ink-soft:#C2C8D6;
  --ink-dim:#8A93A8;

  /* six expertises - codes exacts des logos */
  --finance:#004AAD; --tech:#0CC1E0; --immo:#FF3131;
  --commerce:#545454; --supply:#FEBD59; --btp:#FF741F;
  --finance-ink:#5E92FF; --tech-ink:#3FD7F2; --immo-ink:#FF6B6B;
  --commerce-ink:#AEB6C6; --supply-ink:#FFCB73; --btp-ink:#FF9351;

  --spectrum-grad:linear-gradient(90deg,#004AAD 0 16.666%,#0CC1E0 0 33.333%,#FF3131 0 50%,#545454 0 66.666%,#FEBD59 0 83.333%,#FF741F 0 100%);

  --maxw:1200px;
  --pad:clamp(1.2rem,4vw,2.2rem);
  --radius:20px;
  --radius-sm:13px;
  --ease:cubic-bezier(.16,.84,.44,1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  /* profondeur : ombres en couches */
  --shadow-sm:0 1px 2px rgba(0,0,0,.45),0 8px 18px -8px rgba(0,0,0,.55);
  --shadow:0 2px 6px rgba(0,0,0,.45),0 22px 48px -18px rgba(0,0,0,.7);
  --shadow-lg:0 4px 12px rgba(0,0,0,.5),0 44px 84px -26px rgba(0,0,0,.85);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink-soft);
  background-color:var(--bg);
  background-image:
    radial-gradient(75% 65% at 12% 6%, rgba(42,74,150,.22), transparent 60%),
    radial-gradient(70% 65% at 90% 94%, rgba(175,95,50,.16), transparent 60%),
    radial-gradient(120% 80% at 50% -8%, rgba(48,62,110,.30), transparent 55%);
  background-repeat:no-repeat,no-repeat,no-repeat;
  background-size:100% 100%,100% 100%,100% 100%;
  background-attachment:fixed,fixed,fixed;
  font-size:clamp(1rem,.97rem + .2vw,1.08rem);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
::selection{background:var(--finance);color:#fff}

h1,h2,h3,h4{
  font-family:"Bricolage Grotesque","Inter",sans-serif;
  color:var(--ink);font-weight:700;line-height:1.02;letter-spacing:-.025em;margin:0;
}
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- labels mono ---------- */
.eyebrow{
  font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;
  font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);
  display:inline-flex;align-items:center;gap:.7ch;
}
.eyebrow::before{display:none}
.rule{display:none}

.spectrum{display:flex;width:100%;height:3px;overflow:hidden;border-radius:99px}
.spectrum span{flex:1}
.spectrum .s1{background:var(--finance)}.spectrum .s2{background:var(--tech)}.spectrum .s3{background:var(--immo)}
.spectrum .s4{background:var(--commerce)}.spectrum .s5{background:var(--supply)}.spectrum .s6{background:var(--btp)}

/* ---------- boutons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.7rem;border-radius:99px;font-weight:600;font-size:.97rem;letter-spacing:-.01em;
  border:1.5px solid var(--ink);color:var(--ink);background:transparent;
  transition:transform .4s var(--ease),background .3s,color .3s,border-color .3s,box-shadow .4s var(--ease);
  will-change:transform;
}
.btn .arw{transition:transform .35s var(--ease)}
.btn:hover .arw{transform:translateX(5px)}
.btn-primary{background:#fff;color:#0A0C12;border-color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{background:rgba(255,255,255,.05)}
.btn-ghost:hover{background:#fff;color:#0A0C12;transform:translateY(-2px)}
.btn-sm{padding:.66rem 1.2rem;font-size:.88rem}

/* ---------- en-tête ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(10,12,18,.72);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line)}
.site-header::before{content:"";display:block;height:3px;width:100%;background:var(--spectrum-grad)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:.7rem;height:112px}
.brand{flex-shrink:0}
.brand img{height:90px;width:auto;max-width:none;flex-shrink:0}
.nav{display:flex;align-items:center;gap:.2rem}
.nav-list{display:flex;align-items:center;gap:.05rem;list-style:none;margin:0;padding:0}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .7rem;border-radius:9px;font-size:.92rem;font-weight:500;color:var(--ink);transition:background .2s,color .2s;white-space:nowrap}
.nav-link:hover{background:rgba(255,255,255,.06)}
.nav-link .chev{width:.58em;height:.58em;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.5;transition:transform .25s}
.nav-item:hover .nav-link .chev,.nav-item:focus-within .nav-link .chev{transform:rotate(225deg);margin-top:2px}
.nav-cta{margin-left:.4rem;display:flex;align-items:center;gap:.5rem}
.dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:252px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;list-style:none;margin:0}
.dropdown::before{content:"";position:absolute;top:-1px;left:1rem;right:1rem;height:3px;background:var(--spectrum-grad);border-radius:99px}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:.62rem .85rem;border-radius:10px;font-size:.92rem;color:var(--ink-soft);transition:background .18s,color .18s}
.dropdown a:hover{background:var(--bg-2);color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;padding:.6rem;border:none;background:none}
.burger span{width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- sections ---------- */
.section{padding-block:clamp(2.8rem,5vw,4.6rem);position:relative}
[id]{scroll-margin-top:132px}
.section--tight{padding-block:clamp(2.8rem,5vw,4.2rem)}
.section--alt{background:rgba(255,255,255,.022)}
.section--dark{background:var(--bg-2)}
.section-head{max-width:760px}
.section-head .lead{font-size:clamp(1.06rem,1rem + .5vw,1.32rem);color:var(--ink-soft)}
.lead{color:var(--ink-soft)}

/* =========================================================
   HERO - matière de couleur liquide derrière un blanc épuré
   ========================================================= */
.hero{position:relative;min-height:clamp(600px,90vh,880px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
#thread-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.hero::before{ /* voile blanc : la couleur reste une lueur profonde, pas un aplat */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(96deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.74) 40%, rgba(255,255,255,.30) 64%, rgba(255,255,255,.06) 88%);
}
.hero::after{ /* vignette douce = profondeur */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  box-shadow:inset 0 -90px 120px -60px rgba(14,18,32,.18), inset 0 80px 120px -70px rgba(255,255,255,.7);
}
.hero-inner{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start}
.hero h1{font-size:clamp(2.7rem,1.2rem + 6vw,6rem);max-width:15ch;letter-spacing:-.035em;color:var(--ink)}
.hero .lead{max-width:52ch;font-size:clamp(1.08rem,1rem + .6vw,1.4rem);color:var(--ink-soft)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.6rem}

.hero-rotator{font-family:"JetBrains Mono",monospace;font-size:clamp(.92rem,.85rem + .4vw,1.12rem);font-weight:400;color:var(--ink-dim);display:flex;flex-wrap:wrap;gap:.6ch;align-items:center;letter-spacing:.02em}
.hero-rotator .rot{
  font-family:"Bricolage Grotesque";font-weight:700;letter-spacing:-.01em;display:inline-block;
  padding:.1em .6em;border-radius:.4em;background:var(--finance);color:#fff;
  transition:opacity .3s var(--ease),transform .3s var(--ease),background .3s,color .3s,box-shadow .3s;
  box-shadow:0 10px 28px -8px currentColor;will-change:opacity,transform;
}

/* =========================================================
   EXPERTISES - cartes coiffées du logo, en relief
   ========================================================= */
.exp2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.6rem}
.exp2{
  --c:var(--ink);--c-ink:var(--ink);position:relative;display:flex;flex-direction:column;
  border-radius:var(--radius);overflow:hidden;background:var(--surface);
  border:1px solid var(--line);text-decoration:none;color:inherit;box-shadow:var(--shadow);
  transform-style:preserve-3d;will-change:transform;
  transition:transform .35s var(--ease),box-shadow .4s var(--ease),border-color .35s;
}
.exp2:hover{border-color:color-mix(in srgb,var(--c) 42%,var(--line));box-shadow:0 34px 66px -22px color-mix(in srgb,var(--c) 58%,rgba(0,0,0,.55)),var(--shadow-lg)}
.exp2-logo{background:var(--c);display:grid;place-items:center;padding:2rem 1rem;position:relative;overflow:hidden;min-height:170px}
.exp2-logo::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 120% at 50% -10%, rgba(255,255,255,.22), transparent 58%)}
.exp2-logo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -30px 40px -20px rgba(0,0,0,.28)}
.exp2-logo img{position:relative;width:auto;max-height:120px;max-width:70%;filter:drop-shadow(0 10px 22px rgba(0,0,0,.22));transition:transform .55s var(--ease)}
.exp2:hover .exp2-logo img{transform:scale(1.06)}
.exp2-logo::before{transition:opacity .45s var(--ease)}
.exp2:hover .exp2-logo::before{opacity:.85}
.exp2-body{flex:1;display:flex;flex-direction:column;gap:.9rem;padding:1.5rem 1.6rem 1.6rem;background:var(--surface)}
.exp2-body h3{margin:0;font-size:1.3rem;color:var(--ink);line-height:1.1}
.exp2-body p{margin:0;color:var(--ink-soft);font-size:1.02rem;line-height:1.55;flex:1}
.exp2-more{font-family:"JetBrains Mono",monospace;font-weight:500;font-size:.82rem;letter-spacing:.03em;color:var(--c-ink);display:inline-flex;align-items:center;gap:.5rem}
.exp2 .arw{transition:transform .25s var(--ease)}
.exp2:hover .arw{transform:translateX(5px)}
.exp2.finance{--c:var(--finance);--c-ink:var(--finance-ink)}
.exp2.tech{--c:var(--tech);--c-ink:var(--tech-ink)}
.exp2.immo{--c:var(--immo);--c-ink:var(--immo-ink)}
.exp2.commerce{--c:var(--commerce);--c-ink:var(--commerce-ink)}
.exp2.supply{--c:var(--supply);--c-ink:var(--supply-ink)}
.exp2.btp{--c:var(--btp);--c-ink:var(--btp-ink)}
@media(max-width:880px){.exp2-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.exp2-grid{grid-template-columns:1fr}}

/* =========================================================
   MÉTHODOLOGIE - cartes en relief, chemin numéroté
   ========================================================= */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.8rem;counter-reset:step;position:relative}
.steps-grid::before{content:"";position:absolute;left:7%;right:7%;top:3.85rem;border-top:2px dotted rgba(255,255,255,.16);z-index:0}
@media (max-width:860px){.steps-grid::before{display:none}}
.step-card{position:relative;z-index:1;counter-increment:step;overflow:hidden;border-radius:var(--radius);padding:1.9rem 1.7rem 2rem;
  background:radial-gradient(125% 85% at 100% -12%, color-mix(in srgb,var(--c,#5E92FF) 18%, transparent), transparent 56%), linear-gradient(180deg, color-mix(in srgb,var(--c,#5E92FF) 6%, var(--surface)), var(--surface));
  border:1px solid color-mix(in srgb,var(--c,#5E92FF) 22%, var(--line));
  box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.step-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--c,#5E92FF),transparent 85%)}
.step-card::after{content:counter(step,decimal-leading-zero);position:absolute;right:1.1rem;bottom:-1.5rem;font-family:"Bricolage Grotesque";font-weight:800;font-size:6.6rem;line-height:1;color:color-mix(in srgb,var(--c,#5E92FF) 16%, transparent);pointer-events:none}
.step-card:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--c,#5E92FF) 50%, var(--line));box-shadow:var(--shadow-lg),0 26px 54px -26px color-mix(in srgb,var(--c,#5E92FF) 60%, transparent)}
.card-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;flex:none;margin-bottom:1.2rem;color:var(--c,var(--ink));background:color-mix(in srgb,var(--c,var(--ink)) 24%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,var(--ink)) 34%,transparent),0 10px 26px -8px color-mix(in srgb,var(--c,var(--ink)) 65%,transparent)}
.card-ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.step-card h4{font-size:1.18rem;margin-bottom:.45rem;color:var(--ink)}
.step-card p{margin:0;font-size:.95rem;color:var(--ink-soft)}
.c-finance{--c:var(--finance)}.c-tech{--c:var(--tech-ink)}.c-immo{--c:var(--immo)}
.c-commerce{--c:var(--commerce)}.c-supply{--c:var(--supply-ink)}.c-btp{--c:var(--btp)}
@media (max-width:860px){.steps-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps-grid{grid-template-columns:1fr}}

/* =========================================================
   CTA
   ========================================================= */
.cta-band{position:relative;overflow:hidden;background:#0E121C;border-radius:28px;padding:clamp(2.8rem,5vw,4.2rem);text-align:center;display:grid;gap:1.5rem;place-items:center;box-shadow:var(--shadow-lg)}
.cta-band::before{content:"";position:absolute;inset:0;background:
  radial-gradient(60% 100% at 12% 0%, rgba(0,74,173,.55), transparent 60%),
  radial-gradient(55% 100% at 50% 120%, rgba(255,49,49,.4), transparent 60%),
  radial-gradient(60% 100% at 92% 10%, rgba(255,116,31,.45), transparent 60%);
  opacity:.9}
.cta-band::after{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--spectrum-grad)}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{color:#fff;font-size:clamp(1.9rem,3.6vw,3rem);max-width:20ch}
.cta-band p{color:rgba(255,255,255,.82);max-width:50ch;margin:0}
.cta-band .hero-cta{justify-content:center}
.cta-band .btn-primary{background:#fff;color:#0A0C12;border-color:#fff}
.cta-band .btn-primary:hover{background:#eef1f7}
.cta-band .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
.cta-band .btn-ghost:hover{background:#fff;color:var(--ink)}

/* =========================================================
   PAGE-HERO (pages internes)
   ========================================================= */
.page-hero{position:relative;padding-block:clamp(3.4rem,7vw,5.4rem) clamp(1.6rem,3vw,2.4rem);border-bottom:1px solid var(--line);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg, rgba(10,12,18,.95) 0%, rgba(10,12,18,.7) 44%, rgba(10,12,18,0) 80%),radial-gradient(70% 130% at 0% 0%, rgba(0,74,173,.10), transparent 52%),radial-gradient(60% 120% at 100% 0%, rgba(255,116,31,.06), transparent 55%)}
.page-hero h1{font-size:clamp(2.4rem,1.6rem + 4vw,4.4rem);max-width:16ch;color:var(--ink)}
.page-hero .lead{max-width:62ch;margin-top:1.2rem;font-size:clamp(1.06rem,1rem + .5vw,1.32rem)}
.breadcrumb{font-family:"JetBrains Mono",monospace;font-size:.76rem;letter-spacing:.06em;color:var(--ink-dim);margin-bottom:1.2rem}
.breadcrumb a:hover{color:var(--ink)}

/* ---------- fondateurs ---------- */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2.6rem}
.founder{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.founder:hover{transform:translateY(-6px);border-color:var(--line-2);box-shadow:var(--shadow-lg)}
.founder-photo{aspect-ratio:4/3;object-fit:cover;object-position:center top;width:100%;background:var(--bg-2);transition:transform .6s var(--ease)}
.founder:hover .founder-photo{transform:scale(1.04)}
.founder-body{padding:1.6rem 1.7rem 1.8rem}
.founder-body h3{font-size:1.45rem;margin-bottom:.2rem;color:var(--ink)}
.founder-role{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);font-weight:500}
.founder-bio{margin-top:.9rem;font-size:.97rem;color:var(--ink-soft)}
.founder-tags{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.4rem}
.founder-tags span{font-family:"JetBrains Mono",monospace;font-size:.74rem;background:var(--bg-2);border:1px solid var(--line);padding:.3rem .6rem;border-radius:99px;color:var(--ink-dim)}
.founder-link{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--finance-ink)}
.founder-link svg{width:18px;height:18px}
@media (max-width:760px){.founders{grid-template-columns:1fr}}

/* ---------- features / steps / valeurs ---------- */
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:2.6rem;align-items:center}
@media (max-width:980px){.feature{grid-template-columns:1fr;gap:1.6rem}}
.steps{display:grid;gap:1rem;margin-top:1.6rem}
.step{--c:var(--finance);position:relative;display:flex;gap:1rem;align-items:flex-start}
.step:has(.c-finance){--c:var(--finance)}
.step:has(.c-tech){--c:var(--tech)}
.step:has(.c-immo){--c:var(--immo)}
.step:has(.c-btp){--c:var(--btp)}
.step:has(.c-supply){--c:var(--supply)}
.step:has(.c-commerce){--c:var(--commerce)}
.step:not(:last-child)::after{content:"";position:absolute;left:22px;top:52px;height:calc(100% - 52px + 1rem);width:2px;border-radius:2px;background:linear-gradient(180deg, color-mix(in srgb,var(--c) 55%, var(--line)), color-mix(in srgb,var(--c) 10%, var(--line)));z-index:0}
.step .card-ico{margin-bottom:0;width:46px;height:46px;position:relative;z-index:1;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.step:hover .card-ico{transform:scale(1.1)}
.step h4{font-size:1.06rem;color:var(--ink);transition:color .3s var(--ease)}
.step:hover h4{color:color-mix(in srgb,var(--c) 65%, var(--ink))}
.step p{margin:.2rem 0 0;font-size:.96rem;color:var(--ink-soft)}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2.6rem;position:relative;counter-reset:vcard}
/* arc orbital pointillé : habite le vide, rappelle la constellation */
.cards-3::before{content:"";position:absolute;left:-3%;right:-3%;top:46%;height:70%;border-top:1.5px dotted rgba(255,255,255,.09);border-radius:50%;transform:rotate(-2.5deg);pointer-events:none;z-index:0}
@media (max-width:860px){.cards-3{grid-template-columns:1fr}.cards-3::before{display:none}}
.vcard{--c:var(--finance);position:relative;z-index:1;counter-increment:vcard;overflow:hidden;border-radius:var(--radius);padding:2rem 1.8rem 2.1rem;
  background:radial-gradient(130% 90% at 100% -12%, color-mix(in srgb,var(--c) 16%, transparent), transparent 55%), linear-gradient(180deg, color-mix(in srgb,var(--c) 6%, var(--surface)), var(--surface));
  border:1px solid color-mix(in srgb,var(--c) 20%, var(--line));
  box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.vcard:has(.c-immo){--c:var(--immo)}
.vcard:has(.c-finance){--c:var(--finance)}
.vcard:has(.c-tech){--c:var(--tech)}
.vcard:has(.c-btp){--c:var(--btp)}
.vcard:has(.c-supply){--c:var(--supply)}
.vcard:has(.c-commerce){--c:var(--commerce)}
.vcard::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--c),transparent 85%)}
.vcard::after{content:"0" counter(vcard);position:absolute;top:1.35rem;right:1.45rem;font-family:"JetBrains Mono",monospace;font-size:.74rem;letter-spacing:.1em;color:color-mix(in srgb,var(--c) 60%,var(--ink-dim))}
.vcard:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--c) 48%, var(--line));box-shadow:var(--shadow-lg),0 26px 54px -26px color-mix(in srgb,var(--c) 55%, transparent)}
.vcard h3{font-size:1.3rem;margin:0 0 .85rem;color:var(--ink);position:relative;padding-bottom:.75rem}
.vcard h3::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:2px;background:var(--c);border-radius:2px}
.vcard p{font-size:.97rem;color:var(--ink-soft);margin:0;line-height:1.6}

/* ---------- formulaires ---------- */
.form-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:2.6rem;margin-top:2rem;align-items:start}
@media (max-width:900px){.form-wrap{grid-template-columns:1fr}}
.form-aside h2{font-size:clamp(1.7rem,3vw,2.4rem);color:var(--ink)}
.contact-lines{margin-top:1.7rem;display:grid;gap:1.1rem}
.contact-line{display:flex;gap:.85rem;align-items:flex-start}
.contact-line .ico{width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--finance-ink);box-shadow:var(--shadow-sm)}
.contact-line .ico svg{width:18px;height:18px}
.contact-line .lbl{font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-weight:500}
.contact-line a,.contact-line span.val{color:var(--ink);font-weight:500}
form.lartisans{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.field{margin-bottom:1.1rem}
.field.row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
@media (max-width:560px){.field.row{grid-template-columns:1fr}}
.field label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:.45rem}
.field label .req{color:var(--immo-ink)}
.field input,.field textarea{width:100%;padding:.85rem .95rem;border:1px solid var(--line-2);border-radius:12px;font:inherit;font-size:.95rem;color:var(--ink);background:var(--bg-2);transition:border-color .2s,box-shadow .2s,background .2s}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-dim)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--finance);background:rgba(255,255,255,.06);box-shadow:0 0 0 3px rgba(94,146,255,.22)}
.field textarea{min-height:120px;resize:vertical}
.form-note{font-size:.82rem;color:var(--ink-dim);margin-top:.4rem}

/* ---------- offre / honoraires ---------- */
.offer{display:grid;grid-template-columns:1fr;gap:1.4rem;margin-top:2.6rem;max-width:860px}
.offer-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem;overflow:hidden;box-shadow:var(--shadow)}
.offer-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--spectrum-grad)}
.offer-card h3{font-size:1.55rem;color:var(--ink)}
.offer-list{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.7rem}
.offer-list li{display:flex;gap:.7rem;font-size:.98rem;color:var(--ink-soft)}
.offer-list li::before{content:"";width:20px;height:20px;flex:none;margin-top:1px;border-radius:50%;background:var(--finance-ink);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/13px no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/13px no-repeat}

.fees{margin-top:2.2rem;max-width:940px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.fees-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;border-top:1px solid var(--line)}
.fees-row:first-child{border-top:none}
.fees-cell{padding:1.1rem 1.15rem;display:flex;align-items:center;font-size:.98rem;color:var(--ink-soft)}
.fees-head .fees-cell{background:#06070B;color:#fff;font-weight:600;font-family:"JetBrains Mono",monospace;font-size:.82rem;letter-spacing:.03em;justify-content:center}
.fees-head .fees-cell:first-child{justify-content:flex-start}
.fees-cell.lbl{font-weight:600;color:var(--ink);background:var(--bg-2)}
.fees-cell.val{font-family:"Bricolage Grotesque";font-weight:700;font-size:1.3rem;color:var(--finance-ink);justify-content:center}
.fees-row.span .fees-cell.wide{grid-column:2 / -1;justify-content:center;font-family:"Bricolage Grotesque";font-weight:700;font-size:1.1rem;color:var(--ink)}
@media (max-width:620px){
  .fees-row{grid-template-columns:1fr 1fr}
  .fees-head{display:none}
  .fees-cell.lbl{grid-column:1 / -1;border-bottom:1px solid var(--line)}
  .fees-cell.val{flex-direction:column;align-items:flex-start;font-size:1.2rem}
  .fees-cell.val::before{content:attr(data-band);font-family:"JetBrains Mono",monospace;font-weight:500;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.2rem}
  .fees-row.span .fees-cell.wide{grid-column:1 / -1;justify-content:flex-start}
}

.simulator{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-top:1.9rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-lg)}
@media (max-width:760px){.simulator{grid-template-columns:1fr}}
.sim-grid-head{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-weight:500;padding:0 1rem .6rem}
.sim-tier{display:flex;justify-content:space-between;align-items:center;background:var(--bg-2);border-radius:12px;padding:.9rem 1rem;margin-bottom:.55rem;font-size:.98rem;color:var(--ink-soft)}
.sim-tier strong{font-family:"Bricolage Grotesque";font-size:1.18rem;color:var(--supply-ink)}
.sim-calc{display:flex;flex-direction:column;justify-content:flex-start}
.sim-calc>label{font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-weight:500;margin-bottom:1rem}
.sim-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:var(--finance-ink);outline:none;margin:.2rem 0 .5rem}
.sim-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:var(--shadow);cursor:pointer}
.sim-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:var(--shadow);cursor:pointer}
.sim-scale{display:flex;justify-content:space-between;font-family:"JetBrains Mono",monospace;font-size:.74rem;color:var(--ink-dim);margin-bottom:1.2rem}
.sim-result{background:var(--bg-2);border-radius:14px;padding:1.2rem 1.3rem;margin-top:auto}
.sim-row{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0}
.sim-row span{color:var(--ink-soft);font-size:.95rem}
.sim-row strong{font-family:"Bricolage Grotesque";color:var(--ink);font-size:1.18rem}
.sim-row.big{border-top:1px solid var(--line);margin-top:.3rem;padding-top:.8rem}
.sim-row.big span{font-weight:600;color:var(--ink)}
.sim-row.big strong{font-size:2rem;color:var(--finance-ink)}
.sim-note{font-size:.84rem;color:var(--ink-dim);font-style:italic;margin-top:1rem;max-width:860px}

.exp3-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;margin-top:.5rem;grid-auto-rows:1fr}
@media(max-width:920px){.exp3-grid{grid-template-columns:1fr}}
.exp3{--c:var(--ink);position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.4rem;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.8rem;overflow:hidden;box-shadow:var(--shadow);border-top:4px solid var(--c);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .35s}
.exp3::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb,var(--c) 15%,transparent), transparent 55%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none;z-index:0}
.exp3>*{position:relative;z-index:1}
.exp3:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--c) 45%,var(--line));box-shadow:var(--shadow-lg),0 28px 56px -26px color-mix(in srgb,var(--c) 55%,transparent)}
.exp3:hover::after{opacity:1}
.exp3-logo img{transition:transform .55s var(--ease)}
.exp3:hover .exp3-logo img{transform:scale(1.06) rotate(-1.5deg)}
.exp3-logo img{width:112px;height:112px;border-radius:16px;display:block;box-shadow:var(--shadow)}
.exp3-body{display:flex;flex-direction:column}
.exp3-body h3{margin:.1rem 0 .55rem;font-size:1.34rem;color:var(--ink)}
.exp3-body p{margin:0 0 1rem;color:var(--ink-soft);font-size:1rem;line-height:1.55}
.exp2-metiers{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.2rem 0 0}
.exp3-body .exp2-metiers{margin-top:auto}
.exp3 .exp2-metiers{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.exp2-metiers li{font-family:"JetBrains Mono",monospace;font-size:.78rem;padding:.42rem .7rem;border-radius:8px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--ink-soft);border:1px solid color-mix(in srgb,var(--c) 22%,transparent);text-align:center}
.exp3.finance{--c:var(--finance)}.exp3.tech{--c:var(--tech)}.exp3.immo{--c:var(--immo)}
.exp3.commerce{--c:var(--commerce)}.exp3.supply{--c:var(--supply)}.exp3.btp{--c:var(--btp)}
@media(max-width:480px){.exp3{grid-template-columns:1fr}.exp3-logo img{width:88px;height:88px}.exp3 .exp2-metiers{grid-template-columns:1fr}}

/* ---------- pied de page ---------- */
.site-footer{background:#06070B;color:rgba(255,255,255,.72);padding-block:clamp(3.2rem,6vw,4.6rem) 2rem}
.footer-spectrum{height:3px;margin-bottom:2.6rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.6rem}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
.footer-brand img{height:104px;width:auto;margin-bottom:1.4rem}
.footer-brand p{font-size:.93rem;color:rgba(255,255,255,.55);max-width:36ch}
.footer-col h4{font-family:"JetBrains Mono",monospace;color:#fff;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin:0 0 1.1rem}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.footer-col a,.footer-col li{font-size:.93rem;color:rgba(255,255,255,.72);transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-contact{font-size:.93rem;color:rgba(255,255,255,.72);display:grid;gap:.55rem}
.footer-contact a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2.8rem;padding-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-family:"JetBrains Mono",monospace;font-size:.78rem;color:rgba(255,255,255,.5)}
.footer-bottom a:hover{color:#fff}

/* ---------- mentions légales ---------- */
.legal{max-width:840px;margin-inline:auto}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.4rem;color:var(--ink)}
.legal h2{font-size:1.32rem;margin:2.3rem 0 .6rem;color:var(--ink)}
.legal h3{font-size:1.05rem;margin:1.5rem 0 .4rem;color:var(--ink)}
.legal p,.legal li{font-size:.96rem;color:var(--ink-soft)}
.legal ul{padding-left:1.2rem;display:grid;gap:.4rem}
.legal .updated{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--ink-dim);font-style:normal}
.legal a{color:var(--finance-ink);text-decoration:underline;text-underline-offset:2px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.btn,.exp2,.vcard,.step-card,.exp3{transition:none}}

/* ---------- accessibilité ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--finance);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:0 0 8px 0;z-index:100}
.skip:focus{left:0}

/* ---------- responsive nav ---------- */
@media (max-width:1340px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
  .burger{display:flex}
  .nav{position:fixed;inset:111px 0 0 0;background:var(--bg);flex-direction:column;align-items:stretch;padding:1.2rem var(--pad) 2rem;gap:0;overflow-y:auto;transform:translateX(100%);transition:transform .38s var(--ease);border-top:1px solid var(--line)}
  body.menu-open .nav{transform:translateX(0)}
  body.menu-open{overflow:hidden}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .nav-item{border-bottom:1px solid var(--line)}
  .nav-link{padding:1rem .4rem;font-size:1.05rem;justify-content:space-between;border-radius:0}
  .nav-link:hover{background:none}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:none;padding:0 0 .6rem .8rem;min-width:0;max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
  .dropdown::before{display:none}
  .nav-item.open .dropdown{max-height:480px}
  .nav-item.open>.nav-link .chev{transform:rotate(225deg);margin-top:2px}
  .nav-cta{margin:1.2rem 0 0;flex-direction:column;gap:.6rem}.nav-cta .btn{width:100%;justify-content:center}
}
@media (max-width:760px){
  .header-inner{height:90px}
  .brand img{height:66px}
  .nav{top:89px}
  .footer-bottom{flex-direction:column}
}

/* ---------- HERO sombre (fonds "atelier" ou "marqueterie") ---------- */
.hero--dark{background:#0A0C12}
.hero--dark::before{background:linear-gradient(96deg, rgba(10,12,18,.93) 0%, rgba(10,12,18,.64) 42%, rgba(10,12,18,.22) 68%, rgba(10,12,18,0) 90%)}
.hero--dark::after{box-shadow:inset 0 -110px 140px -60px rgba(0,0,0,.75), inset 0 70px 120px -70px rgba(0,0,0,.55)}
.hero--dark h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.hero--dark .lead{color:rgba(255,255,255,.82)}
.hero--dark .eyebrow{color:rgba(255,255,255,.62)}
.hero--dark .eyebrow::before{background:rgba(255,255,255,.45)}
.hero--dark .hero-rotator{color:rgba(255,255,255,.5)}
.hero--dark .btn{color:#fff;border-color:rgba(255,255,255,.45);background:transparent}
.hero--dark .btn:hover{background:rgba(255,255,255,.1)}
.hero--dark .btn-primary{background:#fff;color:#0A0C12;border-color:#fff;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
.hero--dark .btn-primary:hover{background:#eef1f7;color:var(--ink)}
.hero--dark .btn-ghost{background:rgba(255,255,255,.06)}
.hero--dark .btn-ghost:hover{background:#fff;color:#0A0C12}

/* ===== HEADER CLAIR (logo original, noir sur blanc) sur site sombre ===== */
.site-header{background:rgba(247,248,250,.92);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}
.site-header .nav-link{color:#12151E}
.site-header .nav-link:hover{background:rgba(0,0,0,.05)}
.site-header .burger span{background:#12151E}
.site-header .nav-cta .btn{background:#12151E;color:#fff;border-color:#12151E}
.site-header .nav-cta .btn:hover{background:#000;color:#fff}
.dropdown{background:#fff;border-color:rgba(0,0,0,.10);box-shadow:0 20px 50px -20px rgba(0,0,0,.45)}
.dropdown a{color:#3C4356}
.dropdown a:hover{background:#F1F3F7;color:#12151E}
@media (max-width:1340px){
  .site-header{background:#F7F8FA;backdrop-filter:none;-webkit-backdrop-filter:none}
  .nav{background:#F7F8FA;border-top-color:rgba(0,0,0,.08)}
  .nav-item{border-bottom-color:rgba(0,0,0,.08)}
  .site-header .nav-link{color:#12151E}
}

/* ===== Espace candidat : préparer son entretien ===== */
.prep-app{--acc:var(--finance-ink)}
.prep-h2{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:clamp(1.7rem,1.2rem+2vw,2.5rem);line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin:.4rem 0 .3rem}
.prep-sub{color:var(--ink-soft);margin:0 0 1.8rem;max-width:60ch}

/* sélecteur métier */
.prep-metiers{display:flex;flex-wrap:wrap;gap:.7rem}
.prep-metier{--c:var(--finance-ink);font-family:"Inter",sans-serif;font-weight:600;font-size:.98rem;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:.7rem 1.25rem;cursor:pointer;transition:transform .25s var(--ease),border-color .25s,color .25s,background .25s,box-shadow .25s}
.prep-metier.c-finance{--c:var(--finance-ink)}.prep-metier.c-tech{--c:var(--tech-ink)}.prep-metier.c-immo{--c:var(--immo-ink)}.prep-metier.c-commerce{--c:var(--commerce-ink)}.prep-metier.c-supply{--c:var(--supply-ink)}.prep-metier.c-btp{--c:var(--btp-ink)}
.prep-metier:hover{transform:translateY(-2px);color:var(--ink);border-color:color-mix(in srgb,var(--c) 55%,var(--line))}
.prep-metier.is-active{color:#0A0C12;background:var(--c);border-color:var(--c);box-shadow:0 10px 26px -10px color-mix(in srgb,var(--c) 75%,transparent)}

/* progression */
.prep-progress-wrap{margin:.4rem 0 2rem;max-width:560px}
.prep-progress{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.prep-progress-bar{display:block;height:100%;width:0;border-radius:99px;background:var(--acc);transition:width .4s var(--ease)}
.prep-progress-meta{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--ink-dim)}
.prep-progress-meta #prepScore{color:var(--acc);font-weight:600}
.prep-reset{margin-left:auto;font:inherit;font-size:.78rem;color:var(--ink-dim);background:none;border:none;border-bottom:1px dotted var(--line-2);cursor:pointer;padding:0 0 1px}
.prep-reset:hover{color:var(--ink-soft)}

/* checklist */
.prep-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media (max-width:860px){.prep-groups{grid-template-columns:1fr}}
.prep-group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.5rem 1.6rem;box-shadow:var(--shadow)}
.prep-group h3{font-size:1.05rem;color:var(--ink);margin:0 0 1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.prep-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}
.prep-item{display:flex;align-items:flex-start;gap:.7rem}
.prep-item input{margin:.15rem 0 0;width:18px;height:18px;flex:none;accent-color:var(--acc);cursor:pointer}
.prep-item label{font-size:.95rem;color:var(--ink-soft);line-height:1.45;cursor:pointer;transition:color .25s,opacity .25s}
.prep-item.is-done label{color:var(--ink-dim);text-decoration:line-through;opacity:.7}

/* questions / accordéon */
.prep-qgroup{font-family:"JetBrains Mono",monospace;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);margin:2.2rem 0 1rem}
.prep-qlist{display:flex;flex-direction:column;gap:.7rem}
.prep-q{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .25s}
.prep-q.is-open{border-color:color-mix(in srgb,var(--acc) 45%,var(--line))}
.prep-q-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;font-family:"Inter",sans-serif;font-weight:600;font-size:1rem;color:var(--ink);background:none;border:none;padding:1.1rem 1.3rem;cursor:pointer}
.prep-q-ic{position:relative;width:16px;height:16px;flex:none}
.prep-q-ic::before,.prep-q-ic::after{content:"";position:absolute;background:var(--acc);border-radius:2px;transition:transform .3s var(--ease),opacity .3s}
.prep-q-ic::before{top:7px;left:0;width:16px;height:2px}
.prep-q-ic::after{left:7px;top:0;width:2px;height:16px}
.prep-q.is-open .prep-q-ic::after{transform:scaleY(0);opacity:0}
.prep-q-body{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.prep-q.is-open .prep-q-body{max-height:340px}
.prep-q-body p{margin:0;padding:0 1.3rem;color:var(--ink-soft);font-size:.95rem;line-height:1.55}
.prep-q-body p:first-child{padding-top:.2rem}
.prep-q-body p.prep-tip{padding-top:.6rem;padding-bottom:1.2rem;color:var(--ink-dim)}
.prep-q-body p strong{color:var(--ink)}
.prep-empty{color:var(--ink-dim);font-style:italic}

/* CTA */
.prep-cta{text-align:center}
.prep-cta .prep-sub{margin-left:auto;margin-right:auto}
.prep-cta-btns{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:1.4rem}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{border-color:var(--ink-soft);background:rgba(255,255,255,.03)}


/* bouton header secondaire : Préparer mon entretien */
.site-header .nav-cta .btn-prep{background:transparent;color:#12151E;border:1px solid rgba(18,21,30,.22)}
.site-header .nav-cta .btn-prep:hover{background:#12151E;color:#fff;border-color:#12151E}

.site-header .nav-cta .btn{white-space:nowrap}

/* ===== Espace candidat v2 : quiz + flashcards ===== */
.quiz{max-width:600px;margin:1.6rem auto 0}
.quiz-track{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.quiz-track-bar{display:block;height:100%;width:0;border-radius:99px;background:var(--acc);transition:width .4s var(--ease)}
.quiz-count{font-family:"JetBrains Mono",monospace;font-size:.8rem;color:var(--ink-dim);margin:.6rem 0 1rem;text-align:right}
.quiz-stage{position:relative;min-height:240px}
.quiz-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:2.4rem 1.8rem;box-shadow:var(--shadow-lg);text-align:center;transition:transform .28s var(--ease),opacity .28s}
.quiz-card.entering{opacity:0;transform:translateX(34px) scale(.97)}
.quiz-card.leaving{opacity:0;transform:translateX(-40px) scale(.95)}
.quiz-q{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:clamp(1.15rem,1rem + 1vw,1.4rem);color:var(--ink);line-height:1.3;margin:0 0 1.8rem}
.quiz-btns{display:flex;gap:.8rem;justify-content:center}
.quiz-btn{font:inherit;font-weight:600;font-size:1rem;padding:.8rem 1.7rem;border-radius:99px;cursor:pointer;border:1px solid var(--line-2);background:transparent;color:var(--ink-soft);transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.quiz-btn:hover{transform:translateY(-2px)}
.quiz-btn.no:hover{background:rgba(255,255,255,.05);color:var(--ink)}
.quiz-btn.yes{border-color:var(--acc);color:var(--acc)}
.quiz-btn.yes:hover{background:var(--acc);color:#0A0C12}
.quiz-result{text-align:center;animation:prepFade .4s var(--ease)}
@keyframes prepFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gauge{position:relative;width:150px;height:150px;margin:.2rem auto 1rem}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.gauge .g-bg{fill:none;stroke:var(--line);stroke-width:9}
.gauge .g-fg{fill:none;stroke:var(--acc);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset 1.1s var(--ease)}
.gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:2.3rem;color:var(--ink)}
.gauge-num i{font-style:normal;font-size:1.1rem;color:var(--ink-soft);margin-left:2px}
.quiz-msg{font-weight:600;color:var(--ink);font-size:1.1rem;margin:.2rem 0 1.3rem}
.quiz-recap-h{font-family:"JetBrains Mono",monospace;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 .7rem}
.quiz-recap{list-style:none;margin:0 auto 1.5rem;padding:0;max-width:430px;text-align:left;display:flex;flex-direction:column;gap:.55rem}
.quiz-recap li{position:relative;padding-left:1.4rem;color:var(--ink-soft);font-size:.95rem}
.quiz-recap li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--acc)}

.flash{max-width:600px;margin:1.6rem auto 0}
.flash-card{perspective:1200px;cursor:pointer;height:clamp(230px,46vw,260px)}
.flash-inner{position:relative;width:100%;height:100%;transition:transform .55s var(--ease);transform-style:preserve-3d}
.flash-card.flipped .flash-inner{transform:rotateY(180deg)}
.flash-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:1.8rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.flash-back{transform:rotateY(180deg);background:linear-gradient(180deg, color-mix(in srgb,var(--acc) 12%, var(--surface)), var(--surface));border-color:color-mix(in srgb,var(--acc) 32%, var(--line))}
.flash-tag{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:.9rem}
.flash-q{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:clamp(1.1rem,1rem + .8vw,1.35rem);color:var(--ink);line-height:1.3;margin:0}
.flash-hint{position:absolute;bottom:1rem;left:0;right:0;font-size:.78rem;color:var(--ink-dim)}
.flash-a{color:var(--ink);font-size:1.02rem;line-height:1.5;margin:0 0 .7rem;font-weight:600}
.flash-tip{color:var(--ink-soft);font-size:.92rem;line-height:1.45;margin:0}
.flash-controls{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:1.2rem}
.flash-nav{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;transition:transform .2s var(--ease),border-color .2s,color .2s}
.flash-nav:hover{transform:translateY(-2px);border-color:var(--acc);color:var(--acc)}
.flash-count{font-family:"JetBrains Mono",monospace;font-size:.85rem;color:var(--ink-dim);min-width:46px;text-align:center}
.flash-pick{text-align:center;color:var(--ink-dim);font-style:italic;font-size:.9rem;margin-top:1rem}

/* ===== Espace candidat v3 : entraînement piloté par métier ===== */
.trainer-pick{text-align:center;color:var(--ink-dim);font-style:italic;margin:1.6rem 0}
.trainer-body{max-width:640px;margin:1.4rem auto 0}
.trainer-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.trainer-label{font-family:"JetBrains Mono",monospace;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);white-space:nowrap}
.trainer-track{flex:1;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.trainer-track span{display:block;height:100%;width:0;background:var(--acc);border-radius:99px;transition:width .4s var(--ease)}
.tr-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1.9rem;box-shadow:var(--shadow-lg);animation:prepFade .35s var(--ease)}
.tr-q{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:clamp(1.15rem,1rem + 1vw,1.45rem);color:var(--ink);line-height:1.3;margin:0 0 1.3rem}
.tr-timer{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.tr-timer-btn{font:inherit;font-weight:600;font-size:.9rem;padding:.6rem 1.2rem;border-radius:99px;border:1px solid var(--acc);background:transparent;color:var(--acc);cursor:pointer;transition:background .2s,color .2s}
.tr-timer-btn:hover,.tr-timer-btn.running{background:var(--acc);color:#0A0C12}
.tr-time{font-family:"JetBrains Mono",monospace;font-size:1.05rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.tr-time.done{color:var(--acc);font-weight:600}
.tr-sub{font-size:.9rem;color:var(--ink-soft);margin:0 0 .8rem}
.tr-points{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-direction:column;gap:.65rem}
.tr-points label{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;font-size:.97rem;line-height:1.45}
.tr-points input{margin:.15rem 0 0;width:18px;height:18px;flex:none;accent-color:var(--acc);cursor:pointer}
.tr-points span{color:var(--ink-soft);transition:color .2s}
.tr-points input:checked + span{color:var(--ink)}
.tr-reveal-btn{font:inherit;font-weight:600;font-size:.92rem;color:var(--acc);background:none;border:none;border-bottom:1px dashed color-mix(in srgb,var(--acc) 50%, transparent);cursor:pointer;padding:0 0 2px}
.tr-reveal{margin-top:1.1rem;padding:1.1rem 1.2rem;border-radius:14px;background:color-mix(in srgb,var(--acc) 8%, var(--bg-2));border:1px solid color-mix(in srgb,var(--acc) 22%, var(--line));animation:prepFade .3s var(--ease)}
.tr-reveal p{margin:0 0 .6rem;font-size:.95rem;line-height:1.5;color:var(--ink-soft)}
.tr-reveal p:last-child{margin-bottom:0}
.tr-reveal strong{color:var(--ink)}
.tr-ex{color:var(--ink-dim);font-style:italic}
.tr-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}
.tr-next{font:inherit;font-weight:600;padding:.75rem 1.6rem;border-radius:99px;border:none;background:var(--acc);color:#0A0C12;cursor:pointer;transition:transform .2s var(--ease),filter .2s}
.tr-next:hover{transform:translateY(-2px);filter:brightness(1.08)}
.tr-result{text-align:center;animation:prepFade .4s var(--ease)}

/* sélecteur de spécialité (sous-métier) */
.prep-subwrap{margin-top:1.7rem;padding-top:1.5rem;border-top:1px solid var(--line);animation:prepFade .35s var(--ease)}
.prep-sublabel{font-size:.92rem;color:var(--ink-soft);margin:0 0 .9rem;font-weight:600}

/* compteur de couverture (lien cases -> score) */
.tr-cover{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--ink-dim);margin:-.7rem 0 1.4rem;transition:color .25s}
.tr-cover-n{color:var(--acc);font-weight:600}
.tr-card.is-complete{border-color:color-mix(in srgb,var(--acc) 50%,var(--line));box-shadow:var(--shadow-lg),0 0 0 1px color-mix(in srgb,var(--acc) 20%,transparent)}
.tr-card.is-complete .tr-cover{color:var(--acc)}
.tr-result-sub{font-size:.9rem;color:var(--ink-soft);max-width:440px;margin:-.6rem auto 1.4rem;line-height:1.45}


/* ===== Atelier de rédaction + fiche récap (brandée) ===== */
.tr-answer{width:100%;box-sizing:border-box;font:inherit;font-size:.97rem;line-height:1.55;color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;padding:.9rem 1rem;resize:vertical;min-height:120px;margin-bottom:1.4rem;transition:border-color .2s}
.tr-answer:focus{outline:none;border-color:var(--acc)}
.tr-answer::placeholder{color:var(--ink-dim)}
.tr-cover-inline{color:var(--ink-dim);font-weight:400}
.tr-cover-inline .tr-cover-n{color:var(--acc);font-weight:600}
.tr-prev{font:inherit;font-weight:600;padding:.75rem 1.4rem;border-radius:99px;border:1px solid var(--line-2);background:transparent;color:var(--ink-soft);cursor:pointer;margin-right:auto;transition:color .2s,border-color .2s}
.tr-prev:hover{color:var(--ink);border-color:var(--ink-soft)}

.fiche-sheet{position:relative;max-width:660px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:2rem 2.1rem 1.7rem;box-shadow:var(--shadow-lg);text-align:left;overflow:hidden}
.fiche-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.fiche-logo{height:40px;width:auto}
.fiche-logo-dark{display:none}
.fiche-badge{font-family:"JetBrains Mono",monospace;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 35%,var(--line));border-radius:99px;padding:.34rem .75rem;white-space:nowrap}
.fiche-spectrum{display:flex;height:4px;border-radius:2px;overflow:hidden;margin:0 0 1.5rem}
.fiche-spectrum span{flex:1}
.fiche-title{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:1.5rem;color:var(--ink);margin:0 0 .3rem}
.fiche-meta{font-family:"JetBrains Mono",monospace;font-size:.74rem;color:var(--ink-dim);margin:0 0 1.7rem}
.fiche-body{display:flex;flex-direction:column;gap:1rem}
.fiche-section{font-family:"JetBrains Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:.8rem 0 .15rem}
.fiche-section:first-child{margin-top:0}
.fiche-item{border:1px solid var(--line);border-left:3px solid var(--acc);background:var(--bg-2);border-radius:0 12px 12px 0;padding:1rem 1.2rem}
.fiche-q{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;color:var(--ink);margin:0 0 .55rem;font-size:1.02rem;line-height:1.35}
.fiche-a{color:var(--ink-soft);font-size:.95rem;line-height:1.55;white-space:pre-wrap}
.fiche-empty{color:var(--ink-dim);font-style:italic}
.fiche-chips{margin-top:.85rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.fiche-chip-l{font-family:"JetBrains Mono",monospace;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-right:.2rem}
.fiche-chip{display:inline-block;background:color-mix(in srgb,var(--acc) 12%,transparent);color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 30%,var(--line));border-radius:99px;padding:.2rem .65rem;font-size:.8rem}
.fiche-foot{text-align:center;font-family:"JetBrains Mono",monospace;font-size:.72rem;color:var(--ink-dim);margin:1.7rem 0 0;padding-top:1.3rem;border-top:1px solid var(--line)}
.fiche-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:1.6rem}

@media print{
  @page{margin:1.4cm}
  html,body{background:#fff !important;background-image:none !important}
  .prep-app{background:#fff !important}
  .site-header,.site-footer,.page-hero{display:none !important}
  .prep-app > section{display:none !important}
  .prep-app > section.trainer-host{display:block !important;padding:0 !important;background:none !important;border:none !important}
  .trainer-host .container{max-width:none !important;padding:0 !important}
  .trainer-host .container > *:not(.trainer){display:none !important}
  .trainer > *:not(.trainer-body){display:none !important}
  .trainer-body > .trainer-top{display:none !important}
  .fiche, .fiche *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fiche-actions{display:none !important}
  .fiche-sheet{max-width:none;margin:0;padding:0;background:#fff;border:none;box-shadow:none;color:#111;overflow:visible}
  .fiche-logo-light{display:none}
  .fiche-logo-dark{display:block}
  .fiche-badge{color:#1a1d26;border-color:#cbd0d8}
  .fiche-title{color:#12151E}
  .fiche-meta,.fiche-foot{color:#6a7180}
  .fiche-foot{border-top-color:#e2e5ea}
  .fiche-section{color:#8a91a0}
  .fiche-item{background:#fff;border:1px solid #e4e7ec;border-left:3px solid var(--acc);border-radius:0 10px 10px 0;break-inside:avoid;page-break-inside:avoid;margin-bottom:.2rem}
  .fiche-q{color:#12151E}
  .fiche-a{color:#33373f}
  .fiche-empty{color:#a0a4ad}
  .fiche-chip{background:#f3f5f8;color:#454b57;border-color:#e0e4ea}
  .fiche-chip-l{color:#8a91a0}
}

/* mention confidentialité (atelier de prépa) */
.prep-note{font-size:.82rem;color:var(--ink-dim);font-style:italic;margin:.4rem 0 0;max-width:640px}

/* trame affichée par défaut */
.tr-reveal-h{font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin:0 0 .7rem !important}
.tr-card .tr-reveal{margin-top:1.4rem}
