/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-1.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-2.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-3.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-5.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-6.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-7.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-8.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-9.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-10.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-11.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/medias/polices/police-12.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-13.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-14.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-15.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-16.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-17.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-18.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-19.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-20.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-21.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-22.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-23.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-24.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;
}
/* latin-ext */
@font-face {
  font-family: 'Tomorrow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/medias/polices/police-25.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Tomorrow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/medias/polices/police-26.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;
}
/* latin-ext */
@font-face {
  font-family: 'Tomorrow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-27.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Tomorrow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/medias/polices/police-28.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;
}
/* latin-ext */
@font-face {
  font-family: 'Tomorrow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-29.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Tomorrow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/medias/polices/police-30.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;
}


/* V7 : direction graphique de la maquette d'Eric (02/10/2026) */
:root{
  --page:#F2F0E7; --card:#FCFBF2; --beige:#E0DCCD; --line:#BCB7A6; --muted:#7C786B;
  --ink:#23221F; --ink-2:#4C4941; --brand:#F42F25; --deep:#961914; --dark:#350303;
  --display:"Tomorrow","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --shell:1180px; --cut:22px;
  --grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M0 58H50M66 58H116M58 0V50M58 66V116' stroke='%23E3E0D3' fill='none'/%3E%3Cpath d='M51 58H65M58 51V65' stroke='%23CFCAB7' fill='none'/%3E%3C/svg%3E");
  --grid-beige:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M3 58H113M58 3V113' stroke='%23EEEBDF' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.2 0 0 0 0 0.2 0 0 0 0 0.15 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --hatch:repeating-linear-gradient(135deg,rgba(188,183,166,.5) 0 1px,transparent 1px 10px);
  --chamfer:polygon(var(--cut) 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,var(--cut) 100%,0 calc(100% - var(--cut)),0 var(--cut));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--grain),var(--grid) center top,var(--page);color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;padding-bottom:46px}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
p+p{margin-top:14px}
a{color:var(--deep)}
:focus-visible{outline:2px solid var(--deep);outline-offset:3px}
.shell{max-width:var(--shell);margin-inline:auto;padding-inline:20px}
.skip{position:absolute;left:-9999px;background:var(--ink);color:var(--card);padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}
b,strong{font-weight:700;color:var(--dark)}

/* ── en-tête : logo centré, menu numéroté ── */
.top{background:var(--card)}
.toprow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-block:14px 6px}
.brand{background:none;border:0;padding:0;cursor:pointer}
.brand img{height:70px;width:auto}
.topright{justify-self:end;display:flex;gap:14px;align-items:center;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.topright b{color:var(--ink)}
.topright :is(a,button){font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:0;color:var(--deep);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.navwrap{position:sticky;top:0;z-index:100;background:var(--card);border-bottom:1px solid var(--beige);transition:box-shadow .2s}
.navwrap.stuck{box-shadow:0 2px 14px rgba(35,34,31,.07)}
.links{display:flex;justify-content:center;gap:4px 26px;flex-wrap:wrap;padding-block:6px 0}
.links :is(a,button){font-family:var(--mono);font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;background:none;border:0;color:var(--ink);padding:10px 2px 12px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.links :is(a,button):hover{color:var(--deep)}
.links :is(a,button)[aria-current=page]{color:var(--brand);border-bottom-color:var(--brand)}

/* ── boutons ── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:1.2rem;background:var(--brand);color:var(--card);border:2px solid var(--brand);padding:12px 30px;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.btn:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-1px)}
.btn.ghost{background:var(--card);color:var(--brand)}
.btn.ghost:hover{background:var(--brand);color:var(--card);border-color:var(--brand)}
.btn.sm{font-size:1.02rem;padding:9px 20px}
.cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;align-items:center}
.link{font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;background:none;border:0;padding:0;color:var(--deep);cursor:pointer;display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.link::before{content:"";width:12px;height:12px;background:url("/medias/design-system/Fleche_2.svg") center/contain no-repeat}

/* ── haut de page ── */
.hero{position:relative;isolation:isolate;min-height:clamp(470px,64vh,660px);display:flex;align-items:center;background:var(--ink) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,240,231,.86) 0%,rgba(242,240,231,.72) 55%,rgba(242,240,231,.35) 100%);z-index:-1}
.hero .sub,.hero .jump{max-width:58ch}
.hero.sm{min-height:clamp(330px,44vh,440px)}
.hero .in{width:100%}
.hero .txt{position:relative;isolation:isolate;max-width:1000px;padding-block:48px 64px}
.hero .txt::before{content:"";position:absolute;left:5%;top:30%;width:62%;bottom:4%;background:var(--hatch);z-index:-1}
.hero h1{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.045em;font-size:clamp(1.9rem,4.3vw,3.5rem);line-height:1.08;color:var(--dark)}
.hero.sm h1{font-size:clamp(1.8rem,4.2vw,3.2rem)}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero .sub{font-size:clamp(.95rem,1.4vw,1.06rem);line-height:1.85;max-width:58ch;margin-top:18px;color:var(--ink)}
.rond{position:absolute;right:max(20px,4vw);bottom:-72px;z-index:6;width:clamp(140px,17vw,226px);aspect-ratio:1;border-radius:50%;background:var(--brand);color:var(--card);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1rem,1.8vw,1.45rem);line-height:1.25;padding:20px;transition:transform .2s}
.rond:hover{transform:rotate(-6deg) scale(1.04)}
.jump{display:flex;flex-wrap:wrap;gap:8px 22px;padding-block:22px 0}
.jump a{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;display:inline-flex;gap:7px;align-items:center}
.jump a::before{content:"";width:9px;height:9px;background:url("/medias/design-system/Fleche_2.svg") center/contain no-repeat}
.jump a:hover{color:var(--deep)}

/* ── sections ── */
.sec{padding-block:clamp(60px,8vw,110px)}
.sec.first{padding-top:clamp(90px,11vw,140px)}
.sec.beige{background:var(--grid-beige) center,var(--beige)}
.sec:not(.beige) + .sec:not(.beige){padding-top:0}
ul.chev .link::before{display:none}
.cards.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));row-gap:34px}

/* titre de section : bandeau rouge foncé, étiquette rouge hachurée, sous-titre */
.stitle{max-width:860px;margin:0 0 44px}
.stitle.r{margin-left:auto}
.stitle .bar{position:relative;isolation:isolate;background:var(--deep);color:var(--card);display:flex;align-items:center;gap:24px;padding:15px 30px 15px 26px}
.stitle :is(h1,h2){font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.25rem,2.8vw,2.05rem);line-height:1.15;padding-right:120px}
.stitle .chev{width:18px;height:18px;flex:none;background:url("/medias/design-system/Fleche_2.svg") center/contain no-repeat}
.stitle .tag{position:absolute;right:20px;top:-12px;background:var(--brand);color:var(--card);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 12px;white-space:nowrap}
.stitle .tag::before{content:"";position:absolute;left:12%;right:38%;top:-16px;bottom:-30px;background:repeating-linear-gradient(135deg,var(--brand) 0 2px,transparent 2px 9px);z-index:-1}
.stitle .sub{font-size:clamp(.82rem,1.5vw,1.08rem);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:10px 0 0 88px;line-height:1.5}

/* carte à coins coupés */
.panel{background:var(--card);clip-path:var(--chamfer);padding:clamp(26px,4vw,54px)}
.panel h3,.qt{font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;color:var(--dark);line-height:1.5;margin-bottom:14px}
.duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.duo.top{align-items:start}
.duo.wide{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.hatch{background:var(--hatch);display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,32px);min-height:280px}
.hatch img{max-height:380px;width:auto}
.pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:28px;align-items:stretch}
.photo{width:100%;height:auto}
.cap{font-style:italic;color:var(--muted);font-size:.86rem;margin-top:14px;line-height:1.6}
.lead{font-size:1.02rem;max-width:62ch}
.updated,.src{font-size:.74rem;color:var(--muted);margin-top:12px}

