:root{
  --black:#0B1F3A;--near:#0E2748;--card:#12305B;
  --red:#2563EB;--red-lt:#3B82F6;--red-txt:#60A5FA;
  --w:#fff;--g1:#9DB0C6;--g2:#6C819B;--g3:#1B3352;
  --ink:#111113;--ink-2:#55555C;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Space Grotesk',system-ui,sans-serif;background:var(--black);color:var(--w);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
.dsp{font-family:'Inter',sans-serif;font-weight:900;letter-spacing:-.05em;line-height:.9}

/* hero */
.hero{position:relative;min-height:96vh;display:flex;flex-direction:column;overflow:hidden;background:var(--black)}
.hero::before{content:"";position:absolute;top:-12%;left:-6%;width:52%;height:66%;
  background:radial-gradient(closest-side,rgba(37,99,235,.30),transparent 74%);filter:blur(10px);pointer-events:none}
.hero-photo{position:absolute;right:0;top:0;bottom:0;width:52%;
  background:url("img/agent-securite-radio-ronde-nocturne.webp") center right/cover no-repeat;mix-blend-mode:lighten;pointer-events:none}
.hero-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--black) 0%,rgba(11,31,58,.72) 26%,transparent 62%)}
.nav{position:relative;z-index:5;display:flex;align-items:center;gap:22px;padding:24px 0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand img{height:26px;width:auto;display:block}
.wm{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--w)}
.wm b { color: var(--accent) !important; font-weight: 800; transition: color 0.2s; }
.nav ul{display:flex;gap:6px;list-style:none;margin-left:18px}
.nav ul a{display:block;font-size:13.5px;font-weight:500;color:var(--g1);text-decoration:none;padding:7px 12px;border-radius:99px}
.nav ul a.on,.nav ul a:hover{color:var(--w)}
.nav-r{margin-left:auto;display:flex;gap:10px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:9px;background:var(--w);color:var(--ink);border-radius:99px;
  padding:11px 20px;font-size:13px;font-weight:600;text-decoration:none;letter-spacing:-.01em;transition:.16s;white-space:nowrap}
.pill:hover{background:var(--red-lt);color:#fff}
.pill.o{background:transparent;color:var(--w);border:1px solid rgba(255,255,255,.22)}
.pill.o:hover{background:rgba(255,255,255,.1);color:var(--w)}
.hero-body{position:relative;z-index:4;flex:1;display:flex;align-items:center;padding:20px 0 52px}
.hero-body .wrap{width:100%}
.hero-col{max-width:660px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--g1);margin-bottom:22px}
.kicker i{width:8px;height:8px;border-radius:50%;background:var(--red-lt);display:block}
h1{font-size:clamp(42px,6.1vw,88px);margin-bottom:24px}
h1 .a{display:block;color:var(--w)}
h1 .b{display:block;color:var(--red-lt)}
.hero-sub{font-size:15px;line-height:1.62;color:var(--g1);max-width:430px}
.hero-sub strong{color:var(--w);font-weight:600}
.cta-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:20px}
.trust li{position:relative;padding-left:23px;font-size:12.8px;font-weight:500;color:var(--g1)}
.trust li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--red-lt)}
.trust li::after{content:"";position:absolute;left:4.8px;top:7.2px;width:6px;height:3px;
  border-left:1.7px solid #fff;border-bottom:1.7px solid #fff;transform:rotate(-45deg)}

/* vignettes missions, sur fond noir */
.miss-sec{background:var(--black);padding:0 0 74px}
.miss{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.miss .th{position:relative;aspect-ratio:16/10;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.09)}
.miss .th img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86}
.miss .th .gardiennage-photo{object-position:50% 35%}
.miss .th b{position:absolute;left:10px;top:10px;z-index:2;background:var(--red);color:#fff;font-size:10px;
  font-weight:700;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;border-radius:99px}
.miss h3{font-family:'Inter',sans-serif;font-weight:800;font-size:16.5px;letter-spacing:-.026em;margin-top:12px}
.miss p{font-size:12.8px;color:var(--g2);margin-top:2px}

/* panneau blanc */
.sheet{position:relative;z-index:6;background:var(--w);color:var(--ink);border-radius:0;padding:70px 0 78px}
.sheet-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start;margin-bottom:56px}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);
  margin-bottom:18px;display:flex;align-items:center;gap:10px}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--red);display:block}
.big{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-.04em;line-height:1.05;
  font-size:clamp(28px,3.6vw,46px);color:var(--ink);margin-bottom:18px}
