
:root{--navy:#0e1b2c;--navy2:#16283f;--ice:#e9eef4;--ink:#1b2533;--muted:#6b7686;--copper:#e07a1f;--red:#c21c2c;--amber:#d9a21b;--teal:#2e7d8c;--grey:#9aa6b4}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Calibri,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
h1,h2,h3{font-family:Cambria,Georgia,serif;color:var(--navy);line-height:1.2}
a{color:var(--copper)}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
section{padding:96px 0}
.kicker{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper);font-weight:700;margin-bottom:10px}
.lead{font-size:20px;color:#3b4859;max-width:760px}
/* header */
header{position:sticky;top:0;z-index:10;background:rgba(14,27,44,.96);backdrop-filter:blur(6px)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:Cambria,Georgia,serif;font-weight:700;font-size:24px;color:#fff;letter-spacing:.04em}
.logo span{color:var(--copper)}
nav a{color:#c9d3de;text-decoration:none;margin-left:26px;font-size:16px}
nav a:hover{color:#fff}
/* hero */
.hero{background:var(--navy);color:#fff;padding:90px 0 110px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{color:#fff;font-size:54px;margin-bottom:22px}
.hero h1 em{color:var(--copper);font-style:normal}
.hero p{font-size:21px;color:#c9d3de;margin-bottom:34px}
.btn{display:inline-block;background:var(--copper);color:#fff;text-decoration:none;padding:14px 26px;border-radius:8px;font-weight:700;font-size:17px}
.btn.ghost{background:transparent;border:1px solid #4a5d75;margin-left:12px;color:#e6ebf0}
.hero svg{width:100%;height:auto}
.cell{animation:pulse 4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.72}}
.draw{stroke-dasharray:6 8;animation:dash 3s linear infinite}
@keyframes dash{to{stroke-dashoffset:-56}}
/* principes */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px}
.card{background:var(--ice);border-radius:14px;padding:28px 24px}
.card svg{width:54px;height:54px;margin-bottom:16px}
.card h3{font-size:21px;margin-bottom:10px}
.card p{font-size:16px;color:#33404f}
/* faux vert */
.dark{background:var(--navy);color:#e6ebf0}
.dark h2{color:#fff}
.dark .lead{color:#c9d3de}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tiles{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}
.tiles div{aspect-ratio:1;border-radius:6px}
.legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:15px;color:#c9d3de}
.legend i{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:7px;vertical-align:-2px}
.hatch{background:repeating-linear-gradient(45deg,#3a4a5e 0 4px,#24354b 4px 8px)}
/* captures */
.shot{border-radius:12px;overflow:hidden;box-shadow:0 18px 48px rgba(14,27,44,.28);border:1px solid #d5dce4}
.shot img{display:block;width:100%;height:auto}
.feat{display:grid;grid-template-columns:1.25fr .75fr;gap:46px;align-items:center;margin-top:44px}
.feat.rev{grid-template-columns:.75fr 1.25fr}
.feat ul{list-style:none}
.feat li{padding-left:30px;position:relative;margin-bottom:14px;font-size:18px}
.feat li:before{content:"";position:absolute;left:0;top:9px;width:12px;height:12px;border-radius:50%;background:var(--copper)}
/* maturite escalier */
.stairs{display:flex;align-items:flex-end;gap:10px;height:240px;margin-top:10px}
.stairs div{flex:1;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;font-family:Cambria,Georgia,serif;font-weight:700;color:#fff;font-size:20px}
/* timeline */
.tl{display:flex;align-items:center;gap:0;margin-top:34px}
.tl .pt{flex:0 0 auto;text-align:center;width:190px}
.tl .pt b{display:block;font-family:Cambria,Georgia,serif;font-size:34px;color:var(--copper)}
.tl .ln{flex:1;height:3px;background:linear-gradient(90deg,var(--copper),var(--red))}
/* modes */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:40px}
.mode{border-radius:16px;padding:34px;background:var(--ice)}
.mode h3{font-size:26px;margin-bottom:14px}
.mode.alt h3{color:var(--copper)}
.mode li{margin:0 0 10px 20px;font-size:17px}
/* chiffres */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:42px}
.stat{text-align:center;background:var(--ice);border-radius:14px;padding:34px 18px}
.stat b{display:block;font-family:Cambria,Georgia,serif;font-size:52px;color:var(--navy)}
.stat.hl{background:var(--navy);color:#fff}.stat.hl b{color:var(--copper)}
.note{font-size:14px;color:var(--muted);margin-top:14px;font-style:italic}
/* cta */
.cta{background:var(--navy2);color:#fff;text-align:center;padding:100px 0}
.cta h2{color:#fff;font-size:44px;margin-bottom:16px}
.cta p{color:#c9d3de;font-size:20px;margin-bottom:30px}
footer{background:var(--navy);color:#8795a6;font-size:14px;padding:28px 0}
footer .wrap{display:flex;justify-content:space-between}
@media (max-width:900px){.hero .wrap,.split,.feat,.feat.rev,.modes{grid-template-columns:1fr}.grid4,.stats{grid-template-columns:1fr 1fr}.hero h1{font-size:40px}nav{display:none}}
@media (prefers-reduced-motion:reduce){.cell,.draw{animation:none}}

.page-hero{background:var(--navy);color:#fff;padding:80px 0 70px}
.page-hero h1{color:#fff;font-size:46px;margin-bottom:14px}
.page-hero p{color:#c9d3de;font-size:20px;max-width:780px}
.prose{max-width:820px}
.prose h2{font-size:30px;margin:44px 0 14px}
.prose p,.prose li{font-size:18px;margin-bottom:12px}
.prose ul{margin-left:22px}
.offre{background:var(--ice);border-radius:16px;padding:32px;display:flex;flex-direction:column}
.offre h3{font-size:24px;margin-bottom:8px}
.offre .pour{color:var(--copper);font-weight:700;margin-bottom:14px}
.offre ul{margin:0 0 18px 20px}.offre li{margin-bottom:8px}
.offre .tag{display:inline-block;font-size:13px;border:1px solid #9aa6b4;border-radius:20px;padding:2px 10px;color:#5a6878;margin-top:auto;align-self:flex-start}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.etape{background:var(--ice);border-radius:14px;padding:26px}
.etape b{display:block;font-family:Cambria,Georgia,serif;font-size:22px;color:var(--navy);margin-bottom:8px}
.etape .num{display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-weight:700;margin-bottom:12px}
.encart{background:#fff4ea;border-radius:12px;padding:20px 24px;margin:26px 0;font-size:17px}
nav a.actif{color:#fff;border-bottom:2px solid var(--copper)}
footer a{color:#c9d3de;margin-left:18px;text-decoration:none}
.logo{text-decoration:none}
@media (max-width:900px){.grid2,.grid3{grid-template-columns:1fr}}