/* cartes à picto (« les différentes étapes ») */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:26px;margin-top:20px}
.cardw{position:relative;padding-top:58px}
.cardw .ico{position:absolute;top:0;left:50%;transform:translateX(-50%);height:96px;width:auto;z-index:2}
.cardw .num{position:absolute;top:2px;left:calc(50% + 34px);z-index:3;background:var(--card);color:var(--brand);font-weight:700;font-size:.72rem;padding:0 4px}
.cardw .panel{height:100%;padding:56px 28px 30px}
.cardw .panel p{font-size:.92rem;line-height:1.75}
.cardw.noico{padding-top:0}
.cardw.noico .panel{padding-top:30px}

/* gros chiffres */
.big{font-family:var(--display);font-weight:600;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1;color:var(--brand);letter-spacing:.02em}
.figs{display:flex;flex-wrap:wrap;gap:18px 46px;margin:4px 0 20px}
.figs div{display:flex;flex-direction:column;gap:6px}
.figs span:not(.big){font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.figs .big{font-size:clamp(2.2rem,4.6vw,3.3rem)}

/* listes */
ul.coches{list-style:none;padding:0;margin:10px 0 0}
ul.coches li{position:relative;padding:0 0 10px 30px}
ul.coches li::before{content:"";position:absolute;left:2px;top:7px;width:13px;height:7px;border-left:3px solid var(--brand);border-bottom:3px solid var(--brand);transform:rotate(-45deg)}
ul.chev{list-style:none;padding:0;margin:12px 0 0}
ul.chev li{position:relative;padding:0 0 12px 26px}
ul.chev li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;background:url("/medias/design-system/Fleche_2.svg") center/contain no-repeat}
ul.mini{padding-left:18px;margin:4px 0 0;font-size:.88rem}
dl.faits{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:16px 0;font-size:.92rem}
dl.faits dt{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;color:var(--muted);padding-top:3px}
dl.faits dd{margin:0}
dl.faits dd.n{font-weight:700;color:var(--deep)}
dl.faits dd.todo{color:var(--deep);font-style:italic}

/* accordéon */
details.acc{border-bottom:1px solid var(--beige)}
details.acc:last-of-type{border-bottom:0}
details.acc summary{list-style:none;cursor:pointer;padding:14px 0;display:flex;gap:18px;align-items:baseline;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;color:var(--dark);line-height:1.5}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::before{content:"+";color:var(--brand);font-size:1.5rem;line-height:.8;width:16px;flex:none;font-weight:700}
details.acc[open] summary::before{content:"";width:12px;height:12px;margin-inline:2px;border-right:3px solid var(--brand);border-bottom:3px solid var(--brand);transform:translateY(-3px) rotate(45deg)}
details.acc .body{padding:0 0 18px 34px;font-size:.93rem}
.accs.cols{columns:2 320px;column-gap:48px}
.accs.cols details{break-inside:avoid}

/* carrousel */
.carousel{position:relative;padding-inline:clamp(0px,6vw,90px)}
.track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.track::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:center;margin:0}
.slide img.photo{aspect-ratio:16/8;object-fit:cover}
.carousel.third .slide{flex-basis:calc((100% - 48px)/3)}
.carousel.third .slide img.photo{aspect-ratio:4/3}
.nav-c{position:absolute;top:calc(50% - 40px);width:46px;height:60px;background:none;border:0;cursor:pointer;padding:0}
.nav-c svg{width:100%;height:100%}
.nav-c.prev{left:0}.nav-c.next{right:0}
.dots{display:flex;justify-content:center;gap:10px;margin-top:20px}
.dots button{width:10px;height:10px;border:0;padding:0;background:var(--line);cursor:pointer}
.dots button.on{background:var(--brand)}
.casecard{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0;align-items:stretch}
.casecard img{width:100%;height:100%;object-fit:cover;min-height:320px}
.casecard .panel{clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}

/* bandeau de logos */
.logos{background:var(--grid-beige) center,var(--beige);padding-block:clamp(40px,6vw,64px)}
.logos .row{display:flex;flex-wrap:wrap;justify-content:space-around;align-items:center;gap:34px 40px}
.logos .row img{height:clamp(44px,6vw,70px);width:auto}
.logos .count{text-align:center;margin-top:34px;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.logos .count b{font-family:var(--display);font-size:1.5rem;letter-spacing:.04em;color:var(--deep);margin-right:8px}
.partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin-top:34px;font-size:.88rem;color:var(--ink-2)}
.partners b{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;color:var(--dark);margin-bottom:4px}

/* calcul */
.calc .crow{display:flex;justify-content:space-between;gap:18px;padding-block:11px;border-top:1px dashed var(--line);font-size:.92rem}
.calc .crow:first-child{border-top:0}
.calc .crow b{white-space:nowrap;font-variant-numeric:tabular-nums}
.calc .crow.tot{border-top:2px solid var(--brand);margin-top:6px;padding-top:14px}
.calc .crow.tot b{color:var(--deep)}

