:root{--nuit:#0B1F33;--nuit2:#102D4F;--or:#F2C46B;--or2:#E0A63F;--turq:#1FC8B4;--jade:#0E8F6E;--ivoire:#F7F3EC;--encre:#14203A;--mut:#5C6B86;--filet:#E1E5EB;--lien:#1763C6}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,"Noto Sans SC",system-ui,sans-serif;background:var(--ivoire);color:var(--encre);line-height:1.55}
a{color:var(--lien)}
.w{max-width:1180px;margin:0 auto;padding:0 20px}
.top{background:var(--nuit);position:sticky;top:0;z-index:5;border-bottom:1px solid #1E3D5E}
.top .w{display:flex;align-items:center;gap:22px;height:72px}
.top .brand img{height:46px;display:block}
.top nav{display:flex;gap:20px;margin-left:auto}
.top nav a{color:#DDE5EE;text-decoration:none;font-size:15px}.top nav a:hover{color:var(--or)}
.langs{display:flex;border:1px solid #34546E;border-radius:16px;overflow:hidden}
.langs a{color:#9FB3C8;text-decoration:none;padding:5px 11px;font-size:13px}.langs a.on{background:#1C4466;color:#fff;font-weight:700}
.hero{background:radial-gradient(120% 90% at 85% 15%,#16386A 0%,#0A1C3A 55%,#06122A 100%);color:#F6EFE2;position:relative;overflow:hidden}
.hero svg{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hero .w{position:relative;padding:84px 20px 96px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:0 0 18px;letter-spacing:-.02em}
.hero h1 span{color:var(--or)}
.hero p{font-size:19px;color:#C9D6E6;max-width:620px}
.btn{display:inline-block;background:linear-gradient(90deg,#F5CF7E,var(--or2));color:#1B1300;font-weight:800;text-decoration:none;padding:15px 26px;border-radius:12px;border:0;font-size:17px;cursor:pointer;font-family:inherit}
.canton-card{background:rgba(6,18,42,.75);border:1px solid #2B4D78;border-radius:20px;padding:26px}
.canton-card b{color:var(--or);letter-spacing:.06em;font-size:13px}
.canton-card ul{list-style:none;padding:0;margin:12px 0 0}.canton-card li{padding:8px 0;border-top:1px solid #23415F;font-size:15px}
.canton-card li:first-child{color:var(--turq);font-weight:700}
section{padding:72px 0}
h2{font-size:clamp(26px,3.4vw,36px);margin:0 0 26px;color:var(--nuit);letter-spacing:-.01em}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.carte{background:#fff;border:1px solid var(--filet);border-radius:16px;padding:22px}
.carte .n{width:38px;height:38px;border-radius:10px;background:#E3F4EE;color:var(--jade);font-weight:800;display:grid;place-items:center;margin-bottom:12px}
.carte h3{margin:0 0 8px;font-size:18px;color:var(--nuit)}.carte p{margin:0;color:var(--mut);font-size:15px}
.groupes{background:#fff;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.liste div{padding:16px 18px;border-left:4px solid var(--turq);background:var(--ivoire);border-radius:8px}
.form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start}
form .champ{margin-bottom:14px}form label{display:block;font-weight:600;margin-bottom:6px;font-size:14px}
form input[type=text],form input[type=email],form select{width:100%;padding:12px 14px;border:1px solid #C9D2DC;border-radius:10px;font:inherit;background:#fff}
form .cons{display:flex;gap:10px;font-size:14px;color:var(--mut)}form .cons input{margin-top:4px}
.hp{position:absolute;left:-9999px}
.erreur{background:#FDECEA;color:#B42318;border-radius:10px;padding:10px 14px;margin-bottom:14px}
footer{background:var(--nuit);color:#9FB3C8;padding:32px 0;font-size:14px}footer a{color:#DDE5EE}
footer .w{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between}
.doc{background:#fff;border:1px solid var(--filet);border-radius:16px;padding:32px;margin:40px auto;max-width:860px}
@media (max-width:900px){.hero .w,.form{grid-template-columns:minmax(0,1fr)}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.top nav{display:none}}
@media (max-width:560px){.grid4,.liste{grid-template-columns:minmax(0,1fr)}.top .brand img{height:36px}}
/* ===== En-tête (maquette J1-01) ===== */
.top .w{max-width:1536px;padding:0 32px;height:88px;gap:26px}
.top .brand img{height:62px}
.top nav{margin-left:40px;gap:34px}.top nav a{font-size:15.5px;padding:6px 0;border-bottom:3px solid transparent}.top nav a.on{color:#fff;font-weight:700;border-bottom-color:var(--or)}
.search{margin-left:auto;display:flex;align-items:center;gap:10px;border:1px solid #34546E;border-radius:22px;padding:8px 16px;width:320px;color:#DDE5EE;background:rgba(255,255,255,.02)}
.search input{background:transparent;border:0;color:#fff;font:inherit;font-size:14px;width:100%;outline:0}.search input::placeholder{color:#9FB3C8}
.top .date{color:#E6EBF2;font-size:14.5px;white-space:nowrap}
.avatar{width:36px;height:36px;border-radius:50%;border:2px solid #E6EBF2;display:grid;place-items:center;color:#E6EBF2;flex:none}
/* ===== Héros ===== */
.acc-hero{display:grid;grid-template-columns:minmax(0,992fr) minmax(0,544fr);background:#071424}
.acc-phare{background-size:cover;background-position:center right;color:#fff;padding:52px 42px 40px;min-height:614px}
.pill-ouvert{display:inline-block;border:1.5px solid var(--turq);background:rgba(14,90,84,.55);color:#fff;border-radius:18px;padding:6px 18px;font-size:16px}
.acc-phare h1{font-size:clamp(32px,3.6vw,56px);font-weight:800;letter-spacing:-.02em;margin:14px 0 8px;line-height:1.05;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.acc-phare .lead{font-size:clamp(16px,1.35vw,20px);max-width:540px;margin:0 0 16px;color:#EEF3F8}
.tags{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.tags span{display:flex;gap:10px;align-items:center;border:1px solid #3F5A70;background:rgba(10,28,44,.55);border-radius:8px;padding:8px 14px;font-size:13px;line-height:1.3}
.tags i{font-style:normal;color:var(--turq);font-size:22px}
.pct{font-size:34px;font-weight:800}
.jauge{height:16px;max-width:540px;border-radius:8px;background:#1E3347;overflow:hidden;margin:6px 0}.jauge i{display:block;height:100%;background:linear-gradient(90deg,#2BE0D0,#38E6D6);border-radius:8px}
.montants{display:flex;justify-content:space-between;max-width:540px;font-size:18px}.montants b{font-weight:800}
.faits{display:flex;flex-wrap:wrap;gap:30px;margin:22px 0 26px}.faits div{display:flex;gap:10px;align-items:center}
.faits i{font-style:normal;color:var(--or);font-size:30px}.faits span{font-size:14px;line-height:1.3}.faits b{display:block;font-size:17px}
.btn-xl{font-size:21px;padding:17px 40px;border-radius:30px}
.acc-reseau{background:#071424;color:#fff;padding:26px 0 18px;display:flex;flex-direction:column}
.res-tete{display:flex;gap:18px;justify-content:space-between;padding:0 18px 0 30px}
.res-tete h2{color:#fff;font-size:22px;margin:0 0 4px}.res-tete p{margin:0;font-size:13.5px;color:#DDE5EE;max-width:290px}
.res-kpi{display:flex;gap:18px}.res-kpi span{font-size:12px;color:#DDE5EE}.res-kpi b{display:block;font-size:19px;color:#fff}
.acc-reseau img{width:100%;display:block;margin-top:6px}
.legende{display:flex;flex-wrap:wrap;gap:16px;padding:8px 26px 0;font-size:11.5px;color:#DDE5EE}.legende i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:-1px}
/* ===== Bande ===== */
.acc-bande{background:#0A1E33;color:#fff;padding:0}
.bande{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1536px;margin:0 auto}
.bande>div{display:flex;gap:16px;align-items:center;padding:16px 40px;border-right:1px solid #2A445C}.bande>div:last-child{border-right:0}
.bande i{font-style:normal;font-size:30px;color:#fff}.bande small{display:block;font-size:13px;color:#C9D6E6}
.bande b{display:block;font-size:17px}.bande b.t{color:#2BE0D0}.bande ul{margin:2px 0 0;padding-left:16px;font-size:13px}
.risque{display:flex;gap:4px;margin-top:6px}.risque u{display:block;width:30px;height:7px;border-radius:4px;background:#2BE0A0;text-decoration:none}.risque u.off{background:#1F6A70}
/* ===== Opportunités ===== */
.w2{max-width:1536px;margin:0 auto;padding:0 40px}
.acc-opp{background:var(--ivoire);padding:26px 0 14px}
.opp-tete{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--filet);padding-bottom:10px}
.opp-tete h2{margin:0;font-size:22px}.opp-tete a{color:#14325A;text-decoration:none;font-weight:600}
.opp-liste{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.opp-liste a{display:flex;align-items:center;gap:30px;padding:10px 20px 10px 0;color:inherit;text-decoration:none}
.opp-liste a+a{border-left:1px solid var(--filet);padding-left:40px}
.opp-liste img{width:105px;height:105px;border-radius:50%;object-fit:cover;flex:none}
.opp-liste span{flex:1}.opp-liste small{display:block;color:#3B4A66;font-size:13.5px}.opp-liste b{display:block;font-size:17px}.opp-liste strong{display:block;font-size:18px;margin:2px 0}
.opp-liste em{font-style:normal;font-size:40px;color:#14325A}
/* ===== Vie du cercle ===== */
.acc-vie{background:#F1EEE6;border-top:1px solid var(--filet);padding:12px 0}
.vie{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.vie-t{font-size:18px;color:#0B1F33}
.vie span{display:flex;flex-direction:column;font-size:13px;font-weight:600;position:relative;padding-left:26px;flex:1;min-width:180px}
.vie span i{position:absolute;left:0;top:2px;font-style:normal;color:#14325A}.vie span i.pt{width:9px;height:9px;background:#2CC46A;border-radius:50%;top:5px}
.vie small{font-weight:400;color:var(--mut)}.vie a{color:#14325A;font-weight:600;text-decoration:none;font-size:13.5px}
.demo-note{text-align:center;font-size:12.5px;color:var(--mut);margin:10px 0 0}
@media (max-width:1100px){.acc-hero{grid-template-columns:minmax(0,1fr)}.bande{grid-template-columns:repeat(2,minmax(0,1fr))}.search,.top .date{display:none}}
@media (max-width:700px){.bande,.opp-liste{grid-template-columns:minmax(0,1fr)}.opp-liste a+a{border-left:0;padding-left:0;border-top:1px solid var(--filet)}.acc-phare{padding:32px 18px;min-height:0}.top .w{padding:0 14px;height:72px;gap:12px}.top .brand img{height:40px}.res-tete{flex-direction:column;padding:0 18px}.bande>div{padding:14px 18px;border-right:0;border-bottom:1px solid #2A445C}.w2{padding:0 18px}.faits{gap:18px}}
/* ===== Ajustements fidélité J1-01 ===== */
.acc-hero,.acc-bande,.acc-vie{padding:0}
.acc-vie{padding:12px 0}
.top nav a,.res-kpi b,.res-kpi span{white-space:nowrap}
.top nav{margin-left:28px;gap:28px}
.search{width:300px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img.ic{height:66px;width:66px}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font-family:"Inter Tight",Inter,sans-serif;font-size:38px;font-weight:800;letter-spacing:-.01em;color:#fff}.brand .wm b span{color:var(--or)}
.brand .wm small{font-size:9.5px;letter-spacing:.06em;color:#E6EBF2;margin-top:4px;white-space:nowrap}
.acc-phare h1{font-family:"Inter Tight",Inter,sans-serif;font-size:clamp(30px,3.65vw,56px)}
@media (min-width:1101px){.acc-phare h1{white-space:nowrap}}
.bande i{font-size:34px}
@media (max-width:700px){.brand img.ic{height:44px;width:44px}.brand .wm b{font-size:26px}.brand .wm small{display:none}}
.top .w{gap:18px}.top nav{gap:24px;margin-left:20px}.search{width:250px}.langs,.avatar,.search,.brand{flex:none}.langs a{white-space:nowrap}
.acc-phare{padding:40px 42px 30px}.acc-phare .lead{max-width:560px}.legende{gap:12px}
@media (max-width:700px){.avatar{display:none}.acc-phare{box-shadow:inset 0 0 0 2000px rgba(7,20,36,.55);background-position:65% center}body{overflow-x:hidden}}

.acces{padding:48px 0}.acces-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.acces .carte p{color:var(--mut);font-size:16px}
@media (max-width:700px){.acces-grille{grid-template-columns:minmax(0,1fr)}}
