/* CFM — site vitrine
   Mise en page : grille éditoriale large (12 colonnes), grands titres serrés, sections séparées par des filets fins,
   rouge CFM réservé aux repères (numéros, classes RF, actions). Fond blanc net, encre presque noire. */
/* Polices hébergées sur le site (avant : Google Fonts). Mêmes familles et graisses, alphabets latin et latin étendu. */
@font-face {font-family: 'Inter Tight'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/inter-tight-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter Tight'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/inter-tight-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter Tight'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/inter-tight-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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 Tight'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/inter-tight-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter Tight'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/inter-tight-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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 Tight'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/inter-tight-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter Tight'; font-style: normal; font-display: swap; font-weight: 700; src: url(fonts/inter-tight-latin-ext-700-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter Tight'; font-style: normal; font-display: swap; font-weight: 700; src: url(fonts/inter-tight-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/inter-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/inter-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/inter-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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-display: swap; font-weight: 500; src: url(fonts/inter-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/inter-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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-display: swap; font-weight: 600; src: url(fonts/inter-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 700; src: url(fonts/inter-latin-ext-700-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Inter'; font-style: normal; font-display: swap; font-weight: 700; src: url(fonts/inter-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/nunito-sans-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/nunito-sans-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/nunito-sans-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/nunito-sans-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 700; src: url(fonts/nunito-sans-latin-ext-700-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Nunito Sans'; font-style: normal; font-display: swap; font-weight: 700; src: url(fonts/nunito-sans-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Poppins'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/poppins-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'Poppins'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/poppins-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Poppins'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/poppins-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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: 'Poppins'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/poppins-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'Poppins'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/poppins-latin-ext-600-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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: 'Poppins'; font-style: normal; font-display: swap; font-weight: 600; src: url(fonts/poppins-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-display: swap; font-weight: 400; src: url(fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family: 'IBM Plex Mono'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+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: 'IBM Plex Mono'; font-style: normal; font-display: swap; font-weight: 500; src: url(fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
:root{
  --ink:#121212; --ink-2:#3A3836; --muted:#6F6B68; --line:#E2DFDC; --soft:#F4F2F0; --paper:#FFFFFF;
  --red:#D63C2F; --red-dark:#B02E22; --red-soft:#FBEAE7; --black:#0F0E0D; --on-black:#F4F2F0; --on-black-muted:#A7A29E;
  --display:"Archivo", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --body:"Archivo", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --gutter:clamp(16px, 4vw, 48px); --max:1360px; --radius:4px;
  --ease:cubic-bezier(.2,.7,.1,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;font-feature-settings:"ss01" 1;overflow-x:hidden}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.04;margin:0;text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
.mono{font-family:var(--mono);font-size:.82em;letter-spacing:.02em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--red)}
.red{color:var(--red)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ---------- En-tête ---------- */
.site-head{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:transform .45s var(--ease),background .3s,box-shadow .3s}
.site-head.scrolled{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);box-shadow:0 1px 0 var(--line)}
.site-head.hide{transform:translateY(-100%)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.025em}
.brand svg{width:22px;height:26px}
.nav{display:flex;align-items:center;gap:6px}
.nav > a,.nav .dd > button{font:inherit;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:999px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav > a:hover,.nav .dd > button:hover,.nav a[aria-current="page"]{background:var(--soft)}
.dd{position:relative}
.dd-panel{position:absolute;top:calc(100% + 8px);left:-12px;min-width:340px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.25s var(--ease);box-shadow:0 20px 40px -20px rgba(0,0,0,.25)}
.dd:hover .dd-panel,.dd:focus-within .dd-panel,.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-panel a{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:6px;text-decoration:none;font-size:15px}
.dd-panel a:hover{background:var(--soft)}
.dd-panel a span{font-family:var(--mono);font-size:11px;color:var(--muted)}
.dd-panel .all{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;font-weight:600}
.btn{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:600;text-decoration:none;border-radius:999px;padding:13px 22px;border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.btn:hover{background:var(--red);border-color:var(--red)}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.red{background:var(--red);border-color:var(--red)}
.btn.red:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.light:hover{background:var(--red);color:#fff;border-color:var(--red)}
.burger{display:none;width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:18px;height:1.5px;background:var(--ink);position:relative;transition:.3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--ink);transition:.3s}
.burger span::before{top:-6px}.burger span::after{top:6px}
.menu-open .burger span{background:transparent}
.menu-open .burger span::before{top:0;transform:rotate(45deg)}
.menu-open .burger span::after{top:0;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:49;background:var(--paper);padding:calc(96px + env(safe-area-inset-top,0px)) var(--gutter) 40px;overflow-y:auto;transform:translateY(-100%);transition:transform .5s var(--ease);visibility:hidden}
.menu-open .mobile-menu{transform:none;visibility:visible}
.mobile-menu nav{display:grid;gap:4px}
.mobile-menu a{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.015em;text-decoration:none;padding:6px 0;border-bottom:1px solid var(--line)}
.mobile-menu .sub{font-family:var(--body);font-size:17px;font-weight:500;padding:8px 0 8px 16px;color:var(--ink-2)}
.mobile-menu .btn{margin-top:24px;font-size:16px}
@media (max-width:1080px){.nav,.head-cta{display:none}.burger{display:inline-flex}}

/* ---------- Hero ---------- */
.hero{padding-top:calc(150px + env(safe-area-inset-top,0px));padding-bottom:64px;position:relative}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:48px;align-items:end}
.hero h1{font-size:clamp(44px,7.2vw,112px);letter-spacing:-.035em;line-height:.92;font-weight:800}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em;padding-right:.15em;margin-right:-.15em}
.hero h1 .ln > span{display:inline-block}
.hero .lead{font-size:clamp(18px,1.6vw,21px);color:var(--ink-2);max-width:46ch;margin-top:28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-aside{display:grid;gap:20px;justify-items:start}
.hero-aside .visual{width:100%}
.cert{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:8px 18px 8px 8px;font-size:14px}
.cert b{display:block;font-size:14px}
.cert small{color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:.04em}
.cert i{width:40px;height:40px;border-radius:999px;background:var(--red);display:grid;place-items:center;color:#fff;font-style:normal;font-family:var(--mono);font-size:11px;font-weight:600}
.page-hero{padding-top:calc(150px + env(safe-area-inset-top,0px));padding-bottom:56px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(40px,6.4vw,92px);letter-spacing:-.03em;line-height:.95;font-weight:800;max-width:16ch}
.page-hero .split h1{font-size:clamp(36px,4.8vw,70px);max-width:none}
.page-hero .lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:60ch;margin-top:24px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:28px;letter-spacing:.04em}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--red)}
.crumbs span[aria-hidden]{opacity:.5}

/* ---------- Visuels ---------- */
.visual{position:relative;background:var(--soft);border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;max-width:100%}
.visual.tall{aspect-ratio:4/5}
.visual.wide{aspect-ratio:21/9}
.visual.dark{background:var(--black);color:var(--on-black)}
.visual .draw{position:absolute;inset:8% 8% 13%;color:var(--ink)}
.visual.dark .draw{color:var(--on-black)}
.visual .draw svg{width:100%;height:100%}
.visual .tag{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.8);padding:4px 8px;border-radius:3px}
.visual.dark .tag{background:rgba(0,0,0,.5);color:var(--on-black-muted)}
.photo-slot{background:repeating-linear-gradient(135deg,var(--soft) 0 14px,#EEEBE8 14px 15px)}
.photo-slot .ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:20px}
.photo-slot .ph b{display:block;color:var(--ink-2);font-family:var(--body);font-size:15px;letter-spacing:0;margin-bottom:4px}
.parallax{will-change:transform}
svg .stroke{fill:none;stroke:currentColor;stroke-width:1.4;vector-effect:non-scaling-stroke}
svg .thin{fill:none;stroke:currentColor;stroke-width:.8;opacity:.55;vector-effect:non-scaling-stroke}
svg .accent{fill:none;stroke:var(--red);stroke-width:1.8;vector-effect:non-scaling-stroke}
svg .fill-accent{fill:var(--red)}
svg .fill-soft{fill:currentColor;opacity:.06}
svg text{font-family:var(--mono);font-size:10px;fill:currentColor;letter-spacing:.04em}
svg text.r{fill:var(--red)}
.draw-in .stroke,.draw-in .accent{stroke-dasharray:var(--len,20000);stroke-dashoffset:0}
.js .draw-in:not(.on) .stroke,.js .draw-in:not(.on) .accent{stroke-dashoffset:var(--len,2000)}
.draw-in .stroke,.draw-in .accent{transition:stroke-dashoffset 2.2s var(--ease)}

/* ---------- Sections ---------- */
section{position:relative}
.sec{padding-block:clamp(72px,10vw,140px)}
.sec.tight{padding-block:clamp(56px,7vw,96px)}
.sec.line{border-top:1px solid var(--line)}
.sec.dark{background:var(--black);color:var(--on-black)}
.sec.dark .eyebrow{color:var(--on-black-muted)}
.sec.soft{background:var(--soft)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:clamp(40px,6vw,72px)}
.sec-head h2{font-size:clamp(34px,5vw,68px);letter-spacing:-.025em;margin-top:16px}
.sec-head p{color:var(--ink-2);max-width:52ch;margin:0;justify-self:end}
.sec.dark .sec-head p{color:var(--on-black-muted)}
.h2{font-size:clamp(32px,4.4vw,58px);letter-spacing:-.025em;margin-top:16px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.split.center{align-items:center}
.prose{max-width:68ch}
.prose h2{font-size:clamp(28px,3.4vw,42px);margin:1.6em 0 .5em;letter-spacing:-.02em}
.prose h3{font-size:22px;margin:1.6em 0 .4em;letter-spacing:-.02em}
.prose ul,.prose ol{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--red)}
.prose a{color:var(--red-dark)}
.prose blockquote{margin:1.6em 0;padding:18px 22px;border-left:2px solid var(--red);background:var(--soft);font-size:16px}
.prose .note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:32px}
.prose table{width:100%;border-collapse:collapse;font-size:15px;margin:1.2em 0}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.prose th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.table-scroll{overflow-x:auto}
.big-text{font-family:var(--display);font-size:clamp(28px,3.6vw,52px);line-height:1.12;letter-spacing:-.02em;font-weight:600;max-width:22ch}
.big-text em{font-style:normal;color:var(--red)}

/* Liste de services façon index */
.index-list{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}
.index-list li{border-bottom:1px solid var(--line)}
.index-list a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:20px;align-items:center;padding:28px 0;text-decoration:none;position:relative}
.index-list .num{font-family:var(--mono);font-size:13px;color:var(--muted)}
.index-list .t{font-family:var(--display);font-size:clamp(24px,3.4vw,46px);font-weight:700;letter-spacing:-.025em;line-height:1.05;transition:transform .45s var(--ease),color .3s}
.index-list .d{display:block;font-family:var(--body);font-size:15px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:6px;max-width:60ch}
.index-list .go{width:52px;height:52px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,border-color .3s,transform .45s var(--ease)}
.index-list a:hover .t{transform:translateX(14px);color:var(--red)}
.index-list a:hover .go{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(-45deg)}
.sec.dark .index-list,.sec.dark .index-list li{border-color:#2B2927}
.sec.dark .index-list .go{border-color:#3A3734}
.hover-preview{position:fixed;left:0;top:0;width:280px;aspect-ratio:4/5;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .3s,transform .4s var(--ease);background:var(--soft);border-radius:var(--radius);overflow:hidden;color:var(--ink)}
.hover-preview.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.hover-preview svg{position:absolute;inset:10%;width:80%;height:80%}
@media (hover:none),(max-width:900px){.hover-preview{display:none}}

/* Cartes */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{display:flex;flex-direction:column;gap:16px;text-decoration:none;color:inherit}
.card .visual{transition:transform .6s var(--ease)}
.card:hover .visual{transform:scale(.985)}
.card .visual .draw{transition:transform .8s var(--ease)}
.card:hover .visual .draw{transform:scale(1.04)}
.card h3{font-size:24px;letter-spacing:-.015em}
.card p{color:var(--muted);font-size:15px;margin:0}
.card .meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em}
.card .more{font-weight:600;font-size:15px;display:inline-flex;gap:8px;align-items:center}
.card:hover .more{color:var(--red)}
.box{border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:12px;background:var(--paper)}
.box h3{font-size:22px;letter-spacing:-.025em}
.box p{margin:0;color:var(--ink-2);font-size:15.5px}
.box .k{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.06em}

/* Défilement horizontal (secteurs) */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,32%);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin;cursor:grab}
.rail > *{scroll-snap-align:start}
.rail.dragging{cursor:grabbing;scroll-snap-type:none}
.rail-nav{display:flex;gap:8px}
.rail-nav button{width:48px;height:48px;border-radius:999px;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-size:18px;opacity:.8}
.rail-nav button:hover{background:var(--red);border-color:var(--red);color:#fff;opacity:1}
.sector{background:#1A1817;border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:18px;min-height:420px;text-decoration:none;color:var(--on-black);transition:background .4s}
.sector:hover{background:#221F1D}
.sector .visual{background:#141211;aspect-ratio:1/1}
.sector .visual .draw{color:var(--on-black)}
.sector h3{font-size:26px}
.sector p{color:var(--on-black-muted);font-size:15px;margin:0}
.sector .num{font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.08em}

/* Bandeau défilant */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:22px;white-space:nowrap;position:relative}
.marquee-track{display:inline-flex;gap:48px;animation:marq 38s linear infinite;padding-right:48px}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-family:var(--display);font-size:clamp(26px,3.4vw,44px);font-weight:700;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:48px}
.marquee span::after{content:"";width:12px;height:12px;background:var(--red);transform:rotate(45deg)}
@keyframes marq{to{transform:translateX(-50%)}}

/* Méthode : étapes avec ligne de progression */
.steps{position:relative;display:grid;gap:0}
.steps::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:1px;background:var(--line)}
.steps .progress{position:absolute;left:23px;top:24px;width:1px;background:var(--red);height:0;transition:height .2s linear}
.step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:28px;padding:28px 0}
.step .dot{width:48px;height:48px;border-radius:999px;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;font-family:var(--mono);font-size:13px;position:relative;z-index:1;transition:background .4s,border-color .4s,color .4s}
.step.active .dot{background:var(--red);border-color:var(--red);color:#fff}
.step h3{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.015em}
.step p{color:var(--ink-2);margin:10px 0 0;max-width:58ch}
.sec.soft .step .dot{background:var(--soft)}
.sec.soft .step.active .dot{background:var(--red)}

/* Points vérifiés (inspection) */
.checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.checks div{display:flex;gap:14px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.checks div:nth-child(odd){padding-right:24px}
.checks i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--red);min-width:28px}

/* Chiffres / faits */
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.facts > div{padding:28px 24px 8px 0;border-right:1px solid var(--line)}
.facts > div:last-child{border-right:0}
.facts b{display:block;font-family:var(--display);font-size:clamp(34px,4vw,56px);letter-spacing:-.035em;line-height:1}
.facts span{display:block;color:var(--muted);font-size:14px;margin-top:10px;max-width:24ch}
.sec.dark .facts,.sec.dark .facts > div{border-color:#2B2927}
.sec.dark .facts span{color:var(--on-black-muted)}

/* FAQ */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.tabs button{font:inherit;font-size:15px;font-weight:500;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-family:var(--display);font-size:clamp(19px,2vw,24px);font-weight:600;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 14px no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg);color:var(--red)}
.faq .ans{padding:0 0 26px;color:var(--ink-2);max-width:72ch;overflow:hidden}
.faq .ans p:last-child{margin:0}
.faq .cat{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:4px;font-weight:400}

/* Formulaires */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font-size:14px;font-weight:600}
.field label small{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:0;border-bottom:1px solid #BDB8B4;border-radius:0;padding:12px 0;width:100%;transition:border-color .25s}
.field textarea{min-height:140px;resize:vertical;border:1px solid #BDB8B4;padding:12px;border-radius:var(--radius)}
.field select{appearance:none;background:linear-gradient(45deg,transparent 50%,var(--ink) 50%) right 6px center/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,var(--ink) 50%) right 0 center/6px 6px no-repeat;padding-right:24px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red)}
.field .err{color:var(--red-dark);font-size:13px;min-height:0}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--red);flex:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{grid-column:1/-1;font-size:15px;padding:14px 16px;border-radius:var(--radius);display:none}
.form-status.show{display:block}
.form-status.err{background:var(--red-soft);color:var(--red-dark)}
.form-status.info{background:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer;position:relative}
.chips input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px;padding:0;left:0;top:0}
.chips span{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:999px;font-size:14.5px;transition:.2s}
.chips input:checked + span{background:var(--ink);color:#fff;border-color:var(--ink)}
.chips input:focus-visible + span{outline:2px solid var(--red);outline-offset:2px}

/* Zones */
.zones{display:flex;flex-wrap:wrap;gap:10px}
.zones span{border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-weight:500}
.zones span.soon{color:var(--muted);border-style:dashed}

/* Appel à l'action */
.cta{background:var(--black);color:var(--on-black);border-radius:var(--radius);padding:clamp(40px,7vw,96px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:end;overflow:hidden;position:relative}
.cta h2{font-size:clamp(36px,5.6vw,80px);letter-spacing:-.035em;line-height:.95}
.cta p{color:var(--on-black-muted);max-width:44ch}
.cta .actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta .contact-line{font-family:var(--mono);font-size:13px;color:var(--on-black-muted);letter-spacing:.03em}
.cta .contact-line a{color:var(--on-black);text-decoration:none}
.cta .contact-line a:hover{color:var(--red)}

/* Blog */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.filters a,.filters button{font:inherit;font-size:14.5px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);text-decoration:none;background:var(--paper);cursor:pointer}
.filters [aria-pressed="true"],.filters a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.article-head{padding-top:calc(150px + env(safe-area-inset-top,0px));padding-bottom:40px}
.article-head h1{font-size:clamp(36px,5.4vw,76px);letter-spacing:-.03em;line-height:.98;max-width:20ch;font-weight:800}
.article-meta{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:24px;letter-spacing:.04em}
.article-meta b{color:var(--red);font-weight:500}
.article-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.toc{position:sticky;top:110px;font-size:14px;display:grid;gap:10px}
.toc b{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.toc a{text-decoration:none;color:var(--muted);border-left:1px solid var(--line);padding-left:12px;transition:.2s}
.toc a.on,.toc a:hover{color:var(--ink);border-color:var(--red)}
.sources{font-size:14px;color:var(--muted)}
.sources ol{padding-left:1.2em}
.sources a{color:var(--ink-2);word-break:break-word}
.disclaimer{font-size:14px;color:var(--ink-2);background:var(--soft);border-radius:var(--radius);padding:16px 18px;margin:0 0 2em}
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--soft);color:var(--ink-2)}
.badge.soon{background:var(--red-soft);color:var(--red-dark)}
.rf{display:inline-block;font-family:var(--mono);font-size:12px;padding:3px 9px;border-radius:999px;background:var(--red-soft);color:var(--red-dark);letter-spacing:.02em}

/* Pied de page */
.site-foot{background:var(--black);color:var(--on-black);padding-top:clamp(64px,8vw,110px);padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));margin-top:clamp(72px,10vw,140px)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding-bottom:64px;border-bottom:1px solid #2B2927}
.foot-top h3{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-black-muted);font-weight:500;margin-bottom:18px}
.foot-top ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px}
.foot-top a{text-decoration:none;color:var(--on-black);font-size:15px}
.foot-top a:hover{color:var(--red)}
.foot-brand p{color:var(--on-black-muted);max-width:34ch;font-size:15px;margin-top:18px}
.foot-word{font-family:var(--display);font-weight:800;font-size:clamp(90px,22vw,330px);letter-spacing:-.055em;line-height:.8;padding-top:48px;color:#1D1B1A;user-select:none;white-space:nowrap;overflow:hidden}
.foot-word span{color:var(--red)}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:var(--on-black-muted);padding-top:28px}
.foot-bottom nav{display:flex;gap:18px;flex-wrap:wrap}
.foot-bottom a{color:var(--on-black-muted);text-decoration:none}
.foot-bottom a:hover{color:var(--on-black)}

/* Animations */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}
.js .hero h1 .ln > span{transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.js .loaded .hero h1 .ln > span,.loaded .hero h1 .ln > span{transform:none}
.js [data-mask]{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease)}
.js [data-mask].in{clip-path:inset(0 0 0 0)}
body.leaving main{opacity:0;transition:opacity .25s}
main{transition:opacity .35s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js [data-reveal],.js [data-mask]{opacity:1!important;transform:none!important;clip-path:none!important}
  .js .hero h1 .ln > span{transform:none!important}
  .js .draw-in .stroke,.js .draw-in .accent{stroke-dashoffset:0!important}
}

