/* CYST'M service pages. Scoped to preserve all other legacy pages. */
.cystm-refresh {--cs-ink:#132e49;--cs-blue:#155f96;--cs-muted:#4f6273;--cs-line:#dce5ec;--cs-soft:#f3f7fa;background:#fff;color:var(--cs-ink)}
.cystm-refresh #header {position:relative;min-width:0;border-bottom:1px solid var(--cs-line)}
.cystm-refresh #header .infobar {background:#132e49!important;color:#fff;font-size:12px}
.cystm-refresh #header .infobar a {color:#fff}
.cystm-refresh .bg_menu {max-width:1240px;padding:0 24px}
.cystm-refresh #conteneur_header {align-items:center;padding:22px 0}
.cystm-refresh #header #logo {width:235px;flex:0 0 235px}
.cystm-refresh #header #logo img {display:block;width:100%;height:auto}
.cystm-refresh #position-menu {width:auto;flex:1;padding-left:32px;justify-content:flex-end}
.cystm-refresh #conteneur_contenu {min-width:0}
.cystm-refresh #contenu {padding:0!important;width:100%;text-align:left}
.cystm-refresh .cs-crumb-shell {background:#fff;border-bottom:1px solid var(--cs-line)}
.cystm-refresh .cs-crumb {max-width:1180px;margin:auto;padding:17px 0;font-size:12px;line-height:1.5;color:var(--cs-muted);display:flex;gap:12px;flex-wrap:wrap}
.cystm-refresh .cs-crumb a {color:var(--cs-muted)}
.cs-page {font-family:Arial,Helvetica,sans-serif;color:var(--cs-ink);font-size:17px;line-height:1.7;text-align:left;overflow-wrap:anywhere}
.cs-page * {box-sizing:border-box}
.cs-page .cs-shell {width:calc(100% - 48px);max-width:1180px;margin:0 auto}
.cs-page p {font-size:17px;line-height:1.75;color:var(--cs-muted);margin:0 0 18px;max-width:72ch}
.cs-page h1,.cs-page h2,.cs-page h3 {font-family:Arial,Helvetica,sans-serif;color:var(--cs-ink);font-weight:700;text-transform:none;letter-spacing:-.035em;padding:0;border:0;background:none;text-align:left}
.cs-page h1:after,.cs-page h2:after,.cs-page h3:after {display:none}
.cs-page h1 {font-size:clamp(36px,3.6vw,50px);line-height:1.12;margin:20px 0 24px;max-width:22ch}
.cs-page h2 {font-size:clamp(28px,3vw,38px);line-height:1.2;margin:12px 0 22px;max-width:27ch}
.cs-page h3 {font-size:22px;line-height:1.3;margin:0 0 12px;letter-spacing:-.025em}
.cs-page a {color:var(--cs-blue);text-decoration:underline;text-underline-offset:4px}
.cs-page a:focus-visible,.cs-page summary:focus-visible {outline:3px solid #1484c7;outline-offset:5px}
.cs-page .cs-eyebrow {font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.5;color:var(--cs-blue);margin:0 0 14px}
.cs-page .cs-hero {background:#102f4b;padding:70px 0 74px;border-bottom:1px solid var(--cs-line)}
.cs-page .cs-hero-grid {display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.88fr);gap:80px;align-items:center}
.cs-page .cs-lead {font-size:19px;line-height:1.65;max-width:50ch;margin-bottom:28px}
.cs-page .cs-actions {display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:28px 0 24px}
.cs-page .cs-button {display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--cs-blue);border:1px solid var(--cs-blue);border-radius:5px;color:#fff;text-decoration:none;font-size:14px;font-weight:700;line-height:1.45;padding:16px 22px;min-height:52px;transition:background .15s}
.cs-page .cs-button:hover {background:#124d79;color:#fff}
.cs-page .cs-button-outline {background:transparent;color:var(--cs-ink);border-color:#bbcad7}
.cs-page .cs-button-outline:hover {background:#e3edf4;color:var(--cs-ink)}
.cs-page .cs-local {font-size:12px;color:#526779;margin:0}
.cs-page .cs-panel {position:relative;background:#1e4b6d;border:1px solid #407194;border-radius:12px;padding:36px;box-shadow:16px 18px 0 #0a2236;color:#fff}
.cs-page .cs-panel p {color:#d7e5ef;font-size:15px;line-height:1.65}
.cs-page .cs-panel h2 {color:#fff;font-size:29px;line-height:1.2;letter-spacing:-.02em;margin:12px 0 18px}
.cs-page .cs-panel .cs-eyebrow {color:#8bcaee;font-size:10px}
.cs-page .cs-panel-list {margin-top:26px;border-top:1px solid #3a5b77}
.cs-page .cs-panel-row {display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #3a5b77}
.cs-page .cs-panel-number {font-size:12px;color:#8bcaee;letter-spacing:.1em;flex:0 0 22px}
.cs-page .cs-panel-row strong {display:block;color:#fff;font-size:15px;line-height:1.45}
.cs-page .cs-panel-row small {display:block;color:#c2d6e5;font-size:12px;line-height:1.5}
.cs-page .cs-section {padding:82px 0}
.cs-page .cs-section-head {display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:36px}
.cs-page .cs-section-head p {margin-bottom:24px}
.cs-page .cs-services {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px;row-gap:30px}
.cs-page .cs-service {border-top:2px solid #1f78b1;padding-top:24px}
.cs-page .cs-service-number {display:block;color:#7394ad;font-size:12px;font-weight:700;letter-spacing:.15em;margin-bottom:18px}
.cs-page .cs-service p {font-size:16px;line-height:1.7}
.cs-page .cs-method {background:#173f60;border-top:1px solid #2b5676;border-bottom:1px solid #2b5676}
.cs-page .cs-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:38px}
.cs-page .cs-step {padding-right:24px;border-right:1px solid #d5e0e8}
.cs-page .cs-step:last-child {border-right:0}
.cs-page .cs-step-number {display:inline-flex;border:1px solid #bed0df;color:var(--cs-blue);width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;font-size:13px;margin-bottom:22px}
.cs-page .cs-step p {font-size:16px}
.cs-page .cs-faq-grid {display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}
.cs-page .cs-faq details {border-bottom:1px solid var(--cs-line);padding:0;margin:0}
.cs-page .cs-faq details:first-child {border-top:1px solid var(--cs-line)}
.cs-page .cs-faq summary {cursor:pointer;position:relative;padding:22px 35px 22px 0;font-size:17px;font-weight:700;line-height:1.45;list-style:none;color:var(--cs-ink)}
.cs-page .cs-faq summary::-webkit-details-marker {display:none}
.cs-page .cs-faq summary:after {content:'+';position:absolute;right:4px;top:20px;font-size:24px;font-weight:400;color:var(--cs-blue)}
.cs-page .cs-faq details[open] summary:after {content:'−'}
.cs-page .cs-faq p {font-size:16px;margin:0;padding:0 30px 24px 0}
.cs-page .cs-related {display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.cs-page .cs-related a {padding:26px;border:1px solid var(--cs-line);border-radius:6px;background:#fafcfd;text-decoration:none}
.cs-page .cs-related a:hover {border-color:#3b87ba;background:#f2f7fa}
.cs-page .cs-related strong {display:block;color:var(--cs-blue);font-size:17px;margin-bottom:7px}
.cs-page .cs-related span {display:block;color:var(--cs-muted);font-size:14px;line-height:1.5}
.cs-page .cs-closing {background:#153958;padding:54px 0}
.cs-page .cs-closing-grid {display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.cs-page .cs-closing h2 {font-size:32px;color:#fff;margin-top:0;max-width:30ch}
.cs-page .cs-closing p {color:#d7e5ef;margin:0;font-size:17px}
.cs-page .cs-closing .cs-button {background:#fff;color:#163b5b;border-color:#fff}
.cs-page .cs-local-links {padding:32px 0;font-size:13px;border-top:1px solid var(--cs-line)}
.cs-page .cs-local-links p {font-size:13px;margin-bottom:10px}
.cs-page .cs-local-links ul {display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0}
.cs-page .cs-local-links li {margin:0;font-size:12px}
.cystm-refresh .footer {border-top:0}
@media (max-width:1228px) {.cystm-refresh .cs-crumb {margin:0 24px}}
@media (min-width:1001px) and (max-width:1200px) {.cystm-refresh #header #logo{width:195px;flex-basis:195px}.cystm-refresh #position-menu{padding-left:20px}.cystm-refresh #menu_haut>ul>li>a{font-size:13px;padding-left:10px;padding-right:10px}}
@media (max-width:1000px) {
 .cystm-refresh .bg_menu {padding:0 18px}
 .cystm-refresh #conteneur_header {padding:16px 0}
 .cystm-refresh #header #logo {width:210px;flex:0 1 210px;padding:0;margin:0;left:0}
 .cystm-refresh #header #logo img {max-width:100%!important;width:100%!important}
 .cystm-refresh #position-menu {left:-18px;width:calc(100% + 36px);padding:0;display:block;flex:none;text-align:left;z-index:1000}
 .cs-page .cs-hero-grid {gap:38px;grid-template-columns:1.1fr .9fr}
 .cs-page .cs-panel {padding:25px;box-shadow:8px 10px 0 #0a2236}
 .cs-page .cs-panel h2 {font-size:25px}
 .cs-page .cs-section-head,.cs-page .cs-faq-grid {gap:36px}
}
@media (max-width:760px) {
 .cs-page .cs-hero {padding:42px 0 48px}
 .cs-page .cs-shell {width:calc(100% - 40px)}
 .cs-page .cs-hero-grid,.cs-page .cs-section-head,.cs-page .cs-faq-grid,.cs-page .cs-closing-grid {grid-template-columns:1fr;gap:28px}
 .cs-page h1 {max-width:18ch;font-size:39px}
 .cs-page h2 {font-size:29px}
 .cs-page .cs-lead {font-size:18px}
 .cs-page .cs-panel {margin:0 8px 0 0}
 .cs-page .cs-panel h2 {max-width:20ch;font-size:27px}
 .cs-page .cs-panel-list {margin-top:18px}
 .cs-page .cs-section {padding:54px 0}
 .cs-page .cs-section-head {margin-bottom:24px;gap:0}
 .cs-page .cs-services {grid-template-columns:1fr;gap:24px}
 .cs-page .cs-service {padding-top:20px}
 .cs-page .cs-service-number {margin-bottom:10px}
 .cs-page .cs-steps {grid-template-columns:1fr;gap:22px;margin-top:26px}
 .cs-page .cs-step {border-right:0;border-bottom:1px solid var(--cs-line);padding:0 0 14px}
 .cs-page .cs-step:last-child {border-bottom:0;padding-bottom:0}
 .cs-page .cs-step-number {margin-bottom:15px}
 .cs-page .cs-related {grid-template-columns:1fr;margin-top:38px;gap:14px}
 .cs-page .cs-closing {padding:42px 0}
 .cs-page .cs-closing h2 {font-size:29px}
 .cs-page .cs-closing .cs-button {justify-self:start}
 .cystm-refresh .cs-crumb {margin:0 20px;padding:13px 0;font-size:11px;gap:8px}
}
@media (prefers-reduced-motion:reduce) {.cs-page * {transition:none!important;scroll-behavior:auto!important}}

/* Stronger contrast requested after the first visual review. */
.cs-page .cs-hero h1,.cs-page .cs-method h2,.cs-page .cs-method h3 {color:#fff}
.cs-page .cs-hero .cs-lead,.cs-page .cs-method p {color:#e0eaf2}
.cs-page .cs-hero .cs-eyebrow,.cs-page .cs-method .cs-eyebrow {color:#8cd4fa}
.cs-page .cs-hero .cs-local {color:#c2d8e8}
.cs-page .cs-hero .cs-button {background:#fff;border-color:#fff;color:#123651}
.cs-page .cs-hero .cs-button:hover {background:#d4edfc;border-color:#d4edfc}
.cs-page .cs-hero .cs-button-outline {background:transparent;border-color:#6b96b6;color:#fff}
.cs-page .cs-hero .cs-button-outline:hover {background:#254f70;border-color:#8eb9d8;color:#fff}
.cs-page .cs-method .cs-step {border-color:#426780}
.cs-page .cs-method .cs-step-number {border-color:#6697b8;color:#fff}

/* Service illustrations: replace the text-heavy hero panel. */
.cs-page .cs-hero-grid {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:60px}
.cs-page .cs-hero-visual {margin:0;border-radius:12px;overflow:hidden;background:#1e4b6d;box-shadow:14px 16px 0 #0a2236;border:1px solid #407194}
.cs-page .cs-hero-visual img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0;padding:0;border:0}
.cs-page .cs-hero-visual figcaption {padding:24px 26px;color:#fff;line-height:1.55}
.cs-page .cs-hero-visual strong {display:block;font-size:21px;font-weight:700;line-height:1.3;margin-bottom:9px;color:#fff}
.cs-page .cs-hero-visual span {display:block;color:#dbe8f2;font-size:14px;line-height:1.6}
.cs-page .cs-hero-visual small {display:block;margin-top:12px;font-size:10px;color:#b6cddd}
@media(max-width:760px){
 .cs-page .cs-hero-grid {grid-template-columns:1fr;gap:30px}
 .cs-page h1 {font-size:34px!important;line-height:1.13;margin:14px 0 20px}
 .cs-page .cs-hero-visual {box-shadow:7px 9px 0 #0a2236;margin-right:7px}
 .cs-page .cs-hero-visual figcaption {padding:20px}
 .cs-page .cs-hero-visual strong {font-size:20px}
}