/* tableaux */
.scroll{overflow-x:auto;margin-top:18px}
table.t{width:100%;border-collapse:collapse;font-size:.86rem;min-width:440px}
table.t th,table.t td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--beige);vertical-align:top}
table.t th{font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.t td.n{white-space:nowrap;font-weight:700}

/* opérateurs */
.ops{display:grid;gap:10px 18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:18px;font-size:.86rem}
.ops div{display:flex;gap:10px;align-items:flex-start}
.ops .sw{width:13px;height:13px;flex:none;margin-top:6px}
.legende{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font-size:.86rem}
.legende span{display:flex;gap:8px;align-items:center}
.legende i{display:inline-block;border-radius:50%;background:var(--brand)}
.pt1{width:9px;height:9px}.pt5{width:16px;height:16px;background:var(--deep)!important}.reuse{background:#70308B!important}

/* cycle de la bouteille */
.cycle{display:flex;align-items:flex-end;justify-content:center;gap:4px;flex-wrap:wrap}
.cycle img.b{height:118px;width:auto}
.cycle img.c{height:18px;width:auto;margin-bottom:48px}

/* témoignages */
.temoin blockquote{margin:0;font-size:.93rem;line-height:1.75}
.temoin .qui{margin-top:14px;font-size:.84rem;display:flow-root;line-height:1.5}
.temoin .info{font-size:.74rem;color:var(--muted);margin-top:6px}
.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;float:left;margin-right:12px}
.vid{position:relative;aspect-ratio:16/9;background:var(--ink);margin-bottom:18px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;cursor:pointer;overflow:hidden}
.yt::after{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;transform:translate(-50%,-50%);border-radius:50%;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7l8 5-8 5z' fill='%23FCFBF2'/%3E%3C/svg%3E") center/30px no-repeat}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt.on::after{display:none}

/* autres solutions : le grand rond rouge sur grille beige */
.autres{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,5vw,70px);align-items:center}
.autres .disc{width:clamp(170px,20vw,250px);aspect-ratio:1;border-radius:50%;background:var(--brand);color:var(--card);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.25;padding:24px;border:0;cursor:pointer}
.prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.prods :is(a,button){all:unset;cursor:pointer;background:var(--card);clip-path:var(--chamfer);padding:18px 22px;font-size:.84rem;line-height:1.5;color:var(--ink-2)}
.prods :is(a,button) b{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.86rem;margin-bottom:2px}
.prods :is(a,button):hover b{color:var(--brand)}

/* formulaires */
form.lead{display:flex;flex-direction:column;gap:14px}
.f{display:flex;flex-direction:column;gap:5px}
.f label{font-weight:700;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dark)}
.f input,.f select,.f textarea{font-family:var(--mono);font-size:.9rem;padding:11px;border:1px solid var(--line);background:var(--page);color:var(--ink);width:100%;border-radius:0}
.f .h{font-size:.7rem;color:var(--muted)}
.f2{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.ctx{font-size:.7rem;color:var(--muted);border:1px dashed var(--line);padding:10px;line-height:1.6}
.reveal{background:none;border:0;font:inherit;color:var(--deep);text-decoration:underline;cursor:pointer;padding:0}

/* emplacements vides */
.slot{border:1px dashed var(--line);background:var(--hatch),var(--card);display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;font-size:.74rem;color:var(--muted);line-height:1.55;min-height:180px}
.slot.r169{aspect-ratio:16/9;min-height:0}.slot.r11{aspect-ratio:1;min-height:0}
.slot.round{border-radius:50%;aspect-ratio:1;min-height:0;width:180px;margin-inline:auto}
.quote{font-size:1rem;line-height:1.85}
.quote p+p{margin-top:12px}

/* état du texte (outil de maquette) */
.etat{display:none;font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;margin:0 0 12px;width:max-content;max-width:100%;white-space:normal;line-height:1.4;font-weight:600}
body.show-etat .etat{display:inline-block}
.etat.ok{background:var(--ink);color:var(--card)}
.etat.relire{background:var(--deep);color:var(--card)}
.etat.neuf{background:var(--card);color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--deep)}
.etat.eric{background:#1E4E6B;color:var(--card)}
.etat.trame{background:var(--card);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--muted)}
.etat.manque{background:repeating-linear-gradient(135deg,var(--brand) 0 6px,var(--deep) 6px 12px);color:var(--card)}
.manq{display:none}
body.show-etat .manq{display:block;font-size:.72rem;line-height:1.6;color:var(--deep);border-left:3px solid var(--brand);background:rgba(244,47,37,.07);padding:9px 12px;margin-top:16px;max-width:80ch}
mark.warn{background:none;color:inherit}
body.show-etat mark.warn{background:rgba(244,47,37,.15);box-shadow:0 0 0 2px rgba(244,47,37,.15);cursor:help}
body.show-etat mark.warn::after{content:" ⚠";font-size:.8em;color:var(--deep)}

.page-cachee{display:none!important}

/* pied de page */
footer.foot{background:var(--grid-beige) center,var(--beige);padding-block:60px 70px}
footer.foot .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start}
footer.foot .disc{width:clamp(150px,17vw,220px);aspect-ratio:1;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;padding:34px}
footer.foot .disc img{width:100%;height:auto}
footer.foot .cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
footer.foot h4{margin:0 0 10px;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dark)}
footer.foot ul{margin:0;padding:0;list-style:none;font-size:.82rem;color:var(--ink-2)}
footer.foot li{margin-block:5px}
footer.foot .bot{margin-top:34px;padding-top:16px;border-top:1px solid var(--line);font-size:.7rem;color:var(--ink-2)}

/* barre de maquette */
.mock{position:fixed;left:0;right:0;bottom:0;z-index:120;background:var(--ink);color:var(--beige);font-size:.72rem;padding:8px 0}
.mock .shell{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.mock strong{text-transform:uppercase;letter-spacing:.07em;font-size:.66rem;color:var(--line)}
.mock label{display:flex;gap:7px;align-items:center;cursor:pointer;margin-left:auto}
.mock button{background:none;border:1px solid #57544C;color:var(--beige);font:inherit;padding:4px 10px;cursor:pointer}
.legend{display:none;gap:6px;flex-wrap:wrap}
body.show-etat .legend{display:flex}
.legend .etat{display:inline-block;margin:0}
dialog{max-width:740px;width:calc(100% - 32px);border:0;padding:30px;background:var(--card);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.3);font-size:.88rem}
dialog::backdrop{background:rgba(35,34,31,.55)}
dialog h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;font-size:1.3rem;margin-bottom:8px;color:var(--dark)}
dialog h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-top:20px;color:var(--deep)}
dialog ul{padding-left:18px;margin:8px 0 0}
dialog li{margin-block:5px}