/* Responsive */
@media (max-width:1080px){
  .foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero-grid,.split,.sec-head,.cta,.article-body{grid-template-columns:minmax(0,1fr)}
  .sec-head p{justify-self:start}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts > div:nth-child(2){border-right:0}
  .rail{grid-auto-columns:minmax(260px,70%)}
  .toc{position:static;display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .cards,.cards.two,.cards.four,.form,.checks{grid-template-columns:minmax(0,1fr)}
  .checks div:nth-child(odd){padding-right:0}
  .index-list a{grid-template-columns:40px minmax(0,1fr) auto;gap:12px;padding:22px 0}
  .index-list .go{width:40px;height:40px}
  .foot-top{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts > div{border-right:0;border-bottom:1px solid var(--line);padding-right:0}
  .hero{padding-top:calc(120px + env(safe-area-inset-top,0px))}
  .page-hero,.article-head{padding-top:calc(120px + env(safe-area-inset-top,0px))}
}

/* =====================================================================
   V2 — style Archipro adapté à CFM
   Titres fins et serrés (Inter Tight 500), coins très arrondis, champs en pilule,
   boutons pilule rouge CFM, pied de page noir arrondi.
   ===================================================================== */
:root{
  --display:"Inter Tight","Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --body:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --r-lg:28px; --r-md:20px; --cream:#FBF8F5; --field:#E6E3E0; --row:#F4F4F3;
}
body{font-size:16px}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.03em}
.hero h1,.page-hero h1,.article-head h1{font-weight:600}
.btn{border-radius:999px;padding:13px 24px;font-size:15px;font-weight:500;box-shadow:0 6px 16px -8px rgba(214,60,47,.0)}
.btn.red{box-shadow:0 8px 20px -10px rgba(214,60,47,.7)}
.btn.red:hover{transform:translateY(-1px)}

/* En-tête */
.head-in{height:84px}
.head-left{display:flex;align-items:center;gap:22px}
.brand{font-family:var(--display);font-weight:700;font-size:25px}
.nav{gap:2px}
.nav > a,.nav .dd > button{font-size:15px;padding:8px 10px;border-radius:999px}
.nav .chev{display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:4px;transition:transform .3s var(--ease)}
.dd:hover .chev,.dd.open .chev{transform:translateY(1px) rotate(-135deg)}
.dd-panel{border-radius:18px;padding:10px}
.dd-panel a{border-radius:10px}
.head-cta{padding:12px 22px}

/* Rayons */
.visual,.photo-slot,.cta,.box,.sector,.sector .visual{border-radius:var(--r-lg)}
.box{border-radius:var(--r-md)}

/* Champs en pilule */
.form{gap:22px 22px}
.field label{font-size:15px;font-weight:500;color:var(--ink)}
.field input,.field select{border:1px solid var(--field);border-radius:999px;padding:16px 22px;font-size:15px;background:#fff;height:56px}
.field textarea{border:1px solid var(--field);border-radius:24px;padding:18px 22px;min-height:150px;font-size:15px}
.field select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23121212' stroke-width='1.5'/%3E%3C/svg%3E") right 22px center/12px 8px no-repeat;padding-right:48px}
.field input::placeholder,.field textarea::placeholder{color:#8A8682}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(214,60,47,.08)}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--red)}
.form-status{border-radius:16px}

/* Pied de page arrondi */
.site-foot{background:transparent;padding:0 12px calc(12px + env(safe-area-inset-bottom,0px));margin-top:clamp(72px,10vw,140px)}
.foot-box{background:#121212;color:#F4F2F0;border-radius:var(--r-lg);padding-block:clamp(56px,8vw,104px) 40px}
.foot-in{max-width:1110px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;padding-bottom:44px;border:0;grid-template-columns:none}
.foot-top h2{font-size:clamp(28px,3vw,36px);letter-spacing:-.025em;margin-bottom:12px;color:#fff;font-weight:500;font-family:var(--display);text-transform:none}
.foot-top p{color:#D8D4D0;max-width:44ch;margin:0;font-size:15px}
.foot-pill{display:flex;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:6px 6px 6px 22px;max-width:100%}
.foot-pill .pill-mail{color:#121212;text-decoration:none;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.foot-pill .btn{padding:11px 20px;box-shadow:none}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.foot-cols ul{list-style:none;margin:0;padding:0}
.foot-cols li{border-bottom:1px solid #2E2C2A}
.foot-cols li:last-child{border-bottom:0}
.foot-cols a{display:block;padding:11px 0;color:#F4F2F0;text-decoration:none;font-size:15px}
.foot-cols a:hover{color:var(--red)}
.foot-logo{display:inline-flex;align-items:center;gap:12px;margin-top:40px;text-decoration:none;color:#fff;font-family:var(--display);font-weight:600;font-size:clamp(40px,5vw,56px);letter-spacing:-.035em}
.foot-logo svg{width:34px;height:40px}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-end;padding-top:40px;font-size:14px;color:#BDB8B4}
.foot-contact{display:flex;gap:18px;flex-wrap:wrap}
.foot-contact a{color:#F4F2F0;text-decoration:none}
.foot-contact a:hover{color:var(--red)}
@media (max-width:900px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-cols{grid-template-columns:minmax(0,1fr)}.foot-pill{width:100%}.foot-pill .pill-mail{flex:1}}

/* ---------- Page Contact (Archipro) ---------- */
.ct-hero{padding-top:calc(130px + env(safe-area-inset-top,0px));padding-bottom:clamp(64px,8vw,110px)}
.ct-grid{max-width:1110px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,44px);align-items:stretch}
.ct-intro h1{font-size:clamp(42px,5.2vw,64px);font-weight:500;letter-spacing:-.035em;line-height:1}
.ct-intro p{color:#5F5B58;margin:16px 0 34px;max-width:46ch}
.ct-form .full .btn{margin-top:4px}
.slider{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:620px;background:#2A2522;color:#fff;isolation:isolate}
.slide{position:absolute;inset:0;padding:clamp(28px,4vw,44px);display:flex;flex-direction:column;opacity:0;transition:opacity 1s var(--ease);background-size:cover;background-position:center}
.slide.on{opacity:1}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 45%)}
.slide .q{font-family:var(--display);font-size:clamp(24px,2.4vw,30px);font-weight:500;letter-spacing:-.025em;line-height:1.15;max-width:15em;margin:0}
.slide .who{margin-top:10px;font-size:14.5px;font-weight:500;color:rgba(255,255,255,.9)}
.slide .who b{font-weight:500;padding-right:8px;margin-right:8px;border-right:1px solid rgba(255,255,255,.7)}
.slide .art{position:absolute;inset:34% 14% 11% 14%;color:#F4EFEA;opacity:.85}
.slide .q,.slide .who{position:relative;z-index:1}
.slide .art svg{width:100%;height:100%}
.slide.s1{background:linear-gradient(160deg,#5B4A40,#2A2522)}
.slide.s2{background:linear-gradient(160deg,#3F3A37,#171514)}
.slide.s3{background:linear-gradient(160deg,#7A3A31,#2A1614)}
.dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:0;z-index:2}
/* Zone cliquable de 24 px ; le point visible est dessiné au centre. */
.dots button{position:relative;width:24px;height:24px;border:0;padding:0;background:none;cursor:pointer;transition:width .4s var(--ease)}
.dots button::before{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .4s var(--ease),background .3s}
.dots button[aria-current="true"]{width:30px}
.dots button[aria-current="true"]::before{background:#fff;width:18px}
.ph-note{position:absolute;right:18px;bottom:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);z-index:2}

.zones-sec{padding-block:clamp(64px,8vw,110px)}
.center-head{text-align:center;max-width:560px;margin:0 auto clamp(32px,4vw,44px)}
.center-head h2{font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-.035em}
.center-head p{color:#5F5B58;margin:12px 0 0}
.zones-grid{max-width:1110px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,56px);align-items:center}
.zone-media{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/2;background:#2A2522;color:#F4EFEA}
.zone-panel{position:absolute;inset:0;padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;justify-content:space-between;opacity:0;transition:opacity .7s var(--ease)}
.zone-panel.on{opacity:1}
.zone-panel .big{font-family:var(--display);font-size:clamp(40px,6vw,76px);font-weight:500;letter-spacing:-.035em;line-height:.95}
.zone-panel .meta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.zone-panel .pin{position:absolute;right:8%;top:14%;width:34%;max-width:220px;opacity:.9}
.zone-panel.z1{background:linear-gradient(150deg,#4B3E37,#1E1A18)}
.zone-panel.z2{background:linear-gradient(150deg,#6E3129,#241513)}
.zone-panel.z3{background:linear-gradient(150deg,#3A3836,#121211)}
.zone-panel.z4{background:linear-gradient(150deg,#5A5550,#262321)}
.zone-list{display:grid;gap:clamp(18px,3vw,34px)}
.zone-item{background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:#8C8884}
.zone-item .zt{display:block;font-family:var(--display);font-size:clamp(26px,2.6vw,34px);font-weight:500;letter-spacing:-.03em;line-height:1.1;transition:color .3s}
.zone-item .zd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease),opacity .4s;opacity:0}
.zone-item .zd > span{overflow:hidden;color:#5F5B58;font-size:15px;line-height:1.55;max-width:38ch;display:block;padding-top:0}
.zone-item[aria-selected="true"] .zt{color:var(--ink)}
.zone-item[aria-selected="true"] .zd{grid-template-rows:1fr;opacity:1}
.zone-item[aria-selected="true"] .zd > span{padding-top:10px}
.zone-item:hover .zt{color:var(--ink)}

.faq-box{max-width:1264px;margin:0 auto;background:var(--cream);border-radius:var(--r-lg);padding:clamp(40px,7vw,100px) clamp(20px,7vw,98px)}
.faq-box .in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:start}
.faq-box h2{font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-.035em}
.faq-box .lead2{color:#5F5B58;margin:12px 0 24px;max-width:38ch}
.faq-card{background:#fff;border-radius:var(--r-lg);padding:18px;display:grid;gap:6px;box-shadow:0 2px 20px -12px rgba(0,0,0,.12)}
.faq-card details{background:var(--row);border-radius:18px;border:0}
.faq-card summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;font-family:var(--display);font-size:16px;font-weight:500;letter-spacing:-.02em}
.faq-card summary::-webkit-details-marker{display:none}
.faq-card summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(#121212,#121212) center/14px 1.5px no-repeat,linear-gradient(#121212,#121212) center/1.5px 14px no-repeat;transition:transform .35s var(--ease)}
.faq-card details[open] summary::after{background:linear-gradient(#121212,#121212) center/14px 1.5px no-repeat}
.faq-card .ans{padding:0 22px 20px;color:#5F5B58;font-size:15px;line-height:1.55;max-width:60ch}
.faq-card .ans p{margin:0}

.follow{position:relative;padding-block:clamp(90px,12vw,160px);overflow:hidden}
.follow .mid{position:relative;z-index:2;text-align:center;max-width:420px;margin:0 auto}
.follow h2{font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-.035em}
.follow p{color:#5F5B58;margin:12px 0 24px}
.tile{position:absolute;border-radius:24px;overflow:hidden;background:var(--soft);color:var(--ink);box-shadow:0 20px 40px -24px rgba(0,0,0,.25)}
.tile .draw{position:absolute;inset:12%}
.tile svg{width:100%;height:100%}
.tile.t1{width:min(266px,24vw);aspect-ratio:266/180;left:max(16px,calc(50% - 530px));top:18%}
.tile.t2{width:min(182px,17vw);aspect-ratio:1;left:max(0px,calc(50% - 570px));top:48%;background:#ECE7E2}
.tile.t3{width:min(182px,17vw);aspect-ratio:1;right:max(16px,calc(50% - 450px));top:12%;background:#F1EDE9}
.tile.t4{width:min(190px,18vw);aspect-ratio:190/246;right:max(0px,calc(50% - 530px));top:46%;background:#2A2522;color:#F4EFEA}

@media (max-width:900px){
  .ct-grid,.zones-grid,.faq-box .in{grid-template-columns:minmax(0,1fr)}
  .slider{min-height:460px}
  .follow .tile{display:none}
  .follow{padding-block:72px}
}
@media (max-width:640px){
  .ct-form{grid-template-columns:minmax(0,1fr)}
  .faq-box{border-radius:24px}
}

/* ---------- V3 : mesures calées sur Archipro (conteneur 1060 px) ---------- */
:root{--box:1060px}
.site-head .wrap{max-width:calc(var(--box) + 2*var(--gutter))}
.head-in{height:80px}
.head-left{gap:26px}
.brand{font-size:24px}
.nav > a,.nav .dd > button{font-size:15px;padding:8px 7px;font-weight:450}
.head-cta{padding:11px 22px;font-size:15px}

.ct-hero{padding-top:calc(102px + env(safe-area-inset-top,0px));padding-bottom:0}
.ct-grid{max-width:var(--box);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px;align-items:start}
.ct-intro h1{font-size:58px;font-weight:500;letter-spacing:-.04em;line-height:1.08;white-space:nowrap}
.ct-intro p{font-size:15px;line-height:1.5;color:#5A5653;margin:8px 0 36px;max-width:420px}
.ct-form{gap:26px 22px}
.ct-form .field{gap:12px}
.ct-form .field label{font-size:15px;font-weight:500}
.ct-form .full .btn{margin-top:0;padding:12px 30px}
.slider{min-height:0;height:690px;border-radius:32px;background:#CDBFB1}
.slide{padding:38px 44px;background-color:#CDBFB1}
.slide::before{background:linear-gradient(180deg,rgba(60,40,25,.28),rgba(60,40,25,0) 40%)}
.slide .q{font-size:28px;line-height:1.2;max-width:12.5em}
.slide .who{font-size:15px;margin-top:12px}
.slide.s1,.slide.s2,.slide.s3{background:var(--img) center/cover no-repeat}

.zones-sec{padding-top:170px;padding-bottom:0}
.center-head{max-width:560px;margin-bottom:30px}
.center-head h2{font-size:44px;letter-spacing:-.035em;line-height:1.1}
.center-head p{font-size:15px;line-height:1.5;color:#5A5653;margin-top:10px}
.zones-grid{max-width:var(--box);grid-template-columns:630px minmax(0,1fr);gap:52px;align-items:center}
.zone-media{aspect-ratio:630/415;border-radius:32px;background:#D8CEC4}
.zone-panel{background-size:cover;background-position:center;padding:0}
.zone-panel.z1,.zone-panel.z2,.zone-panel.z3,.zone-panel.z4{background:var(--img) center/cover no-repeat}
.zone-list{gap:38px}
.zone-item .zt{font-size:34px;letter-spacing:-.035em}
.zone-item .zd > span{font-size:15px;color:#5A5653;max-width:340px}

.faq-wrap{padding:170px 12px 0}
.faq-box{max-width:1264px;border-radius:40px;padding:108px 100px;background:#FCFAF7}
.faq-box .in{max-width:var(--box);margin:0 auto;grid-template-columns:minmax(0,1fr) 618px;gap:40px}
.faq-box h2{font-size:44px;letter-spacing:-.035em;line-height:1.1}
.faq-box .lead2{font-size:15px;line-height:1.5;color:#5A5653;margin:10px 0 24px;max-width:350px}
.faq-card{border-radius:32px;padding:18px;gap:6px;box-shadow:none}
.faq-card details{border-radius:16px;background:#F5F5F5}
.faq-card summary{font-size:16px;padding:20px 22px;font-family:var(--body);font-weight:500;letter-spacing:-.02em}
.faq-card .ans{font-size:15px}

.follow{height:610px;padding:0;margin-top:70px}
.follow .wrap{height:100%;display:grid;place-items:center;position:relative}
.follow .mid{max-width:380px}
.follow h2{font-size:44px;letter-spacing:-.035em;line-height:1.1}
.follow p{font-size:15px;line-height:1.5;color:#5A5653;margin:10px 0 24px}
.tile{border-radius:24px;background:#EEE8E2 center/cover no-repeat;box-shadow:none}
.tile.t1{width:266px;aspect-ratio:266/164;left:calc(50% - 496px);top:150px;z-index:1}
.tile.t2{width:182px;aspect-ratio:1;left:calc(50% - 537px);top:316px;z-index:2}
.tile.t3{width:182px;aspect-ratio:1;left:calc(50% + 259px);right:auto;top:75px}
.tile.t4{width:190px;aspect-ratio:190/246;left:calc(50% + 333px);right:auto;top:333px}

.site-foot{padding:0 12px 12px;margin-top:110px}
.foot-box{border-radius:40px;padding-block:110px 56px}
.foot-in{max-width:calc(var(--box) + 2*var(--gutter))}
.foot-top h2{font-size:32px}

@media (max-width:1100px){
  .ct-intro h1{white-space:normal;font-size:clamp(40px,6vw,58px)}
  .zones-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  .faq-box{padding:72px 40px}
  .faq-box .in{grid-template-columns:minmax(0,1fr)}
  .follow .tile{display:none}
  .follow{height:auto;padding-block:90px}
}
@media (max-width:900px){
  .ct-grid,.zones-grid{grid-template-columns:minmax(0,1fr)}
  .slider{height:520px}
  .zones-sec,.faq-wrap{padding-top:110px}
}
@media (max-width:640px){
  .faq-box{padding:48px 20px;border-radius:28px}
  .faq-card{padding:10px;border-radius:24px}
  .center-head h2,.faq-box h2,.follow h2{font-size:34px}
  .zone-item .zt{font-size:28px}
  .slide{padding:28px}
  .slide .q{font-size:24px}
}
.field .err:empty{display:none}
.ct-intro h1{font-size:56px;letter-spacing:-.045em}

/* ---------- V4 : textes un peu plus grands, boutons sans halo, orbites, nouveau pied de page ---------- */
:root{--btn-red:#E25A4E;--btn-red-hover:#D24A3E}
body{font-size:17px}
.btn{font-size:16px;padding:14px 26px}
.btn.red,.btn.red:hover{box-shadow:none}
.btn.red{background:var(--btn-red);border-color:var(--btn-red)}
.btn.red:hover{background:var(--btn-red-hover);border-color:var(--btn-red-hover);transform:none}
.nav > a,.nav .dd > button{font-size:16px}
.head-cta{font-size:16px;padding:12px 24px}
.brand{font-size:26px}

.ct-grid{align-items:stretch}
.ct-intro{display:flex;flex-direction:column}
.ct-intro p{font-size:16.5px;margin:8px 0 30px}
.ct-form{gap:20px 22px;flex:1;align-content:start}
.ct-form .field label{font-size:16px}
.ct-form .field input,.ct-form .field select{font-size:16px;height:58px}
.ct-form .field textarea{font-size:16px;min-height:132px}
.ct-form .check{font-size:14.5px}
.ct-form .full .btn{padding:14px 32px}
.slider{height:auto;min-height:690px}
.slide .q{font-size:30px}
.slide .who{font-size:16px}
.center-head h2,.faq-box h2,.follow h2{font-size:50px}
.center-head p,.faq-box .lead2,.follow p{font-size:16.5px}
.zone-item .zt{font-size:38px}
.zone-item .zd > span{font-size:16px}
.faq-card summary{font-size:17px;padding:21px 24px}
.faq-card .ans{font-size:16px;padding:0 24px 21px}

/* Images qui tournent en rond, chacune sur son propre cercle */
.tile-pos{position:absolute}
.tile-pos .tile{position:relative;inset:auto;width:100%;height:100%;animation:orbit var(--t,14s) linear infinite;animation-delay:var(--o,0s)}
.tile-pos.t1{width:266px;height:164px;left:calc(50% - 500px);top:120px;--t:16s;--o:-2s;--r:14px}
.tile-pos.t2{width:182px;height:182px;left:calc(50% - 548px);top:360px;--t:13s;--o:-7s;--r:12px}
.tile-pos.t3{width:182px;height:182px;left:calc(50% + 262px);top:60px;--t:15s;--o:-4s;--r:14px}
.tile-pos.t4{width:190px;height:246px;left:calc(50% + 336px);top:330px;--t:18s;--o:-10s;--r:12px}
@keyframes orbit{from{transform:rotate(0deg) translateX(var(--r,14px)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--r,14px)) rotate(-360deg)}}
.js .tile-pos[data-reveal]{transform:none}
@media (prefers-reduced-motion:reduce){.tile-pos .tile{animation:none}}
@media (max-width:1100px){.follow .tile-pos{display:none}}

/* Pied de page : disposition CFM */
.foot-box{background:#000;padding-block:110px 34px}
.foot-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.foot-cols li{border-bottom:1px solid #4A4A4A}
.foot-cols ul li:last-child{border-bottom:0}
.foot-cols ul:last-child li:last-child{border-bottom:1px solid #4A4A4A}
.foot-cols a,.foot-cols span{display:block;padding:11px 0;color:#fff;text-decoration:none;font-size:16px}
.foot-end{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-top:40px}
.foot-brandblock{display:flex;flex-direction:column;align-items:center;gap:30px}
.foot-logo-img img{width:180px;height:auto;display:block}
.foot-copy{margin:0;text-align:center;color:#D9D6D3;font-size:14.5px;line-height:1.5}
.foot-social{display:flex;gap:18px;align-items:center;padding-bottom:22px;margin-right:60px}
.foot-social a{color:#fff;display:inline-flex}
.foot-social a:hover{color:var(--btn-red)}
.foot-social svg{width:23px;height:23px;fill:currentColor}
@media (max-width:640px){.foot-social{margin-right:0}.foot-end{justify-content:center}}
.follow .mid{max-width:440px}
.tile-pos.t1{left:calc(50% - 512px)}
.foot-cols a,.foot-cols span{font-size:15.5px}
.foot-cols{gap:26px}

/* ---------- V5 : rouge exact demandé, première section ramenée à la hauteur de la photo (690 px) ---------- */
:root{--btn-red:#D0362E;--btn-red-hover:#B92D26}
.slider{height:690px;min-height:0}
.ct-grid{align-items:start}
.ct-intro{height:690px}
.ct-intro h1{line-height:1}
.ct-intro p{font-size:16.5px;line-height:1.45;margin:10px 0 22px}
.ct-form{gap:14px 20px}
.ct-form .field{gap:7px}
.ct-form .field input,.ct-form .field select{height:52px;padding:0 22px}
.ct-form .field textarea{min-height:96px;height:96px;padding:14px 22px}
.ct-form .check{font-size:13.5px;line-height:1.4}
.ct-form .check input{margin-top:1px}
.ct-form .full .btn{padding:13px 30px}
.ct-intro{display:flex;flex-direction:column}
.ct-intro .ct-form{flex:none;margin-top:auto}
@media (max-width:900px){.ct-intro{height:auto}.slider{height:520px}}

/* ---------- V6 : plus d'air en haut, rouge un peu plus clair, nouvelle FAQ ---------- */
:root{--btn-red:#DA4237;--btn-red-hover:#C7362C}
.ct-hero{padding-top:calc(160px + env(safe-area-inset-top,0px))}

.faq2{padding-top:170px}
.faq2-grid{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}
.faq2-side{position:sticky;top:110px;display:flex;flex-direction:column;gap:14px}
.faq2-kicker{display:inline-flex;align-self:flex-start;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--btn-red);background:#FBEAE8;border-radius:999px;padding:7px 14px}
.faq2-side h2{font-size:50px;font-weight:500;letter-spacing:-.035em;line-height:1.05}
.faq2-side > p{font-size:16.5px;line-height:1.5;color:#5A5653;margin:0;max-width:34ch}
.faq2-card{margin-top:18px;background:#121212;color:#fff;border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.faq2-card .lbl{font-size:14px;color:#BDB8B4}
.faq2-card .tel{font-family:var(--display);font-size:28px;font-weight:500;letter-spacing:-.025em;color:#fff;text-decoration:none}
.faq2-card .mail{color:#E8E4E0;text-decoration:none;font-size:16px;margin-bottom:16px}
.faq2-card a:hover{color:#fff;text-decoration:underline}
.faq2-card .btn:hover{text-decoration:none}
.faq2-list{border-top:1px solid #E6E3E0}
.qa{border-bottom:1px solid #E6E3E0}
.qa summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px minmax(0,1fr) 40px;gap:14px;align-items:center;padding:26px 0}
.qa summary::-webkit-details-marker{display:none}
.qa .qn{font-family:var(--mono);font-size:13px;color:#9A9590;transition:color .3s}
.qa .qt{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.015em;line-height:1.25;transition:color .3s}
.qa .qi{width:40px;height:40px;border-radius:999px;border:1px solid #DDD9D5;position:relative;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.qa .qi::before,.qa .qi::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.6px;background:#121212;transform:translate(-50%,-50%);transition:background .3s}
.qa .qi::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa summary:hover .qt{color:var(--btn-red)}
.qa[open] .qn{color:var(--btn-red)}
.qa[open] .qi{background:var(--btn-red);border-color:var(--btn-red);transform:rotate(45deg)}
.qa[open] .qi::before,.qa[open] .qi::after{background:#fff}
.qa .ans{padding:0 54px 28px 58px;color:#5A5653;font-size:16.5px;line-height:1.6;max-width:none}
.qa .ans p{margin:0}
.qa[open] .ans{animation:qaIn .45s var(--ease)}
@keyframes qaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .ct-hero{padding-top:calc(120px + env(safe-area-inset-top,0px))}
  .faq2{padding-top:110px}
  .faq2-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .faq2-side{position:static}
  .faq2-side h2{font-size:36px}
  .qa summary{grid-template-columns:32px minmax(0,1fr) 36px;padding:20px 0}
  .qa .qt{font-size:18px}
  .qa .ans{padding:0 0 22px 46px}
}

/* ---------- V7 : rouge des boutons #FF0006, première section calée sur la capture Archipro ---------- */
:root{--btn-red:#FF0006;--btn-red-hover:#D90005}
.ct-hero{padding-top:calc(114px + env(safe-area-inset-top,0px))}
.ct-intro{height:690px;display:flex;flex-direction:column}
.ct-intro h1{line-height:1.05}
.ct-intro p{margin:6px 0 36px}
.ct-intro .ct-form{margin-top:0;flex:1;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:22px 22px;align-content:stretch}
.ct-form .field{gap:9px}
.ct-form .field input,.ct-form .field select{height:56px}
.ct-form .field.full:has(textarea){display:flex;flex-direction:column;min-height:0}
.ct-form .field textarea{flex:1;height:auto;min-height:110px;resize:none}
.ct-form .full .btn{justify-self:start}
@media (max-width:900px){.ct-intro{height:auto}.ct-intro .ct-form{display:grid;grid-template-rows:none}.ct-form .field textarea{min-height:130px}}
.ct-form .field textarea{min-height:0}
.ct-form .field.full:has(textarea){overflow:hidden;padding-bottom:2px}

/* ---------- V8 : plus d'air en haut, rouge #E21C21, pied de page adouci ---------- */
:root{--btn-red:#E21C21;--btn-red-hover:#C4161B}
.ct-hero{padding-top:calc(150px + env(safe-area-inset-top,0px))}
.foot-box{padding-block:96px 40px}
.foot-head{margin-bottom:44px;max-width:560px}
.foot-head h2{font-family:var(--display);font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1.1;color:#E6E3E0;margin:0 0 12px}
.foot-head p{color:#A9A5A1;font-size:16px;line-height:1.5;margin:0;max-width:46ch}
.foot-cols a,.foot-cols span{color:#C9C5C1}
.foot-cols a:hover{color:#fff}
.foot-cols li,.foot-cols ul:last-child li:last-child{border-color:#333}
.foot-copy{color:#A9A5A1}
.foot-social a{color:#C9C5C1}
.foot-social a:hover{color:#fff}
.foot-logo-img img{opacity:.9}
.foot-end{display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-end;gap:24px}
.foot-brandblock{justify-self:start}
.foot-pill-mid{justify-self:center;margin-bottom:22px}
.foot-social{justify-self:end;margin-right:0}
@media (max-width:900px){.foot-end{grid-template-columns:minmax(0,1fr);justify-items:center}.foot-brandblock,.foot-pill-mid,.foot-social{justify-self:center}}
.foot-head{max-width:720px}
@media (max-width:900px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-cols{grid-template-columns:minmax(0,1fr);gap:0}.foot-cols ul li:last-child{border-bottom:1px solid #333}.foot-head h2{font-size:28px}}

/* ---------- V9 : pied de page blanc, champs rouges au survol, FAQ Archipro recolorée ---------- */
.foot-head h2{color:#fff}
.foot-head p,.foot-copy{color:#E6E3E0}
.foot-cols a,.foot-cols span{color:#fff}
.foot-cols a:hover{color:var(--btn-red)}
.foot-cols li,.foot-cols ul:last-child li:last-child{border-color:#4A4A4A}
.foot-social a{color:#fff}
.foot-social a:hover{color:var(--btn-red)}
.foot-logo-img img{opacity:1}
.foot-end{grid-template-columns:auto 1fr}

/* Champs : cadre rouge au survol et quand on écrit, sans halo */
.field input,.field select,.field textarea{transition:border-color .2s}
.field input:hover,.field select:hover,.field textarea:hover,
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--btn-red);box-shadow:none;outline:none}

/* FAQ façon Archipro, couleurs CFM */
.faq-wrap{padding:170px 12px 0}
.faq-box{background:#F4F2F0;border-radius:40px}
.faq-box h2{color:#121212}
.faq-card{background:#fff;border-radius:32px;padding:18px;gap:8px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.faq-card details{background:#F7F6F5;border:1px solid transparent;border-radius:16px;transition:border-color .25s,background .25s}
.faq-card details:hover{border-color:#F2C9CA}
.faq-card details[open]{background:#fff;border-color:var(--btn-red)}
.faq-card summary{font-family:var(--body);font-size:17px;font-weight:500;color:#121212;padding:21px 24px}
.faq-card summary::after{width:30px;height:30px;border-radius:999px;background:linear-gradient(#fff,#fff) center/12px 1.6px no-repeat,linear-gradient(#fff,#fff) center/1.6px 12px no-repeat,var(--btn-red);transition:transform .35s var(--ease)}
.faq-card details[open] summary::after{background:linear-gradient(#fff,#fff) center/12px 1.6px no-repeat,var(--btn-red);transform:rotate(180deg)}
.faq-card .ans{color:#5A5653;font-size:16px;padding:0 24px 22px;animation:qaIn .4s var(--ease)}
.faq-box .lead2{max-width:390px}

/* ---------- Logo du menu ---------- */
.brand-img img{height:46px;width:auto;display:block}

/* ---------- Page Nos services (Archipro) ---------- */
.svc-hero{padding-top:calc(150px + env(safe-area-inset-top,0px))}
.svc-head{max-width:620px;margin-bottom:34px}
.svc-head h1{font-size:58px;font-weight:500;letter-spacing:-.04em;line-height:1.05}
.svc-head p{font-size:16.5px;line-height:1.5;color:#5A5653;margin-top:12px}
.svc-grid{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.svc-card{background:#F5F5F5;border:1px solid transparent;border-radius:32px;padding:36px 36px 40px;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);min-height:290px;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.svc-card:hover{background:#fff;border-color:var(--btn-red);transform:translateY(-4px)}
.svc-ic{width:50px;height:50px;border-radius:999px;background:var(--ic);display:grid;place-items:center;transition:transform .4s var(--ease)}
.svc-ic svg{width:26px;height:26px}
.svc-card:hover .svc-ic{transform:scale(1.08)}
.svc-card h2{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:64px 0 14px}
.svc-card p{font-size:16px;line-height:1.55;color:#5A5653;margin:0}
.svc-more{max-width:var(--box);margin:28px auto 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.svc-more span{color:#8A8682;font-size:15px;margin-right:4px}
.svc-more a{font-size:15px;color:var(--ink);text-decoration:none;border:1px solid #E6E3E0;border-radius:999px;padding:9px 16px;transition:border-color .2s,color .2s}
.svc-more a:hover{border-color:var(--btn-red);color:var(--btn-red)}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.svc-grid{grid-template-columns:minmax(0,1fr)}.svc-head h1{font-size:42px}.svc-card{min-height:0}.svc-card h2{margin-top:36px}.brand-img img{height:38px}}
.svc-ic{width:54px;height:54px}
.svc-ic svg{width:30px;height:30px}
.svc-card p{font-size:15.5px}
.svc-card h2{margin-top:56px}
.brand-img img{height:50px}

/* ---------- Nos services : cadres plus larges, icônes image ---------- */
.svc-hero .wrap{max-width:calc(1200px + 2*var(--gutter))}
.svc-grid{max-width:1200px;gap:22px}
.svc-card{padding:40px 40px 44px}
img.svc-ic{width:56px;height:56px;border-radius:999px;background:none;display:block}

/* Nos services : cartes plus larges et moins hautes */
.svc-hero .wrap{max-width:calc(1340px + 2*var(--gutter))}
.svc-grid{max-width:1340px;gap:24px}
.svc-card{min-height:0;padding:34px 44px 36px}
.svc-card h2{margin:30px 0 10px}
@media (max-width:640px){.svc-card{padding:28px}}
/* Nos services : un peu plus hautes (entre les deux versions) */
.svc-card{padding:38px 44px 42px;min-height:300px}
.svc-card h2{margin:48px 0 12px}
@media (max-width:640px){.svc-card{min-height:0}.svc-card h2{margin-top:32px}}
/* Nos services : largeur intermédiaire, survol sans fond blanc */
.svc-hero .wrap{max-width:calc(1260px + 2*var(--gutter))}
.svc-grid{max-width:1260px}
.svc-card{border:1.5px solid transparent}
.svc-card:hover{background:#F5F5F5;border-color:var(--btn-red);transform:translateY(-4px)}
/* Nos services : moins d'espace sous le texte */
.svc-card{min-height:0;padding-bottom:30px}

/* ---------- Page d'un service (Archipro « Service single ») ---------- */
.sd-hero-wrap{padding:12px 12px 0}
.sd-hero{position:relative;max-width:1242px;margin:0 auto;height:636px;border-radius:40px;overflow:hidden;background:#D8CEC4 center/cover no-repeat}
.sd-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.35) 32%,rgba(255,255,255,0) 55%)}
.sd-hero-in{position:relative;max-width:var(--box);margin:0 auto;padding:118px var(--gutter) 0}
.sd-hero .crumbs{margin-bottom:18px;color:#3A3836}
.sd-hero h1{font-size:58px;font-weight:600;letter-spacing:-.04em;line-height:1.02;max-width:12em;color:#121212}
.sd-hero p{font-size:16.5px;line-height:1.5;color:#2E2C2A;margin:14px 0 0;max-width:30em}
.sd-body{padding:110px var(--gutter) 0}
.sd-col{max-width:600px;margin:0 auto}
.sd-col h2{font-size:42px;font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0 0 22px}
.sd-col h2 + p{margin-top:0}
.sd-col * + h2{margin-top:56px}
.sd-col h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:26px 0 8px}
.sd-col p{font-size:16.5px;line-height:1.6;color:#5A5653;margin:0 0 18px}
.sd-col ul{margin:6px 0 22px;padding-left:22px;display:grid;gap:10px}
.sd-col li{font-size:16.5px;line-height:1.5;color:#5A5653;padding-left:4px}
.sd-col li::marker{color:var(--btn-red)}
.sd-img{margin-top:34px;aspect-ratio:560/286;border-radius:32px;background:#D8CEC4 center/cover no-repeat}
.sd-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:48px}
.sd-tel{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.015em;color:var(--ink);text-decoration:none}
.sd-tel:hover{color:var(--btn-red)}

.rel-sec{padding-top:150px}
.rel-in{max-width:var(--box);margin:0 auto}
.rel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.rel-head h2{font-size:48px;font-weight:500;letter-spacing:-.04em;line-height:1.05}
.btn.ghost-dark{background:transparent;color:var(--ink);border:1.5px solid var(--ink);padding:11px 26px}
.btn.ghost-dark:hover{background:var(--ink);color:#fff}
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rel-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.rel-img{display:block;aspect-ratio:1;border-radius:32px;background:#E8E3DE center/cover no-repeat;transition:transform .6s var(--ease)}
.rel-card:hover .rel-img{transform:scale(.975)}
.rel-meta{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:15px;font-weight:500}
.rel-meta .pill{background:#F2F2F2;border-radius:999px;padding:8px 18px}
.rel-card h3{font-size:24px;font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:16px 0 8px;transition:color .25s}
.rel-card:hover h3{color:var(--btn-red)}
.rel-card p{font-size:15.5px;line-height:1.5;color:#5A5653;margin:0}
@media (max-width:900px){
  .sd-hero{height:520px;border-radius:28px}
  .sd-hero-in{padding-top:110px}
  .sd-hero h1{font-size:42px}
  .sd-hero::before{background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(255,255,255,.25) 60%,rgba(255,255,255,0))}
  .rel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-body{padding-top:72px}.rel-sec{padding-top:100px}
}
@media (max-width:640px){
  .rel-grid{grid-template-columns:minmax(0,1fr)}
  .sd-col h2,.rel-head h2{font-size:32px}
  .sd-hero h1{font-size:36px}
}
.sd-hero-in{padding:118px 0 0}
@media (max-width:1100px){.sd-hero-in{padding:110px 28px 0}}
@media (max-width:640px){.sd-hero-in{padding:100px 18px 0}}

/* ---------- Page d'un service : disposition et police de la version Wix ---------- */
.sd-hero-wrap{padding:124px 12px 0}
.sd-hero{max-width:1194px;height:612px;border-radius:12px;background-position:center;background-size:cover}
.sd-hero::before{background:linear-gradient(90deg,rgba(40,32,26,.55) 0%,rgba(40,32,26,.35) 38%,rgba(40,32,26,.05) 62%,rgba(40,32,26,0) 100%)}
.sd-hero-in{max-width:none;padding:92px 0 0 96px}
.sd-hero h1{font-family:var(--display);font-size:46px;font-weight:600;letter-spacing:-.045em;line-height:1.35;color:#fff;max-width:9.4em}
.sd-hero h1 .sep{font-weight:400}
.sd-hero p{font-family:var(--display);font-size:15px;line-height:1.4;letter-spacing:-.025em;color:#fff;max-width:270px;margin-top:6px}
.sd-body{padding:76px var(--gutter) 0}
.sd-col{max-width:584px}
.sd-col h2{font-family:var(--display);font-size:40px;font-weight:600;letter-spacing:-.05em;line-height:1.15;margin:0 0 22px}
.sd-col * + h2{margin-top:30px}
.sd-col p,.sd-col li{font-family:var(--display);font-size:15px;line-height:1.38;letter-spacing:-.02em;color:#6E6A67}
.sd-col p{margin:0 0 18px}
.sd-col ul{list-style:none;padding:0;margin:0 0 20px;gap:0}
.sd-col li{padding:0}
.sd-col li::before{content:"· "}
.sd-img{margin:26px 0 26px;aspect-ratio:583/302;border-radius:12px}
.sd-img + h2{margin-top:0}
@media (max-width:900px){
  .sd-hero-wrap{padding-top:96px}
  .sd-hero{height:480px}
  .sd-hero-in{padding:60px 28px 0}
  .sd-hero h1{font-size:36px}
  .sd-hero::before{background:linear-gradient(180deg,rgba(40,32,26,.6),rgba(40,32,26,.2) 70%,rgba(40,32,26,.05))}
}
@media (max-width:640px){.sd-hero-in{padding:44px 20px 0}.sd-hero h1{font-size:32px}.sd-col h2{font-size:32px}}
.sd-hero::before{background:linear-gradient(90deg,rgba(30,24,20,.42) 0%,rgba(30,24,20,.22) 40%,rgba(30,24,20,0) 65%)}
.sd-hero h1,.sd-hero p{text-shadow:0 1px 18px rgba(0,0,0,.18)}

/* ---------- Page d'un service : forme Archipro (photo sous le menu, grands arrondis) + police Inter ---------- */
.sd-hero-wrap{padding:12px 12px 0}
.sd-hero{max-width:1242px;height:636px;border-radius:40px}
.sd-hero-in{max-width:var(--box);margin:0 auto;padding:118px 0 0}
.sd-hero h1{font-family:"Inter",var(--body);font-size:56px;font-weight:600;letter-spacing:-.035em;line-height:1.1;max-width:12em}
.sd-hero p{font-family:"Inter",var(--body);font-size:16px;letter-spacing:-.02em;line-height:1.45;max-width:300px;margin-top:12px}
.sd-col h2{font-family:"Inter",var(--body);font-size:44px;font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0 0 22px}
.sd-col * + h2{margin-top:44px}
.sd-col p,.sd-col li{font-family:"Inter",var(--body);font-size:16.5px;line-height:1.6;letter-spacing:-.022em;color:#707070}
.sd-col ul{list-style:disc;padding-left:28px;margin:4px 0 22px;display:grid;gap:12px}
.sd-col li::before{content:none}
.sd-col li::marker{color:#707070}
.sd-img{border-radius:32px}
@media (max-width:1100px){.sd-hero-in{padding:110px 28px 0}}
@media (max-width:900px){.sd-hero-wrap{padding-top:12px}.sd-hero{height:520px;border-radius:28px}.sd-hero h1{font-size:40px}}
@media (max-width:640px){.sd-hero-in{padding:100px 18px 0}.sd-hero h1{font-size:34px}.sd-col h2{font-size:32px}}
/* Menu blanc par-dessus la photo sombre des pages de service */
.brand-img .logo-light{display:none}
.hero-dark .site-head:not(.scrolled) .logo-dark{display:none}
.hero-dark .site-head:not(.scrolled) .logo-light{display:block}
.hero-dark .site-head:not(.scrolled) .nav > a,.hero-dark .site-head:not(.scrolled) .nav .dd > button{color:#fff}
.hero-dark .site-head:not(.scrolled) .nav > a:hover,.hero-dark .site-head:not(.scrolled) .nav .dd > button:hover{background:rgba(255,255,255,.14)}
.sd-hero::before{background:linear-gradient(180deg,rgba(25,20,16,.38) 0%,rgba(25,20,16,0) 22%),linear-gradient(90deg,rgba(30,24,20,.45) 0%,rgba(30,24,20,.22) 42%,rgba(30,24,20,0) 66%)}

/* ---------- Page d'un service : menu normal au-dessus, forme arrondie gardée, paragraphes comme avant ---------- */
.sd-hero-wrap{padding:124px 12px 0}
.sd-hero{max-width:1242px;height:612px;border-radius:40px}
.sd-hero::before{background:linear-gradient(90deg,rgba(30,24,20,.45) 0%,rgba(30,24,20,.22) 42%,rgba(30,24,20,0) 66%)}
.sd-hero-in{padding:92px 0 0}
.sd-col p,.sd-col li{font-family:var(--display);font-size:15px;line-height:1.38;letter-spacing:-.02em;color:#6E6A67}
.sd-col p{margin:0 0 18px}
.sd-col ul{list-style:none;padding:0;margin:0 0 20px;display:block}
.sd-col li{padding:0}
.sd-col li::before{content:"· "}
.sd-col > p:last-child{margin-bottom:0}
.rel-sec{padding-top:110px}
@media (max-width:1100px){.sd-hero-in{padding:80px 28px 0}}
@media (max-width:900px){.sd-hero-wrap{padding-top:96px}.sd-hero{height:480px;border-radius:28px}.sd-hero-in{padding-top:60px}.rel-sec{padding-top:90px}}
@media (max-width:640px){.sd-hero-in{padding:44px 20px 0}}

/* ---------- Page Réalisations (Archipro « Selected works ») ---------- */
.wk-hero{padding-top:calc(120px + env(safe-area-inset-top,0px))}
.wk-head{max-width:560px;margin-bottom:46px}
.wk-head h1{font-family:"Inter",var(--body);font-size:58px;font-weight:600;letter-spacing:-.035em;line-height:1.05}
.wk-head p{font-size:16.5px;line-height:1.5;color:#5A5653;margin-top:12px}
.wk-list{max-width:var(--box);margin:0 auto}
.wk-row{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1fr);gap:56px;padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid #E6E3E0}
.wk-row:last-child{margin-bottom:0}
.wk-txt{display:flex;flex-direction:column;min-width:0}
.wk-txt h2{font-family:"Inter",var(--body);font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1.13;margin:0}
.wk-txt h2 a{color:var(--ink);text-decoration:none;transition:color .25s}
.wk-txt h2 a:hover{color:var(--btn-red)}
.wk-meta{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px}
.wk-meta li{font-size:15.5px;color:#8A8682;letter-spacing:-.01em}
.wk-txt p{margin:auto 0 0;padding-top:28px;font-size:15.5px;line-height:1.5;color:#5A5653;max-width:330px}
.wk-img{position:relative;display:block;aspect-ratio:627/325;border-radius:32px;background:#D8CEC4 center/cover no-repeat;overflow:hidden;transition:transform .6s var(--ease)}
.wk-img:hover{transform:scale(.985)}
.wk-plus{position:absolute;right:26px;bottom:26px;width:44px;height:44px;border-radius:999px;background:#fff;color:#121212;display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}
.wk-plus svg{width:15px;height:15px}
.wk-img:hover .wk-plus{background:var(--btn-red);color:#fff;transform:rotate(90deg)}
.rel-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.rel-two .rel-img{aspect-ratio:16/10}
@media (max-width:900px){
  .wk-row{grid-template-columns:minmax(0,1fr);gap:22px}
  .wk-img{order:-1;border-radius:24px}
  .wk-txt p{padding-top:16px;max-width:none}
  .wk-head h1{font-size:44px}
}
@media (max-width:640px){.rel-two{grid-template-columns:minmax(0,1fr)}.wk-txt h2{font-size:26px}}
.wk-img{background-position:center 40%}

/* ---------- Réalisations : police, formes et espacements d'Archipro ---------- */
.wk-hero{padding-top:calc(118px + env(safe-area-inset-top,0px))}
.wk-head{margin-bottom:46px}
.wk-head h1{font-family:var(--display);font-size:58px;font-weight:500;letter-spacing:-.045em;line-height:1.05}
.wk-head p{font-family:var(--display);font-size:15px;letter-spacing:-.02em;line-height:1.45;color:#6E6A67;max-width:380px;margin:10px auto 0}
.wk-row{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:72px;padding-bottom:35px;margin-bottom:35px;border-color:#E9E9E9}
.wk-txt h2{font-family:var(--display);font-size:31px;font-weight:500;letter-spacing:-.045em;line-height:1.08;max-width:11em}
.wk-meta{margin-top:12px;gap:3px}
.wk-meta li{font-family:var(--display);font-size:15px;letter-spacing:-.02em;color:#8E8E8E}
.wk-txt p{font-family:var(--display);font-size:15px;letter-spacing:-.02em;line-height:1.45;color:#6E6A67;max-width:310px;padding-top:30px}
.wk-img{aspect-ratio:627/325;border-radius:30px}
.wk-plus{right:26px;bottom:26px;width:43px;height:43px}

/* ---------- Pages service : deux premières sections aussi larges que « Autres services » ---------- */
.sd-hero-in{max-width:var(--box)}
.sd-hero h1{font-size:62px}
.sd-hero p{font-size:17px;max-width:360px}
.sd-col{max-width:var(--box)}
.sd-col h2{font-size:48px}
.sd-col p,.sd-col li{font-size:17px;line-height:1.45}
.sd-img{aspect-ratio:1060/440;border-radius:32px}
@media (max-width:900px){.sd-hero h1{font-size:40px}.sd-col h2{font-size:34px}}
@media (max-width:640px){.sd-hero h1{font-size:32px}.sd-col h2{font-size:30px}.sd-col p,.sd-col li{font-size:16px}}
.wk-txt h2{max-width:none}

/* ---------- Pages service : juste milieu entre l'ancienne et la large ---------- */
.sd-hero h1{font-size:56px}
.sd-hero p{font-size:16px;max-width:320px}
.sd-col{max-width:780px}
.sd-col h2{font-size:44px}
.sd-col p,.sd-col li{font-size:16px;line-height:1.42}
.sd-img{aspect-ratio:780/360}

/* ---------- Réalisations : espacement des lettres comme les autres pages ---------- */
.wk-head{margin-bottom:72px}
.wk-head h1{font-family:"Inter",var(--body);font-weight:500;letter-spacing:-.03em}
.wk-head p{font-family:var(--body);font-size:16.5px;letter-spacing:0;line-height:1.5;color:#5A5653;max-width:440px;margin-top:20px}
.wk-txt h2{font-family:var(--body);font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.wk-meta li{font-family:var(--body);font-size:15.5px;letter-spacing:0;color:#8A8682}
.wk-txt p{font-family:var(--body);font-size:16px;letter-spacing:0;line-height:1.55;color:#5A5653;margin:0;padding-top:22px;max-width:340px}

/* ---------- Pages service : photo du haut un peu plus grande ---------- */
.sd-hero{max-width:1300px;height:680px}
.sd-hero-in{padding-top:110px}
@media (max-width:900px){.sd-hero{height:520px}}

/* ---------- Réalisations : plus d'air sous le menu, police d'Archipro ---------- */
.wk-hero{padding-top:calc(165px + env(safe-area-inset-top,0px))}
.wk-head h1{font-family:var(--display);font-weight:500;letter-spacing:-.035em}
.wk-head p{font-family:var(--display);font-size:16px;letter-spacing:-.025em;color:#6E6A67}
.wk-txt h2{font-family:var(--display);font-size:31px;font-weight:500;letter-spacing:-.03em;line-height:1.1}
.wk-meta li{font-family:var(--display);font-size:15.5px;letter-spacing:-.025em;color:#8E8E8E}
.wk-txt p{font-family:var(--display);font-size:15.5px;letter-spacing:-.025em;line-height:1.45;color:#6E6A67}

/* ---------- Réalisations : survol façon Archipro (titre rouge, + devient flèche) ---------- */
.wk-txt h2 a,.wk-txt h2{transition:color .3s}
.wk-row:hover .wk-txt h2 a{color:var(--btn-red)}
.wk-img:hover{transform:none}
.wk-plus{position:absolute}
.wk-plus svg{position:absolute;left:50%;top:50%;width:15px;height:15px;transform:translate(-50%,-50%);transition:opacity .3s,transform .4s var(--ease)}
.wk-plus .ic-chev{opacity:0;transform:translate(-80%,-50%)}
.wk-row:hover .wk-plus,.wk-img:hover .wk-plus{background:#fff;color:#121212;transform:scale(1.12)}
.wk-row:hover .wk-plus .ic-plus{opacity:0;transform:translate(-50%,-50%) rotate(90deg)}
.wk-row:hover .wk-plus .ic-chev{opacity:1;transform:translate(-50%,-50%)}

/* ---------- Réalisations : léger zoom de la photo au survol, page plus large ---------- */
.wk-img{background:none;isolation:isolate}
.wk-bg{position:absolute;inset:0;background:#D8CEC4 center/cover no-repeat;transition:transform .9s var(--ease);z-index:-1}
.wk-row:hover .wk-bg{transform:scale(1.06)}
.wk-hero .wrap{max-width:calc(1260px + 2*var(--gutter))}
.wk-list{max-width:1260px}
.wk-row{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:84px}
.wk-txt h2{font-size:34px}
.wk-txt p{max-width:380px}
.wk-img{border-radius:34px}

/* ---------- Contact : même largeur que Services et Réalisations (1260 px) ---------- */
.ct-hero .wrap,.zones-sec .wrap{max-width:calc(1260px + 2*var(--gutter))}
.ct-grid{max-width:1260px;gap:56px}
.zones-grid{max-width:1260px;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px}
.faq-box{max-width:1460px;padding:110px 100px}
.faq-box .in{max-width:1260px;grid-template-columns:minmax(0,1fr) 720px}
.follow{height:660px}
.tile-pos.t1{left:calc(50% - 600px)}
.tile-pos.t2{left:calc(50% - 640px)}
.tile-pos.t3{left:calc(50% + 330px)}
.tile-pos.t4{left:calc(50% + 430px)}
@media (max-width:1300px){.faq-box{padding:90px 48px}.faq-box .in{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}}

/* ---------- FAQ : centre d'aide ---------- */
.fq-hero-wrap{padding:124px 12px 0}
.fq-hero{position:relative;max-width:1300px;margin:0 auto;border-radius:40px;overflow:hidden;background:#141210;color:#fff;isolation:isolate}
.fq-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 90% at 88% 20%,rgba(226,28,33,.55),rgba(226,28,33,0) 70%),radial-gradient(40% 60% at 70% 110%,rgba(226,28,33,.25),rgba(226,28,33,0) 70%)}
.fq-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:url("img/panneau-sortie-de-secours-porte.webp") right center/auto 100% no-repeat;opacity:.18;mask-image:linear-gradient(90deg,transparent 35%,#000 80%);-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 80%)}
.fq-hero-in{max-width:1260px;margin:0 auto;padding:84px 0 70px}
.fq-kick{display:inline-block;font-size:14px;font-weight:500;color:#fff;background:rgba(255,255,255,.12);border-radius:999px;padding:7px 14px}
.fq-hero h1{font-family:"Inter",var(--body);font-size:60px;font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:18px 0 0;color:#fff}
.fq-hero p{font-size:17px;line-height:1.5;color:#D9D4D0;max-width:440px;margin:14px 0 0}
.fq-search{display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:0 22px;height:60px;max-width:560px;margin-top:30px;color:#121212;border:1.5px solid transparent;transition:border-color .2s}
.fq-search:hover,.fq-search:focus-within{border-color:var(--btn-red)}
.fq-search svg{width:20px;height:20px;flex:none;color:#8A8682}
.fq-search input{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;background:transparent;color:#121212}
.fq-pop{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;font-size:15px;color:#D9D4D0}
.fq-pop span{margin-right:4px}
.fq-chip{font:inherit;font-size:14px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .2s,border-color .2s}
.fq-chip:hover{background:var(--btn-red);border-color:var(--btn-red)}
.fq-body{padding-top:72px}
.fq-in{max-width:calc(1260px + 2*var(--gutter))}
.fq-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.fq-cat{font:inherit;text-align:left;cursor:pointer;background:#F5F5F5;border:1.5px solid transparent;border-radius:28px;padding:28px 30px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:16px;row-gap:4px;color:var(--ink);transition:border-color .25s,transform .35s var(--ease)}
.fq-cat:hover{border-color:var(--btn-red);transform:translateY(-3px)}
.fq-cat[aria-pressed="true"]{border-color:var(--btn-red);background:#fff}
.fq-ic{grid-row:1/4;width:50px;height:50px;border-radius:999px;background:#fff;color:var(--btn-red);display:grid;place-items:center}
.fq-cat[aria-pressed="true"] .fq-ic{background:var(--btn-red);color:#fff}
.fq-ic svg{width:24px;height:24px}
.fq-ct{font-size:20px;font-weight:600;letter-spacing:-.015em}
.fq-cd{font-size:15px;color:#6E6A67;line-height:1.4}
.fq-n{font-size:13px;color:#8E8E8E;margin-top:6px}
.fq-groups{max-width:900px;margin:70px auto 0;display:grid;gap:56px}
.fq-group h2{font-family:"Inter",var(--body);font-size:30px;font-weight:600;letter-spacing:-.025em;margin:0 0 18px}
.fq-list{display:grid;gap:10px}
.fq-q{background:#F5F5F5;border:1.5px solid transparent;border-radius:20px;transition:border-color .25s,background .25s}
.fq-q:hover{border-color:#F2C9CA}
.fq-q[open]{background:#fff;border-color:var(--btn-red)}
.fq-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;font-size:17px;font-weight:500;letter-spacing:-.02em}
.fq-q summary::-webkit-details-marker{display:none}
.fq-q summary::after{content:"";flex:none;width:30px;height:30px;border-radius:999px;background:linear-gradient(#fff,#fff) center/12px 1.6px no-repeat,linear-gradient(#fff,#fff) center/1.6px 12px no-repeat,var(--btn-red);transition:transform .35s var(--ease)}
.fq-q[open] summary::after{background:linear-gradient(#fff,#fff) center/12px 1.6px no-repeat,var(--btn-red);transform:rotate(180deg)}
.fq-q .ans{padding:0 24px 22px;color:#5A5653;font-size:16px;line-height:1.6;animation:qaIn .4s var(--ease)}
.fq-q .ans p{margin:0}
.fq-q .ans a{color:var(--btn-red)}
.fq-empty{text-align:center;color:#5A5653;font-size:16px}
.fq-empty a{color:var(--btn-red)}
.fq-end{max-width:1260px;margin:90px auto 0;background:#F5F5F5;border-radius:32px;padding:44px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.fq-end h2{font-family:"Inter",var(--body);font-size:32px;font-weight:600;letter-spacing:-.025em;margin:0}
.fq-end p{margin:8px 0 0;color:#5A5653;font-size:16px}
@media (max-width:1100px){.fq-hero-in{padding:70px 32px 60px}}
@media (max-width:900px){.fq-cats{grid-template-columns:minmax(0,1fr)}.fq-hero-wrap{padding-top:96px}.fq-hero{border-radius:28px}.fq-hero h1{font-size:42px}}
@media (max-width:640px){.fq-hero-in{padding:48px 20px 44px}.fq-end{padding:32px 24px}.fq-end h2{font-size:26px}.fq-q summary{font-size:16px}}
.fq-hero-in{padding:84px 64px 70px}
.fq-groups{max-width:1260px}
@media (max-width:1100px){.fq-hero-in{padding:70px 32px 60px}}
@media (max-width:640px){.fq-hero-in{padding:48px 20px 44px}}

/* ---------- FAQ v2 : photo + catégories en cartes ---------- */
.fq-hero{background:#1b1917;min-height:560px;display:flex;align-items:center}
.fq-hero::before{background:linear-gradient(90deg,rgba(14,12,11,.86) 0%,rgba(14,12,11,.66) 38%,rgba(14,12,11,.12) 68%,rgba(14,12,11,0) 100%)}
.fq-hero::after{content:none}
.fq-hero-in{width:100%;max-width:none;padding:80px 72px}
.fq-hero h1{font-size:64px}
.fq-search{max-width:520px}
.fq-chip{background:#fff;color:#121212;border-color:#fff}
.fq-chip:hover{color:#fff}
.fq-body{padding-top:96px}
.fq-top h2,.fq-qhead h2{font-family:"Inter",var(--body);font-size:42px;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0}
.fq-tabs{display:flex;gap:6px 34px;flex-wrap:wrap;margin-top:28px;border-bottom:1px solid #DCDCDC}
.fq-tab{font:inherit;font-size:17px;font-weight:500;letter-spacing:-.02em;color:#7A7672;background:none;border:0;padding:0 0 16px;cursor:pointer;position:relative;transition:color .2s}
.fq-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--btn-red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.fq-tab:hover{color:#121212}
.fq-tab[aria-selected="true"]{color:#121212}
.fq-tab[aria-selected="true"]::after{transform:scaleX(1)}
.fq-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:40px}
.fq-card{display:flex;flex-direction:column;min-height:250px;padding:26px 26px 22px;border-radius:24px;background:#F5F5F5;border:1.5px solid transparent;color:#121212;text-decoration:none;transition:border-color .25s,background .25s,transform .35s var(--ease)}
.fq-card[hidden]{display:none}
.fq-card .fq-ic{width:48px;height:48px;border-radius:14px;background:#fff;color:var(--btn-red);display:grid;place-items:center;transition:background .25s,color .25s}
.fq-card .fq-ic svg{width:24px;height:24px}
.fq-ct{display:block;font-family:"Inter",var(--body);font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:28px}
.fq-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.fq-tags i{font-style:normal;font-size:13px;color:#6E6A67;background:#fff;border-radius:999px;padding:4px 10px}
.fq-foot{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#8E8A86}
.fq-go{width:34px;height:34px;border-radius:999px;background:#fff;color:#121212;display:grid;place-items:center;transition:background .25s,color .25s,transform .35s var(--ease)}
.fq-go svg{width:16px;height:16px}
.fq-card:hover{border-color:var(--btn-red);background:#fff;transform:translateY(-4px)}
.fq-card:hover .fq-ic,.fq-card:hover .fq-go{background:var(--btn-red);color:#fff}
.fq-card:hover .fq-go{transform:rotate(-45deg)}
.fq-card:hover .fq-tags i{background:#F5F5F5}
.fq-qhead{margin-top:110px;scroll-margin-top:110px}
.fq-qhead p{margin:10px 0 0;color:#6E6A67;font-size:17px}
.fq-groups{max-width:1260px;margin:44px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px;align-items:start}
.fq-group{scroll-margin-top:110px;border-radius:28px;transition:box-shadow .5s}
.fq-group.flash{box-shadow:0 0 0 2px var(--btn-red);border-radius:22px}
.fq-gh{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.fq-ic.sm{width:42px;height:42px;border-radius:12px;background:#FDECEC;color:var(--btn-red);display:grid;place-items:center;flex:none}
.fq-ic.sm svg{width:21px;height:21px}
.fq-gk{display:block;font-size:13px;color:#8E8A86}
.fq-gh h3{font-family:"Inter",var(--body);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.2}
.fq-empty{grid-column:1/-1}
.fq-end{margin-top:110px}
@media (max-width:1100px){.fq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fq-hero-in{padding:64px 40px}}
@media (max-width:900px){.fq-groups{grid-template-columns:minmax(0,1fr)}.fq-hero{min-height:520px;background-position:72% center}.fq-hero::before{background:linear-gradient(90deg,rgba(14,12,11,.85),rgba(14,12,11,.55))}.fq-top h2,.fq-qhead h2{font-size:32px}}
@media (max-width:640px){.fq-grid{grid-template-columns:minmax(0,1fr)}.fq-card{min-height:0}.fq-hero-in{padding:48px 22px}.fq-hero h1{font-size:40px}.fq-tabs{gap:6px 22px}.fq-tab{font-size:15px}}
.fq-card.fq-cta{background:var(--btn-red);color:#fff}
.fq-cta .fq-ic{background:rgba(255,255,255,.16);color:#fff}
.fq-cd2{font-size:15px;line-height:1.45;color:rgba(255,255,255,.85);margin-top:12px}
.fq-cta .fq-foot{color:#fff}
.fq-cta .fq-go{background:#fff;color:var(--btn-red)}
.fq-card.fq-cta:hover{background:var(--btn-red-hover);border-color:var(--btn-red-hover)}
.fq-card.fq-cta:hover .fq-ic{background:rgba(255,255,255,.22);color:#fff}
.fq-card.fq-cta:hover .fq-go{background:#fff;color:var(--btn-red)}
@media (max-width:640px){.fq-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter)}.fq-tabs::-webkit-scrollbar{display:none}.fq-tab{white-space:nowrap;flex:none}}

/* ---------- FAQ v3 : cadres façon Wix + pages par sujet ---------- */
.fq-grid{gap:24px}
.fq-card{position:relative;min-height:0;padding:22px 22px 24px;border-radius:14px;background:#fff;border:1.5px solid #3A3836;transform:none}
.fq-doc{display:block;width:30px;height:26px;color:#3A3836;transition:color .25s}
.fq-doc svg{width:100%;height:100%}
.fq-card .fq-ct{font-family:"Inter",var(--body);font-size:25px;font-weight:500;letter-spacing:-.02em;line-height:1.25;margin-top:30px;padding-right:8px}
.fq-tg{display:block;font-size:14px;line-height:1.45;color:#77726E;margin-top:8px}
.fq-card .fq-go{position:absolute;top:18px;right:18px;width:34px;height:34px;background:transparent;color:var(--btn-red);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .35s var(--ease)}
.fq-card:hover{border-color:var(--btn-red);background:#fff;transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(226,28,33,.45)}
.fq-card:hover .fq-doc{color:var(--btn-red)}
.fq-card:hover .fq-go{opacity:1;transform:none;background:transparent;color:var(--btn-red)}
.fq-card:hover .fq-ct{color:#121212}
.fq-card:focus-visible{outline:2px solid var(--btn-red);outline-offset:3px}
.fq-tab::after{background:#121212}
.fq-tab[aria-selected="true"]::after{height:2px}
.fq-empty{margin-top:30px;text-align:left}
.fq-end{margin-top:110px}
/* page sujet */
.ft-head{padding-top:150px}
.ft-back{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:#5A5653;text-decoration:none;transition:color .2s,gap .25s}
.ft-back svg{width:18px;height:18px}
.ft-back:hover{color:var(--btn-red);gap:12px}
.ft-title{display:flex;align-items:flex-start;gap:26px;margin-top:40px;padding-bottom:44px;border-bottom:1px solid #DCDCDC}
.fq-doc.lg{width:64px;height:64px;flex:none;border:1.5px solid #3A3836;border-radius:14px;padding:16px 14px;box-sizing:border-box;color:var(--btn-red)}
.ft-cat{display:block;font-size:15px;color:#8E8A86}
.ft-title h1{font-family:"Inter",var(--body);font-size:58px;font-weight:600;letter-spacing:-.035em;line-height:1.05;margin:8px 0 0}
.ft-tg{margin:12px 0 0;font-size:17px;color:#77726E}
.ft-body{padding-top:56px}
.ft-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
.ft-list{display:grid;gap:12px}
.ft-list .fq-q summary{font-size:19px;padding:24px 26px}
.ft-list .fq-q .ans{padding:0 26px 26px;font-size:17px}
.ft-side{position:sticky;top:110px;background:#F5F5F5;border-radius:24px;padding:32px}
.ft-side h2{font-family:"Inter",var(--body);font-size:26px;font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0}
.ft-side p{margin:12px 0 24px;color:#5A5653;font-size:16px;line-height:1.55}
.ft-tel{display:block;margin-top:16px;font-weight:600;color:#121212;text-decoration:none}
.ft-tel:hover{color:var(--btn-red)}
.ft-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:80px;padding-top:32px;border-top:1px solid #DCDCDC}
.ft-nav a{display:block;font-family:"Inter",var(--body);font-size:22px;font-weight:500;letter-spacing:-.015em;color:#121212;text-decoration:none;transition:color .2s}
.ft-nav a span{display:block;font-family:var(--body);font-size:14px;font-weight:400;letter-spacing:0;color:#8E8A86;margin-bottom:6px}
.ft-nav a.nx{text-align:right}
.ft-nav a:hover{color:var(--btn-red)}
.ft-more{margin-top:100px}
.ft-more h2{font-family:"Inter",var(--body);font-size:42px;font-weight:600;letter-spacing:-.03em;margin:0}
.ft-more .fq-grid{margin-top:32px}
@media (max-width:1100px){.ft-grid{grid-template-columns:minmax(0,1fr)}.ft-side{position:static}}
@media (max-width:900px){.ft-head{padding-top:120px}.ft-title h1{font-size:40px}.ft-more h2{font-size:32px}}
@media (max-width:640px){.ft-title{gap:16px}.fq-doc.lg{width:52px;height:52px;padding:12px 11px}.ft-title h1{font-size:32px}.ft-nav{grid-template-columns:1fr}.ft-nav a.nx{text-align:left}.ft-list .fq-q summary{font-size:17px;padding:20px}.ft-list .fq-q .ans{padding:0 20px 20px}.fq-card .fq-ct{font-size:22px}}

/* ---------- FAQ v4 : réglages + décor autour de la photo ---------- */
.fq-pop{margin-top:30px}
.fq-tab::after{background:var(--btn-red)}
.fq-card:hover{box-shadow:none}
.fq-top{scroll-margin-top:40px}
.fq-hero{background:#1b1917;min-height:600px}
.fq-hero::before{background:linear-gradient(90deg,rgba(14,12,11,.9) 0%,rgba(14,12,11,.72) 45%,rgba(14,12,11,.45) 100%)}
.fq-hero-in{position:relative;z-index:2;max-width:620px;padding:80px 0 80px 72px}
.fq-scene{position:absolute;top:56px;bottom:56px;right:56px;width:min(560px,44%)}
.fq-photo{position:absolute;inset:0;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.fq-photo img{width:100%;height:100%;object-fit:cover;object-position:62% 30%;display:block}
.fq-bub{position:absolute;display:inline-flex;align-items:center;gap:10px;background:#fff;color:#121212;font-size:15px;font-weight:500;letter-spacing:-.01em;padding:10px 16px 10px 10px;border-radius:999px;box-shadow:0 16px 34px -14px rgba(0,0,0,.55);white-space:nowrap;animation:fqFloat 6s ease-in-out infinite}
.fq-bub i{width:28px;height:28px;border-radius:999px;background:var(--btn-red);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:700;font-size:15px}
.fq-bub i.ok{background:#121212}
.fq-bub i svg{width:15px;height:15px}
.fq-bub.b1{left:-70px;top:12%}
.fq-bub.b2{left:-40px;bottom:16%;animation-delay:-2s}
.fq-bub.b3{right:-22px;top:46%;animation-delay:-4s}
@keyframes fqFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.fq-bub{animation:none}}
@media (max-width:1100px){.fq-hero-in{padding:64px 0 64px 40px;max-width:520px}.fq-scene{right:32px;width:40%}.fq-bub{font-size:13px}.fq-bub.b1{left:-40px}}
@media (max-width:900px){.fq-hero{display:block;min-height:0}.fq-hero-in{max-width:none;padding:48px 32px 32px}.fq-scene{position:relative;inset:auto;width:auto;height:340px;margin:0 32px 36px}.fq-bub.b1{left:14px;top:14px}.fq-bub.b2{left:14px;bottom:14px}.fq-bub.b3{right:14px;top:auto;bottom:64px}}
@media (max-width:640px){.fq-hero-in{padding:44px 22px 28px}.fq-scene{height:260px;margin:0 16px 22px}.fq-bub.b3{display:none}}
.fq-hero-in{margin:0}
.fq-scene{width:min(640px,48%)}
.fq-photo img{object-position:58% 35%}
@media (max-width:1100px){.fq-scene{width:42%}}
@media (max-width:900px){.fq-scene{width:auto}}
.fq-hero h1{font-size:58px}
.fq-bub.b2{left:24px;bottom:7%}
.fq-bub.b1{left:-48px}
@media (max-width:900px){.fq-hero h1{font-size:42px}.fq-bub.b2{left:14px;bottom:14px}.fq-bub.b1{left:14px}}
@media (max-width:640px){.fq-hero h1{font-size:40px}}
.fq-top{scroll-margin-top:130px}

/* ---------- FAQ v5 : photo large en fond + icônes par cadre ---------- */
.fq-hero{background:#1b1917 url("img/faq-hero-wide.webp") 78% center/cover no-repeat;min-height:600px}
.fq-hero::before{background:linear-gradient(90deg,rgba(14,12,11,.88) 0%,rgba(14,12,11,.7) 34%,rgba(14,12,11,.18) 62%,rgba(14,12,11,0) 100%)}
.fq-scene{top:0;bottom:0;right:0;width:46%;pointer-events:none}
.fq-bub.b1{left:auto;right:56%;top:20%}
.fq-bub.b2{left:auto;right:8%;bottom:14%}
.fq-bub.b3{right:6%;top:24%}
.fq-doc.ico{width:30px;height:30px}
.fq-doc.ico svg{stroke-width:1.6}
.fq-doc.lg.ico{width:64px;height:64px;padding:16px}
@media (max-width:1100px){.fq-scene{width:50%}.fq-bub.b1{right:50%}}
@media (max-width:900px){.fq-hero{display:block;background-position:72% center}.fq-hero::before{background:linear-gradient(180deg,rgba(14,12,11,.82),rgba(14,12,11,.55) 70%,rgba(14,12,11,.3))}.fq-scene{position:relative;width:auto;height:200px;margin:0}.fq-bub.b1{right:auto;left:22px;top:10px}.fq-bub.b2{right:22px;bottom:24px}.fq-bub.b3{display:none}}
@media (max-width:640px){.fq-scene{height:170px}}

/* ---------- Page 404 façon Archipro ---------- */
.nf{padding:120px 20px 110px}
.nf-in{position:relative;max-width:1080px;height:560px;margin:0 auto}
.nf-num{position:absolute;left:50%;top:0;transform:translateX(-50%);font-family:"Inter",var(--body);font-size:430px;font-weight:500;letter-spacing:-.045em;line-height:1;color:#F2F2F2;user-select:none;pointer-events:none}
.nf-img{position:absolute;border-radius:24px;background-position:center;background-size:cover;box-shadow:0 18px 40px -22px rgba(0,0,0,.35);animation:nfFloat 7s ease-in-out infinite}
.nf-img.i1{left:50px;top:55px;width:265px;height:180px}
.nf-img.i2{right:200px;top:0;width:180px;height:180px;animation-delay:-1.8s;animation-duration:8s}
.nf-img.i3{left:0;top:300px;width:180px;height:180px;animation-delay:-3.4s;animation-duration:6.5s}
.nf-img.i4{right:0;top:370px;width:218px;height:148px;animation-delay:-5s;animation-duration:7.5s}
@keyframes nfFloat{0%,100%{translate:0 0}25%{translate:6px -10px}50%{translate:0 -16px}75%{translate:-6px -8px}}
.nf-txt{position:absolute;left:50%;top:375px;transform:translateX(-50%);width:min(460px,100%);text-align:center}
.nf-txt h1{font-family:"Inter",var(--body);font-size:46px;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0;white-space:nowrap}
.nf-txt p{margin:16px 0 26px;color:#6E6A67;font-size:16px;line-height:1.55}
@media (prefers-reduced-motion:reduce){.nf-img{animation:none}}
@media (max-width:900px){.nf-in{height:auto;min-height:620px}.nf-num{font-size:260px;top:40px}.nf-img.i1{left:0;top:0;width:200px;height:136px}.nf-img.i2{right:0;top:20px;width:130px;height:130px}.nf-img.i3{left:10px;top:auto;bottom:0;width:130px;height:130px}.nf-img.i4{right:0;top:auto;bottom:30px;width:170px;height:116px}.nf-txt{top:250px}}
@media (max-width:640px){.nf{padding:100px 16px 70px}.nf-in{min-height:640px}.nf-num{font-size:150px;top:150px}.nf-img.i1{width:150px;height:104px}.nf-img.i2{width:110px;height:110px}.nf-img.i3{width:110px;height:110px}.nf-img.i4{width:140px;height:96px}.nf-txt{top:260px}.nf-txt h1{font-size:32px;white-space:normal}}
.fq-hero{min-height:520px;background-position:70% 40%}
.fq-hero-in{padding:64px 0 64px 72px}
.fq-bub.b1{right:auto;left:-14%;top:7%}
.fq-bub.b3{right:5%;top:16%}
.fq-bub.b2{right:6%;bottom:10%}
@media (max-width:1100px){.fq-hero{min-height:500px}.fq-bub.b1{left:-6%}}
@media (max-width:900px){.fq-hero{min-height:0}.fq-bub.b1{left:22px;right:auto;top:10px}}
@media (max-width:1100px){.fq-hero-in{padding:56px 0 56px 40px}}
@media (max-width:900px){.fq-hero-in{max-width:none;padding:48px 32px 24px}}
@media (max-width:640px){.fq-hero-in{padding:40px 22px 16px}.nf-in{min-height:580px}.nf-txt{top:240px}.nf-num{top:140px}}

/* ---------- 404 v2 : chiffres par-dessus les images, plus large ---------- */
.nf{padding:130px 20px 120px}
.nf-in{max-width:1260px;height:640px}
.nf-num{z-index:2;color:rgba(236,236,236,.55);font-size:500px;top:-10px}
.nf-txt{z-index:3;top:440px}
.nf-img.i1{left:70px;top:60px;width:320px;height:216px}
.nf-img.i2{right:230px;top:0;width:216px;height:216px}
.nf-img.i3{left:0;top:340px;width:216px;height:216px}
.nf-img.i4{right:0;top:420px;width:262px;height:178px}
@media (max-width:1100px){.nf-num{font-size:400px}.nf-img.i2{right:120px}}
@media (max-width:900px){.nf-in{height:auto;min-height:640px}.nf-num{font-size:260px;top:40px}.nf-img.i1{left:0;top:0;width:200px;height:136px}.nf-img.i2{right:0;top:20px;width:130px;height:130px}.nf-img.i3{left:10px;top:auto;bottom:0;width:130px;height:130px}.nf-img.i4{right:0;top:auto;bottom:30px;width:170px;height:116px}.nf-txt{top:250px}}
@media (max-width:640px){.nf-in{min-height:580px}.nf-num{font-size:150px;top:140px}.nf-img.i1{width:150px;height:104px}.nf-img.i2{width:110px;height:110px}.nf-img.i3{width:110px;height:110px}.nf-img.i4{width:140px;height:96px}.nf-txt{top:240px}}

/* ---------- Conseils façon Archipro ---------- */
.bl-in{max-width:calc(1260px + 2*var(--gutter))}
.bl-head{padding-top:150px}
.bl-head h1{font-family:"Inter",var(--body);font-size:72px;font-weight:600;letter-spacing:-.04em;line-height:1.05;margin:0;padding-bottom:40px;border-bottom:1px solid #E4E4E4}
.bl-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1.2fr);gap:24px;margin-top:40px;align-items:start}
.bl-feat{position:relative;display:block;border-radius:28px;overflow:hidden;aspect-ratio:1/1.03;color:#fff;text-decoration:none;isolation:isolate}
.bl-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.bl-feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,0) 45%);z-index:0}
.bl-ov{position:absolute;left:36px;top:36px;right:110px;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.bl-ft{font-family:"Inter",var(--body);font-size:30px;font-weight:500;letter-spacing:-.03em;line-height:1.2;transition:color .3s}
.bl-plus{position:absolute;top:36px;right:36px;z-index:1;width:58px;height:58px;border-radius:999px;background:#fff;color:#121212;display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}
.bl-plus svg{width:20px;height:20px}
.bl-feat:hover img{transform:scale(1.04)}
.bl-feat:hover .bl-plus{background:var(--btn-red);color:#fff;transform:rotate(90deg)}
.bl-tag{display:inline-block;font-size:15px;font-weight:500;color:#121212;background:#F2F2F2;border-radius:999px;padding:8px 18px;line-height:1.2}
.bl-feat .bl-tag,.bl-tag.on-img{background:#fff}
.bl-side{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-content:start}
.bl-small{display:flex;flex-direction:column;color:#121212;text-decoration:none}
.bl-img{position:relative;display:block;border-radius:24px;overflow:hidden;aspect-ratio:1/1}
.bl-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.bl-tag.on-img{position:absolute;left:24px;top:24px}
.bl-t{display:block;font-family:"Inter",var(--body);font-size:22px;font-weight:500;letter-spacing:-.03em;line-height:1.25;margin-top:24px;transition:color .25s}
.bl-x{display:block;font-size:16px;line-height:1.55;color:#6E6A67;margin-top:8px}
.bl-d{display:block;font-size:15px;font-weight:500;margin-top:16px}
.bl-small:hover .bl-t,.bl-card:hover .bl-t{color:var(--btn-red)}
.bl-small:hover img,.bl-card:hover img{transform:scale(1.05)}
.bl-all{grid-column:2;justify-self:end;margin-top:40px}
.bl-band-wrap{padding:150px 12px 0}
.bl-band{max-width:1300px;margin:0 auto;border-radius:40px;overflow:hidden;background:#1A1816;color:#fff;display:grid;grid-template-columns:1fr 1fr;min-height:500px}
.bl-band-img{position:relative;overflow:hidden}
.bl-band-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bl-band-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,24,22,0) 55%,#1A1816)}
.bl-band-txt{padding:70px 72px 70px 48px;display:flex;flex-direction:column;justify-content:center}
.bl-band-txt h2{font-family:"Inter",var(--body);font-size:50px;font-weight:600;letter-spacing:-.04em;line-height:1.1;margin:0}
.bl-band-txt p{color:#D9D4D0;font-size:17px;line-height:1.55;margin:18px 0 30px;max-width:460px}
.bl-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-radius:999px;padding:6px 6px 6px 26px;max-width:460px}
.bl-tel{color:#121212;font-weight:600;font-size:16px;text-decoration:none;white-space:nowrap}
.bl-tel:hover{color:var(--btn-red)}
.bl-list{padding-top:150px}
.bl-lh{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.bl-lh h2{font-family:"Inter",var(--body);font-size:56px;font-weight:600;letter-spacing:-.04em;margin:0}
.bl-filters{display:flex;gap:4px;background:#F2F2F2;border-radius:999px;padding:7px;flex-wrap:wrap}
.bl-f{font:inherit;font-size:16px;font-weight:500;color:#121212;background:transparent;border:0;border-radius:999px;padding:11px 22px;cursor:pointer;transition:background .25s,color .25s}
.bl-f:hover{color:var(--btn-red)}
.bl-f[aria-pressed="true"]{background:#fff;color:#121212}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 24px;margin-top:40px}
.bl-card{display:flex;flex-direction:column;color:#121212;text-decoration:none}
.bl-card[hidden]{display:none}
.bl-meta{display:flex;align-items:center;gap:14px;margin-top:22px;font-size:15px;font-weight:500}
.bl-card .bl-t{margin-top:16px;font-size:24px}
@media (max-width:1100px){.bl-top{grid-template-columns:minmax(0,1fr)}.bl-feat{aspect-ratio:16/11}.bl-band{grid-template-columns:1fr}.bl-band-img{height:320px}.bl-band-img::after{background:linear-gradient(180deg,rgba(26,24,22,0) 55%,#1A1816)}.bl-band-txt{padding:40px 40px 56px}.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.bl-head{padding-top:120px}.bl-head h1{font-size:48px}.bl-lh h2{font-size:40px}.bl-band-txt h2{font-size:36px}.bl-band-wrap,.bl-list{padding-top:100px}}
@media (max-width:640px){.bl-head h1{font-size:38px;padding-bottom:28px}.bl-side{grid-template-columns:minmax(0,1fr)}.bl-all{grid-column:1;justify-self:start;margin-top:8px}.bl-grid{grid-template-columns:minmax(0,1fr)}.bl-ov{left:22px;top:22px;right:80px}.bl-plus{top:22px;right:22px;width:46px;height:46px}.bl-ft{font-size:22px}.bl-feat{aspect-ratio:4/5}.bl-band{border-radius:28px}.bl-band-txt{padding:32px 22px 40px}.bl-band-txt h2{font-size:30px}.bl-pill{flex-direction:column;align-items:stretch;border-radius:24px;padding:16px;text-align:center}.bl-pill .btn{justify-content:center}.bl-f{padding:9px 14px;font-size:15px}}
.bl-list{scroll-margin-top:20px}
/* Conseils : mêmes polices que Réalisations (Inter Tight) */
.bl-head h1,.bl-lh h2,.bl-band-txt h2{font-family:var(--display);font-weight:500;letter-spacing:-.035em}
.bl-ft,.bl-t{font-family:var(--display);font-weight:500;letter-spacing:-.03em}
.bl-x{font-family:var(--display);font-size:16px;letter-spacing:-.01em;line-height:1.45;color:#6E6A67}
.bl-tag,.bl-meta,.bl-d,.bl-f,.bl-band-txt p,.bl-tel,.bl-all{font-family:var(--display);letter-spacing:-.01em}
/* Conseils : au survol, le + devient une flèche (cercle blanc) */
.bl-plus{position:absolute}
.bl-plus svg{position:absolute;inset:0;margin:auto;transition:opacity .3s,transform .4s var(--ease)}
.bl-plus .ic-c{opacity:0;transform:translateX(-6px)}
.bl-feat:hover .bl-plus{background:#fff;color:#121212;transform:none}
.bl-feat:hover .bl-plus .ic-p{opacity:0;transform:rotate(90deg)}
.bl-feat:hover .bl-plus .ic-c{opacity:1;transform:none}
/* ---------- Bas de page réorganisé ---------- */
.foot-col h3{font-family:var(--display);font-size:14px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:#9A9692;margin:0 0 6px}
.foot-cols ul:last-child li:last-child{border-bottom:0}
.foot-cols .foot-col ul li:last-child{border-bottom:0}
.foot-cols a,.foot-cols span{font-size:15.5px}
.foot-cols a:hover{color:var(--btn-red)}
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:32px;padding-top:24px;border-top:1px solid #333}
.foot-legal a{color:#BDB8B4;font-size:14px;text-decoration:none}
.foot-legal a:hover{color:#fff}
@media (max-width:900px){.foot-cols{row-gap:36px}}
.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
@media (max-width:900px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-cols{grid-template-columns:minmax(0,1fr)}}

/* ================= Accueil ================= */
.hm-in{max-width:calc(1260px + 2*var(--gutter))}
.hm-hero-wrap{padding:96px 12px 0}
.hm-hero{position:relative;max-width:1300px;margin:0 auto;min-height:720px;border-radius:40px;overflow:hidden;background:#141210 url("img/home-hero.webp") 62% center/cover no-repeat;color:#fff;display:flex;align-items:center;isolation:isolate}
.hm-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,9,8,.82) 0%,rgba(10,9,8,.55) 38%,rgba(10,9,8,.05) 70%)}
.hm-hero-in{padding:80px 72px;max-width:720px}
.hm-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:14px;font-weight:500;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 16px;backdrop-filter:blur(6px)}
.hm-badge::before{content:"";width:7px;height:7px;border-radius:999px;background:var(--btn-red)}
.hm-hero h1{font-family:var(--display);font-size:72px;font-weight:500;letter-spacing:-.035em;line-height:1.02;margin:22px 0 0;color:#fff}
.hm-hero h1 span{color:var(--btn-red);display:block}
.hm-hero p{font-family:var(--display);font-size:18px;line-height:1.55;color:#E2DEDA;max-width:520px;margin:22px 0 0}
.hm-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn.hm-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.hm-ghost:hover{background:#fff;color:#121212;border-color:#fff}
.hm-pts{display:flex;margin-top:56px}
.hm-pt{padding:0 28px;border-left:1px solid rgba(255,255,255,.3)}
.hm-pt:first-child{padding-left:0;border-left:0}
.hm-pt b{display:block;font-family:var(--display);font-size:16px;font-weight:600}
.hm-pt span{display:block;font-size:14.5px;color:#CFCAC6;margin-top:4px;max-width:160px;line-height:1.45}
.hm-sec{padding-top:140px}
.hm-kick{display:inline-block;font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--btn-red);padding-bottom:10px;position:relative}
.hm-kick::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--btn-red)}
.hm-h2{font-family:var(--display);font-size:52px;font-weight:500;letter-spacing:-.035em;line-height:1.08;margin:18px 0 0}
.hm-h2 span{color:var(--btn-red)}
.hm-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:44px}
.hm-head p{font-family:var(--display);font-size:17px;color:#6E6A67;margin:14px 0 0}
.hm-head.center{justify-content:center;text-align:center}
.hm-head.center .hm-kick::after{left:50%;transform:translateX(-50%)}
.hm-garantie{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:48px;align-items:start}
.hm-stats{margin-top:36px;border-radius:28px;padding:16px 36px;color:#fff;background:linear-gradient(135deg,#E8262B,#B8151A);position:relative;overflow:hidden}
.hm-stats::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 46px),repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 46px);pointer-events:none}
.hm-stat{position:relative;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.25)}
.hm-stat:last-child{border-bottom:0}
.hm-stat b{display:block;font-family:var(--display);font-size:44px;font-weight:500;letter-spacing:-.03em;line-height:1}
.hm-stat span{display:block;font-size:16px;margin-top:8px;color:rgba(255,255,255,.88)}
.hm-feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:40px}
.hm-feat{display:flex;flex-direction:column;background:#F5F5F5;border:1.5px solid transparent;border-radius:28px;overflow:hidden;color:#121212;text-decoration:none;transition:border-color .3s,background .3s,transform .4s var(--ease)}
.hm-feat:nth-child(2){margin-top:60px}
.hm-feat-img{display:block;aspect-ratio:4/3;overflow:hidden}
.hm-feat-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.hm-feat-txt{display:flex;flex-direction:column;padding:24px 24px 28px;flex:1}
.hm-feat .hm-k{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--btn-red)}
.hm-ft{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.22;margin-top:10px}
.hm-fx{font-size:15px;line-height:1.55;color:#6E6A67;margin-top:10px}
.hm-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;font-weight:600;font-size:15px;color:#121212;transition:color .25s,gap .25s}
.hm-more svg{width:16px;height:16px}
.hm-feat:hover{border-color:var(--btn-red);background:#fff;transform:translateY(-4px)}
.hm-feat:hover img{transform:scale(1.05)}
.hm-feat:hover .hm-more{color:var(--btn-red);gap:12px}
.hm-report{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;background:#F5F5F5;border-radius:40px;padding:72px}
.hm-r-txt p{font-family:var(--display);font-size:17px;line-height:1.55;color:#5A5653;margin:18px 0 30px;max-width:460px}
.hm-r-txt .hm-h2{font-size:44px}
.hm-mock{position:relative;height:420px}
.mk-tab{position:absolute;left:0;top:10px;width:78%;background:#1A1816;border-radius:26px;padding:12px;box-shadow:0 30px 60px -25px rgba(0,0,0,.45);transform:rotate(-3deg)}
.mk-screen{background:#fff;border-radius:16px;padding:18px;font-size:12.5px}
.mk-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--btn-red);padding-bottom:10px;margin-bottom:6px}
.mk-h b{font-family:var(--display);font-size:16px}
.mk-h span{color:#8E8A86;font-size:12px}
.mk-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #EEE}
.mk-row i{font-style:normal;color:#6E6A67}
.mk-row em{font-style:normal;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px}
.mk-row em.ok{background:#E8F5EC;color:#1E7A3C}
.mk-row em.warn{background:#FDECEC;color:#B8151A}
.mk-sum{display:flex;gap:14px;margin-top:12px;font-weight:600;font-size:12px;color:#5A5653}
.mk-paper{position:absolute;right:0;bottom:0;width:46%;background:#fff;border-radius:14px;padding:20px 18px 22px;box-shadow:0 30px 60px -25px rgba(0,0,0,.4);transform:rotate(4deg)}
.mk-ph{border-top:6px solid var(--btn-red);margin:-20px -18px 14px;padding:14px 18px 0;border-radius:14px 14px 0 0}
.mk-ph b{display:block;font-family:var(--display);font-size:14px}
.mk-ph span{font-size:11px;color:#8E8A86}
.mk-lines i{display:block;height:7px;border-radius:4px;background:#EFEDEB;margin:9px 0;width:100%}
.mk-seal{margin:16px 0 0 auto;width:58px;height:58px;border-radius:999px;border:2px solid var(--btn-red);color:var(--btn-red);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:16px;transform:rotate(-12deg)}
.hm-svc{max-width:none}
.hm-rail{position:relative;margin-top:0}
.hm-reals{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px max(var(--gutter),calc((100vw - 1260px)/2)) 30px;scrollbar-width:none;cursor:grab}
.hm-reals::-webkit-scrollbar{display:none}
.hm-reals.dragging{cursor:grabbing;scroll-snap-type:none}
.hm-real{flex:0 0 320px;scroll-snap-align:start;display:flex;flex-direction:column;color:#121212;text-decoration:none;user-select:none}
.hm-real:nth-child(even){margin-top:90px}
.hm-real-img{display:block;border-radius:24px;overflow:hidden;aspect-ratio:4/3.3}
.hm-real-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);pointer-events:none}
.hm-rt{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.025em;margin-top:18px;transition:color .25s}
.hm-rx{font-size:15px;line-height:1.5;color:#6E6A67;margin-top:6px}
.hm-real:hover img{transform:scale(1.05)}
.hm-real:hover .hm-rt{color:var(--btn-red)}
.hm-rail-nav{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px}
.hm-rail-nav button{width:50px;height:50px;border-radius:999px;border:1px solid #D6D3D0;background:#fff;color:#121212;display:grid;place-items:center;cursor:pointer;transition:border-color .25s,color .25s}
.hm-rail-nav button svg{width:20px;height:20px}
.hm-rail-nav button:hover{border-color:var(--btn-red);color:var(--btn-red)}
.hm-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hm-step{background:#F5F5F5;border-radius:28px;padding:30px 28px 32px}
.hm-n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:999px;background:#fff;color:var(--btn-red);font-family:var(--display);font-weight:600;font-size:15px}
.hm-step h3{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.025em;margin:40px 0 10px}
.hm-step p{font-size:15px;line-height:1.55;color:#6E6A67;margin:0}
.hm-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;align-items:start}
.hm-faq p{font-family:var(--display);font-size:17px;color:#6E6A67;margin:14px 0 28px}
.hm-cta{padding-top:140px}
@media (max-width:1100px){.hm-hero-in{padding:64px 48px}.hm-hero h1{font-size:58px}.hm-garantie{grid-template-columns:minmax(0,1fr)}.hm-feats{padding-top:0}.hm-report{grid-template-columns:minmax(0,1fr);padding:48px}.hm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hm-faq{grid-template-columns:minmax(0,1fr);gap:32px}}
@media (max-width:900px){.hm-hero-wrap{padding-top:84px}.hm-hero{min-height:640px;border-radius:28px;background-position:70% center}.hm-hero::before{background:linear-gradient(180deg,rgba(10,9,8,.75),rgba(10,9,8,.55))}.hm-h2{font-size:38px}.hm-r-txt .hm-h2{font-size:34px}.hm-sec,.hm-cta{padding-top:96px}.hm-feats{grid-template-columns:minmax(0,1fr)}.hm-feat:nth-child(2){margin-top:0}.hm-feat-img{aspect-ratio:16/9}}
@media (max-width:640px){.hm-hero-in{padding:44px 22px}.hm-hero h1{font-size:40px}.hm-hero p{font-size:16px}.hm-pts{flex-direction:column;gap:16px;margin-top:36px}.hm-pt{padding:0;border-left:0}.hm-stat b{font-size:36px}.hm-stats{padding:8px 24px}.hm-report{padding:28px 20px;border-radius:28px}.hm-mock{height:340px}.mk-tab{width:92%}.mk-paper{width:58%}.hm-steps{grid-template-columns:minmax(0,1fr)}.hm-real{flex-basis:260px}.hm-real:nth-child(even){margin-top:50px}}
.hm-stat b span{display:inline;font-size:inherit;margin:0;color:inherit}
.hm-g-left .hm-h2{font-size:46px}
.hm-rail .rail.hm-reals{padding:10px max(var(--gutter),calc((100vw - 1260px)/2)) 30px;scroll-padding-inline:max(var(--gutter),calc((100vw - 1260px)/2))}
@media (max-width:900px){.hm-g-left .hm-h2{font-size:38px}}
@media (max-width:640px){.hm-mock{height:auto;padding-bottom:150px}.mk-tab{position:relative;top:0}.mk-paper{bottom:0;width:62%}.mk-screen{font-size:11.5px;padding:14px}.hm-svc .svc-card{padding:26px 26px 30px}.hm-svc .svc-card h2{margin-top:24px}}
/* ---------- Secteurs ---------- */
.sd-col h3{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.25;margin:28px 0 6px}
.sd-col ul a{color:var(--btn-red);text-decoration:none;font-weight:500}
.sd-col ul a:hover{text-decoration:underline}
.sec-cta{padding-top:120px}
@media (max-width:900px){.wk-row{grid-template-columns:minmax(0,1fr);gap:22px}.wk-img{order:-1;border-radius:24px}}

/* ---------- Secteurs v2 : panneaux qui s'ouvrent + tableau ---------- */
.sx-in{max-width:calc(1260px + 2*var(--gutter))}
.sx-hero{padding-top:150px}
.sx-head h1{font-family:var(--display);font-size:58px;font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0}
.sx-head p{font-family:var(--display);font-size:16px;line-height:1.5;color:#6E6A67;max-width:440px;margin:12px auto 0}
.sx-acc{display:flex;gap:12px;height:580px;margin-top:56px}
.sx-p{position:relative;flex:1 1 0;min-width:0;border-radius:28px;overflow:hidden;color:#fff;text-decoration:none;transition:flex-grow .7s var(--ease);isolation:isolate}
.sx-p.on{flex-grow:5.2}
.sx-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.sx-p.on img{transform:scale(1.04)}
.sx-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,11,10,.15) 0%,rgba(12,11,10,.25) 45%,rgba(12,11,10,.82) 100%);transition:background .5s}
.sx-p:not(.on) .sx-shade{background:rgba(12,11,10,.55)}
.sx-n{position:absolute;top:22px;left:22px;font-family:var(--display);font-size:14px;font-weight:600;width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;backdrop-filter:blur(6px);transition:background .3s}
.sx-p.on .sx-n{background:var(--btn-red);border-color:var(--btn-red)}
.sx-v{position:absolute;left:50%;bottom:30px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;transition:opacity .3s}
.sx-p.on .sx-v{opacity:0}
.sx-body{position:absolute;left:36px;right:36px;bottom:34px;display:flex;flex-direction:column;align-items:flex-start;opacity:0;transform:translateY(16px);transition:opacity .4s,transform .5s var(--ease);pointer-events:none}
.sx-p.on .sx-body{opacity:1;transform:none;transition-delay:.25s}
.sx-tags{display:flex;gap:6px;flex-wrap:wrap}
.sx-tags i{font-style:normal;font-family:var(--display);font-size:13.5px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 12px;backdrop-filter:blur(6px)}
.sx-t{font-family:var(--display);font-size:40px;font-weight:500;letter-spacing:-.03em;line-height:1.08;margin-top:16px}
.sx-x{font-family:var(--display);font-size:17px;line-height:1.45;color:#E8E4E0;margin-top:10px;max-width:440px}
.sx-go{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:#fff;color:#121212;font-weight:600;font-size:15px;border-radius:999px;padding:12px 20px;transition:background .25s,color .25s}
.sx-go svg{width:16px;height:16px}
.sx-p:hover .sx-go{background:var(--btn-red);color:#fff}
.sx-cmp-sec{padding-top:140px}
.sx-cmp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.sx-cmp-head h2{font-family:var(--display);font-size:46px;font-weight:500;letter-spacing:-.035em;line-height:1.08;margin:0;max-width:560px}
.sx-cmp-head p{font-family:var(--display);font-size:16px;color:#6E6A67;max-width:400px;margin:0}
.sx-cmp{margin-top:44px;border-top:1px solid #E4E4E4}
.sx-th,.sx-row{display:grid;grid-template-columns:1.25fr 1.2fr 1fr 1fr 44px;gap:24px;align-items:center}
.sx-th{padding:16px 0;border-bottom:1px solid #E4E4E4}
.sx-th span{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9A9692}
.sx-row{padding:18px 0;border-bottom:1px solid #E4E4E4;color:#121212;text-decoration:none;font-family:var(--display);font-size:16px;line-height:1.4;transition:background .25s,padding .35s var(--ease)}
.sx-row > span{color:#5A5653}
.sx-rn{display:flex;align-items:center;gap:16px}
.sx-rn img{width:64px;height:64px;border-radius:16px;object-fit:cover;flex:none}
.sx-rn b{font-weight:500;font-size:19px;letter-spacing:-.02em;color:#121212;transition:color .25s}
.sx-ar{width:40px;height:40px;border-radius:999px;border:1px solid #DDD;display:grid;place-items:center;color:#121212;transition:background .25s,color .25s,border-color .25s}
.sx-ar svg{width:16px;height:16px}
.sx-row:hover{background:#F7F7F7;padding-left:14px;padding-right:14px;border-radius:18px}
.sx-row:hover .sx-rn b{color:var(--btn-red)}
.sx-row:hover .sx-ar{background:var(--btn-red);border-color:var(--btn-red);color:#fff}
@media (max-width:1000px){.sx-acc{flex-direction:column;height:auto}.sx-p,.sx-p.on{flex:none;height:320px}.sx-p .sx-shade{background:linear-gradient(180deg,rgba(12,11,10,.1),rgba(12,11,10,.8))!important}.sx-v{display:none}.sx-body{opacity:1;transform:none;left:24px;right:24px;bottom:24px}.sx-t{font-size:30px}.sx-x{font-size:15.5px}.sx-n{background:var(--btn-red);border-color:var(--btn-red)}
.sx-th{display:none}.sx-row{grid-template-columns:1fr 40px;gap:8px 16px;padding:20px 0}.sx-row > span:not(.sx-rn):not(.sx-ar){grid-column:1;font-size:15px}.sx-row > span:nth-child(2)::before{content:"Ce qui compte : ";color:#9A9692}.sx-row > span:nth-child(3)::before{content:"Quand : ";color:#9A9692}.sx-row > span:nth-child(4)::before{content:"Vous recevez : ";color:#9A9692}.sx-ar{grid-column:2;grid-row:1}}
@media (max-width:640px){.sx-hero{padding-top:110px}.sx-head h1{font-size:40px}.sx-p,.sx-p.on{height:300px}.sx-cmp-head h2{font-size:32px}.sx-cmp-sec{padding-top:96px}}
@media (max-width:1000px){.sx-p,.sx-p.on{height:auto;min-height:300px;display:flex;align-items:flex-end}.sx-body{position:relative;left:auto;right:auto;bottom:auto;padding:84px 24px 24px}}
.sx-acc{height:540px}
@media (max-width:1000px){.sx-acc{height:auto}}
/* ---------- Conseils : tailles alignées sur les autres pages ---------- */
.bl-head h1{font-size:58px;padding-bottom:32px}
.bl-top{margin-top:32px;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.bl-feat{aspect-ratio:1/.92;border-radius:26px}
.bl-ov{left:28px;top:28px;right:96px;gap:14px}
.bl-ft{font-size:24px}
.bl-plus{top:28px;right:28px;width:48px;height:48px}
.bl-plus svg{width:18px;height:18px}
.bl-tag{font-size:14px;padding:6px 14px}
.bl-side{gap:20px}
.bl-img{aspect-ratio:4/3.4;border-radius:22px}
.bl-tag.on-img{left:18px;top:18px}
.bl-t{font-size:19px;margin-top:18px}
.bl-x{font-size:15px;margin-top:6px}
.bl-d{font-size:14px;margin-top:12px}
.bl-all{margin-top:28px}
.bl-band-wrap{padding-top:120px}
.bl-band{min-height:420px;border-radius:36px}
.bl-band-txt{padding:56px 64px 56px 40px}
.bl-band-txt h2{font-size:40px}
.bl-band-txt p{font-size:16px;margin:14px 0 26px}
.bl-list{padding-top:120px}
.bl-lh h2{font-size:46px}
.bl-f{font-size:15px;padding:9px 18px}
.bl-filters{padding:5px}
.bl-grid{gap:44px 20px;margin-top:32px}
.bl-card .bl-t{font-size:20px;margin-top:12px}
.bl-meta{margin-top:18px;font-size:14px}
@media (max-width:900px){.bl-head h1{font-size:44px}.bl-lh h2{font-size:36px}.bl-band-txt h2{font-size:32px}.bl-band-wrap,.bl-list{padding-top:90px}}
@media (max-width:640px){.bl-head h1{font-size:36px}.bl-feat{aspect-ratio:4/4.6}.bl-ft{font-size:21px}.bl-band-txt{padding:30px 22px 36px}.bl-band-txt h2{font-size:28px}}

/* ================= Accueil v2 (style Wix) ================= */
/* en-tête transparent sur la photo, tant qu'on n'a pas défilé */
body.home-dark:not(.menu-open) .site-head:not(.scrolled) .logo-dark{display:none}
body.home-dark:not(.menu-open) .site-head:not(.scrolled) .logo-light{display:block}
body.home-dark:not(.menu-open) .site-head:not(.scrolled) .nav > a,body.home-dark:not(.menu-open) .site-head:not(.scrolled) .nav .dd > button{color:#fff}
body.home-dark:not(.menu-open) .site-head:not(.scrolled) .nav > a:hover,body.home-dark:not(.menu-open) .site-head:not(.scrolled) .nav .dd > button:hover,body.home-dark:not(.menu-open) .site-head:not(.scrolled) .nav a[aria-current="page"]{background:rgba(255,255,255,.14)}
body.home-dark:not(.menu-open) .site-head:not(.scrolled) .burger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35)}
body.home-dark:not(.menu-open) .site-head:not(.scrolled) .burger span,body.home-dark:not(.menu-open) .site-head:not(.scrolled) .burger span::before,body.home-dark:not(.menu-open) .site-head:not(.scrolled) .burger span::after{background:#fff}
.hw-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;background:#0E0D0C url("img/home-hero.webp") 60% center/cover no-repeat;color:#fff;isolation:isolate}
.hw-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,7,6,.78) 0%,rgba(8,7,6,.5) 38%,rgba(8,7,6,0) 66%),linear-gradient(180deg,rgba(8,7,6,.5) 0%,rgba(8,7,6,0) 22%)}
.hw-in{width:100%;max-width:calc(1260px + 2*var(--gutter));margin:0 auto;padding:150px var(--gutter) 90px}
.hw-hero h1{font-family:var(--display);font-size:76px;font-weight:600;letter-spacing:-.005em;line-height:1.04;text-transform:uppercase;margin:0;color:#fff}
.hw-hero h1 span{display:block}
.hw-hero h1 .red,.hw-real h2 .red{color:var(--btn-red)}
.hw-hero p{font-family:var(--display);font-size:18px;line-height:1.75;letter-spacing:.02em;color:#E4E0DC;max-width:520px;margin:30px 0 0}
.hw-btns{display:flex;gap:20px;flex-wrap:wrap;margin-top:42px}
.btn.hw-b{min-width:210px;justify-content:center;padding:17px 28px;border-radius:14px;font-size:16px}
.btn.hw-ghost{background:rgba(0,0,0,.15);color:#fff;border-color:rgba(255,255,255,.4)}
.btn.hw-ghost:hover{background:#fff;color:#121212;border-color:#fff}
.hw-pts{display:flex;margin-top:64px}
.hw-pt{padding:4px 34px;border-left:1.5px solid rgba(255,255,255,.45)}
.hw-pt:first-child{padding-left:0;border-left:0}
.hw-pt b{display:block;font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:.02em}
.hw-pt span{display:block;font-size:14.5px;line-height:1.75;letter-spacing:.03em;color:#D6D1CD;margin-top:6px}
.hw-real{padding:130px 0 40px}
.hw-head{text-align:center;max-width:820px;margin:0 auto;padding:0 var(--gutter)}
.hw-kick{display:inline-block;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--btn-red);padding-bottom:14px;position:relative}
.hw-kick::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:52px;height:2.5px;border-radius:2px;background:var(--btn-red)}
.hw-real h2{font-family:var(--display);font-size:46px;font-weight:600;letter-spacing:.03em;line-height:1.12;text-transform:uppercase;margin:24px 0 0}
.hw-real h2 span{display:block}
.hw-head p{font-family:var(--display);font-size:16.5px;line-height:1.6;color:#5A5653;margin:22px 0 0}
.hw-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;padding:56px clamp(20px,4vw,76px) 0;max-width:1920px;margin:0 auto}
.hw-card{position:relative;display:block;aspect-ratio:276/312;border-radius:14px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 14px 30px -22px rgba(0,0,0,.5)}
.hw-card:nth-child(even){margin-top:116px}
.hw-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.hw-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,9,8,0) 40%,rgba(10,9,8,.72) 100%);transition:background .4s}
.hw-txt{position:absolute;left:18px;right:18px;bottom:20px;display:flex;flex-direction:column;gap:8px}
.hw-txt b{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.02em}
.hw-txt span{font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.88)}
.hw-card:hover img{transform:scale(1.06)}
.hw-card:hover .hw-shade{background:linear-gradient(180deg,rgba(10,9,8,.05) 25%,rgba(10,9,8,.8) 100%)}
.hw-card:hover .hw-txt b{color:#fff;text-decoration:underline;text-decoration-color:var(--btn-red);text-decoration-thickness:2px;text-underline-offset:5px}
.hw-more{display:flex;justify-content:center;margin-top:56px}
@media (max-width:1300px){.hw-row{gap:20px}.hw-txt span{font-size:12.5px}}
@media (max-width:1100px){.hw-hero h1{font-size:60px}.hw-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}.hw-row::-webkit-scrollbar{display:none}.hw-card{flex:0 0 260px;scroll-snap-align:start}.hw-card:nth-child(even){margin-top:80px}}
@media (max-width:900px){.hw-hero::before{background:linear-gradient(180deg,rgba(8,7,6,.7),rgba(8,7,6,.55))}.hw-real h2{font-size:34px}.hw-real{padding-top:96px}}
@media (max-width:640px){.hw-in{padding:130px 22px 64px}.hw-hero h1{font-size:40px}.hw-hero p{font-size:16px;line-height:1.65}.btn.hw-b{min-width:0;flex:1}.hw-pts{flex-direction:column;gap:18px;margin-top:40px}.hw-pt{padding:0 0 0 16px;border-left:1.5px solid rgba(255,255,255,.45)}.hw-pt:first-child{padding-left:16px;border-left:1.5px solid rgba(255,255,255,.45)}.hw-pt span br{display:none}.hw-real h2{font-size:28px}.hw-card{flex-basis:230px}.hw-card:nth-child(even){margin-top:60px}}
@media (max-width:1100px){.hw-row{padding-left:var(--gutter);padding-right:var(--gutter);scroll-padding-inline:var(--gutter)}.hw-row::after{content:"";flex:0 0 1px}}
@media (max-width:640px){.hw-btns{flex-direction:column;gap:12px}.btn.hw-b{width:100%;padding:15px 20px}}

/* ================= Pages : à propos, méthode, suivi, légal ================= */
.pg-in{max-width:calc(1260px + 2*var(--gutter))}
.pg-top{padding-top:150px}
.pg-head h1{font-family:var(--display);font-size:58px;font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0}
.pg-head p{font-family:var(--display);font-size:16px;line-height:1.5;color:#6E6A67;max-width:480px;margin:12px auto 0}
.pg-head .pg-kick{margin-bottom:18px}
.pg-kick{display:inline-block;font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--btn-red);padding-bottom:10px;position:relative}
.pg-kick::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:2px;background:var(--btn-red)}
.center-head .pg-kick::after{left:50%;transform:translateX(-50%)}
.pg-kick.light{color:#fff}.pg-kick.light::after{background:var(--btn-red)}
.pg-h2{font-family:var(--display);font-size:44px;font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:16px 0 0}
.pg-h2 .red{color:var(--btn-red)}
.pg-sec{padding-top:120px}
.pg-cta{padding-top:120px}
.pg-wide{margin-top:48px;border-radius:32px;overflow:hidden;aspect-ratio:1260/520}
.pg-wide img{width:100%;height:100%;object-fit:cover;display:block}
.pg-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;align-items:start}
.pg-text p{font-family:var(--display);font-size:17px;line-height:1.65;color:#5A5653;margin:0 0 18px}
.pg-sh{margin-bottom:40px}
.pg-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pg-card,.pg-step{background:#F5F5F5;border:1.5px solid transparent;border-radius:28px;padding:30px 30px 34px;transition:border-color .3s,background .3s,transform .4s var(--ease)}
.pg-card:hover,.pg-step:hover{background:#fff;border-color:var(--btn-red);transform:translateY(-4px)}
.pg-n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:999px;background:#fff;color:var(--btn-red);font-family:var(--display);font-weight:600;font-size:15px}
.pg-card h3,.pg-step h3{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:40px 0 10px}
.pg-card p,.pg-step p{font-size:15.5px;line-height:1.55;color:#6E6A67;margin:0}
.pg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.pg-isib{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;background:#1A1816;color:#fff;border-radius:36px;padding:64px}
.pg-isib h2{font-family:var(--display);font-size:44px;font-weight:500;letter-spacing:-.035em;margin:16px 0 0}
.pg-isib-l p{font-family:var(--display);font-size:17px;line-height:1.6;color:#D9D4D0;margin:18px 0 0;max-width:460px}
.pg-isib-r{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:30px}
.pg-big{display:block;font-family:var(--display);font-size:52px;font-weight:500;letter-spacing:-.03em;color:var(--btn-red)}
.pg-isib-r dl{margin:18px 0 0;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:15px}
.pg-isib-r dt{color:#9A9692}.pg-isib-r dd{margin:0;color:#fff}
.pg-quote{text-align:center;max-width:860px;margin:0 auto;padding:64px 48px;background:#F5F5F5;border-radius:36px}
.pg-quote p{font-family:var(--display);font-size:38px;font-weight:500;letter-spacing:-.03em;line-height:1.2;margin:0}
.pg-quote p span{color:var(--btn-red)}
.pg-quote > span{display:block;font-size:16px;line-height:1.6;color:#6E6A67;margin:20px auto 0;max-width:580px}
.pg-top .rel-grid{margin-top:56px}
.pg-soon{max-width:860px;margin:0 auto;text-align:center;border:1.5px dashed #D9D5D1;border-radius:32px;padding:56px 48px}
.pg-soon p{font-family:var(--display);font-size:16.5px;line-height:1.6;color:#6E6A67;margin:18px auto 0;max-width:640px}
.pg-badge{display:inline-block;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--btn-red);background:#FDECEC;border-radius:999px;padding:7px 14px}
.pg-mockwrap{margin:44px 0 10px;background:#F5F5F5;border-radius:28px;padding:36px}
.pg-mockwrap .hm-mock{height:400px}
.sd-col h3{font-family:var(--display);font-size:21px;font-weight:500;letter-spacing:-.02em;line-height:1.25;margin:28px 0 6px}
.lg-tabs{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;background:#F2F2F2;border-radius:999px;padding:5px;width:max-content;max-width:100%;margin:36px auto 0}
.lg-tabs a{font-family:var(--display);font-size:15px;font-weight:500;color:#121212;text-decoration:none;border-radius:999px;padding:9px 18px;transition:background .25s,color .25s}
.lg-tabs a:hover{color:var(--btn-red)}
.lg-tabs a[aria-current="page"]{background:#fff}
.lg-body{max-width:780px;margin:56px auto 0;font-family:var(--display);font-size:16.5px;line-height:1.7;color:#4A4744}
.lg-body h2{font-size:28px;font-weight:500;letter-spacing:-.025em;line-height:1.2;color:#121212;margin:48px 0 14px}
.lg-body h2:first-child{margin-top:0}
.lg-body h3{font-size:20px;font-weight:500;color:#121212;margin:28px 0 8px}
.lg-body p,.lg-body ul{margin:0 0 14px}
.lg-body a{color:var(--btn-red)}
.lg-body strong{color:#121212;font-weight:600}
@media (max-width:1000px){.pg-split,.pg-isib{grid-template-columns:minmax(0,1fr);gap:32px}.pg-grid3,.pg-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.pg-top{padding-top:120px}.pg-head h1{font-size:42px}.pg-h2,.pg-isib h2{font-size:34px}.pg-sec,.pg-cta{padding-top:90px}.pg-quote p{font-size:28px}.pg-isib{padding:40px 28px}}
@media (max-width:640px){.pg-head h1{font-size:36px}.pg-grid3,.pg-steps{grid-template-columns:minmax(0,1fr)}.pg-wide{aspect-ratio:4/3;border-radius:24px}.pg-quote{padding:40px 24px}.pg-soon{padding:40px 22px}.lg-tabs{border-radius:20px}.lg-tabs a{padding:8px 12px;font-size:14px}.pg-mockwrap{padding:20px}.pg-mockwrap .hm-mock{height:auto}}

/* ================= Accueil : « Plus qu'un service, une garantie » ================= */
.hw-gar{padding-top:130px}
.hw-gin{max-width:calc(1100px + 2*var(--gutter));display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:28px;align-items:start}
.hw-kick.left{padding-bottom:12px}
.hw-kick.left::after{left:0;transform:none;width:36px}
.hw-kick.sm{font-size:13.5px}
.hw-h2{font-family:var(--display);font-size:40px;font-weight:600;letter-spacing:.01em;line-height:1.15;text-transform:uppercase;margin:20px 0 0}
.hw-h2 .red,.hw-h2b .red{color:var(--btn-red)}
.hw-stats{margin-top:28px;border-radius:16px;padding:10px 40px;color:#fff;background:linear-gradient(135deg,#EE2A2F,#C7171C);position:relative;overflow:hidden}
.hw-stats::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 38px),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 38px);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000);pointer-events:none}
.hw-stat{position:relative;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.hw-stat:last-child{border-bottom:0}
.hw-stat b{display:block;font-family:var(--display);font-size:36px;font-weight:600;letter-spacing:.02em;line-height:1}
.hw-stat b span{display:inline;font-size:inherit;margin:0;color:inherit;letter-spacing:inherit}
.hw-stat > span{display:block;font-size:15.5px;letter-spacing:.02em;margin-top:8px;color:rgba(255,255,255,.92)}
.hw-bat{margin:22px auto 0;width:78%;border-radius:14px;overflow:hidden}
.hw-bat img{width:100%;display:block}
.hw-gcol2{padding-top:120px}
.hw-gcol3{display:flex;flex-direction:column;gap:28px}
.hw-gc{display:flex;flex-direction:column;background:#F7F7F7;border:1.5px solid transparent;border-radius:18px;overflow:hidden;color:#121212;text-decoration:none;transition:border-color .3s,background .3s,transform .4s var(--ease)}
.hw-gimg{display:block;aspect-ratio:278/150;overflow:hidden}
.hw-gimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.hw-gbody{display:flex;flex-direction:column;padding:28px 22px 30px}
.hw-gbody b{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-top:20px}
.hw-gx{font-size:14px;line-height:1.55;color:#6E6A67;margin-top:12px}
.hw-gbtn{align-self:center;margin-top:28px;border:2px solid var(--btn-red);border-radius:10px;padding:10px 24px;font-family:var(--display);font-size:14.5px;font-weight:600;color:#121212;transition:background .25s,color .25s}
.hw-gc:hover{border-color:var(--btn-red);background:#fff;transform:translateY(-4px)}
.hw-gc:hover img{transform:scale(1.05)}
.hw-gc:hover .hw-gbtn{background:var(--btn-red);color:#fff}
.hw-rep{padding-top:110px}
.hw-gin2{max-width:calc(1100px + 2*var(--gutter));display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.hw-h2b{font-family:var(--display);font-size:40px;font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0}
.hw-rep-txt p{font-family:var(--display);font-size:16.5px;line-height:1.6;color:#5A5653;margin:20px 0 30px;max-width:480px}
.hw-rep-txt .btn.hw-b{min-width:0}
.hw-rep-mk .hm-mock{height:400px}
@media (max-width:1000px){.hw-gin{grid-template-columns:1fr 1fr}.hw-gcol1{grid-column:1/-1}.hw-bat{display:none}.hw-gcol2{padding-top:0}.hw-gin2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.hw-gin{grid-template-columns:minmax(0,1fr)}.hw-h2{font-size:28px}.hw-h2b{font-size:28px}.hw-stats{padding:6px 24px}.hw-stat b{font-size:30px}.hw-gar,.hw-rep{padding-top:90px}.hw-rep-mk .hm-mock{height:auto;padding-bottom:150px}}
/* ---------- Accueil : section garantie, à l'identique de la maquette Wix ---------- */
.hw-gar{padding-top:110px}
.hw-g{max-width:1100px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:410px 309px 309px;justify-content:center;gap:0 36px;align-items:start}
.hw-gtitle{padding-left:68px}
.hw-gk{display:inline-block;font-family:var(--display);font-size:13.5px;font-weight:600;text-transform:uppercase;color:var(--btn-red);padding-bottom:12px;position:relative;letter-spacing:.01em}
.hw-gk::after{content:"";position:absolute;left:0;bottom:0;width:24px;height:2.5px;background:var(--btn-red)}
.hw-gk.big{font-size:15.5px}
.hw-gk.big::after{width:38px}
.hw-gar .hw-h2{font-size:38px;font-weight:600;letter-spacing:.005em;line-height:1.3;margin:16px 0 0}
.hw-gar .hw-h2 .red{color:var(--btn-red)}
.hw-stats{margin-top:30px;border-radius:12px;padding:12px 52px 12px 106px;background:#E3302C url("img/g-stats-bg.webp") center/cover no-repeat;box-shadow:0 18px 40px -26px rgba(200,20,20,.6)}
.hw-stats::after{content:none}
.hw-stat{padding:24px 0 22px;border-bottom:1px solid rgba(255,255,255,.35)}
.hw-stat b{font-size:35px;font-weight:600;letter-spacing:.06em}
.hw-stat > span{font-size:16px;letter-spacing:.04em;margin-top:10px}
.hw-bat{margin:22px auto 0;width:305px;border-radius:12px}
.hw-gcol2{padding-top:120px}
.hw-gcol3{display:flex;flex-direction:column;gap:38px;padding-top:0}
.hw-gc{display:flex;flex-direction:column;background:#F8F8F8;border:0;border-radius:16px;overflow:hidden;color:#121212;transform:none}
.hw-gc:hover{transform:none;background:#F8F8F8}
.hw-gimg{aspect-ratio:309/158;border-radius:16px 16px 0 0}
.hw-gbody{padding:40px 20px 34px}
.hw-gbody b{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin-top:22px}
.hw-gx{font-family:var(--display);font-size:13.8px;line-height:1.38;color:#6E6A67;margin-top:12px}
.hw-gbtn{align-self:center;margin-top:40px;border:2px solid var(--btn-red);border-radius:8px;padding:11px 26px;font-family:var(--display);font-size:14.5px;font-weight:600;color:#121212;text-decoration:none;transition:background .25s,color .25s}
.hw-gbtn:hover{background:var(--btn-red);color:#fff}
.hw-gc:hover img{transform:scale(1.04)}
@media (max-width:1180px){.hw-g{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:0 24px}.hw-gtitle{padding-left:20px}.hw-stats{padding:12px 32px 12px 48px}.hw-bat{width:75%}}
@media (max-width:1000px){.hw-g{grid-template-columns:1fr 1fr;gap:28px}.hw-gcol1{grid-column:1/-1}.hw-gtitle{padding-left:0}.hw-gcol2{padding-top:0}.hw-bat{display:none}}
@media (max-width:640px){.hw-g{grid-template-columns:minmax(0,1fr)}.hw-gar .hw-h2{font-size:28px}.hw-stats{padding:8px 26px}.hw-stat b{font-size:28px}.hw-gcol3{gap:28px}}
.hw-gar .hw-h2{white-space:nowrap;font-size:36px}
.hw-gcol1{position:relative}
@media (max-width:640px){.hw-gar .hw-h2{white-space:normal;font-size:28px}}
/* ---------- Garantie v2 : rouge vif, élément ISIB, rapport intégré ---------- */
.hw-g{grid-template-areas:"a b c" "r r c";row-gap:0}
.hw-gcol1{grid-area:a}.hw-gcol2{grid-area:b}.hw-gcol3{grid-area:c;grid-row:1/3}
.hw-grep{grid-area:r;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:center;padding:70px 0 20px}
.hw-grep .hw-h2b{font-size:36px}
.hw-grep .hw-rep-txt p{font-size:16px}
.hw-grep .hm-mock{height:330px}
.hw-grep .mk-screen{font-size:11.5px}
.hw-gk,.hw-gar .hw-h2 .red,.hw-h2b .red{color:var(--btn-red)}
.hw-gk::after{background:var(--btn-red)}
.hw-stats{background:linear-gradient(rgba(226,28,33,.55),rgba(226,28,33,.55)),url("img/g-stats-bg.webp") center/cover no-repeat,var(--btn-red);box-shadow:0 22px 44px -26px rgba(226,28,33,.75)}
.hw-gbtn{border:0;background:var(--btn-red);color:#fff;border-radius:999px;padding:12px 26px;display:inline-flex;align-items:center;gap:8px}
.hw-gbtn:hover{background:var(--btn-red-hover);color:#fff}
.hw-isib{display:flex;align-items:center;gap:16px;margin-top:22px;background:#121212;color:#fff;border-radius:14px;padding:20px 22px;transition:transform .4s var(--ease)}
.hw-isib:hover{transform:translateY(-3px)}
.hw-isib-ic{flex:none;width:48px;height:48px;border-radius:999px;background:var(--btn-red);display:grid;place-items:center}
.hw-isib-ic svg{width:24px;height:24px}
.hw-isib b{display:block;font-family:var(--display);font-size:17px;font-weight:600}
.hw-isib small{display:block;font-size:13.5px;color:#BDB8B4;margin-top:3px;line-height:1.4}
@media (max-width:1000px){.hw-g{grid-template-areas:"a a" "b c" "r r"}.hw-gcol3{grid-row:auto}.hw-grep{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.hw-g{grid-template-areas:"a" "b" "c" "r"}.hw-grep .hw-h2b{font-size:28px}.hw-grep .hm-mock{height:auto;padding-bottom:150px}}
.hw-grep{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:36px}
.hw-grep .hm-mock{height:340px}
.hw-grep .mk-tab{width:96%;transform:rotate(-2deg)}
.hw-grep .mk-paper{width:44%;right:-10px;bottom:-6px}
.hw-grep .mk-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hw-grep .mk-row{grid-template-columns:minmax(0,1fr) auto auto}
.hw-grep .mk-h span{white-space:nowrap}
.hw-grep .btn.hw-b{border-radius:999px}
@media (max-width:640px){.hw-grep .hm-mock{height:auto;padding-bottom:150px}.hw-grep .mk-paper{width:60%;right:0}}
@media (max-width:640px){.hw-grep .mk-h{flex-wrap:wrap;gap:4px}.hw-grep .mk-h span{white-space:normal}.hw-grep .hm-mock{overflow:hidden;padding-left:6px;padding-right:6px}}
.hw-grep .mk-paper{width:38%}
@media (max-width:1000px){.hw-grep{grid-template-columns:minmax(0,1fr)}}
/* ---------- Garantie v3 : identique à la maquette ---------- */
.hw-g{grid-template-columns:376px 283px 283px;gap:0 34px}
.hw-gtitle{padding-left:62px}
.hw-stats{background:#E3302C url("img/g-stats-bg.webp") center/cover no-repeat;box-shadow:none;border-radius:8px;padding:10px 46px 10px 96px}
.hw-stat{padding:20px 0 18px;border-bottom:1px solid rgba(255,255,255,.3)}
.hw-stat b{font-size:32px}
.hw-stat > span{font-size:15px;margin-top:8px}
.hw-bat{display:block;width:280px;margin:22px auto 0;border-radius:10px}
.hw-gc{border-radius:14px}
.hw-gbody{padding:36px 18px 30px}
.hw-gbtn{background:transparent;color:#121212;border:2px solid var(--btn-red);border-radius:8px;padding:9px 24px;font-size:13.5px}
.hw-gbtn:hover{background:var(--btn-red);color:#fff}
.hw-grep{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:30px;padding:64px 0 20px;align-items:end}
.hw-grep .hw-h2b{font-size:36px;letter-spacing:-.03em;line-height:1.3}
.hw-grep .hw-rep-txt p{font-size:14px;line-height:1.6;letter-spacing:-.02em;margin:14px 0 46px;max-width:300px}
.hw-grep .btn.hw-b{background:#D0362E;border-color:#D0362E;border-radius:999px;padding:11px 30px;font-weight:400;font-size:15px}
.hw-grep .btn.hw-b:hover{background:var(--btn-red-hover);border-color:var(--btn-red-hover)}
.hw-rep-mk{align-self:end;padding-bottom:6px}
.hw-rep-mk img{display:block;width:250px;max-width:100%;height:auto}
@media (max-width:1180px){.hw-g{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:0 24px}.hw-gtitle{padding-left:20px}}
@media (max-width:1000px){.hw-bat{display:none}.hw-grep{grid-template-columns:minmax(0,1fr)}.hw-rep-mk{justify-self:center}}
@media (max-width:640px){.hw-grep .hw-h2b{font-size:28px}.hw-grep .hw-rep-txt p{max-width:none;margin-bottom:28px}}
.hw-grep{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"t t" "p i" "b i";gap:0 30px;align-items:start}
.hw-grep .hw-rep-txt{display:contents}
.hw-grep .hw-h2b{grid-area:t;max-width:520px}
.hw-grep .hw-rep-txt p{grid-area:p;margin:16px 0 0}
.hw-grep .btn.hw-b{grid-area:b;justify-self:start;margin-top:46px}
.hw-rep-mk{grid-area:i;align-self:center;padding-top:20px}
@media (max-width:1000px){.hw-grep{grid-template-columns:minmax(0,1fr);grid-template-areas:"t" "p" "b" "i"}.hw-rep-mk{justify-self:center;padding-top:30px}.hw-grep .btn.hw-b{margin-top:28px}}
@media (max-width:1000px){.hw-g{grid-template-columns:1fr 1fr;gap:28px;grid-template-areas:"a a" "b c" "r r"}.hw-gtitle{padding-left:0}.hw-gcol2{padding-top:0}}
@media (max-width:640px){.hw-g{grid-template-columns:minmax(0,1fr);grid-template-areas:"a" "b" "c" "r"}.hw-stats{padding:8px 26px}}
.hw-stats{background:#FF0A0A url("img/g-stats-bg.webp") right center/cover no-repeat}
/* ---------- Garantie : polices et couleurs de la maquette Wix ---------- */
.hw-gar{--vif:#F5121A;--avenir:"Avenir Next","Avenir","Nunito Sans",var(--body)}
.hw-gar .hw-gk{color:var(--vif);font-family:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;font-weight:700;letter-spacing:0}
.hw-gar .hw-gk::after{background:var(--vif)}
.hw-gar .hw-h2{font-family:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;font-weight:700;letter-spacing:.01em;color:#000}
.hw-gar .hw-h2 .red,.hw-gar .hw-h2b .red{color:var(--vif)}
.hw-stat b{font-family:var(--avenir);font-weight:600;letter-spacing:.07em}
.hw-stat > span{font-family:var(--avenir);font-weight:400;letter-spacing:.05em;color:#fff}
.hw-gbody b{font-family:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;font-weight:600;color:#000;letter-spacing:-.015em}
.hw-gx{font-family:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;color:#4A4A4A;letter-spacing:-.01em}
.hw-gbtn{font-family:var(--avenir);font-weight:600;border-color:var(--vif);color:#000}
.hw-gbtn:hover{background:var(--vif);border-color:var(--vif)}
.hw-gar .hw-h2b{font-family:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;font-weight:500;letter-spacing:-.035em;color:#000}
.hw-grep .hw-rep-txt p{font-family:"Helvetica Neue",Helvetica,"Inter",Arial,sans-serif;color:#4A4A4A}
.hw-grep .btn.hw-b{background:var(--vif);border-color:var(--vif);font-family:var(--avenir);font-weight:600;color:#fff}
.hw-grep .btn.hw-b:hover{background:#D00A10;border-color:#D00A10}
.hw-gc{background:#F6F6F6}
/* ---------- Garantie : polices relevées sur la maquette ---------- */
.hw-gar{--sf:-apple-system,"SF Pro Display","Inter",system-ui,sans-serif;--pop:"Poppins",sans-serif;--avn:"Avenir Next","Avenir","Nunito Sans",sans-serif}
.hw-gar .hw-gk{font-family:var(--sf);font-weight:600;font-size:14px;letter-spacing:-.01em}
.hw-gar .hw-h2{font-family:var(--sf);font-weight:700;letter-spacing:.005em}
.hw-stat b{font-family:var(--pop);font-weight:600;letter-spacing:.05em}
.hw-stat > span{font-family:var(--pop);font-weight:400;letter-spacing:.03em;font-size:15px}
.hw-gbody b{font-family:var(--sf);font-weight:600;letter-spacing:-.025em;font-size:18.5px}
.hw-gcol3 .hw-gc:last-child .hw-gbody b{font-family:var(--avn);font-weight:600;letter-spacing:.005em}
.hw-gx{font-family:var(--sf);font-weight:400;color:#6B6B6B;letter-spacing:-.015em;font-size:14px}
.hw-gbtn{font-family:var(--avn);font-weight:500}
.hw-gar .hw-h2b{font-family:var(--sf);font-weight:400;letter-spacing:-.03em}
.hw-grep .hw-rep-txt p{font-family:var(--sf);font-weight:400;color:#6B6B6B;letter-spacing:-.04em;line-height:1.75}
.hw-grep .btn.hw-b{font-family:var(--avn);font-weight:400}
/* ---------- Suivi : section rapport + CTA final ---------- */
.sv-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.sv-txt p{font-family:var(--display);font-size:17px;line-height:1.6;color:#5A5653;margin:18px 0 30px;max-width:470px}
.pg-badge.soft{text-transform:none;letter-spacing:0;font-size:14px;font-weight:500}
.sv-vis{position:relative;border-radius:32px;overflow:visible;aspect-ratio:1/1}
.sv-vis img{width:100%;height:100%;object-fit:cover;border-radius:32px;display:block}
.sv-check{position:absolute;left:-36px;bottom:36px;background:#fff;border-radius:22px;padding:22px 26px;box-shadow:0 24px 50px -24px rgba(0,0,0,.35);min-width:240px}
.sv-check b{display:block;font-family:var(--display);font-size:16px;font-weight:600;margin-bottom:10px}
.sv-check ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sv-check li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#3A3836}
.sv-check li i{flex:none;width:20px;height:20px;border-radius:999px;background:var(--btn-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.sv-tag{position:absolute;top:28px;right:28px;background:#121212;color:#fff;border-radius:16px;padding:12px 16px;text-align:center}
.sv-tag span{display:block;font-size:12px;color:#BDB8B4}
.sv-tag b{display:block;font-family:var(--display);font-size:20px;font-weight:600;color:#fff}
.sv-cta{text-align:center;background:#F5F5F5;border-radius:36px;padding:72px 40px}
.sv-cta h2{font-family:var(--display);font-size:42px;font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0}
.sv-cta p{font-family:var(--display);font-size:17px;color:#6E6A67;margin:16px auto 30px;max-width:520px;line-height:1.55}
.sv-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.btn.sv-tel{background:#fff;color:#121212;border-color:#fff}
.btn.sv-tel:hover{border-color:var(--btn-red);color:var(--btn-red);background:#fff}
@media (max-width:1000px){.sv-feat{grid-template-columns:minmax(0,1fr);gap:40px}.sv-check{left:16px;bottom:16px}}
@media (max-width:640px){.sv-cta{padding:48px 22px}.sv-cta h2{font-size:30px}.sv-vis{aspect-ratio:4/5}.sv-check{min-width:0;padding:16px 18px}}
/* ---------- Conseils : sections plus espacées ---------- */
.bl-head + .bl-band-wrap{padding-top:170px}
.bl-band-wrap + .bl-list{padding-top:170px}
@media (max-width:900px){.bl-head + .bl-band-wrap,.bl-band-wrap + .bl-list{padding-top:110px}}
.sv-vis{aspect-ratio:5/4.6}
.hm-report .sv-vis{aspect-ratio:auto;height:420px}
.hm-report .sv-check{left:-28px;bottom:28px}
.sd-body + .pg-sec{padding-top:100px}
@media (max-width:1100px){.hm-report .sv-check{left:16px;bottom:16px}}
@media (max-width:640px){.hm-report .sv-vis{height:380px}}
/* ---------- Suivi : titre section 2 plus petit ---------- */
.hm-report .pg-h2{font-size:34px;line-height:1.15}
@media (max-width:640px){.hm-report .pg-h2{font-size:28px}}
/* ---------- Pages document (style fiche projet Archipro) ---------- */
.dt-w{max-width:calc(790px + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.dt-top{padding-top:140px}
.dt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.dt-head h1{font-family:var(--display);font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1.12;margin:0;max-width:470px}
.dt-head p{font-family:var(--display);font-size:14.5px;line-height:1.5;letter-spacing:-.01em;color:#6E6A67;margin:12px 0 0;max-width:380px}
.dt-meta{list-style:none;margin:0;padding:0;text-align:right;display:grid;gap:6px;flex:none}
.dt-meta li{font-family:var(--display);font-size:14.5px;letter-spacing:-.01em;color:#8E8A86}
.dt-img{border-radius:24px;overflow:hidden;aspect-ratio:790/410}
.dt-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.dt-img:hover img{transform:scale(1.03)}
.dt-top .dt-img{margin-top:36px}
.dt-sec{padding-top:110px}
.dt-txt{max-width:calc(560px + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter) 60px}
.dt-txt h2{font-family:var(--display);font-size:40px;font-weight:500;letter-spacing:-.04em;line-height:1.1;margin:0 0 20px}
.dt-txt p{font-family:var(--display);font-size:14.5px;line-height:1.5;letter-spacing:-.01em;color:#6E6A67;margin:0 0 14px}
.dt-txt p b{color:#121212;font-weight:500}
.dt-txt a{color:var(--btn-red)}
.dt-sec > .dt-w + .dt-txt{padding-top:70px}
.dt-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dt-two .dt-img{aspect-ratio:386/400}
.dt-rel{margin-top:110px;border-top:1px solid #E6E3E0}
@media (max-width:700px){.dt-head{flex-direction:column;align-items:flex-start}.dt-meta{text-align:left;display:flex;flex-wrap:wrap;gap:6px 14px}.dt-head h1{font-size:34px}.dt-txt h2{font-size:30px}.dt-two{grid-template-columns:1fr}.dt-top{padding-top:120px}.dt-sec{padding-top:70px}}
/* titre section 2 suivi : plus petit et plus léger */
.hm-report .pg-h2{font-size:28px;font-weight:400;letter-spacing:-.02em;line-height:1.25}
.hm-report .sv-vis img{object-position:center 45%}
/* pages documents : plus larges + trait limité au contenu */
.dt-w{max-width:calc(1060px + 2*var(--gutter))}
.dt-txt{max-width:calc(720px + 2*var(--gutter))}
.dt-head h1{font-size:52px;max-width:600px}
.dt-head p,.dt-meta li{font-size:16px}
.dt-txt h2{font-size:46px}
.dt-txt p{font-size:16.5px;line-height:1.6}
.dt-img{aspect-ratio:1060/540;border-radius:30px}
.dt-two{gap:20px}.dt-two .dt-img{aspect-ratio:520/520}
.dt-rel{border-top:0;margin-top:110px;padding-top:0}
.dt-line{max-width:1260px;margin:0 auto 110px;height:1px;background:#E6E3E0}
@media (max-width:1300px){.dt-line{margin-left:var(--gutter);margin-right:var(--gutter)}}
@media (max-width:700px){.dt-head h1{font-size:36px}.dt-txt h2{font-size:32px}.dt-img{aspect-ratio:4/3;border-radius:22px}.dt-line{margin-bottom:70px}}
.dt-two{max-width:calc(820px + 2*var(--gutter))}.dt-two .dt-img{aspect-ratio:400/300}
.dt-w:not(.dt-two){max-width:calc(820px + 2*var(--gutter))}.dt-img.big{aspect-ratio:820/380;border-radius:28px}.dt-head h1{max-width:520px}

/* ================= Audit UI/UX Pro Max : accessibilité ================= */
/* 1. Débordement horizontal sur la page contact (mobile) */
@media (max-width:900px){.zones-grid{grid-template-columns:minmax(0,1fr)!important}.zone-list{grid-template-columns:minmax(0,1fr)}.zone-item{min-width:0;max-width:100%}.zone-item .zd span{white-space:normal}}
/* 2. Contraste des textes gris (au moins 4,5:1) */
.wk-meta li,.dt-meta li,.ft-cat,.ft-nav a span,.sx-th span,.svc-more > span,.fq-tg,.bl-d,.foot-col h3{color:#6B6764}
.article-head .eyebrow,.eyebrow{color:#C8161B}
/* 3. Petits textes rouges : rouge un peu plus foncé pour la lisibilité (boutons inchangés) */
.pg-kick,.hw-kick,.pg-badge,.hm-kick,.hm-feat .hm-k,.fq-gk,.sx-tags + .sx-t a{color:#C8161B}
.pg-kick::after,.hw-kick::after{background:#C8161B}
.ans a,.prose a,.dt-txt a,.lg-body a,.sd-col a{color:#C8161B}
/* 4. Bouton gris trop pâle (espace client) */
.page-hero ~ .sec .prose .btn:not(.red):not(.ghost){background:#121212;border-color:#121212;color:#fff}
/* 5. Textes trop petits (moins de 12 px) */
.tag,.toc b,.prose th{font-size:12.5px}
/* 6. Zones cliquables d'au moins 44 px sur téléphone */
@media (max-width:900px){
 .foot-social a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 .foot-social{gap:4px}
 .slider .dots button::after{content:"";position:absolute;inset:-10px -2px}
 .fq-chip,.fq-tab,.bl-f,.lg-tabs a,.zone-item{min-height:44px}
 .fq-search input{height:44px}
 .ft-back,.bl-tel,.ft-tel{min-height:44px;display:inline-flex;align-items:center}
 .foot-legal a{display:inline-flex;align-items:center;min-height:44px}
}
.article-head .eyebrow,.eyebrow{color:#5E5A57}
.prose a.btn,.prose a.btn:hover{color:#fff}
.prose a.btn.ghost{color:var(--ink)}
.visual .tag{font-size:12.5px}
@media (max-width:900px){.faq-box{padding:56px 22px}.faq-box .in{grid-template-columns:minmax(0,1fr)!important}.faq-card,.faq-card details,.faq-card summary{min-width:0;max-width:100%}.fq-tab{min-width:44px}}
.cta .eyebrow{color:rgba(255,255,255,.82)}
.cta .contact-line a{display:inline-block;padding:12px 0}
.crumbs a{display:inline-block;padding:12px 0}
.fq-q .ans a{color:#C8161B}
/* ================= Secteurs v3 : cartes (style Services) ================= */
.sc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.sc-card{display:flex;flex-direction:column;background:#F5F5F5;border:1.5px solid transparent;border-radius:32px;padding:10px;color:#121212;text-decoration:none;transition:border-color .3s,background .3s,transform .4s var(--ease)}
.sc-img{position:relative;display:block;aspect-ratio:4/3;border-radius:24px;overflow:hidden}
.sc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.sc-n{position:absolute;top:14px;left:14px;width:40px;height:40px;border-radius:999px;background:#fff;color:#C8161B;display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:14px;transition:background .3s,color .3s}
.sc-body{display:flex;flex-direction:column;flex:1;padding:22px 20px 20px}
.sc-tags{display:flex;flex-wrap:wrap;gap:6px}
.sc-tags i{font-style:normal;font-family:var(--display);font-size:13px;color:#5E5A57;background:#fff;border-radius:999px;padding:5px 11px}
.sc-t{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin-top:18px;transition:color .25s}
.sc-x{font-family:var(--display);font-size:15.5px;line-height:1.55;color:#5E5A57;margin-top:8px}
.sc-go{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:22px;font-family:var(--display);font-size:15px;font-weight:500}
.sc-ar{width:40px;height:40px;border-radius:999px;background:#fff;display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}
.sc-ar svg{width:16px;height:16px}
.sc-card:hover{background:#fff;border-color:var(--btn-red);transform:translateY(-4px)}
.sc-card:hover img{transform:scale(1.05)}
.sc-card:hover .sc-t{color:#C8161B}
.sc-card:hover .sc-n,.sc-card:hover .sc-ar{background:var(--btn-red);color:#fff}
.sc-card:hover .sc-tags i{background:#F5F5F5}
.sc-card:focus-visible{outline:2px solid var(--btn-red);outline-offset:3px}
@media (max-width:1000px){.sc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.sc-grid{grid-template-columns:minmax(0,1fr);margin-top:36px}.sc-card{border-radius:26px}.sc-t{font-size:22px}}
@media (prefers-reduced-motion:reduce){.sc-card,.sc-img img{transition:none}.sc-card:hover{transform:none}.sc-card:hover img{transform:none}}

/* ================= Conseils : bandeau portable (style Archipro) ================= */
.lp-wrap{padding:170px 12px 0}
.lp{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:40px;background:#3B3633;border-radius:36px;overflow:hidden;min-height:470px;color:#fff;position:relative;isolation:isolate}
.lp::before{content:"";position:absolute;left:-10%;bottom:-38%;width:75%;height:70%;border-radius:50%;background:radial-gradient(closest-side,rgba(226,28,33,.38),rgba(226,28,33,0));z-index:-1}
.lp-vis{align-self:end;padding:56px 0 0 56px}
.lp-mac{transform:perspective(1400px) rotateY(10deg) rotateX(4deg);transform-origin:left bottom;transition:transform .8s var(--ease)}
.lp:hover .lp-mac{transform:perspective(1400px) rotateY(4deg) rotateX(2deg)}
.lp-screen{background:#111;border-radius:18px 18px 4px 4px;padding:12px 12px 16px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.lp-screen img{display:block;width:100%;border-radius:6px;aspect-ratio:16/10;object-fit:cover;object-position:top}
.lp-base{height:16px;margin:0 -7%;background:linear-gradient(#D7D4D1,#A9A5A1);border-radius:0 0 18px 18px;position:relative}
.lp-base::before{content:"";position:absolute;left:50%;top:0;width:16%;height:6px;transform:translateX(-50%);background:#8E8A86;border-radius:0 0 8px 8px}
.lp-txt{padding:56px 64px 56px 0}
.lp-kick{display:inline-block;font-family:var(--display);font-size:14px;font-weight:500;color:#fff;background:rgba(255,255,255,.12);border-radius:999px;padding:7px 14px}
.lp-txt h2{font-family:var(--display);font-size:42px;font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:18px 0 0}
.lp-txt p{font-family:var(--display);font-size:16.5px;line-height:1.55;color:#D9D4D0;margin:16px 0 28px;max-width:440px}
.lp-pill{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 6px 6px 8px}
.lp-faq{font-family:var(--display);font-weight:600;font-size:15px;color:#121212;text-decoration:none;padding:10px 16px;border-radius:999px;transition:color .2s}
.lp-faq:hover{color:#C8161B}
@media (max-width:1000px){.lp{grid-template-columns:minmax(0,1fr);gap:0}.lp-txt{padding:44px 40px 0;order:-1}.lp-vis{padding:40px 40px 0}.lp-mac{transform:none}}
@media (max-width:640px){.lp-wrap{padding-top:110px}.lp{border-radius:28px}.lp-txt{padding:32px 22px 0}.lp-txt h2{font-size:30px}.lp-vis{padding:30px 22px 0}.lp-pill{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.lp-mac{transition:none}}

/* ================= Secteurs v4 : cartes enrichies ================= */
.sc-card{padding:8px;border-radius:30px}
.sc-img{aspect-ratio:4/3.1;border-radius:24px}
.sc-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.35) 0%,rgba(10,9,8,0) 35%,rgba(10,9,8,0) 55%,rgba(10,9,8,.6) 100%);pointer-events:none}
.sc-ic{position:absolute;top:14px;left:14px;width:44px;height:44px;border-radius:14px;background:#fff;color:#C8161B;display:grid;place-items:center;transition:background .3s,color .3s}
.sc-ic svg{width:22px;height:22px}
.sc-n{left:auto;right:14px;top:14px;width:auto;height:auto;padding:6px 12px;background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(6px);font-size:13px;font-weight:500}
.sc-card:hover .sc-n{background:rgba(255,255,255,.18);color:#fff}
.sc-img .sc-tags{position:absolute;left:14px;right:14px;bottom:14px}
.sc-img .sc-tags i{background:rgba(255,255,255,.92);color:#121212}
.sc-body{padding:22px 18px 18px}
.sc-t{margin-top:0}
.sc-svc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:18px;padding-top:16px;border-top:1px solid #E4E1DE}
.sc-svc b{width:100%;font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6B6764}
.sc-svc i{font-style:normal;font-family:var(--display);font-size:14.5px;color:#121212;display:inline-flex;align-items:center;gap:7px}
.sc-svc i::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--btn-red)}
.sc-go{padding-top:20px}
.sc-card:hover .sc-ic{background:var(--btn-red);color:#fff}
.sc-card:hover .sc-tags i{background:#fff}

/* ================= Secteurs : bandeau final rouge ================= */
.sr-band{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;border-radius:36px;padding:64px;color:#fff;background:#E21C21 url("img/g-stats-bg.webp") right center/cover no-repeat;position:relative;overflow:hidden}
.sr-band h2{font-family:var(--display);font-size:44px;font-weight:500;letter-spacing:-.035em;line-height:1.08;margin:0;max-width:520px}
.sr-band p{font-family:var(--display);font-size:17px;line-height:1.55;color:#fff;margin:16px 0 30px;max-width:460px}
.sr-btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.btn.sr-w{background:#fff;color:#121212;border-color:#fff}
.btn.sr-w:hover{background:#121212;color:#fff;border-color:#121212}
.sr-tel{color:#fff;font-family:var(--display);font-weight:600;text-decoration:none;border-bottom:1.5px solid rgba(255,255,255,.6);padding:10px 0 2px}
.sr-tel:hover{border-color:#fff}
.sr-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.sr-list li{font-family:var(--display);font-size:15px;font-weight:500;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:9px 16px;backdrop-filter:blur(6px)}
@media (max-width:1000px){.sr-band{grid-template-columns:minmax(0,1fr);padding:48px 36px}.sr-list{justify-content:flex-start}}
@media (max-width:640px){.sr-band{padding:36px 22px;border-radius:28px}.sr-band h2{font-size:30px}}
@media (max-width:640px){.lp-pill{display:flex;flex-direction:column;align-items:stretch;background:transparent;padding:0;gap:10px}.lp-faq{background:#fff;text-align:center;padding:14px}.lp-pill .btn{justify-content:center}
.bl-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:999px;max-width:100%}.bl-filters::-webkit-scrollbar{display:none}.bl-f{white-space:nowrap;flex:none}}
/* ---------- Conseils : bandeau portable v2 (décor + portable mieux visible) ---------- */
.lp{min-height:500px;background:#4A433E;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.lp::before{content:none}
.lp-vis{position:relative;align-self:stretch;padding:0;min-height:500px}
.lp-seat{position:absolute;left:-8%;bottom:-34%;width:86%;height:62%;border-radius:50%;background:radial-gradient(120% 90% at 40% 20%,#B32A22 0%,#8E1C17 45%,#5E110E 100%);box-shadow:inset 0 18px 30px rgba(255,255,255,.12),0 -6px 40px rgba(0,0,0,.25)}
.lp-seat::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 6px);mix-blend-mode:overlay}
.lp-plant{position:absolute;right:6%;bottom:19%;width:54px;height:140px;background:linear-gradient(#5D564F,#3B3531);border-radius:12px 12px 16px 16px;box-shadow:0 18px 30px -12px rgba(0,0,0,.5)}
.lp-plant::before{content:"";position:absolute;left:50%;bottom:100%;width:120px;height:150px;transform:translateX(-50%);background:radial-gradient(ellipse 18px 46px at 30% 70%,#C9A27A 60%,transparent 62%),radial-gradient(ellipse 14px 52px at 55% 55%,#D8B48B 60%,transparent 62%),radial-gradient(ellipse 16px 44px at 78% 72%,#B98F66 60%,transparent 62%),linear-gradient(#8A6A4C,#8A6A4C) 50% 100%/2px 70% no-repeat;filter:saturate(.8)}
.lp-mac{position:absolute;left:9%;bottom:26%;width:74%;transform:perspective(1600px) rotateY(16deg) rotateX(5deg) rotateZ(-3deg);transform-origin:left bottom}
.lp:hover .lp-mac{transform:perspective(1600px) rotateY(8deg) rotateX(3deg) rotateZ(-1.5deg)}
.lp-screen{border-radius:16px 16px 3px 3px;padding:10px 10px 14px;background:#0E0E0E;box-shadow:0 40px 60px -24px rgba(0,0,0,.7)}
.lp-base{height:14px;margin:0 -6% 0 -3%;background:linear-gradient(#E6E3E0,#A8A4A0 70%,#8E8A86);border-radius:2px 2px 16px 16px;box-shadow:0 22px 30px -10px rgba(0,0,0,.55)}
.lp-txt{padding:56px 60px 56px 10px}
.lp-txt h2{font-size:40px}
.lp-pill{padding:4px 4px 4px 6px;gap:2px}
.lp-faq{font-size:14px;padding:8px 14px}
.lp-pill .btn{font-size:14px;padding:9px 16px;gap:8px}
.lp-pill .btn svg{width:14px;height:14px}
@media (max-width:1000px){.lp-vis{min-height:420px}.lp-mac{left:8%;width:78%;bottom:24%}.lp-txt{padding:44px 40px 0}}
@media (max-width:640px){.lp-vis{min-height:300px}.lp-mac{left:6%;width:86%;bottom:24%}.lp-plant{display:none}.lp-pill{display:inline-flex;flex-direction:row;background:#fff;padding:4px;flex-wrap:nowrap}.lp-faq{background:transparent;padding:8px 10px}.lp-pill .btn{padding:9px 14px}}
.lp-plant{display:none}
.lp-seat{bottom:-30%;height:58%}
.lp-mac{left:10%;width:66%;bottom:25%}
@media (max-width:1000px){.lp-mac{width:74%;bottom:25%}}
@media (max-width:640px){.lp-mac{width:84%;left:7%;bottom:24%}}
@media (max-width:1000px){.lp{grid-template-columns:minmax(0,1fr)}.lp-txt{padding:44px 40px 0;order:-1}}
@media (max-width:640px){.lp-txt{padding:32px 22px 0}.lp-vis{min-height:280px}.lp-seat{left:-15%;width:110%}}
@media (max-width:640px){.lp-vis{margin-top:24px}}

/* ================= Notre méthode (inspiré SiteVite, design CFM) ================= */
.mh{background:linear-gradient(180deg,#FCE3E3 0%,#FDF0EF 55%,#fff 100%);padding:150px 0 100px}
.mh-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.mh-txt h1{font-family:var(--display);font-size:58px;font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0}
.mh-txt p{font-family:var(--display);font-size:17px;line-height:1.6;color:#4A4744;margin:22px 0 0;max-width:540px}
.mh-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.mh-chips{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,max-content);gap:10px}
.mh-chips li{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.8);border-radius:999px;padding:8px 16px 8px 10px;font-family:var(--display);font-size:14.5px;font-weight:500}
.mh-chips svg,.md-card li > svg{width:20px;height:20px;color:#1E8A4C;flex:none}
.mh-vis{position:relative;justify-self:end;width:min(460px,100%)}
.mh-blob{aspect-ratio:1/.9;border-radius:58% 42% 52% 48% / 46% 54% 46% 54%;overflow:hidden;box-shadow:0 30px 60px -30px rgba(160,20,20,.4);border:10px solid #fff}
.mh-blob img{width:100%;height:100%;object-fit:cover;display:block}
.mh-badge{position:absolute;left:-26px;bottom:34px;display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:16px;padding:12px 16px;font-family:var(--display);font-weight:600;font-size:14.5px;box-shadow:0 20px 40px -20px rgba(0,0,0,.35)}
.mh-badge svg{width:20px;height:20px;color:#C8161B}
.mt{padding-top:60px}
.mt-head,.md-head{text-align:center;max-width:720px;margin:0 auto}
.mt-pill{display:inline-block;font-family:var(--display);font-size:13.5px;font-weight:600;background:#FDECEC;color:#C8161B;border-radius:999px;padding:6px 14px}
.mt-head h2,.md-head h2,.mf-l h2{font-family:var(--display);font-size:46px;font-weight:500;letter-spacing:-.035em;line-height:1.08;margin:16px 0 0}
.mt-list{position:relative;margin-top:64px}
.mt-list::before{content:"";position:absolute;left:50%;top:40px;bottom:40px;border-left:2px dashed #E3DFDC}
.mt-row{display:grid;grid-template-columns:1fr 64px 1fr;gap:32px;align-items:center;margin-bottom:56px}
.mt-row:last-child{margin-bottom:0}
.mt-row.rev .mt-card{order:3}.mt-row.rev .mt-num{order:2}.mt-row.rev .mt-txt{order:1;text-align:right}
.mt-row.rev .mt-txt p{margin-left:auto}
.mt-card{position:relative;background:#fff;border:1.5px solid #ECE9E6;border-radius:28px;aspect-ratio:1.38/1;display:grid;place-items:center;overflow:hidden;isolation:isolate;transition:border-color .3s,transform .4s var(--ease)}
.mt-card:hover{border-color:var(--btn-red);transform:translateY(-4px)}
.mt-blob{position:absolute;inset:14% 16%;background:#FDECEC;border-radius:60% 40% 55% 45% / 50% 55% 45% 50%;z-index:-1}
.mt-ill{width:72%;height:auto}
.mt-photo{width:70%;aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:0 24px 40px -22px rgba(0,0,0,.45);transform:rotate(-2deg)}
.mt-row.rev .mt-photo{transform:rotate(2deg)}
.mt-photo img{width:100%;height:100%;object-fit:cover;display:block}
.mt-mock{width:82%}.mt-mock .hm-mock{height:270px}.mt-mock .mk-screen{font-size:11px}.mt-mock .mk-row{grid-template-columns:minmax(0,1fr) auto auto}.mt-mock .mk-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-num{position:relative;z-index:1;justify-self:center;width:58px;height:58px;border-radius:999px;background:var(--btn-red);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:22px;font-weight:600;box-shadow:0 0 0 10px #fff}
.mt-step{font-family:var(--display);font-size:13.5px;font-weight:600;color:#C8161B}
.mt-txt h3{font-family:var(--display);font-size:30px;font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:8px 0 12px}
.mt-txt p{font-family:var(--display);font-size:16.5px;line-height:1.6;color:#5E5A57;margin:0;max-width:440px}
.md{margin-top:120px;background:#F7F6F5;padding:100px 0}
.md-ill{width:220px;margin:0 auto 22px;aspect-ratio:1.2/1;background:#fff;border-radius:50% 46% 54% 50%/52% 50% 50% 48%;display:grid;place-items:center}
.md-ill .mt-ill{width:84%}
.md-head p{font-family:var(--display);font-size:17px;line-height:1.6;color:#5E5A57;margin:18px auto 0;max-width:600px}
.md-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
.md-card{background:#fff;border:1.5px solid #ECE9E6;border-radius:28px;padding:36px 34px}
.md-card h3{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 18px}
.md-card ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.md-card li{display:flex;gap:12px;font-family:var(--display);font-size:15.5px;line-height:1.55;color:#5E5A57}
.md-card li b{color:#121212;font-weight:600}
.mf{padding:110px 0 30px}
.mf-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.mf-l h2{font-size:40px}
.mf-link{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-family:var(--display);font-weight:600;color:#121212;text-decoration:none;border-bottom:2px solid var(--btn-red);padding:8px 0 4px}
.mf-link svg{width:20px;height:20px}
.mf-link:hover{color:#C8161B}
.mf-list{border-top:1px solid #E6E3E0}
.mf-q{border-bottom:1px solid #E6E3E0}
.mf-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;font-family:var(--display);font-size:18px;font-weight:500;letter-spacing:-.01em}
.mf-q summary::-webkit-details-marker{display:none}
.mf-ic{flex:none;width:34px;height:34px;border-radius:999px;border:1.5px solid #CFCAC6;position:relative;transition:background .3s,border-color .3s,transform .35s var(--ease)}
.mf-ic::before,.mf-ic::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.8px;background:#121212;transform:translate(-50%,-50%)}
.mf-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.mf-q[open] .mf-ic{background:var(--btn-red);border-color:var(--btn-red);transform:rotate(45deg)}
.mf-q[open] .mf-ic::before,.mf-q[open] .mf-ic::after{background:#fff}
.mf-q summary:hover .mf-ic{border-color:var(--btn-red)}
.mf-a{padding:0 60px 24px 4px;font-family:var(--display);font-size:16px;line-height:1.65;color:#5E5A57}
.mf-a p{margin:0}.mf-a a{color:#C8161B}
@media (max-width:1000px){.mh-in{grid-template-columns:minmax(0,1fr)}.mh-vis{justify-self:center}.md-grid{grid-template-columns:minmax(0,1fr)}.mf-in{grid-template-columns:minmax(0,1fr);gap:28px}}
@media (max-width:800px){.mt-list::before{left:28px}.mt-row,.mt-row.rev{grid-template-columns:56px minmax(0,1fr);gap:18px 18px}.mt-row .mt-num,.mt-row.rev .mt-num{order:1;grid-row:1;align-self:start;width:52px;height:52px;font-size:19px}.mt-row .mt-txt,.mt-row.rev .mt-txt{order:2;text-align:left;grid-column:2}.mt-row .mt-card,.mt-row.rev .mt-card{order:3;grid-column:2}.mt-row.rev .mt-txt p{margin-left:0}}
@media (max-width:640px){.mh{padding:120px 0 70px}.mh-txt h1{font-size:40px}.mh-chips{grid-template-columns:minmax(0,1fr)}.mh-badge{left:8px}.mt-head h2,.md-head h2{font-size:32px}.mf-l h2{font-size:30px}.mt-txt h3{font-size:24px}.md{padding:70px 0;margin-top:80px}.md-card{padding:26px 22px}.mf-a{padding-right:4px}.mt-mock .hm-mock{height:auto;padding-bottom:110px}}
.mt-mock{width:78%;padding:10px 0}.mt-mock .hm-mock{height:250px}.mt-mock .mk-paper{width:40%;right:0;bottom:4px}.mt-mock .mk-tab{width:86%}
/* Suivi : même échelle que les autres pages */
.pg-top .rel-grid .rel-img{aspect-ratio:4/3.1}
.pg-top .rel-grid{gap:20px}
.pg-soon{max-width:1260px;padding:64px 48px}
.pg-soon p{max-width:720px}

/* Nos services : au survol, la carte devient blanche, sans contour */
.svc-card:hover{background:#fff;border-color:transparent}
/* Menu : la page active est soulignée d'une ligne rouge au lieu d'un cadre gris */
.nav a[aria-current="page"]{background:none;border-radius:0;box-shadow:inset 0 -2px 0 var(--red)}

/* ===== Bas de page : copyright à gauche, liens légaux à droite ===== */
.foot-bar{display:flex;justify-content:space-between;align-items:center;gap:8px 32px;flex-wrap:wrap;margin-top:40px;padding-top:12px;border-top:1px solid #2E2E30}
.foot-bar-copy{color:#BDB8B4;font-size:14px}
.foot-bar .foot-legal{margin:0;padding:0;border:0;gap:0 28px}
.foot-end{align-items:center}
@media (max-width:640px){.foot-bar{flex-direction:column;align-items:flex-start;gap:4px}.foot-bar .foot-legal{gap:0 20px}}

/* ===== Suivi et traçabilité ===== */
.st-w{max-width:calc(1260px + 2*var(--gutter))}
.st-k{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--btn-red)}
.st-k::before{content:"";width:22px;height:2px;background:var(--btn-red)}
.st-hero{padding-top:150px}
.st-sub{padding-top:132px}
.st-crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:#8A8582;margin-bottom:40px}
.st-crumb a{color:#8A8582;text-decoration:none}
.st-crumb a:hover{color:#121212;text-decoration:underline;text-underline-offset:3px}
.st-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,88px);align-items:center}
.st-hero h1{font-family:var(--display);font-size:clamp(40px,5vw,62px);font-weight:500;letter-spacing:-.04em;line-height:1.02;margin:18px 0 0}
.st-lead{font-family:var(--display);font-size:18px;line-height:1.6;color:#4A4744;margin:22px 0 0;max-width:34em}
.st-points{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #E6E3E0}
.st-points li{padding:18px 18px 0 0;display:flex;flex-direction:column;gap:4px}
.st-points li+li{padding-left:18px;border-left:1px solid #E6E3E0}
.st-points b{font-family:var(--display);font-size:16px;font-weight:600}
.st-points span{font-size:14px;color:#6E6A67;line-height:1.45}
.st-meta{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.st-meta li{font-size:14px;font-weight:500;background:#F5F5F5;border-radius:8px;padding:8px 12px}
.st-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn.st-line{background:transparent;color:#121212;border-color:#D6D3D0}
.btn.st-line:hover{border-color:#121212;background:transparent;color:#121212}
.st-vis{aspect-ratio:1/1.02}
.st-fig{margin:0;border-radius:28px;overflow:hidden;background:#E9E6E3}
.st-fig img{width:100%;height:100%;object-fit:cover;display:block}
.st-hero-fig{aspect-ratio:4/4.2}

.st-docs{padding-top:clamp(90px,10vw,140px)}
.st-sh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:16px 64px;align-items:end;margin-bottom:44px}
.st-sh .st-k{grid-column:1/-1}
.st-sh h2{font-family:var(--display);font-size:clamp(30px,3.4vw,44px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0}
.st-sh p{font-family:var(--display);font-size:17px;line-height:1.6;color:#5A5653;margin:0}
.st-list{border-top:1px solid #E6E3E0}
.st-row{display:grid;grid-template-columns:56px 200px minmax(0,1fr) auto;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid #E6E3E0;text-decoration:none;color:#121212;transition:background .25s}
.st-row:hover{background:#FAFAFA}
.st-n{font-family:var(--display);font-size:15px;font-weight:600;color:var(--btn-red)}
.st-row-img{aspect-ratio:16/10;border-radius:16px;background:#E9E6E3 center/cover no-repeat}
.st-row-t b{display:block;font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.025em}
.st-row-t span{display:block;font-size:15.5px;color:#6E6A67;line-height:1.5;margin-top:6px;max-width:40em}
.st-go{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;white-space:nowrap;padding-right:8px;transition:color .25s,gap .25s}
.st-row:hover .st-go{color:var(--btn-red);gap:12px}

.st-soon{padding-top:clamp(90px,10vw,140px)}
.st-soon-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:center;background:#121212;color:#fff;border-radius:32px;padding:clamp(36px,5vw,64px)}
.st-badge{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#121212;background:#F2C14E;border-radius:6px;padding:6px 10px}
.st-soon h2{font-family:var(--display);font-size:clamp(26px,2.8vw,36px);font-weight:500;letter-spacing:-.03em;line-height:1.15;margin:18px 0 0;color:#fff}
.st-soon p{font-size:16px;line-height:1.65;color:#BDB8B4;margin:0}

.st-cta{padding-top:clamp(90px,10vw,140px)}
.st-cta-in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;background:#F5F5F5;border-radius:32px;padding:clamp(36px,5vw,56px) clamp(28px,5vw,64px)}
.st-cta h2{font-family:var(--display);font-size:clamp(26px,2.8vw,36px);font-weight:500;letter-spacing:-.03em;margin:0}
.st-cta p{font-size:16px;color:#6E6A67;margin:10px 0 0;max-width:34em;line-height:1.55}
.st-cta .st-btns{margin-top:0}

.st-body{padding-top:clamp(80px,9vw,120px)}
.st-blk{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px 72px;padding:56px 0;border-top:1px solid #E6E3E0}
.st-blk-h .st-n{display:block;margin-bottom:12px}
.st-blk-h h2{font-family:var(--display);font-size:clamp(28px,3vw,38px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0}
.st-blk-h p{font-size:16.5px;line-height:1.65;color:#5A5653;margin:18px 0 0}
.st-feats{display:grid;gap:14px;align-content:start}
.st-feat{background:#F5F5F5;border-radius:20px;padding:24px 26px}
.st-feat h3{font-family:var(--display);font-size:18px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}
.st-feat p{font-size:15.5px;line-height:1.6;color:#5A5653;margin:0}
.st-note{grid-column:2;font-size:15px;color:#6E6A67;margin:0;line-height:1.6}
.st-note a{color:#121212;font-weight:600}
.st-body>.st-w>.st-fig{aspect-ratio:21/9;margin:8px 0 0}
.st-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:56px}
.st-pair .st-fig{aspect-ratio:4/3}

@media (max-width:980px){
  .st-hero-grid,.st-sh,.st-blk,.st-soon-in{grid-template-columns:minmax(0,1fr)}
  .st-note{grid-column:1}
  .st-row{grid-template-columns:40px 140px minmax(0,1fr)}
  .st-go{display:none}
}
@media (max-width:640px){
  .st-hero{padding-top:120px}
  .st-points{grid-template-columns:minmax(0,1fr)}
  .st-points li+li{padding-left:0;border-left:0;border-top:1px solid #E6E3E0;padding-top:14px}
  .st-row{grid-template-columns:minmax(0,1fr);gap:12px}
  .st-row .st-n{display:none}
  .st-pair{grid-template-columns:minmax(0,1fr)}
  .st-btns .btn{flex:1 1 100%;justify-content:center}
}

/* ===== Notre méthode : première section plus nette ===== */
.mh{background:#fff;padding:150px 0 40px}
.mh-in{background:#F5F5F5;border-radius:40px;padding:clamp(36px,5vw,72px);gap:clamp(40px,5vw,72px)}
.mh-txt h1{font-size:clamp(40px,4.6vw,60px)}
.mh-txt p{font-size:18px;color:#4A4744}
.mh-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid #E1DDDA;margin-top:34px}
.mh-chips li{background:none;border-radius:0;padding:14px 12px 14px 0;border-bottom:1px solid #E1DDDA;font-size:15px}
.mh-chips li:nth-child(even){padding-left:14px;border-left:1px solid #E1DDDA}
.mh-chips svg{color:var(--btn-red)}
.mh-vis{width:min(480px,100%)}
.mh-blob{border-radius:28px;border:0;aspect-ratio:4/4.6;box-shadow:0 30px 60px -34px rgba(18,18,18,.45)}
.mh-badge{border-radius:12px;left:-24px;bottom:28px}
@media (max-width:980px){.mh-in{border-radius:28px}.mh-badge{left:12px}}
@media (max-width:640px){.mh{padding-top:110px}.mh-chips{grid-template-columns:minmax(0,1fr)}.mh-chips li:nth-child(even){padding-left:0;border-left:0}}

/* ===== Conseils et ressources : page plus étroite, grandes images en fin de page ===== */
.bl-head .bl-in,.bl-list .bl-in{max-width:calc(1054px + 2*var(--gutter))}
.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 18px}
.bl-grid .bl-img{aspect-ratio:518/403}
.bl-grid .bl-card .bl-t{font-size:28px;line-height:1.2}
@media (max-width:640px){.bl-grid{grid-template-columns:minmax(0,1fr)}.bl-grid .bl-card .bl-t{font-size:22px}}

/* ===== Notre méthode : première section (v2, même esprit que Conseils) ===== */
.mh2{padding-top:150px}
.mh2-in{max-width:calc(1054px + 2*var(--gutter))}
.mh2 h1{font-family:var(--display);font-size:58px;font-weight:500;letter-spacing:-.035em;line-height:1.05;margin:0;padding-bottom:32px;border-bottom:1px solid #E4E4E4}
.mh2-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:24px 48px;margin-top:40px;align-items:stretch}
.mh2-img{position:relative;border-radius:24px;overflow:hidden;min-height:440px;background:#E9E6E3}
.mh2-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mh2-tag{position:absolute;left:24px;top:24px;background:#fff;color:#121212;border-radius:999px;padding:8px 18px;font-family:var(--display);font-size:15px;font-weight:500}
.mh2-side{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:4px 0}
.mh2-lead{font-family:var(--display);font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1.4;color:#121212;margin:0}
.mh2-pts{list-style:none;margin:0;padding:0;border-top:1px solid #E4E4E4}
.mh2-pts li{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid #E4E4E4;font-family:var(--display);font-size:17px;font-weight:500;color:#121212}
.mh2-pts span{font-size:13px;font-weight:600;color:var(--btn-red);min-width:22px}
.mh2-btns{display:flex;flex-wrap:wrap;gap:12px}
.btn.mh2-line{background:transparent;color:#121212;border-color:#121212}
.btn.mh2-line:hover{background:#121212;color:#fff}
@media (max-width:900px){.mh2-grid{grid-template-columns:minmax(0,1fr)}.mh2-img{min-height:0;aspect-ratio:4/3}}
@media (max-width:640px){.mh2{padding-top:110px}.mh2 h1{font-size:40px;padding-bottom:24px}.mh2-lead{font-size:19px}.mh2-btns .btn{flex:1 1 100%;justify-content:center}}

/* ===== Suivi et traçabilité v2 : esprit ArchiPro (repères entre parenthèses, texte en deux tons, crème / noir) ===== */
.ap-w{max-width:calc(1260px + 2*var(--gutter))}
.ap-sec{padding-block:clamp(80px,9vw,128px)}
.ap-cream{background:#F7F4EE}
.ap-dark{background:#121212;color:#fff}
.ap-img{padding-block:0}
.st-hero + .ap-sec{margin-top:clamp(80px,9vw,120px)}
.ap-lab{display:block;font-family:var(--display);font-size:14px;font-weight:400;color:#8A8582;letter-spacing:0}
.ap-dark .ap-lab{color:#8F8B88}
.ap-mute{color:#A39E9A}
.ap-dark .ap-mute{color:#6F6B68}
.ap-state{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:24px 48px;align-items:start}
.ap-big{font-family:var(--display);font-size:clamp(28px,3.4vw,46px);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin:0;color:#121212;max-width:22em}
.ap-state .btn{margin-top:36px}
.ap-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 32px;margin-top:clamp(56px,7vw,96px)}
.ap-col{border-top:1px solid #D9D4CD;padding-top:20px}
.ap-dark .ap-col{border-color:#333}
.ap-col h3{font-family:var(--display);font-size:24px;font-weight:500;letter-spacing:-.025em;margin:14px 0 10px}
.ap-col p{font-size:16px;line-height:1.6;color:#5A5653;margin:0;max-width:30em}
.ap-dark .ap-col p{color:#BDB8B4}
.ap-fig{margin:0;border-radius:20px;overflow:hidden;background:#E9E6E3}
.ap-fig img{width:100%;height:100%;object-fit:cover;display:block}
.ap-wide{aspect-ratio:21/9;margin-block:clamp(56px,7vw,96px)}
.ap-head{display:flex;flex-direction:column;gap:16px}
.ap-head.row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px 64px;align-items:end}
.ap-head.row p{font-size:17px;line-height:1.6;color:#5A5653;margin:0;max-width:30em}
.ap-dark .ap-head.row p{color:#BDB8B4}
.ap-h{font-family:var(--display);font-size:clamp(40px,5.6vw,80px);font-weight:400;letter-spacing:-.045em;line-height:1;margin:0}
.ap-h span{display:block}
.ap-dark .ap-h{color:#fff}
.ap-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:clamp(56px,7vw,96px)}
.ap-pair .ap-fig{aspect-ratio:4/3;background:#222}
.ap-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid #333}
.ap-foot p{margin:0;color:#BDB8B4;font-size:16px}
.ap-foot a:not(.btn){color:#fff}
.btn.ap-btn{background:#121212;border-color:#121212;color:#fff;border-radius:8px}
.btn.ap-btn:hover{background:var(--btn-red);border-color:var(--btn-red)}
.ap-dark .btn.ap-btn{background:#fff;border-color:#fff;color:#121212}
.ap-dark .btn.ap-btn:hover{background:var(--btn-red);border-color:var(--btn-red);color:#fff}
.btn.ap-btn.sm{font-size:14px;padding:9px 14px;align-self:flex-start}
.ap-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:clamp(48px,6vw,72px)}
.ap-card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:#121212}
.ap-ct{font-family:var(--display);font-size:clamp(24px,2.2vw,32px);font-weight:400;letter-spacing:-.03em;line-height:1.1}
.ap-cimg{aspect-ratio:4/4.6;border-radius:16px;background:#E9E6E3 center/cover no-repeat;transition:transform .6s var(--ease)}
.ap-card:hover .ap-cimg{transform:scale(.985)}
.ap-cx{font-size:15.5px;line-height:1.55;color:#5A5653}
.ap-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn.ap-line{background:transparent;color:#121212;border-color:#121212}
.btn.ap-line:hover{background:#121212;color:#fff}
.ap-end + *{}
@media (max-width:980px){
  .ap-state,.ap-head.row{grid-template-columns:minmax(0,1fr)}
  .ap-cards{grid-template-columns:minmax(0,1fr)}
  .ap-cimg{aspect-ratio:16/11}
  .ap-wide{aspect-ratio:16/10}
}
@media (max-width:640px){.ap-pair{grid-template-columns:minmax(0,1fr)}.ap-btns .btn,.ap-foot .btn{flex:1 1 100%;justify-content:center}}

/* ===== Contact : diaporama de hauteur fixe ===== */
.ct-grid{align-items:start}
.ct-grid .slider{min-height:0;height:min(560px,72vh);position:sticky;top:110px}
@media (max-width:900px){.ct-grid .slider{position:relative;top:auto;height:420px}}

/* ===== Notre méthode : partie droite v3 ===== */
.mh2-side{justify-content:flex-start;gap:28px}
.mh2-lab{font-family:var(--display);font-size:14px;color:#7A7572}
.mh2-lead{font-size:clamp(24px,2.3vw,30px);font-weight:500;letter-spacing:-.03em;line-height:1.2}
.mh2-mute{color:#8A8582}
.mh2-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #E4E4E4;margin-top:auto}
.mh2-stats div{padding:22px 20px 22px 0;border-bottom:1px solid #E4E4E4;display:flex;flex-direction:column;gap:6px}
.mh2-stats div:nth-child(even){padding-left:20px;padding-right:0;border-left:1px solid #E4E4E4}
.mh2-stats b{font-family:var(--display);font-size:44px;font-weight:500;letter-spacing:-.04em;line-height:1;color:#121212}
.mh2-stats div:first-child b{color:var(--btn-red)}
.mh2-stats span{font-size:14.5px;line-height:1.45;color:#6E6A67}
@media (max-width:640px){.mh2-stats b{font-size:34px}.mh2-stats div{padding:16px 12px 16px 0}.mh2-stats div:nth-child(even){padding-left:12px}}

/* ===== Conseils : bandeau du milieu façon image 2 (vert sauge, ordinateur posé sur un pouf) ===== */
.lp{background:#838D6E!important;border-radius:40px;min-height:540px;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important}
.lp-kick{display:none}
.lp-txt{padding:56px 64px 56px 0}
.lp-txt h2{font-size:clamp(34px,3.6vw,52px)!important;font-weight:500;letter-spacing:-.04em;line-height:1.05;color:#fff}
.lp-txt p{color:rgba(255,255,255,.9)!important;font-size:17px;max-width:30em}
.lp-seat{left:-6%!important;bottom:-30%!important;width:96%!important;height:58%!important;background:radial-gradient(120% 90% at 40% 15%,#5E8A2C 0%,#3F6A1C 45%,#2A4A12 100%)!important}
.lp-plant{display:none}
.lp-mac{left:9%!important;width:78%!important;bottom:22%!important;transform:perspective(1600px) rotateY(14deg) rotateX(4deg) rotateZ(-2deg)!important}
.lp-pill{background:#fff;border-radius:999px;padding:6px 6px 6px 22px!important;display:inline-flex;align-items:center;gap:18px;min-width:min(100%,420px);justify-content:space-between}
.lp-faq{padding:8px 0!important;color:#5A5653!important;font-weight:500!important}
@media (max-width:980px){.lp{grid-template-columns:minmax(0,1fr)!important;border-radius:28px}.lp-txt{padding:40px 28px 0}.lp-vis{min-height:320px}}

/* ===== Conseils : derniers articles façon image 3 (3 colonnes, images carrées) ===== */
.bl-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:44px 18px}
.bl-grid .bl-img{aspect-ratio:1/1;border-radius:20px}
.bl-grid .bl-card .bl-t{font-size:22px;line-height:1.22;color:#121212;margin-top:14px}
.bl-grid .bl-card:hover .bl-t{color:var(--btn-red)}
.bl-grid .bl-meta .bl-tag{background:#F2F2F2}
@media (max-width:900px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.bl-grid{grid-template-columns:minmax(0,1fr)!important}}

/* ===== Conseils : même largeur que les autres pages ===== */
.bl-head .bl-in,.bl-list .bl-in{max-width:calc(1260px + 2*var(--gutter))}

/* À propos : vrai logo CFM dans l'en-tête du téléphone */
.ab-ph-top{align-items:center}
.ab-ph-top img{height:20px;width:auto;display:block}

/* Haut de page affiché dès le premier rendu (vitesse sur mobile) : il glisse encore en place, mais sans partir de l'invisible. */
.js main > section:first-of-type [data-reveal]{opacity:1}

/* Fiche réalisation : photos du chantier (modèle dans /modeles/fiche-realisation.html) */
.sd-img-fig{margin:24px 0}
.sd-img-fig img{display:block;width:100%;height:auto;border-radius:12px}
.sd-img-fig figcaption{margin-top:8px;font-size:13px;color:var(--muted)}

/* Réseaux sociaux : cachés tant que leur lien n'est pas renseigné dans config.js */
.foot-social[hidden],.foot-social [hidden]{display:none!important}
