@font-face{font-family:'Newsreader';font-style:italic;font-weight:300;font-display:swap;src:url('/assets/fonts/newsreader-300-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:300;font-display:swap;src:url('/assets/fonts/newsreader-300-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:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/newsreader-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:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/newsreader-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:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/ibmplexsans-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 Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/ibmplexsans-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:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/ibmplexsans-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-weight:400;font-display:swap;src:url('/assets/fonts/ibmplexmono-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-weight:500;font-display:swap;src:url('/assets/fonts/ibmplexmono-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}

/* ============================================================
   LILAX — feuille de style unique (site statique)
   Tokens et composants repris de la maquette (classes .s),
   etendus : responsive 1100/760, elements de formulaire reels,
   navigation mobile sans JS.
   ============================================================ */
:root{
  --ink:#0B1626; --ink-2:#14233A; --ink-3:#22344F; --paper:#F5F2EA; --paper-2:#ECE6D8; --sheet:#FBF9F4;
  --line:#D6CEBC; --line-d:#2A3B55; --muted:#5A6271; --muted-d:#8D97A8; --bronze:#94733F; --bronze-l:#C3A36E;
  --ok:#2F6B4F; --warn:#9A6A1F; --ko:#9B3B32;
  --serif:'Newsreader',Georgia,serif; --sans:'IBM Plex Sans',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{background:var(--paper)}
img,svg{max-width:100%}
a{color:inherit}
.s{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--ink);-webkit-font-smoothing:antialiased}
.s .serif{font-family:var(--serif)}.s .mono{font-family:var(--mono)}
.s .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.s .btn{display:inline-flex;align-items:center;gap:12px;font:500 14.5px var(--sans);letter-spacing:.01em;padding:15px 24px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;white-space:nowrap;cursor:pointer}
.s .btn:hover{background:var(--ink-2)}
.s .btn.ghost{background:transparent;color:var(--ink)}
.s .btn.ghost:hover{background:#0B16260D}
.s .btn.ivory{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.s .btn.ivory:hover{background:#fff}
.s .btn.line-d{background:transparent;color:#fff;border-color:#4A5B76}
.s .btn.line-d:hover{border-color:#8D97A8}
.s .btn.sm{padding:10px 16px;font-size:13.5px}

/* barre institutionnelle */
.s .util{background:#060E1A;color:#9AA3B2;font-size:12px;display:flex;justify-content:space-between;padding:10px 96px;letter-spacing:.01em}
.s .util span+span,.s .util a+a,.s .util a+span{margin-left:28px}
.s .util a{color:#9AA3B2;text-decoration:none}
.s .util a:hover{color:#fff}
.s .util .hl{color:#fff}
.s .util .lang a{color:#9AA3B2}
.s .util .lang a.on{color:#fff}

/* navigation */
.s nav{display:flex;align-items:center;justify-content:space-between;padding:22px 96px;background:var(--ink);color:#fff;border-bottom:1px solid var(--line-d)}
.s .brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff}
.s .brand .w{font-family:var(--serif);font-size:26px;letter-spacing:.38em;font-weight:400;margin-right:-.38em}
.s .brand .t{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-d);border-left:1px solid var(--line-d);padding-left:16px;line-height:1.6}
.s nav ul{list-style:none;display:flex;gap:38px;font-size:14.5px;color:#D5DAE2}
.s nav ul a{color:#D5DAE2;text-decoration:none}
.s nav ul a:hover,.s nav ul a.on{color:#fff}
.seal{display:inline-block;flex-shrink:0}
.seal svg{display:block;width:100%;height:100%}
/* menu mobile sans JS */
.s .navtoggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.s .burger{display:none;width:22px;height:14px;border-top:1.5px solid #fff;border-bottom:1.5px solid #fff;position:relative;cursor:pointer}
.s .burger:after{content:"";position:absolute;left:0;right:0;top:5px;border-top:1.5px solid #fff}
.s .mnav{display:none;background:var(--ink);border-bottom:1px solid var(--line-d);padding:8px 20px 18px}
.s .mnav a{display:block;color:#D5DAE2;text-decoration:none;padding:9px 0;font-size:15px;border-top:1px solid var(--line-d)}
.s .mnav a.on{color:#fff}

/* hero */
.s .hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:72px;padding:112px 96px 120px}
.s .hero .guil{position:absolute;right:-300px;top:-170px;width:1150px;height:1150px;opacity:.6;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 18%,#000 48%);mask-image:linear-gradient(90deg,transparent 18%,#000 48%)}
.s .hero>div{position:relative}
.s .hero .eyebrow{color:var(--bronze-l)}
.s .hero h1{font-family:var(--serif);font-weight:300;font-size:80px;line-height:1.02;letter-spacing:-.022em;margin:28px 0 34px}
.s .hero h1 em{font-style:italic;color:#CBD3DF}
.s .hero p.lead{font-size:19px;line-height:1.6;color:#B9C2CF;max-width:600px}
.s .hero .ctas{display:flex;gap:14px;margin-top:44px;flex-wrap:wrap}
.s .hero .sig{margin-top:64px;display:flex;gap:40px;font-size:12.5px;color:var(--muted-d);border-top:1px solid var(--line-d);padding-top:22px;max-width:600px;flex-wrap:wrap}
.s .hero .sig b{display:block;color:#fff;font-weight:500;font-size:13.5px}

/* acte : termes du mandat */
.s .acte{background:var(--sheet);color:var(--ink);padding:38px 40px 30px;box-shadow:0 40px 80px -20px #000a,0 0 0 1px #00000010;position:relative;align-self:start}
.s .acte:before{content:"";position:absolute;inset:10px;border:1px solid var(--line);pointer-events:none}
.s .acte .hd{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px double var(--line);margin-bottom:6px}
.s .acte .hd .eyebrow{font-size:10.5px}
.s .acte h3{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.2;margin-top:8px}
.s .acte .ref{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-align:right;line-height:1.7}
.s .acte ol{list-style:none}
.s .acte li{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:baseline;padding:13px 0;border-bottom:1px solid #E6E0D2;font-size:14px}
.s .acte li .a{font-family:var(--mono);font-size:10.5px;color:var(--bronze);letter-spacing:.06em}
.s .acte li .v{font-family:var(--serif);font-size:16.5px;font-weight:500;text-align:right}
.s .acte .ft{display:flex;justify-content:space-between;align-items:flex-end;margin-top:22px}
.s .acte .ft p{font-size:11.5px;color:var(--muted);line-height:1.6;max-width:250px}
.s .acte .ft .sgn{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink);margin-top:8px}
.s .acte .stamp{width:96px;height:96px;transform:rotate(-12deg);opacity:.85}

/* faits */
.s .facts{display:grid;grid-template-columns:repeat(4,1fr);padding:0 96px;background:var(--paper);border-bottom:1px solid var(--line)}
.s .facts.f3{grid-template-columns:repeat(3,1fr)}
.s .facts div{padding:46px 28px 40px 0}
.s .facts div+div{padding-left:32px;border-left:1px solid var(--line)}
.s .facts b{display:block;font-family:var(--serif);font-weight:300;font-size:54px;line-height:1;letter-spacing:-.02em}
.s .facts span{display:block;margin-top:14px;font-size:13.5px;color:#3A4352;max-width:260px}
.s .facts small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:10px;letter-spacing:.06em}

/* sections numerotees */
.s section.chap{padding:120px 96px}
.s .chap--band{background:var(--paper-2);border-top:1px solid var(--line)}
.s .chap--band-b{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.s .chap--flush{padding-top:0}
.s .ch{display:grid;grid-template-columns:240px 1fr 1fr;gap:56px;border-top:1px solid var(--ink);padding-top:26px;margin-bottom:64px;align-items:start}
.s .ch .k{display:flex;gap:14px;align-items:baseline}
.s .ch .k .r{font-family:var(--serif);font-size:34px;font-weight:300;color:var(--bronze);line-height:1}
.s .ch h2{font-family:var(--serif);font-weight:300;font-size:50px;line-height:1.06;letter-spacing:-.016em}
.s .ch p{font-size:16.5px;color:#3A4352;padding-top:8px}
.s .dark{background:var(--ink);color:#E6EAF0}
.s .dark .ch{border-top-color:#fff}
.s .dark .ch h2{color:#fff}
.s .dark .ch p{color:#A9B3C1}
.s .dark .eyebrow{color:var(--muted-d)}
.s .indent{margin-left:296px}

/* doctrine */
.s .articles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-left:296px;border-top:1px solid var(--line-d)}
.s .articles div{padding:36px 40px 10px 0}
.s .articles div+div{padding-left:40px;border-left:1px solid var(--line-d)}
.s .articles .eyebrow{color:var(--bronze-l)}
.s .articles h4{font-family:var(--serif);font-weight:300;font-size:29px;line-height:1.18;color:#fff;margin:18px 0 16px}
.s .articles p{font-size:14.5px;color:#A9B3C1}

/* expertises : tableau */
.s .rows{margin-left:296px}
.s .rows .row{display:grid;grid-template-columns:56px 1.05fr 1.4fr 1fr 30px;gap:28px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.s .rows a.row:hover h3{text-decoration:underline}
.s .rows .row:first-child{border-top:1px solid var(--line)}
.s .rows .n{font-family:var(--mono);font-size:11px;color:var(--bronze)}
.s .rows h3{font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.15}
.s .rows p{font-size:14.5px;color:#3A4352}
.s .rows .sc{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.9;letter-spacing:.03em}
.s .rows .ar{font-family:var(--serif);font-size:22px;color:var(--ink);text-align:right}

/* secteurs */
.s .sectors{margin-left:296px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.s .sectors div{padding:30px 32px 30px 0;border-bottom:1px solid var(--line)}
.s .sectors div:not(:nth-child(3n+1)){padding-left:32px;border-left:1px solid var(--line)}
.s .sectors b{display:block;font-family:var(--serif);font-weight:400;font-size:25px}
.s .sectors span{display:block;font-size:13.5px;color:var(--muted);margin-top:6px}
.s .sectors .d2{display:block;font-size:14px;color:#3A4352;margin-top:14px;line-height:1.6}

/* methode */
.s .tl{margin-left:296px;display:grid;grid-template-columns:repeat(4,1fr);position:relative}
.s .tl:before{content:"";position:absolute;left:0;right:0;top:9px;border-top:1px solid var(--ink)}
.s .tl div{padding-right:36px;position:relative}
.s .tl i{display:block;width:19px;height:19px;border-radius:50%;background:var(--paper);border:1px solid var(--ink);position:relative}
.s .tl i:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--ink)}
.s .tl .d{font-family:var(--mono);font-size:11px;color:var(--bronze);letter-spacing:.08em;margin:26px 0 10px;text-transform:uppercase}
.s .tl h4{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;margin-bottom:12px}
.s .tl p{font-size:14.5px;color:#3A4352}

/* plateforme */
.s .plat{margin-left:296px;display:grid;grid-template-columns:.75fr 1.25fr;gap:56px;align-items:start}
.s .plat ul{list-style:none}
.s .plat li{padding:17px 0;border-bottom:1px solid var(--line);font-size:14.5px;display:grid;grid-template-columns:52px 1fr}
.s .plat li:first-child{border-top:1px solid var(--line)}
.s .plat li .mono{color:var(--bronze);font-size:11px;padding-top:3px}
.s .mini{background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -30px #0B162650}
.s .mini .bar{display:flex;justify-content:space-between;gap:12px;padding:13px 20px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);font-family:var(--mono)}
.s .mini .kpis{display:grid;grid-template-columns:repeat(4,1fr)}
.s .mini .kpis div{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.s .mini .kpis div:last-child{border-right:0}
.s .mini .kpis small{display:block;font-size:11.5px;color:var(--muted)}
.s .mini .kpis b{font-family:var(--serif);font-weight:400;font-size:27px}

/* gouvernance */
.s .gov{margin-left:296px}
.s .org{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;padding-top:56px}
.s .org .apex{grid-column:1/-1;justify-self:center;width:380px;max-width:100%;text-align:center;border:1px solid var(--ink);padding:20px;background:var(--sheet);position:relative;height:auto;display:block;font-size:inherit}
.s .org .apex:after{content:"";position:absolute;left:50%;bottom:-29px;height:28px;border-left:1px solid var(--ink)}
.s .org .hz{grid-column:1/-1;height:0;border-top:1px solid var(--ink);margin:4px calc((100% - 48px)/6) 0}
.s .org .box{border:1px solid var(--line);background:#fff;padding:22px 24px;position:relative}
.s .org .box:before{content:"";position:absolute;left:50%;top:-25px;height:24px;border-left:1px solid var(--ink)}
.s .org h5{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;margin:8px 0 10px}
.s .org p{font-size:13.5px;color:#3A4352}
.s .org .eyebrow{font-size:10.5px}
.s .gov .cmt{margin-top:28px;display:flex;justify-content:space-between;gap:14px;font-size:13.5px;color:#3A4352;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;flex-wrap:wrap}
.s .gov .cmt b{font-weight:500;color:var(--ink)}

/* publications */
.s .pubs{margin-left:296px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.s .pub{background:var(--sheet);border:1px solid var(--line);padding:0;display:flex;flex-direction:column}
.s .pub .cov{height:170px;background:var(--ink);position:relative;overflow:hidden;padding:20px 22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.s .pub .cov img.guil{position:absolute;right:-140px;top:-120px;width:380px;height:380px;opacity:.3}
.s .pub .cov .eyebrow{color:var(--bronze-l);position:relative}
.s .pub .cov b{font-family:var(--serif);font-weight:300;font-size:40px;position:relative;line-height:1}
.s .pub .bd{padding:22px 22px 24px}
.s .pub h4{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.25;margin-bottom:12px}
.s .pub .m2{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}

/* appel d'offres */
.s .ao{background:var(--ink);color:#fff;display:grid;grid-template-columns:240px 1fr 1fr;gap:56px;padding:96px;position:relative;overflow:hidden}
.s .ao.ao--tight{padding:72px 96px}
.s .ao .guil{position:absolute;right:-420px;top:-420px;width:1000px;height:1000px;opacity:.28;-webkit-mask-image:linear-gradient(270deg,#000 10%,transparent 45%);mask-image:linear-gradient(270deg,#000 10%,transparent 45%)}
.s .ao>*{position:relative}
.s .ao h2{font-family:var(--serif);font-weight:300;font-size:46px;line-height:1.08}
.s .ao p{color:#A9B3C1;margin-top:20px;font-size:16px}
.s .ao ul{list-style:none;font-size:14.5px;border-top:1px solid var(--line-d)}
.s .ao li{padding:15px 0;border-bottom:1px solid var(--line-d);display:flex;justify-content:space-between;gap:18px;color:#E6EAF0}
.s .ao li span{color:var(--muted-d);font-family:var(--mono);font-size:11px;white-space:nowrap}
.s .ao .k{display:flex;gap:14px;align-items:baseline;border-top:1px solid #fff;padding-top:26px;align-self:start}
.s .ao .k .serif{font-size:34px;font-weight:300;color:var(--bronze-l);line-height:1}
.s .ao .k .eyebrow{color:var(--muted-d)}
.s .ao .ao-c{border-top:1px solid #fff;padding-top:26px}
.s .ao .ao-c3{border-top:1px solid #fff;padding-top:26px;align-self:start}
.s .ao .cta{margin-top:34px}

/* footer complet */
.s footer{background:#060E1A;color:#A9B3C1;padding:80px 96px 36px}
.s .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px;font-size:13.5px}
.s .fgrid h5{font:400 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-d);margin-bottom:18px}
.s .fgrid li{list-style:none;padding:5px 0;color:#D5DAE2}
.s .fgrid a{color:#D5DAE2;text-decoration:none}
.s .fgrid a:hover{color:#fff}
.s .fgrid .brand .w{color:#fff}
.s .fgrid .adr{margin-top:22px;line-height:1.7}
.s .legal{margin-top:64px;padding-top:24px;border-top:1px solid var(--line-d);font-size:11.5px;color:var(--muted-d);display:flex;justify-content:space-between;gap:18px;font-family:var(--mono);letter-spacing:.03em;flex-wrap:wrap}
.s .legal a{color:var(--muted-d);text-decoration:none}
.s .legal a:hover{color:#fff}
/* pied minimal (pages interieures, comme la maquette) */
.s .mfoot{background:#060E1A;color:var(--muted-d);padding:26px 96px;display:flex;justify-content:space-between;gap:18px;font:400 11px var(--mono);letter-spacing:.04em;flex-wrap:wrap}
.s .mfoot a{color:var(--muted-d);text-decoration:none}
.s .mfoot a:hover{color:#fff}

/* pages interieures */
.s .crumb{padding:16px 96px;font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d);background:var(--ink);border-bottom:1px solid var(--line-d)}
.s .crumb a{color:var(--muted-d);text-decoration:none}
.s .crumb a:hover{color:#fff}
.s .crumb b{color:#fff;font-weight:400}
.s .phead{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:88px 96px 100px;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}
.s .phead .guil{position:absolute;right:-430px;top:-400px;width:1050px;height:1050px;opacity:.5;pointer-events:none;-webkit-mask-image:linear-gradient(200deg,#000 25%,transparent 60%);mask-image:linear-gradient(200deg,#000 25%,transparent 60%)}
.s .phead>div{position:relative}
.s .phead .eyebrow{color:var(--bronze-l)}
.s .phead h1{font-family:var(--serif);font-weight:300;font-size:66px;line-height:1.03;letter-spacing:-.02em;margin:24px 0 28px}
.s .phead h1 em{font-style:italic;color:#CBD3DF}
.s .phead p.lead{color:#B9C2CF;font-size:18.5px;line-height:1.6;max-width:640px}
.s .ftech{border:1px solid var(--line-d);background:#0F1D31;padding:26px 30px 14px}
.s .ftech .eyebrow{color:var(--muted-d)}
.s .ftech dl{display:grid;grid-template-columns:auto 1fr;margin-top:14px}
.s .ftech dt,.s .ftech dd{padding:12px 0;border-top:1px solid var(--line-d);font-size:13.5px}
.s .ftech dt{color:var(--muted-d)}
.s .ftech dd{text-align:right;font-family:var(--serif);font-size:16.5px;color:#fff}

/* plan de relance */
.s .mxwrap{margin-left:296px;overflow-x:auto}
.s .mx{border:1px solid var(--line);background:#fff;min-width:900px}
.s .mx .hd2,.s .mx .ln{display:grid;grid-template-columns:150px repeat(8,1fr)}
.s .mx .hd2 div{padding:14px 12px;font:500 11px var(--mono);letter-spacing:.08em;color:var(--ink);border-bottom:1px solid var(--ink);border-left:1px solid #EFEAE0}
.s .mx .hd2 div:first-child,.s .mx .ln div:first-child{border-left:0}
.s .mx .hd2 small{display:block;font:400 10.5px var(--sans);letter-spacing:0;color:var(--muted);margin-top:3px}
.s .mx .ln div{min-height:74px;padding:14px 12px;border-left:1px solid #EFEAE0;border-bottom:1px solid #EFEAE0;font-size:11.5px;color:#3A4352;line-height:1.35}
.s .mx .ln div:first-child{font-size:13.5px;color:var(--ink);font-weight:500;background:var(--sheet)}
.s .mx .ln:last-child div{border-bottom:0}
.s .mx .dt{display:block;width:11px;height:11px;border-radius:50%;background:var(--ink);margin-bottom:8px}
.s .mx .dt.k{background:transparent;border:1.5px solid var(--bronze);box-shadow:0 0 0 3px #94733F22}
.s .mx-legend{margin:16px 0 0 296px;display:flex;gap:28px;font-size:12.5px;color:var(--muted);align-items:center;flex-wrap:wrap}
.s .mx-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--ink);margin-right:8px;vertical-align:-1px}
.s .mx-legend i.k{background:transparent;border:1.5px solid var(--bronze)}

/* matrice de segmentation */
.s .quadw{margin-left:296px;display:grid;grid-template-columns:28px 1fr;gap:14px}
.s .quadw .ax{writing-mode:vertical-rl;transform:rotate(180deg);font:400 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center}
.s .quad{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--sheet)}
.s .quad div{padding:30px 32px 32px;min-height:210px}
.s .quad div:nth-child(2n){border-left:1px solid var(--line)}
.s .quad div:nth-child(n+3){border-top:1px solid var(--line)}
.s .quad .sg{font-family:var(--serif);font-size:44px;font-weight:300;color:var(--bronze);line-height:1}
.s .quad h4{font-family:var(--serif);font-weight:400;font-size:23px;margin:14px 0 8px}
.s .quad p{font-size:14px;color:#3A4352}
.s .quad .tr{display:block;margin-top:14px;font:400 11px var(--mono);letter-spacing:.06em;color:var(--ink);text-transform:uppercase}
.s .quadw .axb{grid-column:2;text-align:center;font:400 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* livrables */
.s .deliv{margin-left:296px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.s .deliv div{padding:26px 28px 0 0}
.s .deliv div+div{padding-left:28px;border-left:1px solid var(--line)}
.s .deliv .f{font:400 11px var(--mono);color:var(--bronze);letter-spacing:.08em}
.s .deliv h4{font-family:var(--serif);font-weight:400;font-size:22px;margin:12px 0 8px}
.s .deliv p{font-size:14px;color:#3A4352}

/* registre de conformite */
.s .regt{margin-left:296px;width:calc(100% - 296px);border-collapse:collapse;font-size:14.5px}
.s .regt th{text-align:left;font:400 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 20px 14px 0;border-bottom:1px solid var(--ink)}
.s .regt td{padding:22px 20px 22px 0;border-bottom:1px solid var(--line);vertical-align:top}
.s .regt td:first-child{font-family:var(--serif);font-size:19px;width:34%}
.s .regt td.ref{font:400 12px var(--mono);color:var(--bronze);white-space:nowrap}
.s .regt td.dl{text-align:right;font:500 12px var(--mono);white-space:nowrap}
.s .regt td small{display:block;font:400 13.5px var(--sans);color:var(--muted);margin-top:6px}
.s .regwrap{margin-left:296px;overflow-x:auto}
.s .regwrap .regt{margin-left:0;width:100%;min-width:760px}

/* charte */
.s .charte{margin-left:296px;display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
.s .charte div{display:grid;grid-template-columns:52px 1fr;padding:24px 0;border-top:1px solid var(--line-d)}
.s .charte .n{font-family:var(--serif);font-weight:300;font-size:30px;color:var(--bronze-l);line-height:1}
.s .charte b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;color:#fff;margin-bottom:6px}
.s .charte p{font-size:14px;color:#A9B3C1}

/* reclamations */
.s .recl{margin-left:296px;display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:0;border:1px solid var(--line);background:#fff}
.s .recl>div{padding:28px 28px 30px}
.s .recl>div+div{border-left:1px solid var(--line)}
.s .recl .d{font:400 11px var(--mono);letter-spacing:.1em;color:var(--bronze);text-transform:uppercase}
.s .recl h4{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2;margin:12px 0 8px}
.s .recl p{font-size:14px;color:#3A4352}
.s .recl .adr{background:var(--sheet);font-size:13.5px;color:#3A4352;line-height:1.7}
.s .recl .adr b{font-weight:500;color:var(--ink)}

/* consultation / formulaire */
.s .cwrap{display:grid;grid-template-columns:500px 1fr}
.s .cpanel{background:var(--ink);color:#fff;padding:80px 64px;position:relative;overflow:hidden}
.s .cpanel .guil{position:absolute;left:-360px;bottom:-420px;width:900px;height:900px;opacity:.35;pointer-events:none}
.s .cpanel>*{position:relative}
.s .cpanel .eyebrow{color:var(--bronze-l)}
.s .cpanel h1{font-family:var(--serif);font-weight:300;font-size:52px;line-height:1.05;letter-spacing:-.015em;margin:22px 0 22px}
.s .cpanel p{color:#B9C2CF;font-size:16px}
.s .cpanel ol{list-style:none;margin-top:44px;border-top:1px solid var(--line-d)}
.s .cpanel li{display:grid;grid-template-columns:40px 1fr;padding:18px 0;border-bottom:1px solid var(--line-d);font-size:14px;color:#D5DAE2}
.s .cpanel li .n{font-family:var(--serif);font-size:22px;color:var(--bronze-l);line-height:1}
.s .cpanel li b{display:block;color:#fff;font-weight:500;margin-bottom:2px}
.s .cpanel .direct{margin-top:44px;font-size:13.5px;color:var(--muted-d);line-height:1.8}
.s .cpanel .direct b{color:#fff;font-weight:500}
.s .cform{background:var(--sheet);padding:80px 96px 88px}
.s .fs{margin-bottom:48px;border:0}
.s .fs .lg{display:flex;gap:14px;align-items:baseline;border-top:1px solid var(--ink);padding-top:18px;margin-bottom:26px}
.s .fs .lg .n{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--bronze);line-height:1}
.s .fs .lg h3,.s .fs .lg legend{font-family:var(--serif);font-weight:400;font-size:24px}
.s .fs .lg span.o{margin-left:auto;font:400 11px var(--mono);color:var(--muted);letter-spacing:.08em}
.s .fg{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.s .fg .full{grid-column:1/-1}
.s .fl label,.s .fl .lab{display:block;font-size:13px;font-weight:500;margin-bottom:7px}
.s .fl label small,.s .fl .lab small{font-weight:400;color:var(--muted)}
.s .inp{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;font:400 15px var(--sans);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
.s .inp::placeholder{color:var(--muted)}
.s .inp:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #0B16261A}
.s select.inp{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235A6271' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.s textarea.inp{min-height:110px;resize:vertical}
.s .chips2{display:flex;gap:8px;flex-wrap:wrap}
.s .chip{border:1px solid var(--line);background:#fff;padding:10px 15px;font-size:13.5px;cursor:pointer;user-select:none}
.s .chips2 input{position:absolute;opacity:0;pointer-events:none}
.s .chips2 input:checked+.chip{background:var(--ink);color:#fff;border-color:var(--ink)}
.s .chips2 input:focus-visible+.chip{border-color:var(--ink);box-shadow:0 0 0 3px #0B16261A}
.s .upl{border:1px dashed #B9AE96;background:#fff;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:14px;color:#3A4352}
.s .upl small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.s .cbx{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:13px;color:#3A4352;line-height:1.55;cursor:pointer}
.s .cbx input{width:16px;height:16px;margin-top:2px;accent-color:var(--ink)}
.s .cbx a{color:var(--ink)}
.s .subm{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:28px;flex-wrap:wrap}
.s .subm p{font-size:12.5px;color:var(--muted);max-width:420px}
.s .hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden}
.s .fnotice{border:1px solid var(--line);padding:16px 20px;font-size:14px;margin-bottom:34px;background:#fff}
.s .fnotice.ok{border-color:var(--ok);background:#E4EFE8;color:var(--ok)}
.s .fnotice.ko{border-color:var(--ko);background:#F3E2DF;color:var(--ko)}
.s .err{color:var(--ko);font-size:12.5px;margin-top:5px;display:block}

/* contenu redactionnel (pages legales et vitrines) */
.s .prose{margin-left:296px;max-width:860px}
.s .prose h3{font-family:var(--serif);font-weight:400;font-size:27px;margin:44px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
.s .prose h3:first-child{margin-top:0}
.s .prose p,.s .prose li{font-size:15.5px;color:#3A4352;line-height:1.7}
.s .prose p+p{margin-top:14px}
.s .prose ul{padding-left:22px;margin-top:14px}
.s .prose li{margin-top:6px}
.s .prose .mono-note{font:400 12px var(--mono);color:var(--muted);letter-spacing:.05em;margin-top:34px}

/* page de reponse du formulaire (form-contact.php) */
.s .reply{max-width:760px;margin:0 auto;padding:110px 24px 130px}
.s .reply .eyebrow{color:var(--bronze)}
.s .reply h1{font-family:var(--serif);font-weight:300;font-size:52px;line-height:1.05;letter-spacing:-.015em;margin:22px 0 22px}
.s .reply p{font-size:16.5px;color:#3A4352;line-height:1.7}
.s .reply .ctas{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}

/* guilloche (fichier SVG statique reference en <img>) */
img.guil{display:block}

/* ================= breakpoint 1100 ================= */
@media (max-width:1100px){
  .s .util{padding:10px 40px}
  .s nav{padding:22px 40px}
  .s nav ul{display:none}
  .s .burger{display:block}
  .s .navtoggle:checked~.mnav{display:block}
  .s .navtoggle:checked~nav .burger{border-bottom:0}
  .s .hero{grid-template-columns:1fr;gap:56px;padding:80px 40px 88px}
  .s .hero h1{font-size:60px}
  .s .facts,.s .facts.f3{grid-template-columns:1fr 1fr;padding:0 40px}
  .s .facts div:nth-child(2n){padding-left:32px;border-left:1px solid var(--line)}
  .s .facts div{border-bottom:1px solid var(--line)}
  .s .facts div:last-child,.s .facts div:nth-last-child(2):nth-child(odd){border-bottom:0}
  .s section.chap{padding:88px 40px}
  .s .ch{grid-template-columns:1fr;gap:22px;margin-bottom:44px}
  .s .ch h2{font-size:40px}
  .s .articles,.s .rows,.s .sectors,.s .tl,.s .plat,.s .gov,.s .pubs,.s .mxwrap,.s .mx-legend,
  .s .quadw,.s .deliv,.s .regt,.s .regwrap,.s .charte,.s .recl,.s .prose,.s .indent{margin-left:0}
  .s .regt{width:100%}
  .s .articles{grid-template-columns:1fr 1fr}
  .s .articles div:nth-child(3){border-left:0;padding-left:0}
  .s .rows .row{grid-template-columns:44px 1fr 24px;gap:16px}
  .s .rows .row p,.s .rows .row .sc{display:none}
  .s .sectors{grid-template-columns:1fr 1fr}
  .s .sectors div:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .s .sectors div:nth-child(2n){padding-left:32px;border-left:1px solid var(--line)}
  .s .tl{grid-template-columns:1fr 1fr;gap:36px 0}
  .s .plat{grid-template-columns:1fr}
  .s .pubs{grid-template-columns:1fr;max-width:560px}
  .s .deliv{grid-template-columns:1fr 1fr}
  .s .deliv div+div{border-left:0;padding-left:0}
  .s .deliv div:nth-child(2n){padding-left:28px;border-left:1px solid var(--line)}
  .s .deliv div{padding-bottom:26px;border-bottom:1px solid var(--line)}
  .s .ao,.s .ao.ao--tight{grid-template-columns:1fr;padding:64px 40px;gap:36px}
  .s .ao .ao-c3{border-top:0;padding-top:0}
  .s footer{padding:64px 40px 32px}
  .s .fgrid{grid-template-columns:1fr 1fr;gap:32px}
  .s .crumb{padding:14px 40px}
  .s .phead{grid-template-columns:1fr;gap:44px;padding:64px 40px 72px}
  .s .phead h1{font-size:48px}
  .s .mfoot{padding:24px 40px}
  .s .cwrap{grid-template-columns:1fr}
  .s .cpanel{padding:56px 40px}
  .s .cform{padding:56px 40px 64px}
  .s .charte{grid-template-columns:1fr}
  .s .recl{grid-template-columns:1fr 1fr}
  .s .recl>div+div{border-left:0}
  .s .recl>div:nth-child(2n){border-left:1px solid var(--line)}
  .s .recl>div:nth-child(n+3){border-top:1px solid var(--line)}
}

/* ================= breakpoint 760 ================= */
@media (max-width:760px){
  .s .util{padding:9px 20px;font-size:11px}
  .s .util .u-left{display:none}
  .s .util .u-hide-m{display:none}
  .s .util span+span,.s .util a+a,.s .util a+span{margin-left:18px}
  .s nav{padding:16px 20px}
  .s .brand .w{font-size:20px}
  .s .brand .t{display:none}
  .s nav .btn{display:none}
  .s .burger{display:block}
  .s .navtoggle:checked~.mnav{display:block}
  .s .navtoggle:checked~nav .burger{border-bottom:0}
  .s .hero{display:block;padding:52px 20px 40px}
  .s .hero .guil{width:700px;height:700px;right:-430px;top:-160px;-webkit-mask-image:none;mask-image:none;opacity:.35}
  .s .hero h1{font-size:46px;margin:20px 0 22px}
  .s .hero p.lead{font-size:16.5px}
  .s .hero .ctas{flex-direction:column;margin-top:30px}
  .s .hero .ctas .btn{justify-content:center}
  .s .hero .sig{gap:22px}
  .s .acte{margin-top:44px;padding:28px 24px 22px}
  .s .acte h3{font-size:21px}
  .s .acte li{grid-template-columns:44px 1fr auto;font-size:13px}
  .s .acte li .v{font-size:14.5px}
  .s .facts,.s .facts.f3{grid-template-columns:1fr 1fr;padding:0 20px}
  .s .facts div{padding:26px 14px 26px 0!important;border-left:0!important;border-bottom:1px solid var(--line)}
  .s .facts div:nth-child(2n){padding-left:16px!important;border-left:1px solid var(--line)!important}
  .s .facts b{font-size:36px}
  .s section.chap{padding:64px 20px}
  .s .ch{display:block;margin-bottom:32px}
  .s .ch h2{font-size:34px;margin:18px 0 14px}
  .s .articles{display:block}
  .s .articles div{padding:26px 0!important;border-left:0!important;border-bottom:1px solid var(--line-d)}
  .s .articles div:last-child{border-bottom:0}
  .s .articles h4{font-size:24px}
  .s .rows .row{grid-template-columns:34px 1fr 20px;gap:12px;padding:22px 0}
  .s .rows h3{font-size:22px}
  .s .sectors{grid-template-columns:1fr}
  .s .sectors div{padding:24px 0!important;border-left:0!important}
  .s .tl{grid-template-columns:1fr;gap:0}
  .s .tl:before{display:none}
  .s .tl div{padding:22px 0;border-top:1px solid var(--line)}
  .s .tl i{display:none}
  .s .tl .d{margin:0 0 8px}
  .s .mini .kpis{grid-template-columns:1fr 1fr}
  .s .mini .kpis div:nth-child(2n){border-right:0}
  .s .org .hz,.s .org .apex:after,.s .org .box:before{display:none}
  .s .org{grid-template-columns:1fr;padding-top:0;gap:16px}
  .s .org .apex{width:100%}
  .s .gov .cmt{flex-direction:column;gap:8px}
  .s .deliv{grid-template-columns:1fr}
  .s .deliv div{padding-left:0!important;border-left:0!important}
  .s .quad{grid-template-columns:1fr}
  .s .quad div{border-left:0!important;border-top:1px solid var(--line);min-height:0}
  .s .quad div:first-child{border-top:0}
  .s .quadw .ax{display:none}
  .s .quadw{grid-template-columns:1fr}
  .s .quadw .axb{grid-column:1;margin-top:12px}
  .s .ao,.s .ao.ao--tight{padding:56px 20px}
  .s .ao h2{font-size:34px}
  .s footer{padding:48px 20px 28px}
  .s .fgrid{grid-template-columns:1fr;gap:28px}
  .s .crumb{padding:12px 20px}
  .s .phead{padding:48px 20px 56px}
  .s .phead h1{font-size:38px;margin:18px 0 20px}
  .s .phead p.lead{font-size:16.5px}
  .s .phead .guil{width:640px;height:640px;right:-400px;top:-260px;opacity:.35}
  .s .mfoot{padding:20px;flex-direction:column;gap:8px}
  .s .cpanel{padding:48px 20px}
  .s .cpanel h1{font-size:38px}
  .s .cform{padding:48px 20px 56px}
  .s .fg{grid-template-columns:1fr}
  .s .recl{grid-template-columns:1fr}
  .s .recl>div{border-left:0!important;border-top:1px solid var(--line)}
  .s .recl>div:first-child{border-top:0}
  .s .charte div{grid-template-columns:40px 1fr}
  .s .reply{padding:72px 20px 88px}
  .s .reply h1{font-size:38px}
}

/* accessibilite : focus visible et mouvement reduit */
.s a:focus-visible,.s .btn:focus-visible,.s input:focus-visible,.s select:focus-visible,.s textarea:focus-visible,.s .chip:focus-visible{
  outline:2px solid var(--bronze-l);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