/* ── V10 (06/10) ── */
/* en-tête sur une seule ligne : logo à gauche, menu, langues et contact */
.navrow{max-width:1380px;margin-inline:auto;padding:6px 20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px}
.navwrap{transition:background .3s,border-color .3s}
.brand img{height:46px;width:auto}
.brand .l-blanc{display:none}
.links{justify-content:center;gap:2px 20px;padding:0}
.links :is(a,button){font-size:.76rem;padding:13px 2px}
#menu-autres{transition:background .3s,color .3s,border-radius .3s,padding .3s}
body.dock .navwrap{background:var(--deep);border-bottom-color:var(--deep)}
body.dock .brand .l-rouge{display:none}
body.dock .brand .l-blanc{display:block}
body.dock .links :is(a,button),body.dock .topright,body.dock .topright b,body.dock .topright :is(a,button){color:var(--card)}
body.dock .links :is(a,button)[aria-current=page]{color:var(--card);border-bottom-color:var(--card)}
body.dock #menu-autres{background:var(--brand);color:var(--card);border-radius:999px;padding:9px 18px;border-bottom-color:transparent;font-weight:700}
.rond{transition:transform .35s,opacity .35s}
body.dock .hero .rond{opacity:0;transform:translateY(-90px) scale(.3);pointer-events:none}
.rond.fixe{position:fixed;right:24px;bottom:100px;z-index:90;width:136px;font-size:.95rem;padding:14px;box-shadow:0 10px 26px rgba(35,34,31,.22)}
@media (max-width:1180px){
  .navrow{grid-template-columns:auto minmax(0,1fr)}
  .links{grid-column:1/-1;order:3;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
}
/* haut de page en vidéo */
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-video::before{background:linear-gradient(90deg,rgba(242,240,231,.9) 0%,rgba(242,240,231,.72) 50%,rgba(242,240,231,.12) 100%)}
/* haut de page : photo d'équipe */
.hero-equipe{min-height:clamp(420px,62vh,620px);background-position:center 35%}
.hero-equipe::before{background:linear-gradient(90deg,rgba(242,240,231,.93) 0%,rgba(242,240,231,.78) 38%,rgba(242,240,231,0) 66%)}
.hero-equipe .txt{max-width:600px}
/* haut de page : la borne entière à droite, aplat neutre sous le texte */
.hero-split{min-height:clamp(440px,60vh,560px);background-color:var(--page);background-size:auto 100%;background-position:right center}
.hero-split::before{background:linear-gradient(90deg,var(--page) 0%,var(--page) 46%,rgba(242,240,231,0) 60%)}
.hero-split .txt{max-width:min(620px,52%)}
.langues{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px}
.langues span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-right:6px}
.langues :is(a,button){font-family:var(--mono);font-weight:700;font-size:.86rem;letter-spacing:.06em;border:2px solid var(--deep);background:var(--card);color:var(--deep);padding:6px 13px;cursor:pointer}
.langues :is(a,button)[aria-current]{background:var(--deep);color:var(--card)}
/* boucle animée */
img.boucle{max-width:460px;margin-inline:auto}
/* galerie */
.galerie{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:repeat(2,clamp(180px,22vw,270px));gap:16px}
.galerie figure{margin:0;overflow:hidden;background:var(--beige)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.galerie figure:hover img{transform:scale(1.04)}
.galerie .g1{grid-row:span 2}
.cards.trois{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));row-gap:64px}
/* partenaires */
.equipe{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px;margin-top:6px}
.equipe .role{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--dark)}
.mini-txt{font-size:.88rem;color:var(--ink-2);margin:4px 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chips span{background:var(--card);border:1px solid var(--beige);height:64px;padding:10px 18px;display:flex;align-items:center}
.chips img{max-height:40px;width:auto;max-width:120px}
.chips .txt{font-weight:700;letter-spacing:.04em;font-size:.9rem;color:var(--dark)}
/* cas clients : logo, ville, chiffre clé sur une ligne */
.enseigne{display:inline-flex;background:var(--grid-beige) center,var(--beige);padding:8px 14px;margin-bottom:14px}
.enseigne img,.casecard .enseigne img{height:30px;width:auto;min-height:0;object-fit:contain}
.panel h3 + .lieu{margin:-8px 0 12px}
.lieu{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kpi{display:flex;align-items:center;gap:16px;margin:4px 0 18px}
.kpi .n{font-family:var(--display);font-weight:600;font-size:clamp(2.2rem,4vw,3rem);line-height:1;color:var(--brand)}
.kpi .l{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);line-height:1.4;max-width:22ch}
.casecard{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.fiches{display:grid;gap:30px}
.fiche{display:grid;grid-template-columns:var(--m) minmax(0,1fr);gap:clamp(24px,4vw,54px);align-items:start}
.fiche.carre{--m:min(420px,40%)}
.fiche.portrait{--m:min(340px,36%)}
.fiche.vertical{--m:min(290px,30%)}
.fiche .vid{margin:0}
.fiche.carre .vid{aspect-ratio:1}
.fiche.vertical .vid{aspect-ratio:9/16}
.fiche.portrait .photo{aspect-ratio:3/4;object-fit:cover}
.fiche dl.faits{grid-template-columns:150px minmax(0,1fr)}
/* page The Keepers : bandeau entreprise à mission */
.sec.mission{background:var(--deep);color:var(--card)}
.sec.mission + .sec:not(.beige){padding-top:clamp(60px,8vw,110px)}
.mission .stitle .bar{background:var(--dark)}
.mission .stitle .sub{color:var(--beige)}
.mission .lead{color:var(--card);font-size:1.12rem;line-height:1.85}
.logo-mission{display:flex;justify-content:center}
.logo-mission img{max-height:190px;width:auto}
/* autres solutions : rappel du Collector */
#a1 .pair{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))}
.carte-collector{background:var(--deep);color:var(--card);margin-top:30px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.carte-collector img{height:96px;width:auto}
.carte-collector div{flex:1 1 300px}
.carte-collector h3,.carte-collector b{color:var(--card)}
.carte-collector .btn.ghost{background:var(--card);color:var(--deep);border-color:var(--card)}
.carte-collector .btn.ghost:hover{background:var(--brand);color:var(--card);border-color:var(--brand)}
@media (max-width:900px){
  .galerie{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:200px}
  .galerie .g1{grid-column:span 2;grid-row:span 1}
  .equipe,.fiche{grid-template-columns:1fr}
  .fiche.vertical .vid{max-width:300px}
  .hero-split{background-size:cover;background-position:72% center}
  .hero-split::before{background:linear-gradient(90deg,rgba(242,240,231,.95) 0%,rgba(242,240,231,.85) 70%,rgba(242,240,231,.4) 100%)}
  .hero-split .txt{max-width:none}
  .rond.fixe{width:110px;font-size:.8rem;bottom:58px;right:14px}
}
@media (max-width:900px){
  .duo,.duo.wide,.casecard,.autres,footer.foot .wrap{grid-template-columns:1fr}
  .carousel.third .slide{flex-basis:85%}
  .stitle .sub{margin-left:20px}
  .stitle :is(h1,h2){padding-right:0}
  .stitle .bar{padding-top:22px}
  .rond{bottom:-60px}
}
@media (max-width:700px){
  .toprow{grid-template-columns:1fr auto}
  .toprow > span:first-child{display:none}
  .brand img{height:46px}
  .links{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:20px}
  .f2{grid-template-columns:1fr}
  .carousel{padding-inline:0}
  .nav-c{display:none}
  .hero .txt::before{width:90%}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html,.track{scroll-behavior:auto}
}

/* ── V11 (08/10) : commentaires du Google Doc V10 ── */
.hero-video::before{background:linear-gradient(90deg,rgba(242,240,231,.82) 0%,rgba(242,240,231,.5) 48%,rgba(242,240,231,0) 72%)}
.hero .intro{font-size:clamp(1rem,1.5vw,1.12rem);line-height:1.8;max-width:60ch;margin-top:20px;color:var(--dark);font-weight:600}
/* rond rouge : pictos casque et téléphone */
.rond,.autres .disc{flex-direction:column;gap:6px}
.rond-pics{display:flex;gap:6px;justify-content:center}
.rond-pics img{height:clamp(26px,3vw,44px);width:auto}
.autres .disc .rond-pics img{height:46px}
/* mots clés */
b.mot{color:var(--deep);background:linear-gradient(transparent 62%,rgba(244,47,37,.18) 62%);padding:0 2px}
/* logos couleur */
.logos.couleur .row{gap:18px}
.logos.couleur .row span,.enseigne{background:var(--card);display:flex;align-items:center;justify-content:center;padding:14px 22px;min-width:150px;height:92px}
.logos.couleur .row img{height:auto;max-height:56px;max-width:150px;width:auto}
.logos.couleur .row span.sans,.enseigne.sans{background:var(--muted)}
.enseigne{display:inline-flex;min-width:0;height:auto;padding:8px 14px;margin-bottom:14px;box-shadow:inset 0 0 0 1px var(--beige)}
.enseigne img,.casecard .enseigne img{height:34px;width:auto;max-width:140px;min-height:0;object-fit:contain}
/* autres solutions : pictos */
.prods :is(a,button){display:grid;grid-template-columns:52px 1fr;gap:4px 14px;align-items:center}
.prods :is(a,button) .pic{grid-row:span 2;width:52px;height:52px;object-fit:contain}
.prods :is(a,button) .pic.vide{border:1px dashed var(--line);display:block}
.prods :is(a,button) b{margin:0}
/* 1.2 : la roue des acteurs */
.sec-roue{overflow:hidden}
.roue-zone{position:relative;min-height:660px;display:flex;align-items:center}
.roue{--d:720px;position:absolute;left:calc(var(--d) / -2);top:50%;width:var(--d);height:var(--d);margin-top:calc(var(--d) / -2)}
.anneau{position:absolute;inset:60px;border-radius:50%;border:16px solid var(--brand);transition:transform 1.1s cubic-bezier(.6,.05,.3,1)}
.anneau::after{content:"";position:absolute;right:-31px;top:50%;border:22px solid transparent;border-top:30px solid var(--brand);transform:translateY(-50%) rotate(0deg)}
.acteur{position:absolute;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:50%;box-shadow:0 0 0 6px var(--page);transition:transform 1.1s cubic-bezier(.6,.05,.3,1)}
.acteur img{max-width:104px;max-height:104px;width:auto;height:auto}
.acteur.on{box-shadow:0 0 0 6px var(--page),0 0 0 9px var(--brand)}
.roue-texte{position:relative;width:100%}
.etiquette{margin-left:clamp(380px,40vw,470px);max-width:620px}
.acteurs{list-style:none;padding:0;margin:0}
.acteurs li{padding:12px 14px 12px 18px;border-left:4px solid transparent;opacity:.42;transition:opacity .4s,border-color .4s,background .4s;cursor:pointer}
.acteurs li.on{opacity:1;border-left-color:var(--brand);background:rgba(244,47,37,.07)}
/* 1.3 : carte des opérateurs */
.carte-duo{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:visible;clip-path:none}
.carte-wrap{margin:-40px -16% -40px -6%}
.carte-ops svg{width:100%;height:auto;display:block;overflow:visible}
.carte-ops path{fill:var(--beige);stroke:var(--card);stroke-width:.8;transition:fill .35s}
.ops-logos{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ops-logos button{--c:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:var(--card);border:2px solid var(--beige);padding:10px 12px;cursor:pointer;min-width:130px;font-family:var(--mono);text-align:left;transition:border-color .2s,transform .2s}
.ops-logos button img{height:30px;width:auto;max-width:110px}
.ops-logos .nom{font-weight:700;font-size:.92rem;color:var(--c);line-height:30px}
.ops-logos .zone{font-size:.7rem;color:var(--ink-2);line-height:1.35}
.ops-logos button:hover,.ops-logos button:focus-visible,.ops-logos button.on{border-color:var(--c);transform:translateY(-2px);box-shadow:0 4px 0 var(--c)}
/* 1.4 : la loi */
.dix{background:var(--grid-beige) center,var(--beige);padding-block:clamp(36px,5vw,60px);margin-bottom:clamp(40px,5vw,60px)}
.dix-in{display:flex;align-items:center;gap:clamp(20px,4vw,50px)}
.dix-n{font-family:var(--display);font-weight:700;font-size:clamp(4.5rem,12vw,8.5rem);line-height:.9;color:var(--brand);flex:none}
.dix-t{font-family:var(--display);font-weight:700;font-size:clamp(1.15rem,2.2vw,1.6rem);line-height:1.35;color:var(--brand);max-width:34ch}
.dix-t span{display:block;margin-top:8px}
.frise{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.frise::before{content:"";position:absolute;left:0;right:0;top:58px;height:4px;background:var(--hatch),var(--line)}
.frise li{position:relative;padding:0 14px 0 0;display:flex;flex-direction:column;gap:6px}
.frise .quand{font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--dark);height:46px;display:flex;align-items:flex-end}
.frise li::after{content:"";position:absolute;left:0;top:50px;width:20px;height:20px;background:var(--brand);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.frise li.now::after{background:var(--deep);box-shadow:0 0 0 4px var(--page)}
.frise .qui{margin-top:26px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.45}
.frise .quoi{font-size:.9rem;line-height:1.55}
.frise .quoi b{color:var(--brand);font-family:var(--display);font-size:1.15rem}
.frise small{display:block;font-size:.7rem;color:var(--muted);margin-top:4px}
table.aides .ouvert{color:#1E6B45;font-weight:700}
table.aides tr.ferme td{background:linear-gradient(90deg,rgba(244,47,37,.16),rgba(244,47,37,.06));color:var(--ink-2)}
table.aides tr.ferme td.n span{color:var(--deep);font-weight:700}
@media (prefers-reduced-motion:reduce){.anneau,.acteur{transition:none}}
@media (max-width:900px){
  .roue-zone{min-height:0;display:block;padding-top:290px}
  .roue{--d:440px;top:0;margin-top:-80px;left:-220px}
  .anneau{inset:40px;border-width:11px}
  .acteur{width:96px;height:96px;margin:-48px 0 0 -48px}
  .acteur img{max-width:66px;max-height:66px}
  .etiquette{margin-left:0}
  .carte-wrap{margin:10px -16px 0}
  .dix-in{flex-direction:column;align-items:flex-start;gap:8px}
  .frise{grid-template-columns:minmax(0,1fr);gap:22px;padding-left:34px}
  .frise::before{left:8px;right:auto;top:0;bottom:0;width:4px;height:auto}
  .frise li::after{left:-34px;top:12px}
  .frise .quand{height:auto}
  .frise .qui{margin-top:0}
  .logos.couleur .row span{min-width:0;flex:1 1 40%;height:74px;padding:10px}
  .logos.couleur .row img{max-height:42px;max-width:110px}
}

/* ── V11 (08/10) : compatibilité mobile ── */
.burger{display:none}
@media (max-width:900px){
  /* aucune colonne ne peut plus forcer la page à déborder */
  .duo,.duo.wide,.duo.top,.casecard,.autres,footer.foot .wrap,.equipe,.fiche,.pair,.cards,.cards.two,.cards.trois{grid-template-columns:minmax(0,1fr)}
  .fiche.carre .vid,.fiche.portrait .photo{max-width:100%}
  .shell{padding-inline:16px}
  .panel{padding:24px 20px}
  .etat{width:auto}
  img.boucle{max-width:min(100%,360px)}
  .logo-mission img{max-height:110px}
  dl.faits,.fiche dl.faits{grid-template-columns:minmax(0,1fr);gap:0}
  dl.faits dt{padding-top:10px}
  .stitle{margin-bottom:28px}
  .stitle .bar{padding:14px 18px;gap:14px}
  .stitle :is(h1,h2){font-size:1.2rem}
  .stitle .sub{margin-left:0;font-size:.78rem;letter-spacing:.1em}
  .stitle .tag{right:12px;font-size:.66rem}
  .hero .txt{padding-block:36px 90px}
  .hero h1{font-size:clamp(1.6rem,7.6vw,2.4rem)}
  .btn{font-size:1rem;padding:11px 20px}
  .cta .btn{flex:1 1 auto;justify-content:center}
  .kpi .n{font-size:2.2rem}
  .figs{gap:14px 30px}
  .langues :is(a,button){padding:5px 10px}
  .langues span{flex-basis:100%;margin-bottom:2px}
  .link{text-align:left}

  /* en-tête : logo, bouton Menu ; le menu se déplie en dessous */
  .navrow{grid-template-columns:auto 1fr auto;gap:12px;padding:8px 16px}
  .brand img{height:38px}
  .topright{gap:10px}
  .burger{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;background:none;border:2px solid currentColor;color:var(--deep);padding:7px 11px;cursor:pointer}
  .burger i{width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
  .navwrap.open .burger i{box-shadow:none;transform:rotate(45deg)}
  .links{display:none;grid-column:1/-1;order:3;flex-direction:column;align-items:stretch;gap:0;padding:6px 0 10px;overflow:visible}
  .navwrap.open .links{display:flex}
  .links :is(a,button){text-align:left;font-size:.88rem;padding:12px 4px;border-bottom:1px solid var(--beige)}
  .links :is(a,button)[aria-current=page]{border-bottom-color:var(--brand)}
  body.dock .burger{color:var(--card)}
  body.dock .links :is(a,button){border-bottom-color:rgba(252,251,242,.2)}
  body.dock #menu-autres{border-radius:0;padding:12px 4px}

  /* hauts de page sur photo ou vidéo : le texte reste lisible */
  .hero-video::before,.hero-equipe::before{background:linear-gradient(180deg,rgba(242,240,231,.94) 0%,rgba(242,240,231,.9) 70%,rgba(242,240,231,.7) 100%)}
  .hero-equipe{background-position:62% 30%}
  .hero-split{background-size:cover;background-position:right 30% center}
  .hero-split::before{background:rgba(242,240,231,.9)}
  .rond{width:118px;font-size:.82rem;padding:12px;bottom:-50px;right:16px}

  /* galerie : une grande photo puis deux par ligne */
  .galerie{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
  .galerie .g1{grid-column:span 2;grid-row:span 1;height:260px}

  /* barre de maquette : une seule ligne, légende masquée */
  body{padding-bottom:44px}
  .mock{padding:6px 0;font-size:.66rem}
  .mock strong,.mock .legend{display:none!important}
  .mock .shell{flex-wrap:nowrap;gap:8px}
  .mock button{padding:4px 8px}
  .rond.fixe{bottom:60px}
}
@media (max-width:420px){
  .topright > span{display:none}
  .chips span{height:54px;padding:8px 12px}
  .chips img{max-height:32px}
}

/* V12 : référencement */
.hero .surtitre{font-family:var(--mono);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--deep);margin-bottom:14px}
body.show-etat .manq.seo{max-width:none;margin:0;border-left:0;border-bottom:1px solid var(--line);background:#FFF4CC;color:var(--ink);padding:12px max(16px,calc((100% - 1180px)/2 + 24px));font-size:.74rem}
body.show-etat .manq.seo b{color:var(--deep)}

/* V12 : orientation vers les autres bornes */
.has-sub{position:relative;display:flex}
.sous-menu{display:none}
@media (min-width:1181px){
  .has-sub .sous-menu{position:absolute;top:100%;right:-20px;z-index:130;min-width:330px;background:var(--card);box-shadow:0 14px 30px rgba(35,34,31,.16);padding:8px;clip-path:var(--chamfer)}
  .has-sub:hover .sous-menu,.has-sub:focus-within .sous-menu{display:grid}
  .links .sous-menu :is(a,button),body.dock .links .sous-menu :is(a,button){display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;text-align:left;text-transform:none;letter-spacing:0;font-size:.82rem;color:var(--ink-2);padding:10px 12px;border-bottom:1px solid var(--beige);white-space:normal}
  .links .sous-menu :is(a,button):last-child{border-bottom:0}
  .links .sous-menu :is(a,button):hover b{color:var(--brand)}
  .sous-menu b{display:block;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
  .sous-menu .pic{width:34px;height:34px;object-fit:contain}
  .sous-menu .pic.vide{border:1px dashed var(--line)}
}
@media (max-width:900px){
  .has-sub{flex-direction:column}
  .navwrap.open .sous-menu{display:block;padding-left:18px}
  .links .sous-menu :is(a,button){display:block;width:100%;font-size:.8rem;text-transform:none;letter-spacing:0;padding:9px 4px}
  .sous-menu .pic{display:none}
  .sous-menu b{font-weight:700;margin-right:6px}
}
.aiguillage{margin:0;background:var(--ink);color:var(--card);font-family:var(--mono);font-size:.72rem;padding:9px max(16px,calc((100% - 1180px)/2 + 24px));display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}
.aiguillage .lbl{font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.aiguillage .link,.aiguillage .link:hover{color:var(--card);text-transform:none;letter-spacing:0;font-size:.74rem}
.aiguillage .link:hover{color:#FFB3AE}
.aiguillage .langs{opacity:.85;padding-left:14px;border-left:1px solid rgba(252,251,242,.3)}
.hero .ariane{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-family:var(--mono);font-size:.72rem;color:var(--ink-2);margin-bottom:14px}
.hero .ariane :is(a,button){all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.hero .ariane :is(a,button):hover{color:var(--brand)}
.hero .ariane [aria-current]{color:var(--deep);font-weight:700}
footer.foot .flink{all:unset;cursor:pointer}
footer.foot .flink:hover{color:var(--brand);text-decoration:underline}

/* V13 · logos (Eric) : pas de cadre, bande blanche unie sous les enseignes, surface égale */
.logos.couleur{background:#FFFEF8}
.logos.couleur .row span,.logos.couleur .row span.sans{background:none;box-shadow:none;min-width:0;height:96px;padding:0 18px}
.logos.couleur .row img{max-height:none;max-width:none;width:auto}
.chips span,.chips span.txt{background:none;border:0;height:64px;padding:0 10px}
.chips img{max-height:none;max-width:none;width:auto}
.ops-logos button img{max-height:none;max-width:none;width:auto}
.logos .count,.logos .count b{font-family:var(--display);font-size:1.5rem;letter-spacing:.04em;color:var(--deep);text-transform:uppercase}
.logos .count b{margin-right:8px}


/* V13 · rond rouge (Eric) : texte seul, centré, collé à droite ; il file vers son onglet au défilement */
.rond{right:clamp(16px,2vw,32px);flex-direction:row}
body.dock .hero .rond{transform:translate(var(--dx,0),-90px) scale(.3)}


/* V13 · boutons (Eric) */
.btn{line-height:1.2;min-height:54px;justify-content:center}
.btn.sm{min-height:46px}
.btn:hover{background:#A30003;border-color:#A30003}
.btn.ghost:hover{background:var(--deep);border-color:var(--deep);color:var(--card)}
.links :is(a,button)[aria-current=page]{font-weight:700}


/* V13 · 0.2 boucle interactive (Eric) */
.boucle-zone{position:relative;max-width:460px;margin-inline:auto;width:100%}
.boucle-svg{display:block;width:100%;height:auto;overflow:visible}
.boucle-svg .etape{transform-box:fill-box;transform-origin:center;transition:transform .25s;cursor:pointer}
.boucle-zone .lab{position:absolute;transform:translate(-50%,calc(-100% - 6px));background:#350303;color:var(--card);font-family:var(--mono);font-weight:700;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.35;text-align:center;padding:5px 10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:3}
.boucle-zone[data-on="1"] .etape[data-n="1"]{transform:scale(1.1)}
.boucle-zone[data-on="1"] .lab[data-n="1"]{opacity:1}
.boucle-zone[data-on="2"] .etape[data-n="2"]{transform:scale(1.1)}
.boucle-zone[data-on="2"] .lab[data-n="2"]{opacity:1}
.boucle-zone[data-on="3"] .etape[data-n="3"]{transform:scale(1.1)}
.boucle-zone[data-on="3"] .lab[data-n="3"]{opacity:1}
.boucle-zone[data-on="4"] .etape[data-n="4"]{transform:scale(1.1)}
.boucle-zone[data-on="4"] .lab[data-n="4"]{opacity:1}
.boucle-zone[data-on="5"] .etape[data-n="5"]{transform:scale(1.1)}
.boucle-zone[data-on="5"] .lab[data-n="5"]{opacity:1}
.boucle-zone[data-on="6"] .etape[data-n="6"]{transform:scale(1.1)}
.boucle-zone[data-on="6"] .lab[data-n="6"]{opacity:1}

@media (max-width:900px){.boucle-zone{max-width:min(100%,360px);margin-top:30px}}


/* V13 · 0.4 (Eric) : fiches centrées, textes justifiés, lignes rapprochées */
.cards.trois{row-gap:34px}
.cards.trois .panel h3{text-align:center}
.cards.trois .panel p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.cards.trois .panel .link{display:block;text-align:center}
/* titres des fiches et des panneaux : +4 % sur tout le site (Eric) */
.panel h3,.qt{font-size:.988rem}


/* V13 · fiches de cas clients (Eric) : logo plus grand sans cadre, contenu centré, même hauteur */
.enseigne,.enseigne.sans{background:none;box-shadow:none;padding:0;margin-bottom:16px}
.casecard .panel{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#FFFDF6}
.casecard .panel h3{margin-bottom:0}
.panel h3 + .lieu{margin:-5px 0 4px}
.casecard .lieu{margin:2px 0 4px}
.cap.depuis{margin:0 0 16px;font-style:normal}
.kpi{justify-content:center}
.casecard .kpi .l,.fiche .kpi .l{color:var(--brand);font-weight:700;font-size:.96rem;text-align:left}
.carousel.terrain .track{align-items:stretch}
.carousel.terrain .slide{display:flex}
.carousel.terrain .slide .casecard{width:100%;min-height:440px}
.carousel.terrain .casecard img{height:100%}
@media (max-width:900px){.carousel.terrain .slide .casecard{min-height:0;grid-template-rows:240px 1fr}.carousel.terrain .casecard img{min-height:0}}


.accs.faq2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;align-items:start}
@media (max-width:900px){.accs.faq2{grid-template-columns:minmax(0,1fr)}}


/* V13 · 0.9 sur fond rouge quadrillé (Eric) */
.sec.rouge{background:var(--grid-rouge) center top,#A30003;color:var(--card)}
.sec.rouge .stitle .sub{color:#F6D9D6}
.sec.rouge .lead{color:var(--card)}
.sec.rouge .prods :is(a,button){color:var(--ink-2)}
body.show-etat .sec.rouge .manq{background:var(--card)}
.sec.rouge .stitle .bar{background:var(--dark)}


/* V13 · quadrillage (Eric, 09/10) : fond clair → #efebde ; fond beige → #d8d1bf ; fond rouge foncé → #911616 */
:root{--grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M0 58H50M66 58H116M58 0V50M58 66V116' stroke='%23EFEBDE' fill='none'/%3E%3Cpath d='M51 58H65M58 51V65' stroke='%23EFEBDE' fill='none'/%3E%3C/svg%3E");--grid-beige:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M0 58H50M66 58H116M58 0V50M58 66V116' stroke='%23D8D1BF' fill='none'/%3E%3Cpath d='M51 58H65M58 51V65' stroke='%23D8D1BF' fill='none'/%3E%3C/svg%3E");--grid-deep:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M0 58H50M66 58H116M58 0V50M58 66V116' stroke='%23911616' fill='none'/%3E%3Cpath d='M51 58H65M58 51V65' stroke='%23911616' fill='none'/%3E%3C/svg%3E");--grid-rouge:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='116' height='116'%3E%3Cpath d='M0 58H50M66 58H116M58 0V50M58 66V116' stroke='%23960003' fill='none'/%3E%3Cpath d='M51 58H65M58 51V65' stroke='%23960003' fill='none'/%3E%3C/svg%3E")}
body{background:var(--grain),var(--page)}
.page > .sec{background:var(--grid) center top,var(--page)}
.page > .sec.beige{background:var(--grid-beige) center top,var(--beige)}
.page > .sec.mission{background:var(--grid-deep) center top,var(--deep)}
.page > .sec.rouge{background:var(--grid-rouge) center top,#A30003}
footer.foot{background:var(--grid-beige) center top,var(--beige)}


/* V13 · 1.2 sur téléphone : la roue ne passe plus sur le titre ni sur le texte */
@media (max-width:900px){
  .roue-zone{padding-top:400px}
  .roue{--d:360px;margin-top:16px;left:-180px}
}
/* V13 · 1.3 sur téléphone : texte, puis la carte, puis les logos en deux colonnes juste dessous */
@media (max-width:900px){
  .carte-duo{display:flex;flex-direction:column}
  .carte-duo > div:first-child{display:contents}
  .carte-duo .carte-wrap{order:2;margin:10px 0 0}
  .carte-duo .ops-logos{order:3;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .carte-duo .manq{order:4}
  .ops-logos button{min-width:0;padding:8px 10px}
  .ops-logos .zone{font-size:.66rem}
}


/* V13 · formulaires : obligatoire / facultatif (Clotilde) */
.req{color:var(--brand);font-weight:700}
.opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
.legende-req{font-size:.74rem;color:var(--ink-2);margin-top:4px}
.legende-req .link{font-size:.74rem;text-transform:none;letter-spacing:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form.lead{position:relative}


/* V13 · pied de page */
footer.foot .flink{all:unset;cursor:pointer}
footer.foot h4 .flink:hover,footer.foot li .flink:hover,footer.foot .bot .flink:hover{color:var(--brand);text-decoration:underline}
footer.foot .bot a{color:inherit}
footer.foot .deja{line-height:1.6;margin-top:10px}
.suivre{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.suivre p{margin:0;flex:1 1 260px;font-size:.88rem}
.btn.li{background:#0A66C2;border-color:#0A66C2;color:#fff;text-transform:none;letter-spacing:.01em}
.btn.li:hover{background:#084C91;border-color:#084C91}
.ico-li{width:20px;height:20px;flex:none}
.yt-lien{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);font-size:.84rem}
.yt-lien:hover{color:var(--brand)}
.li-ligne{display:inline-flex;align-items:center;gap:8px;color:#0A66C2;font-weight:700}


.panel.legal h3{margin-top:26px}
.panel.legal h3:first-of-type{margin-top:8px}
.plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px 30px}
.plan .link{text-transform:none;letter-spacing:0;font-size:.92rem}
.plan h3 .link{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}



      .bcl-1 {
        fill: #aa1917;
      }

      .bcl-2 {
        fill: #6cbea4;
      }

      .bcl-3 {
        fill: #bebdbd;
      }

      .bcl-4 {
        fill: #1784c0;
      }

      .bcl-5 {
        fill: #fa0;
      }

      .bcl-6 {
        fill: #f4f4f4;
      }

      .bcl-7 {
        fill: #dbdbdb;
      }

      .bcl-8 {
        fill: #f3f2f3;
      }

      .bcl-9, .bcl-10 {
        fill: #cecece;
      }

      .bcl-11 {
        fill: #a5a5a5;
      }

      .bcl-12, .bcl-13 {
        fill: #fff;
      }

      .bcl-12, .bcl-10 {
        opacity: .2;
      }

      .bcl-14 {
        fill: #ffd261;
      }

      .bcl-15 {
        fill: #1d1d1b;
      }

      .bcl-16 {
        stroke: #f42f25;
        stroke-width: 16px;
      }

      .bcl-16, .bcl-17 {
        stroke-miterlimit: 10;
      }

      .bcl-16, .bcl-18 {
        fill: none;
      }

      .bcl-19, .bcl-20 {
        fill: #1d211f;
      }

      .bcl-21 {
        fill: #3eacc6;
      }

      .bcl-17 {
        stroke: #1d1d1b;
        stroke-width: .5px;
      }

      .bcl-17, .bcl-22 {
        fill: #e6362d;
      }

      .bcl-23 {
        fill: #f42f25;
      }

      .bcl-24 {
        fill: #fcfbf2;
      }

      .bcl-20 {
        font-family: Helvetica-Bold, Helvetica;
        font-size: 6px;
        font-weight: 700;
      }

      .bcl-25 {
        fill: #e9e9e9;
      }

      .bcl-26 {
        fill: #f7ba47;
      }

      .bcl-27 {
        fill: #878787;
      }

      .bcl-28 {
        fill: #676767;
      }

      .bcl-29 {
        fill: #ffbc00;
      }

      .bcl-30 {
        fill: #fbbb14;
      }

      .bcl-31 {
        fill: #4a494a;
      }

      .bcl-32 {
        fill: #7f7f7f;
      }

      .bcl-33 {
        fill: #333;
      }

      .bcl-18 {
        stroke: #e0dccd;
        stroke-linejoin: round;
      }

      .bcl-34 {
        fill: #dcdcdc;
      }

      .bcl-35 {
        fill: #a9fff3;
      }

      .bcl-36 {
        fill: #ececec;
      }

      .bcl-37 {
        fill: #bfbebe;
      }
    

.carte-ops[data-on="loop"] path.loop{fill:#1a8fd6}
.ops-logos button[data-op="loop"]{--c:#1a8fd6}
.carte-ops[data-on="soverre"] path.soverre{fill:#2f6461}
.ops-logos button[data-op="soverre"]{--c:#2f6461}
.carte-ops[data-on="goreemploi"] path.goreemploi{fill:#1baf7a}
.ops-logos button[data-op="goreemploi"]{--c:#1baf7a}
.carte-ops[data-on="petrel"] path.petrel{fill:#304860}
.ops-logos button[data-op="petrel"]{--c:#304860}
.carte-ops[data-on="bilboko"] path.bilboko{fill:#b39a3c}
.ops-logos button[data-op="bilboko"]{--c:#b39a3c}
.carte-ops[data-on="yaka"] path.yaka{fill:#e0558f}
.ops-logos button[data-op="yaka"]{--c:#e0558f}
.carte-ops[data-on="boutabout"] path.boutabout{fill:#7a3fa0}
.ops-logos button[data-op="boutabout"]{--c:#7a3fa0}
.carte-ops[data-on="hautlaconsigne"] path.hautlaconsigne{fill:#d9481c}
.ops-logos button[data-op="hautlaconsigne"]{--c:#d9481c}

/* site en ligne : les liens qui remplacent les boutons de la maquette gardent leur apparence */
a.brand,a.rond,.sous-menu a,.prods a,.ariane a,.langues a,.links a{text-decoration:none}
.topright .langs-nav{display:inline-flex;gap:.45em;align-items:center}
.topright .langs-nav a{color:var(--muted);text-decoration:none}
.topright .langs-nav a[aria-current]{color:var(--ink)}
body.dock .topright .langs-nav a{color:var(--card)}
/* sur téléphone, les pages en 5 langues gardent leur choix de langue dans le haut de page, pas dans l'en-tête */
@media (max-width:700px){.topright .langs-nav.multi{display:none}}
.aiguillage .langs .link a{color:inherit;text-decoration:none}
.aiguillage .langs .link a:hover{color:#FFB3AE}
.aiguillage .langs .link:hover{color:var(--card)}
/* mots très longs (allemand surtout) : coupés avec un trait d'union plutôt que de sortir de l'écran */
h1,h2,h3,.sous-menu span,.prods b{overflow-wrap:break-word}
.prods a{overflow-wrap:anywhere}
:lang(de) :is(h1,h2,h3,.sous-menu span,.prods a,.btn,.rond){hyphens:auto;-webkit-hyphens:auto}
.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--ink)}
.err404{min-height:60vh;display:grid;place-items:center;text-align:center}

/* téléphone : la vidéo d'accueil s'affiche en bandeau au-dessus du titre, au lieu d'être cachée sous le voile */
@media (max-width:900px){
  .hero-video{flex-direction:column;align-items:stretch}
  .hero-video .hero-bg{position:relative;inset:auto;z-index:0;flex:none;width:100%;min-width:0;height:auto;aspect-ratio:16/9;order:-1}
}
/* téléphone : la grande photo du Collector occupe deux lignes de la galerie au lieu de déborder sur les suivantes */
@media (max-width:900px){
  .galerie .g1{grid-row:span 2;height:auto}
}
/* bande « Vous cherchez une autre borne ? » : le titre devient un bouton (sans effet visible sur ordinateur) */
.aiguillage button.lbl{all:unset;font-family:var(--mono);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--card)}
@media (min-width:901px){.aiguillage button.lbl{pointer-events:none}}
/* téléphone : une seule ligne, les propositions n'apparaissent qu'au toucher */
@media (max-width:900px){
  .aiguillage{padding-block:0}
  .aiguillage button.lbl{flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;cursor:pointer}
  .aiguillage button.lbl::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
  .aiguillage.ouvert button.lbl::after{transform:translateY(2px) rotate(-135deg)}
  .aiguillage:not(.ouvert) > :not(.lbl){display:none}
  .aiguillage.ouvert{padding-bottom:12px}
}
/* téléphone : menu plus court ; « Nos autres solutions » ressort en bloc sombre, ses bornes en tuiles sur deux colonnes */
@media (max-width:900px){
  .links :is(a,button){padding:7px 4px;font-size:.84rem;line-height:1.25}
  .links .has-sub{margin-top:8px;background:var(--ink);padding:2px 10px 10px;clip-path:var(--chamfer)}
  .links #menu-autres,body.dock .links #menu-autres{color:var(--card);font-weight:700;border-bottom:0;padding:10px 0}
  .links #menu-autres::before{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg);margin:0 10px 1px 0}
  .navwrap.open .sous-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0}
  .links .sous-menu :is(a,button),body.dock .links .sous-menu :is(a,button){background:rgba(252,251,242,.08);border:0;color:rgba(252,251,242,.75);font-size:.68rem;line-height:1.25;padding:6px 8px;white-space:normal;min-width:0}
  .links .sous-menu :is(a,button):hover{background:rgba(252,251,242,.16)}
  .sous-menu b{display:block;margin:0 0 2px;color:var(--card);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem}
  .sous-menu .pic{display:none}
}
/* téléphone : sur Le Collector et les pages produits, la photo du haut s'affiche en entier (format 3:2), nette, au-dessus du titre */
@media (max-width:900px){
  :is(.hero[style*="collector-magasin-caisses"],.hero[style*="/autres/"]):not(.hero-split){padding-top:66.667vw}
  :is(.hero[style*="collector-magasin-caisses"],.hero[style*="/autres/"]):not(.hero-split)::after{content:"";position:absolute;top:0;left:0;right:0;height:66.667vw;background:inherit;background-size:cover;background-position:center;z-index:0}
  :is(.hero[style*="collector-magasin-caisses"],.hero[style*="/autres/"]):not(.hero-split)::before{top:66.667vw;background:var(--grid) center,rgb(242,240,231)}
}
/* pied de page plus compact (14/10) : petit logo, rubriques sur une rangée sur ordinateur, deux colonnes sur téléphone */
footer.foot{padding-block:36px 28px}
footer.foot .wrap{gap:clamp(24px,3vw,44px)}
footer.foot .disc{width:110px;padding:18px}
footer.foot .cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px}
footer.foot h4{margin-bottom:6px}
footer.foot ul{font-size:.76rem;line-height:1.45}
footer.foot li{margin-block:4px}
footer.foot .deja{font-size:.76rem;line-height:1.45}
.suivre{padding-bottom:18px;margin-bottom:22px}
footer.foot .bot{margin-top:22px;padding-top:12px}
@media (min-width:1101px){footer.foot .cols{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}}
@media (max-width:900px){
  footer.foot{padding-block:28px 22px}
  footer.foot .disc{display:none}
  footer.foot .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
}

/* Photos agrandies au clic (accueil, carrousels) */
img.agrandir{cursor:zoom-in}
img.agrandir:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.visionneuse{position:fixed;inset:0;z-index:200;background:rgba(20,18,16,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:max(16px,env(safe-area-inset-top)) 16px 16px;cursor:zoom-out}
.visionneuse[hidden]{display:none}
.visionneuse img{max-width:min(1200px,100%);max-height:82vh;width:auto;height:auto;object-fit:contain;cursor:default;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.visionneuse .leg{color:var(--card);font-size:.9rem;max-width:70ch;text-align:center;margin:0}
.visionneuse .fermer{position:absolute;top:max(12px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border:0;background:transparent;color:var(--card);font-size:2.2rem;line-height:1;cursor:pointer}
.visionneuse .fermer:focus-visible{outline:2px solid var(--card)}
body.visionneuse-ouverte{overflow:hidden}

/* Page Contact : numéro de téléphone mis en avant */
.tel-contact{margin-block:4px}
.tel-contact a{font-family:var(--mono);font-weight:700;font-size:1.35rem;color:var(--deep);text-decoration:none}

/* Accueil : formulaire seul dans son bloc, centré */
.form-seul form.lead{max-width:780px;margin-inline:auto}

/* Page Contact : pas de grande marge au-dessus du titre (pas de photo de haut de page) */
#p-contact .sec.first{padding-top:clamp(40px,5vw,64px)}