.big em{font-style:normal;color:var(--red)}
.after{font-size:15px;line-height:1.68;color:var(--ink-2);max-width:520px}
.after strong{color:var(--ink);font-weight:600}
.reserve{border-left:3px solid var(--red);padding-left:16px;font-size:13.2px;line-height:1.64;color:var(--ink-2);margin-top:18px}
.pill.dark{background:var(--ink);color:#fff}
.pill.dark:hover{background:var(--red)}
.sheet .cta-row{margin-top:24px}
.steps{display:flex;flex-direction:column;gap:24px}
.step{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:start}
.step .n{font-family:'Inter',sans-serif;font-weight:900;font-size:30px;line-height:1;letter-spacing:-.05em;color:var(--red)}
.step h4{font-family:'Inter',sans-serif;font-weight:800;font-size:17px;letter-spacing:-.026em;margin-bottom:5px}
.step p{font-size:13.4px;line-height:1.6;color:var(--ink-2)}
.cover-hd{display:flex;align-items:flex-end;gap:26px;margin-bottom:28px;flex-wrap:wrap;border-top:1px solid #E6E6EA;padding-top:44px}
.cover-hd h2{font-family:'Inter',sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1.04;font-size:clamp(26px,3vw,36px)}
.cover-hd p{font-size:14px;color:var(--ink-2);max-width:380px;margin-left:auto;line-height:1.6}
.grid8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid8 div{background:#F4F7FB;border:1px solid #E2E9F2;border-radius:14px;padding:18px 18px 20px}
.grid8 i{width:26px;height:26px;background:var(--red);margin-bottom:12px;font-style:normal;display:block;
  clip-path:polygon(0 0,100% 0,100% 42%,42% 42%,42% 100%,0 100%)}
.grid8 h4{font-family:'Inter',sans-serif;font-weight:800;font-size:15.5px;letter-spacing:-.024em;margin-bottom:5px;line-height:1.2}
.grid8 p{font-size:12.8px;color:var(--ink-2);line-height:1.5}

/* formulaire */
.demande{background:var(--near);padding:74px 0 82px}
.demande .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start}
.demande h2{font-family:'Inter',sans-serif;font-weight:900;letter-spacing:-.048em;line-height:.96;
  font-size:clamp(30px,4vw,50px);margin-bottom:18px}
.demande h2 span{color:var(--red-lt)}
.demande .sub{font-size:14.5px;line-height:1.65;color:var(--g1);margin-bottom:18px}
.demande .reserve{border-left-color:var(--red-lt);color:var(--g1)}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{display:flex;flex-direction:column;gap:7px}
.f.full{grid-column:1/-1}
label{font-size:11.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--g1)}
input,select,textarea{font-family:inherit;font-size:14.5px;color:var(--w);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:13px 15px;width:100%}
select option{background:#1a1a1c;color:#fff}
textarea{min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:#67676E}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red-lt);outline-offset:1px;border-color:var(--red-lt);background:rgba(255,255,255,.08)}
.send{grid-column:1/-1;justify-self:start;background:var(--w);color:var(--ink);border:none;border-radius:99px;
  padding:15px 30px;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;transition:.16s}
.send:hover{background:var(--red-lt);color:#fff}
.note{grid-column:1/-1;font-size:12.5px;color:var(--g2);line-height:1.55}

.pad{height:118px;background:var(--black)}

@media(max-width:1020px){
  .miss{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sheet-grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:820px){
  .hero{min-height:auto}
  .hero-photo{width:100%;opacity:.42}
  .hero-body{padding:30px 0 54px}
  .nav ul{display:none}
  .nav-r .pill.o{display:none}
  .demande .grid{grid-template-columns:1fr;gap:30px}
  form{grid-template-columns:1fr}
  .miss{grid-template-columns:1fr}
  .grid8{grid-template-columns:1fr}
  .sheet{border-radius:0;padding:52px 0 60px}
  .wrap{padding:0 22px}
}


/* THEME STUDIO FLOATING WIDGET */

/* ============================================================
   Pages de service, ajoute le 31/08/2026, contraste corrige.
   .sheet est CLAIR, .sheet.alt est SOMBRE : chaque couleur de texte
   est declaree par contexte, jamais une seule fois pour les deux.
   ============================================================ */

.hero-service { min-height: auto; padding-bottom: 72px }
.hero-service .hero-photo { background-size: cover; background-position: center; opacity: .62 }
@media(max-width:820px){.hero-evenementiel .hero-photo{opacity:.28}}
.hero-service .hero-txt { max-width: 660px; padding: 84px 0 0 }
.hero-service h1 { font-size: clamp(34px, 5vw, 60px); line-height: 1.04; letter-spacing: -.03em; margin: 0 0 18px }
.hero-service .sub { max-width: 52ch; color: var(--g1); font-size: 17px; line-height: 1.6; margin: 0 0 26px }
.hero-service .cta { display: flex; gap: 12px; flex-wrap: wrap }

.sheet.alt { background: var(--near); color: var(--w); border-radius: 0 }
.sec-t { font-size: clamp(24px, 3vw, 34px); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 28px }
.ss-t { font-size: 15px; font-weight: 700; margin: 0 0 12px }

.deux-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px }
@media (max-width: 860px) { .deux-col { grid-template-columns: 1fr; gap: 28px } }

.liste { list-style: none; margin: 0; padding: 0 }
.liste li { position: relative; padding-left: 26px; margin-bottom: 10px; line-height: 1.55;
  color: var(--ink-2) }
.sheet.alt .liste li { color: var(--g1) }
.liste li::before { position: absolute; left: 0; top: 0; font-weight: 700 }
.liste.oui li::before { content: '✓'; color: #0F9968 }
.liste.non li::before { content: '✕'; color: #C4342F }
.sheet.alt .liste.oui li::before { color: #34D399 }
.sheet.alt .liste.non li::before { color: #F87171 }

.cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px }
.carte { background: var(--card); border: 1px solid var(--g3); border-radius: 14px; padding: 22px }
.carte .tag { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; color: var(--w); background: var(--red); padding: 4px 9px;
  border-radius: 99px; margin-bottom: 12px }
.carte h3 { font-size: 17px; margin: 0 0 8px; letter-spacing: -.01em; color: var(--w) }
.carte p { color: var(--g1); font-size: 14.5px; line-height: 1.55; margin: 0 }

.etapes { list-style: none; margin: 0; padding: 0; display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 26px }
.etapes li { position: relative; padding-top: 46px }
.etapes .num { position: absolute; top: 0; left: 0; font-size: 13px; font-weight: 800;
  letter-spacing: .06em; color: var(--red) }
.etapes li::after { content: ''; position: absolute; top: 30px; left: 0; width: 26px; height: 2px;
  background: var(--red) }
.etapes h3 { font-size: 17px; margin: 0 0 8px }
.etapes p { color: var(--ink-2); font-size: 14.5px; line-height: 1.55; margin: 0 }
.sheet.alt .etapes .num { color: var(--red-txt) }
.sheet.alt .etapes p { color: var(--g1) }

.sheet.alt .encart { background: var(--card); border: 1px solid var(--g3) }
.encart { background: #F4F6F9; border: 1px solid #E3E8EF; border-radius: 14px; padding: 24px;
  align-self: start }
.encart h3 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--red);
  margin: 0 0 14px }
.sheet.alt .encart h3 { color: var(--red-txt) }
.refs { list-style: none; margin: 0 0 14px; padding: 0 }
.refs li { border-top: 1px solid #E3E8EF; padding: 10px 0; color: var(--ink-2); font-size: 14px;
  line-height: 1.5 }
.refs li b { display: block; font-size: 13px; letter-spacing: .03em; margin-bottom: 2px;
  color: var(--ink) }
.sheet.alt .refs li { border-top-color: var(--g3); color: var(--g1) }
.sheet.alt .refs li b { color: var(--w) }
.sheet.alt p { color: var(--g1) }
.sheet.alt .sec-t, .sheet.alt h3 { color: var(--w) }

.faq details { border-top: 1px solid #E3E8EF; padding: 16px 0 }
.faq details:last-child { border-bottom: 1px solid #E3E8EF }
.faq summary { cursor: pointer; font-weight: 600; font-size: 16.5px; list-style: none;
  display: flex; justify-content: space-between; gap: 20px; align-items: baseline }
.faq summary::-webkit-details-marker { display: none }
.faq summary::after { content: '+'; color: var(--red); font-weight: 700; font-size: 20px; line-height: 1 }
.faq details[open] summary::after { content: '3' }
.faq details p { color: var(--ink-2); font-size: 15px; line-height: 1.6; margin: 12px 0 0; max-width: 72ch }

/* ============================================================
   Calculateur d'heures, 31/08/2026.
   ============================================================ */

.hero-calc { min-height: auto; padding-bottom: 56px }
.hero-calc .hero-txt { padding-top: 72px }

.calc { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: start }
@media (max-width: 900px) { .calc { grid-template-columns: 1fr } }

.calc-in { background: #F4F6F9; border: 1px solid #E3E8EF; border-radius: 16px; padding: 26px }
.calc-in .f { margin-bottom: 16px }
.calc-in label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ink-2); margin-bottom: 7px }
.calc-in select, .calc-in input[type=number], .calc-in input[type=time] {
  width: 100%; padding: 11px 13px; border: 1px solid #D6DCE5; border-radius: 9px;
  background: #fff; color: var(--ink); font: 500 15px/1.2 'Inter', system-ui, sans-serif }
.calc-in select:focus, .calc-in input:focus { outline: 2px solid var(--red); outline-offset: 1px }
.f-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px }

.jours { display: flex; gap: 6px; flex-wrap: wrap }
.jours .j { margin: 0 }
.jours .j input { position: absolute; opacity: 0; pointer-events: none }
.jours .j span { display: block; min-width: 42px; text-align: center; padding: 9px 6px;
  border: 1px solid #D6DCE5; border-radius: 9px; background: #fff; cursor: pointer;
  font-size: 13px; font-weight: 700; color: var(--ink-2) }
.jours .j input:checked + span { background: var(--red); border-color: var(--red); color: #fff }
.jours .j input:focus-visible + span { outline: 2px solid var(--red); outline-offset: 2px }

.calc-in label.check { display: flex; align-items: center; gap: 10px; text-transform: none;
  letter-spacing: 0; font-size: 14px; font-weight: 500; color: var(--ink) }
.calc-in label.check input { width: auto }

.calc-out { display: block; background: var(--black); color: var(--w); border-radius: 16px;
  padding: 28px; position: sticky; top: 20px }
.r-big { display: flex; align-items: baseline; gap: 10px; margin-bottom: 20px }
.r-big b { font-size: 46px; font-weight: 700; letter-spacing: -.035em; line-height: 1 }
.r-big span { color: var(--g1); font-size: 14px }
.r-tab { width: 100%; border-collapse: collapse; margin-bottom: 20px }
.r-tab td { padding: 9px 0; border-bottom: 1px solid var(--g3); font-size: 14px; color: var(--g1) }
.r-tab td:last-child { text-align: right; color: var(--w); font-weight: 700; white-space: nowrap }
.r-etp { background: var(--card); border-radius: 11px; padding: 16px; margin-bottom: 16px }
.r-etp b { display: block; color: var(--red-txt); font-size: 17px; margin-bottom: 6px }
.r-etp p { color: var(--g1); font-size: 13.5px; line-height: 1.55; margin: 0 }
.r-alerte { background: rgba(248,113,113,.12); border-left: 2px solid #F87171; border-radius: 0 8px 8px 0;
  padding: 11px 14px; color: #FCA5A5; font-size: 13.5px; line-height: 1.5; margin: 0 0 12px }
.calc-out .pill { margin-top: 6px }
.vide { color: var(--g1); font-size: 14px }

.avert { max-width: 76ch; margin: 26px 0 0; font-size: 13px; line-height: 1.6; color: var(--ink-2) }

/* ===== formulaire reel (02/09/2026) ===== */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.f.check label{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:12.5px;line-height:1.5;font-weight:500;cursor:pointer}
.f.check input{margin-top:3px;width:16px;height:16px;flex:0 0 16px;accent-color:var(--accent,#3b82f6)}
.f.check a{color:inherit;text-decoration:underline}
.form-msg{padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.5}
.form-msg.ok{background:rgba(52,199,123,.14);border:1px solid rgba(52,199,123,.5)}
.form-msg.err{background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.5)}
input:required:invalid:not(:placeholder-shown){box-shadow:none}

/* ===== pied de page, blocs equilibres (09/09/2026) ===== */
.sx-footer{background:var(--black);padding:44px 0 22px;border-top:1px solid rgba(255,255,255,.07)}
.foot-columns{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:start;gap:40px;padding-bottom:34px}
.foot-identity,.foot-secondary{display:grid;gap:30px;min-width:0}
.foot-brand .sig{display:block;margin-top:14px;font-family:'Inter',sans-serif;font-weight:500;font-size:13px;line-height:1.6;color:#BBC9DA}
.foot-nav{min-width:0}
.foot-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}
.foot-list li{min-width:0}
.foot-cities .foot-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.foot-nav a{display:inline-block;padding:4px 0;font-size:13px;line-height:1.5;color:#BBC9DA;text-decoration:none;overflow-wrap:anywhere}
.foot-nav a:hover,.foot-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.foot-nav .foot-phone{font-family:'Inter',sans-serif;font-size:19px;font-weight:600;letter-spacing:-.02em;color:#fff;white-space:nowrap}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:12px;line-height:1.5;color:#A6B8CF}
.foot-bottom a{display:inline-block;padding:6px 0;color:inherit;text-decoration:none}
.sx-footer a:focus-visible{outline:2px solid #93B8FF;outline-offset:5px;border-radius:2px}
@media(max-width:940px){.foot-columns{grid-template-columns:1.1fr 1fr;gap:32px}.foot-identity{grid-column:1/-1;grid-template-columns:1.1fr 1fr;align-items:start;gap:32px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}}
@media(max-width:600px){.sx-footer{padding-top:32px}.foot-columns{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.foot-identity{grid-template-columns:1fr;gap:24px;padding-bottom:24px}.foot-services .foot-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.foot-secondary{gap:28px}.foot-bottom{gap:4px 20px}.foot-bottom a{padding:8px 0}}
/* ===== pages legales ===== */
.hero-legal{min-height:38vh}
.legal-wrap{max-width:820px}
.legal .ss-t{margin-top:34px}
.legal-txt p,.legal-txt li{font-size:15.5px;line-height:1.65}
.legal-txt ul{padding-left:20px;margin:8px 0 14px}
.legal-txt a{text-decoration:underline;color:inherit}

/* ===== pages ville (02/09/2026) ===== */
.carte-lien{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:8px 14px;border-radius:99px;font-size:12.5px;font-weight:700;letter-spacing:.02em;text-decoration:none;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28)}
.carte-lien:hover{background:#fff;color:var(--ink);border-color:#fff}
.etapes.presta h3 a{color:inherit;text-decoration:none}
.etapes.presta h3 a:hover{text-decoration:underline}

.foot-k{margin:0 0 12px;font-family:'Inter',sans-serif;font-weight:600;font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#9DB0C6}
.grid8 h4 a{color:inherit;text-decoration:none}
.grid8 h4 a:hover{text-decoration:underline}

/* ===== accueil : liens vers les pages generees (02/09/2026) ===== */
.g8-lien{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-decoration:none;opacity:.8}
.g8-lien:hover{opacity:1;text-decoration:underline}
.villes-sec{padding-top:0}
.villes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ville{display:flex;flex-direction:column;gap:3px;background:#F4F7FB;border:1px solid #E2E9F2;border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.ville:hover{border-color:var(--red)}
.ville b{font-family:'Inter',sans-serif;font-weight:800;font-size:15px;letter-spacing:-.02em}
.ville span{font-size:12px;color:var(--ink-2)}
.outil{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:22px 26px;border:1px solid #E2E9F2;border-radius:16px;background:#fff}
.outil h3{font-family:'Inter',sans-serif;font-weight:800;font-size:17px;letter-spacing:-.02em}
.outil p{font-size:13.5px;color:var(--ink-2);margin-top:4px;max-width:640px;line-height:1.55}
@media(max-width:1020px){.villes{grid-template-columns:repeat(3,minmax(0,1fr))}.grid8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.villes{grid-template-columns:repeat(2,minmax(0,1fr))}.grid8{grid-template-columns:1fr}.outil{flex-direction:column;align-items:flex-start}}

/* ===== bande image et regles (03/09/2026) ===== */
.bande{margin:0;border-radius:22px;overflow:hidden;position:relative;aspect-ratio:21/9;background:#0E2748}
.bande img{width:100%;height:100%;object-fit:cover;display:block}
.bande figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;font-size:13.5px;line-height:1.5;color:#fff;background:linear-gradient(180deg,rgba(7,17,35,0) 0%,rgba(7,17,35,.85) 100%)}
.bande figcaption b{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;display:block;margin-bottom:4px;opacity:.85}
.regles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.regle{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:20px 20px 22px}
.regle .num{font-family:'Inter',sans-serif;font-weight:800;font-size:12px;letter-spacing:.1em;color:var(--red-txt,#8FB4FF);display:block;margin-bottom:10px}
.regle p{font-size:14px;line-height:1.6;margin:0}
.refs-ligne{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin-top:6px}
.refs-ligne li{font-size:12.5px;line-height:1.5;list-style:none;opacity:.85}
.refs-ligne li b{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
@media(max-width:1020px){.regles{grid-template-columns:1fr}.refs-ligne{grid-template-columns:1fr}.bande{aspect-ratio:16/9}}

/* ===== retour Jeremy 03/09 : CTA, contraste, images dans les cartes ===== */
.hero-service .eyebrow{color:#A9C6FF;opacity:1;font-weight:700}
.hero-service .eyebrow span{width:8px;height:8px;border-radius:50%;background:#A9C6FF;display:inline-block;margin-right:10px}
.carte p b{color:#fff;font-weight:700}
.carte{padding:0 0 22px;overflow:hidden}
.carte .th{aspect-ratio:16/9;overflow:hidden;background:#0E2748;margin-bottom:16px}
.carte .th img{width:100%;height:100%;object-fit:cover;display:block}
.carte .tag,.carte h3,.carte p,.carte .carte-lien{margin-left:20px;margin-right:20px}
.carte .carte-lien{margin-left:20px}
.cta-bloc{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;padding:22px 26px;border-radius:16px;background:#F4F7FB;border:1px solid #E2E9F2}
.cta-bloc p{margin:0;font-size:15px;line-height:1.5;font-weight:600;max-width:620px}
.cta-bloc-btn{display:flex;gap:10px;flex-shrink:0}
.cta-bloc.sombre{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.cta-bloc.sombre .pill{background:#fff;color:var(--ink)}
.cta-bloc.sombre .pill:hover{background:var(--red);color:#fff}
.cta-bloc:not(.sombre) .pill.o{color:var(--ink);border-color:rgba(0,0,0,.22)}
.cta-bloc:not(.sombre) .pill.o:hover{background:var(--ink);color:#fff}
.bande figcaption{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.bande figcaption .pill{flex-shrink:0}
.regles-photo{display:grid;grid-template-columns:5fr 7fr;gap:26px;align-items:stretch}
.regles-photo .photo{border-radius:16px;overflow:hidden;min-height:320px;background:#0E2748}
.regles-photo .photo img{width:100%;height:100%;object-fit:cover;display:block}
.regles-photo .regles{grid-template-columns:1fr;gap:12px;margin-bottom:0}
@media(max-width:1020px){.regles-photo{grid-template-columns:1fr}.regles-photo .photo{min-height:220px}}
@media(max-width:820px){.cta-bloc{flex-direction:column;align-items:flex-start}.bande figcaption{flex-direction:column;align-items:flex-start}}

/* ===== actualites (04/09/2026) ===== */
.hero-actus .hero-txt, .hero-actu .hero-txt{max-width:820px}
.hero-actu .eyebrow a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.actu-meta{margin-top:14px;font-size:13px;color:#8FA6C4}
.actus{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.actu-c{display:flex;flex-direction:column;gap:8px;background:#F4F7FB;border:1px solid #E2E9F2;border-radius:12px;padding:20px 22px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.actu-c:hover{border-color:var(--red)}
.actu-d{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.actu-c b{font-family:'Inter',sans-serif;font-weight:800;font-size:16px;line-height:1.35;letter-spacing:-.02em}
.actu-r{font-size:13.5px;color:var(--ink-2);line-height:1.55}
.actu-l{margin-top:auto;padding-top:6px;font-size:13px;font-weight:700;color:var(--red)}
.actu-corps h2{font-family:'Inter',sans-serif;font-weight:800;font-size:22px;letter-spacing:-.02em;margin:32px 0 12px}
.actu-corps h3{font-family:'Inter',sans-serif;font-weight:700;font-size:18px;margin:26px 0 10px}
.actu-corps p{line-height:1.65;margin:0 0 14px}
.actu-corps ul,.actu-corps ol{margin:0 0 16px 20px;line-height:1.65}
.actu-corps li{margin-bottom:6px}
.actu-corps a{color:var(--red);text-underline-offset:3px}
.actu-corps .intro-article{font-size:17px;line-height:1.6;color:var(--ink)}
.actu-sources{margin:0 0 18px 20px;font-size:14px;line-height:1.6}
.actu-retour{margin-top:26px;font-size:14px;font-weight:700}
.actu-retour a{color:var(--red);text-decoration:none}
.actu-th{display:block;margin:-20px -22px 8px;aspect-ratio:16/9;overflow:hidden;border-radius:12px 12px 0 0;background:#0E2748}
.actu-th img{width:100%;height:100%;object-fit:cover;display:block}
.actu-corps .actu-bande{margin:28px 0}
.actu-corps .actu-bande figcaption{justify-content:flex-start}
@media(max-width:1020px){.actus{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.actus{grid-template-columns:1fr}}

/* Coordonnées professionnelles, septembre 2026. */
.sx-contact-line{margin:22px 0;font-size:15px;line-height:1.7}
.sx-contact-line a{color:inherit;font-size:24px;font-weight:700;white-space:nowrap;text-underline-offset:5px}
.sx-nav-phone{white-space:nowrap}
@media(max-width:1200px){.nav ul{display:none}}
@media(max-width:820px){.nav-r .pill.o.sx-nav-phone{display:inline-flex}}
@media(max-width:600px){.nav{flex-wrap:wrap;gap:14px}.nav-r{width:100%;margin-left:0;gap:8px}.nav-r .pill{font-size:12px;padding:12px 14px}}

/* Calculateur partagé entre accueil et page dédiée, 09/09/2026. */
.hero-calc>.wrap{width:100%;min-width:0}
.hero-calc .nav{flex-wrap:wrap}
.calc>*{min-width:0}
.calc-out .pill{white-space:normal}
.calc-in .f-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.calc-in .jours .j{position:relative}
.calc-in .jours .j input{width:1px;height:1px;padding:0;border:0;left:0;top:0}
.sx-calc-summary{display:block;grid-column:1/-1;background:var(--card);border:1px solid var(--g3);border-radius:12px;padding:0;color:var(--w)}
.sx-calc-summary[hidden]{display:none}
.sx-calc-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;list-style:none;cursor:pointer}
.sx-calc-toggle::-webkit-details-marker{display:none}
.sx-calc-toggle strong{display:block;font-size:15px;font-weight:600;line-height:1.45;color:var(--w)}
.sx-calc-hint{display:block;margin-top:4px;font-size:12px;line-height:1.5;color:var(--g1)}
.sx-calc-toggle svg{flex:none;color:var(--g1)}
.sx-calc-toggle:focus-visible{outline:2px solid var(--red-txt);outline-offset:4px;border-radius:12px}
.sx-calc-open-label,.sx-calc-summary[open] .sx-calc-closed-label{display:none}
.sx-calc-summary[open] .sx-calc-open-label{display:inline}
.sx-calc-summary[open] .sx-calc-toggle{border-bottom:1px solid var(--g3)}
.sx-calc-summary[open] .sx-calc-toggle svg{transform:rotate(180deg)}
.sx-calc-content{padding:16px 20px 20px}
.sx-calc-summary p{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--g1)}
.sx-calc-summary .sx-calc-detail{white-space:pre-line;overflow-wrap:anywhere;color:var(--w)}
.sx-calc-summary a{color:var(--red-txt);text-decoration:underline}
.sx-calc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.sx-calc-actions .sx-calc-remove{margin:0;text-align:left}
.sx-calc-note{font-size:13px;line-height:1.6;color:var(--g1);margin:12px 0 0}

.sx-home-calculator{background:#F4F7FB;scroll-margin-top:20px}
.sx-calc-heading{max-width:760px;margin-bottom:30px}
.sx-calc-heading .eyebrow{margin-bottom:12px}
.sx-calc-heading .sec-t{margin-bottom:16px}
.sx-calc-heading>p:last-child{font-size:15px;line-height:1.6;color:var(--ink-2)}
.sx-home-calculator .calc-in{background:#fff}
.sx-home-calculator .f-row,.sx-home-calculator .calc-days{grid-column:1/-1}
.sx-home-calculator .f-row{align-items:end}
.sx-home-calculator .avert a{color:var(--ink);text-underline-offset:3px}
.sx-calc-remove{display:block;margin-top:14px;padding:0;background:none;border:0;font:inherit;font-size:13px;color:var(--g1);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sx-calc-remove:focus-visible{outline:2px solid var(--red-txt);outline-offset:5px}
@media(max-width:600px){.sx-home-calculator .calc-in{grid-template-columns:1fr;padding:20px}.sx-home-calculator .calc-in .f-row{gap:8px}.sx-home-calculator .calc-in input[type=time]{padding:11px 6px;font-size:13px}.sx-home-calculator .calc-out{padding:22px}.sx-home-calculator .r-big{flex-wrap:wrap;gap:6px 10px}}
@media(max-width:360px){.sx-home-calculator .calc-in .f-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sx-home-calculator .f-row>.f:first-child{grid-column:1/-1}}

/* Lecture des pages locales et de prestations, repasse du 09/09/2026. */
.sx-page-toc{background:#F4F7FB;color:var(--ink);border-bottom:1px solid #DCE3EE;position:relative;z-index:7;padding:18px 0}
.sx-page-toc .wrap{display:flex;align-items:center;gap:16px 28px;flex-wrap:wrap}
.sx-page-toc p{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#516277}
.sx-page-toc ul{list-style:none;display:flex;gap:8px 22px;flex-wrap:wrap}
.sx-page-toc a{display:inline-flex;align-items:center;gap:7px;padding:6px 0;color:#193D71;text-decoration:none;font-size:14px;font-weight:600}
.sx-page-toc a:hover{text-decoration:underline;text-underline-offset:4px}
.sx-page-toc a:focus-visible{outline:2px solid #2563EB;outline-offset:4px;border-radius:2px}
.sx-page-toc span{color:#2563EB}
.sx-local-hero .sx-local-opening{padding:60px 0 0;position:relative}
.sx-local-hero .hero-txt{padding:0}
.sx-local-hero .hero-txt .sub{color:#C2CFE0}
.sx-has-city-view .sx-local-opening{display:grid;grid-template-columns:1.05fr 1fr;gap:42px;align-items:center;padding-top:34px}
.sx-has-city-view h1{font-size:clamp(34px,4.4vw,54px)}
.sx-city-view{margin:0;min-width:0;position:relative}
.sx-city-view img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid rgba(255,255,255,.15)}
.sx-city-view figcaption{font-size:11px;line-height:1.6;color:#C2CFE0;margin-top:10px}
.sx-city-view figcaption a{color:inherit;text-underline-offset:3px}
.sx-city-content .cartes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.sx-city-content section[id],main section[id]{scroll-margin-top:20px}
.sx-city-content .carte p,.sx-city-content .etapes p{font-size:15.5px;line-height:1.65}
.sx-preparer h3{font-size:19px;margin-bottom:14px}
.sx-preparer p{color:var(--ink-2);font-size:16px;line-height:1.7;margin-bottom:14px}
.sx-preparer a{color:#1D4ED8;text-decoration:underline;text-underline-offset:3px}
.sx-legal-sources a{color:#B9D3FF;text-underline-offset:3px}
.sx-preparer + #verifications{padding-top:12px}
@media(max-width:860px){
  .sx-has-city-view .sx-local-opening{grid-template-columns:1fr;gap:24px;padding-top:30px}
  .sx-city-view{max-width:600px}
  .sx-city-view img{max-height:260px;object-fit:cover;object-position:center 55%}
  .sx-page-toc .wrap{display:block}
  .sx-page-toc p{margin-bottom:6px}
  .sx-page-toc ul{gap:2px 18px}
}
@media(max-width:600px){
  .sx-local-hero{padding-bottom:36px}
  .sx-local-hero .sx-local-opening{padding-top:28px}
  .sx-city-content .cartes{grid-template-columns:minmax(0,1fr)}
  .sx-city-view img{max-height:210px}
  .sx-page-toc a{font-size:13px;padding:8px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Calculateur multi-qualifications et espace de demande partagé. */
[hidden]{display:none!important}
.sx-request-section{border-top:6px solid var(--red);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);background:#081a31;padding-top:64px}
.sx-request-workspace{min-width:0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:28px}
.sx-request-section[data-calculator-open]>.wrap>.grid{grid-template-columns:1fr;gap:24px}
.sx-request-section[data-calculator-open] .sx-request-workspace{padding:0;overflow:hidden}
.sx-request-section[data-calculator-open] .grid>div:first-child{max-width:760px}
.sx-open-calc{width:100%;padding:17px 20px;border:1px solid var(--red-txt);border-radius:12px;color:#fff;background:#17417b;font:inherit;font-weight:600;cursor:pointer;margin-bottom:24px;text-align:left}
.sx-open-calc::before{content:'＋';margin-right:10px}
.sx-open-calc:hover{background:#205295}
.sx-calculator{background:#f3f6fa;color:#14283f;scroll-margin-top:20px}
.sx-calculator .sx-calc-heading{max-width:790px}
.sx-calculator .calc{grid-template-columns:minmax(0,1.22fr) minmax(0,.9fr);gap:30px}
.sx-calculator .calc-in{display:block;background:transparent;border:0;padding:0;min-width:0}
.sx-calculator .calc-in>.f{margin-bottom:18px}
.sx-calculator .calc-in label,.sx-calculator legend{color:#405369;font-size:12px;letter-spacing:.04em;line-height:1.4;font-weight:600}
.sx-calculator .calc-in input,.sx-calculator .calc-in select{background:white;color:#15263b;border:1px solid #c7d3e0;min-width:0;width:100%;font:inherit;font-size:14px;border-radius:9px;padding:11px 10px;min-height:45px}
.sx-calculator .calc-in select option{background:#fff;color:#15263b}
.sx-calculator .calc-in input:focus,.sx-calculator .calc-in select:focus{outline:2px solid #2563eb;outline-offset:1px}
.sx-calc-row{border:1px solid #ccd7e3;background:#fff;border-radius:14px;margin-bottom:14px;overflow:hidden}
.sx-calc-row>summary{display:flex;align-items:center;gap:16px;justify-content:space-between;cursor:pointer;padding:17px 19px;font-size:14px;font-weight:600;list-style:none;color:#102744;background:#edf3fb}
.sx-calc-row>summary::-webkit-details-marker{display:none}
.sx-calc-row>summary::after{content:'+';font-size:20px;flex-shrink:0}
.sx-calc-row[open]>summary::after{content:'−'}
.sx-row-title{min-width:0;flex:1}
.sx-row-volume{font-size:12px;color:#34516f;white-space:nowrap}
.sx-row-body{padding:20px}
.sx-row-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px}
.sx-calculator .sx-row-fields .f{margin-bottom:0}
.sx-row-fields>.f:first-child{grid-column:1/-1}
.sx-row-fields>.f:nth-child(2){grid-column:1/-1;max-width:200px}
.sx-date-pair{border:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.sx-date-pair legend{font-size:14px;font-weight:700;padding:0 0 8px;color:#172e49}
.sx-row-days{border:0;margin-top:18px;min-width:0}
.sx-row-days legend{margin-bottom:9px;text-transform:uppercase}
.sx-calculator .jours{gap:6px;flex-wrap:wrap}
.sx-calculator .jours .j{position:relative;margin:0;cursor:pointer}
.sx-calculator .jours .j input{position:absolute;width:1px;height:1px;min-height:0;padding:0;left:0;top:0;opacity:0}
.sx-calculator .jours .j span{min-width:34px;padding:10px 8px;background:#fff;border:1px solid #bbc9da;border-radius:8px;color:#334a66;display:block;text-align:center;font-size:12px}
.sx-calculator .jours .j input:checked+span{color:#fff;background:#2563eb;border-color:#2563eb}
.sx-calculator .jours .j input:focus-visible+span{outline:2px solid #0b1f3a;outline-offset:3px}
.sx-row-help,.sx-input-note{font-size:12.5px;line-height:1.6;color:#52647b;margin-top:12px}
.sx-row-error{color:#9d2020;background:#fff0f0;border-left:3px solid #bd3333;padding:10px 12px;margin-top:12px;font-size:13px;line-height:1.55}
.sx-row-actions{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:18px}
.sx-row-actions button,.sx-calc-back{border:0;background:none;font:inherit;font-size:12.5px;color:#22548e;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.sx-row-actions button:disabled,.sx-add-row:disabled{opacity:.45;cursor:default}
.sx-add-row{width:100%;padding:14px 16px;border:1px dashed #7196c3;background:#e8f0fb;color:#174c8f;border-radius:10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.sx-add-row:hover:not(:disabled){background:#dceafa}
.sx-calc-back{display:block;margin:0 0 22px;font-size:14px}
.sx-calc-result{background:#0b1f3a;border-radius:16px;overflow:hidden;position:sticky;top:24px;min-width:0}
.sx-calculator .calc-out{padding:28px 26px 16px;border-radius:0}
.sx-result-label{font-size:12px;color:#adc1d9;margin-bottom:12px;text-transform:uppercase;letter-spacing:.06em}
.sx-calculator .r-big{margin:0 0 4px;display:block}
.sx-calculator .r-big b{font-size:clamp(28px,3.4vw,46px);line-height:1.2;overflow-wrap:anywhere}
.sx-result-unit{color:#c2d1e2;font-size:13px;margin-bottom:20px;line-height:1.5}
.sx-calculator .calc-out h3{font-size:24px;margin:15px 0;line-height:1.25}
.sx-calculator .calc-out>p{line-height:1.65}
.sx-result-lines{padding:0;list-style:none;border-top:1px solid #29415e;margin:22px 0}
.sx-result-lines li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #29415e;font-size:13px;line-height:1.5;color:#d7e1ed}
.sx-result-lines li b{white-space:nowrap;color:#fff}
.sx-calculator .r-tab{font-size:13px;margin-bottom:12px}
.sx-calculator .r-tab td{padding:11px 0}
.sx-calculator .r-tab td:first-child{padding-right:12px;color:#bfcede}
.sx-calculator .r-tab td:last-child{white-space:nowrap}
.sx-calculator .sx-calc-note{font-size:12px;color:#bccbdc;line-height:1.65}
.sx-calculator .r-alerte{font-size:12.5px;line-height:1.6;margin-top:16px}
.sx-apply-calc{display:block;width:calc(100% - 52px);margin:8px 26px 0;background:#2563eb;border:1px solid #5d95ff;color:white;border-radius:10px;padding:15px 16px;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.sx-apply-calc:hover{background:#3475ff}
.sx-result-note{margin:14px 26px 26px;font-size:12px;line-height:1.65;color:#bccbdc}
.sx-calculator button:focus-visible,.sx-open-calc:focus-visible,.sx-calc-row>summary:focus-visible{outline:3px solid #5c96ff;outline-offset:3px}
.sx-calc-actions button{border:0;background:none;font:inherit;font-size:13px;color:#8fc0ff;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sx-calc-actions button:focus-visible{outline:2px solid #8fc0ff;outline-offset:4px}
#sx-calc-limit{font-size:12px;color:#c0cfdf;line-height:1.5}
#sx-inline-calc .sx-calculator{padding:32px 0}
#sx-inline-calc .sx-calculator .wrap{padding:0 28px}
@media(max-width:1000px){.sx-calculator .calc{grid-template-columns:minmax(0,1fr)}.sx-calc-result{position:static}}
@media(max-width:600px){.sx-request-workspace{padding:18px}.sx-request-section{padding-top:46px}.sx-row-body{padding:16px}.sx-row-fields{gap:18px 12px}.sx-row-fields>.f{grid-column:1/-1}.sx-row-fields>.f:nth-child(2){max-width:none}.sx-calc-row>summary{padding:15px;gap:10px}.sx-row-volume{white-space:normal;max-width:80px;text-align:right}.sx-calculator .calc-out{padding:22px 20px 14px}.sx-apply-calc{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.sx-result-note{margin-left:20px;margin-right:20px}#sx-inline-calc .sx-calculator .wrap{padding:0 16px}.sx-result-lines li{gap:12px}.sx-calculator .sx-calc-heading .sec-t{font-size:27px}}
@media(max-width:380px){.sx-row-fields{grid-template-columns:minmax(0,1fr)}.sx-date-pair{grid-template-columns:minmax(0,1fr)}.sx-calculator .jours{gap:5px}.sx-calculator .jours .j span{min-width:31px;padding:9px 6px}}
.cta-bloc-btn{min-width:0;max-width:100%;flex-wrap:wrap}.cta-bloc-btn .pill{white-space:normal}
/* Retours de César du 10 septembre 2026. */
.hero-home{min-height:720px}
.hero-home h1{font-size:clamp(40px,5.1vw,70px);line-height:1.04}
.hero-home .hero-col{max-width:760px}
.hero-home .hero-sub{max-width:510px;font-size:17px}
.sx-hero-services{max-width:560px;color:#bccde0;font-size:13px;line-height:1.9;margin-top:20px}
.hero-home .sx-primary-cta{background:var(--red);color:white;padding:16px 24px;font-size:15px}
.hero-home .sx-primary-cta:hover{background:#1d4ed8}
.sx-secondary-link{align-self:center;color:#b9d5ff;font-size:14px;text-underline-offset:4px}
.sx-hero-delay{max-width:510px;color:#afc0d4;font-size:12px;line-height:1.7;margin-top:16px}
.nav{gap:12px;flex-wrap:wrap}
.nav ul{margin-left:0}
.nav ul a{padding:7px 8px}
.nav-r .pill{font-size:12px;padding:11px 14px}
.sx-home-process .sheet-grid,.sx-home-trust .sheet-grid{margin-bottom:0}
.step h3{font-family:Inter,sans-serif;font-size:17px;font-weight:800;margin-bottom:6px}
.sx-home-services{background:#edf3fa}
.sx-service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 18px}
.sx-service-card{color:var(--ink);background:white;border:1px solid #d8e2ed;border-radius:15px;overflow:hidden;text-decoration:none}
.sx-service-card img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;display:block}
.sx-service-card>div{padding:20px}
.sx-service-card h3{font:800 17px/1.3 Inter,sans-serif;letter-spacing:-.02em;margin-bottom:8px}
.sx-service-card p{font-size:14px;line-height:1.65;color:#526277}
.sx-service-card span{display:block;font-size:13px;font-weight:600;color:#2050a2;margin-top:16px}
.sx-service-card:hover{border-color:#2563eb;box-shadow:0 5px 20px #0b1f3a12}
.sx-service-card:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.sx-service-extra{margin-top:25px;font-size:14px;color:#526277;line-height:1.7}
.sx-service-extra a{color:#1e4da1}
.sx-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.sx-benefits article>span{display:block;color:#2563eb;font:800 24px/1 Inter,sans-serif;margin-bottom:18px}
.sx-benefits h3{font:800 18px/1.35 Inter,sans-serif;margin-bottom:10px}
.sx-benefits p{font-size:14px;line-height:1.7;color:#526277}
.sx-home-trust{background:#f1f5fa}
.sx-calc-teaser{padding-top:50px;padding-bottom:50px}
.sx-calc-teaser p{max-width:750px;line-height:1.7;color:#526277}
.sx-calc-teaser .sx-secondary-link{color:#1e4da1}
.sx-form-benefits{list-style:none;margin:24px 0;font-size:14px;line-height:1.8;color:#cedbec}
.sx-form-benefits li::before{content:'✓';color:#8bb8ff;margin-right:10px}
.sx-form-step{min-width:0;border:0;grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.sx-form-step legend{padding:0;margin:0 0 20px;font:700 22px/1.4 Inter,sans-serif;color:#fff}
.sx-form-progress{grid-column:1/-1;display:flex;gap:22px;list-style:none;padding-bottom:20px;margin-bottom:8px;border-bottom:1px solid #ffffff26;color:#9bb0ca;font-size:14px}
.sx-form-progress li{display:flex;align-items:center;gap:8px}
.sx-form-progress span{display:inline-grid;place-items:center;border:1px solid #627891;width:28px;height:28px;border-radius:50%;flex-shrink:0}
.sx-form-progress [aria-current]{color:#fff;font-weight:600}
.sx-form-progress [aria-current] span{background:#2563eb;border-color:#2563eb}
.sx-step-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.sx-required-note,.sx-step-recap{grid-column:1/-1;font-size:12px;color:#c2d0e0;line-height:1.6}
.sx-step-recap{font-size:13px;border-left:2px solid #609eff;padding-left:12px;margin-bottom:4px;overflow-wrap:anywhere}
.sx-form-step .sx-open-calc{grid-column:1/-1;margin:0;width:auto;justify-self:start;text-align:left}
.sx-form-step .sx-calc-summary{grid-column:1/-1}
.sx-form-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.sx-prev-step{border:0;background:none;color:#bfd7f6;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.sx-form-actions .send{font-size:14px;padding:15px 23px}
.sx-form-privacy{grid-column:1/-1;color:#b7c8dd;font-size:12px;line-height:1.75}
.sx-form-privacy a{color:#c6deff;text-underline-offset:3px}
.sx-form-step small{font-size:12px;line-height:1.6;color:#b7c8dd}
.sx-request-section input::placeholder,.sx-request-section textarea::placeholder{color:#9baec6}
.sx-result-period{color:#bfcede;font-size:13px;margin:12px 0 16px}
.r-tab caption{font-size:12px;text-align:left;margin-bottom:5px;color:#c2d1e4}
.sx-holiday-total{border-top:2px solid #5f81ad}
.sx-calculator .sx-holiday-total td{color:#fff;font-weight:700}
.sx-form-step[hidden],.sx-form-progress[hidden],.sx-form-step button[hidden]{display:none!important}
@media(max-width:1120px){.nav ul{order:3;flex-basis:100%;justify-content:center}.sx-service-cards,.sx-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.hero-home{min-height:auto}.hero-home .hero-photo{opacity:.28}.hero-home .hero-sub{font-size:16px}.sx-service-cards{gap:20px 14px}}
@media(max-width:600px){.nav .wm{font-size:16px}.nav{gap:14px}.nav-r{margin-left:0}.nav-r .pill{white-space:normal;font-size:12px}.hero-home h1{font-size:clamp(35px,9vw,48px)}.hero-home .kicker{font-size:10px;letter-spacing:.08em}.sx-form-step{grid-template-columns:1fr}.sx-form-progress{gap:14px;font-size:12px}.sx-form-actions{flex-direction:column;align-items:stretch}.sx-form-actions .send,.sx-next-step{white-space:normal;text-align:center;width:100%}.sx-service-cards,.sx-benefits{grid-template-columns:1fr}.sx-service-card{display:grid;grid-template-columns:110px 1fr}.sx-service-card img{height:100%;aspect-ratio:auto;object-fit:cover}.sx-service-card>div{padding:16px}.sx-service-card h3{font-size:15px}.sx-service-card p{font-size:13px}.sx-service-card span{margin-top:10px}.sx-form-step label{letter-spacing:.06em}.sx-form-step input,.sx-form-step select,.sx-form-step textarea{font-size:16px}.sx-calc-teaser .cta-row{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Introduction du formulaire de devis. */
.sx-request-intro{font-size:14px;line-height:1.5;font-weight:500;color:var(--g1);margin:0 0 18px;max-width:440px}

/* Calculateur : vue d'ensemble des lignes (12/09/2026) et couverture d'un jour a un autre */
.sx-plan{margin:18px 0 6px}
.sx-plan-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#34516f;margin:0 0 8px}
.sx-plan-scroll{overflow-x:auto;border:1px solid #ccd7e3;border-radius:12px;background:#fff}
.sx-plan-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:600px}
.sx-plan-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:#52647b;padding:9px 7px;border-bottom:1px solid #ccd7e3;background:#f4f7fb;white-space:nowrap}
.sx-plan-table td{padding:8px 7px;border-bottom:1px solid #e6edf4;white-space:nowrap;vertical-align:middle}
.sx-plan-table tbody tr{cursor:pointer}
.sx-plan-table tbody tr:hover,.sx-plan-table tbody tr:focus{background:#eef3fa;outline:none}
.sx-plan-table tbody tr:last-child td{border-bottom:0}
.sx-plan-table td:last-child{font-weight:700;text-align:right}
.sx-plan-days i{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:2px;border-radius:5px;border:1px solid #ccd7e3;font-style:normal;font-size:11px;font-weight:700;color:#9aa8b8;background:#fff}
.sx-plan-days i.on{background:#0b1f3a;border-color:#0b1f3a;color:#fff}
.sx-plan-span{font-weight:600;color:#0b1f3a}
.sx-plan-note{font-size:12.5px;line-height:1.6;color:#52647b;margin:8px 0 0}
.sx-row-span{border:0;margin-top:18px;min-width:0;padding:0}
.sx-row-span legend{margin-bottom:9px;text-transform:uppercase}

/* Page Qui sommes-nous (25/09/2026) : respiration des paragraphes, sans toucher aux pages legales */
.apropos .ss-t{font-size:20px;margin-top:40px}
.apropos .legal-txt p+p,.apropos .legal-txt ul{margin-top:.8em}
.apropos .legal-txt ul{padding-left:1.2em}
.apropos .legal-txt li+li{margin-top:.4em}
.apropos .cta-bloc{margin-top:40px}
.apropos .expert-carte{display:flex;gap:20px;align-items:center;margin:4px 0 16px}
.apropos .expert-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:0 0 120px}
.apropos .expert-carte p+p{margin-top:.4em}
@media (max-width:520px){.apropos .expert-carte{flex-direction:column;align-items:flex-start}}
/* Liens entre pages locales service x ville, 01/10/2026 */
.sx-liens-locaux{margin-top:14px}
.sx-liens-locaux li{font-size:15px;opacity:1}
.sx-liens-locaux a{text-decoration:underline;text-underline-offset:3px}
/* === BLOCS ACTUS (genere par scripts/wp/blocs-actus/deployer.py, ne pas editer ici) === */
/* securitexpertise, fond clair */
:root {
  --art-accent: #2563EB;
  --art-accent-texte: #ffffff;
  --art-carte: #F3F6FB;
  --art-bord: #E1E8F2;
  --art-bord-fort: #C3D1E6;
  --art-titre: #0B1F3A;
  --art-texte: #2B3442;
  --art-texte-doux: #55555C;
  --art-alerte: #C2410C;
  --art-oui: #15803D;
  --art-cta-fond: linear-gradient(135deg, #EAF1FE 0%, #F3F6FB 60%);
  --art-cta-bord: #CFDDF5;
  --art-ombre: rgba(37,99,235,.18);
}

/* ==========================================================================
   Blocs d'actualité, feuille canonique (07/09/2026)
   --------------------------------------------------------------------------
   Mêmes classes sur les quatre sites qui publient des actualités : mcssecur.com,
   securitexpertise.fr, santexpertise.com, expertisesantetravail.com. Seules les
   six variables changent d'un site à l'autre, la mise en forme est identique
   partout. Les agents écrivent donc le même HTML quel que soit le site.

   Déploiement : scripts/wp/blocs-actus/deployer.py (idempotent, remplace le bloc
   entre les deux marqueurs). Ne pas éditer la copie déployée sur un site, éditer
   ce fichier et redéployer.
   ========================================================================== */

/* Chapô : premier paragraphe, plus gros, détaché du corps. */
.art-chapo { font-size: 20px; line-height: 1.6; color: var(--art-titre); border-left: 3px solid var(--art-accent); padding-left: 20px; margin: 0 0 34px; max-width: 760px; }

/* Chiffres clés : 2 à 4 cartes, un nombre et son libellé. */
.art-cles { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); max-width: 900px; margin: 32px 0; }
.art-cle { background: var(--art-carte); border: 1px solid var(--art-bord); border-radius: 12px; padding: 20px 18px; }
.art-cle b { display: block; color: var(--art-accent); font-size: 30px; line-height: 1.1; font-weight: 700; letter-spacing: -.02em; }
.art-cle span { display: block; color: var(--art-texte-doux); font-size: 14px; line-height: 1.45; margin-top: 8px; }

/* Encadré : une définition, un rappel, un point de vigilance. */
.art-encadre { background: var(--art-carte); border: 1px solid var(--art-bord); border-left: 3px solid var(--art-accent); border-radius: 12px; padding: 20px 24px; margin: 32px 0; max-width: 760px; }
.art-encadre > p:last-child { margin-bottom: 0; }
.art-encadre-titre { display: block; color: var(--art-accent); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; font-weight: 700; margin-bottom: 10px; }
.art-encadre.est-attention { border-left-color: var(--art-alerte); }
.art-encadre.est-attention .art-encadre-titre { color: var(--art-alerte); }

/* Deux colonnes opposées : ce qui est couvert, ce qui ne l'est pas. */
.art-duo { display: grid; gap: 18px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); max-width: 900px; margin: 32px 0; }
.art-duo > div { background: var(--art-carte); border: 1px solid var(--art-bord); border-radius: 12px; padding: 20px 22px; }
.art-duo h4 { margin: 0 0 12px; font-size: 15px; color: var(--art-titre); }
.art-duo ul { margin: 0; padding-left: 18px; color: var(--art-texte); font-size: 15px; line-height: 1.6; }
.art-duo li { margin-bottom: 7px; }
.art-duo .oui h4::before { content: "✓"; color: var(--art-oui); margin-right: 8px; }
.art-duo .non h4::before { content: "✕"; color: var(--art-alerte); margin-right: 8px; }

/* Étapes numérotées. */
.art-etapes { list-style: none; counter-reset: art 0; margin: 32px 0; padding: 0; max-width: 760px; }
.art-etapes li { counter-increment: art; position: relative; padding: 0 0 18px 52px; color: var(--art-texte); font-size: 16px; line-height: 1.65; }
.art-etapes li::before { content: counter(art); position: absolute; left: 0; top: -2px; width: 34px; height: 34px; border-radius: 50%; background: var(--art-accent); color: var(--art-accent-texte); font-weight: 700; font-size: 15px; display: flex; align-items: center; justify-content: center; }
.art-etapes li b { color: var(--art-titre); }

/* Tableau, scrollable sur mobile. */
.art-tableau { overflow-x: auto; margin: 32px 0; max-width: 900px; }
.art-tableau table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 460px; }
.art-tableau th, .art-tableau td { text-align: left; padding: 13px 16px; border-bottom: 1px solid var(--art-bord); color: var(--art-texte); }
.art-tableau th { color: var(--art-titre); font-weight: 600; background: var(--art-carte); }
.art-tableau tr:last-child td { border-bottom: none; }

/* Citation d'un texte officiel. */
.art-citation { margin: 32px 0; padding: 20px 24px; background: var(--art-carte); border-left: 3px solid var(--art-bord-fort); border-radius: 0 12px 12px 0; max-width: 760px; }
.art-citation p { margin: 0; color: var(--art-texte); font-style: italic; font-size: 16px; line-height: 1.7; }
.art-citation cite { display: block; margin-top: 10px; color: var(--art-texte-doux); font-size: 13px; font-style: normal; }

/* Figure : image + légende. */
figure.art-figure { margin: 36px 0; max-width: 900px; }
figure.art-figure img { width: 100%; height: auto; border-radius: 14px; display: block; }
figure.art-figure figcaption { color: var(--art-texte-doux); font-size: 13px; line-height: 1.5; margin-top: 10px; }

/* Appel à l'action, au milieu ou en fin d'article. */
.art-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin: 40px 0; padding: 26px 28px; background: var(--art-cta-fond); border: 1px solid var(--art-cta-bord); border-radius: 16px; max-width: 900px; }
.art-cta-txt { flex: 1 1 320px; }
.art-cta-txt strong { display: block; color: var(--art-titre); font-size: 18px; line-height: 1.35; margin-bottom: 6px; }
.art-cta-txt span { color: var(--art-texte-doux); font-size: 15px; line-height: 1.55; }
.art-btn { display: inline-block; background: var(--art-accent); color: var(--art-accent-texte) !important; font-weight: 700; font-size: 15px; text-decoration: none; padding: 13px 24px; border-radius: 999px; white-space: nowrap; transition: transform .15s, box-shadow .15s; }
.art-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 22px var(--art-ombre); }

/* Bloc source, en fin d'article. */
.art-source { margin: 36px 0 0; padding-top: 16px; border-top: 1px solid var(--art-bord); color: var(--art-texte-doux); font-size: 13px; line-height: 1.6; max-width: 760px; }

@media (max-width: 600px) {
  .art-chapo { font-size: 18px; padding-left: 16px; }
  .art-cta { padding: 22px 20px; }
  .art-btn { width: 100%; text-align: center; }
}

/* === FIN BLOCS ACTUS === */
