
:root{--navy:#123a55;--gold:#cf9a2c;--cream:#faf8f2;--ink:#20303b;--muted:#667581;--line:#dde4e8;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
a{color:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:30;background:rgba(250,248,242,.96);border-bottom:1px solid var(--line)}
.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.mark{width:44px;height:44px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.brand strong{display:block;color:var(--navy)}.brand small{display:block;color:var(--muted)}
.links{display:flex;align-items:center;gap:14px}.links a{text-decoration:none;font-weight:700;color:var(--navy);font-size:.88rem;white-space:nowrap}
.links a:hover{color:var(--gold)}.links .cta{background:var(--navy);color:#fff!important;padding:11px 18px;border-radius:999px}
.lang{display:flex;gap:7px;font-size:.82rem}.lang a{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff}
.toggle{display:none;border:0;background:none;font-size:1.6rem;color:var(--navy)}
.hero{padding:64px 0 56px;background:radial-gradient(circle at 85% 20%,rgba(207,154,44,.22),transparent 30%),linear-gradient(135deg,#fdfbf7,#eef3f6)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.kicker{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--gold)}
h1,h2,h3{font-family:Georgia,serif;color:var(--navy);line-height:1.15;margin-top:0}
h1{font-size:clamp(2.45rem,3.55vw,4rem);margin-bottom:18px;max-width:1000px}h2{font-size:clamp(1.9rem,2.6vw,2.7rem)}h3{font-size:1.35rem}
.lead{font-size:1.16rem;color:#425460;max-width:760px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;padding:12px 20px;border-radius:999px}
.primary{background:var(--navy);color:#fff}.secondary{background:#fff;color:var(--navy);border:1px solid var(--navy)}.gold{background:var(--gold);color:#182631}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 12px 34px rgba(18,58,85,.07)}
.price{font-size:2.35rem;font-weight:850;color:var(--navy)}.section{padding:62px 0}.white{background:#fff}.navy{background:var(--navy);color:#fff}.navy h2,.navy h3{color:#fff}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.muted{color:var(--muted)}.status{display:inline-block;padding:5px 10px;border-radius:999px;background:#edf5ef;color:#286442;font-size:.75rem;font-weight:800}.up{background:#f7f0df;color:#80611f}
.list{list-style:none;padding:0}.list li{padding-left:25px;position:relative;margin:8px 0}.list li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:900}
.pagehero{padding:46px 0 38px;background:linear-gradient(135deg,#faf8f2,#eef3f6);border-bottom:1px solid var(--line)}
.pagehero h1{font-size:clamp(2.35rem,3.35vw,3.75rem);max-width:1080px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--navy);color:#fff;width:31%}
.notice{padding:18px 20px;background:#fff7e2;border:1px solid #ead8a4;border-left:5px solid var(--gold);border-radius:12px}
.leader{display:grid;grid-template-columns:86px 1fr;gap:18px}.avatar{width:86px;height:86px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.6rem;font-weight:800}
footer{background:#0e2a3d;color:#dbe5eb;padding:48px 0 26px}.footergrid{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:28px}footer h3{color:#fff;font-family:Inter,sans-serif;font-size:1rem}footer a{text-decoration:none;color:#dbe5eb}
.bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:26px;padding-top:18px;font-size:.85rem;color:#aebec8}
@media(max-width:980px){.hero-grid,.grid4,.grid3{grid-template-columns:repeat(2,1fr)}.links{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.links.open{display:flex}.toggle{display:block}}
@media(max-width:700px){.container{width:calc(100% - 26px)}.hero-grid,.grid2,.grid3,.grid4,.footergrid{grid-template-columns:1fr}.brand small{display:none}h1{font-size:2.55rem}.hero{padding:58px 0}.section{padding:58px 0}}

/* v4 fitting refinements */
.pagehero .lead{max-width:820px}
.pagehero .container{overflow-wrap:anywhere}
.hero-grid>div{min-width:0}
.card{min-width:0}
.grid2,.grid3,.grid4{align-items:stretch}
.grid2>.card,.grid3>.card,.grid4>.card{height:100%}
table{font-size:.95rem}
th,td{padding:12px 13px}
.leader h3{margin-bottom:6px}
.leader p{margin-top:6px}
@media(min-width:1200px){
  .pagehero h1{max-width:960px}
  html[lang="fr"] .pagehero h1{max-width:1040px;font-size:clamp(2.25rem,3vw,3.45rem)}
  html[lang="fr"] .hero h1{font-size:clamp(2.35rem,3.35vw,3.8rem)}
  html[lang="fr"] .links{gap:12px}
  html[lang="fr"] .links a{font-size:.84rem}
}
@media(max-width:1100px){
  .brand strong{font-size:.92rem}
  .links{gap:10px}
  .links a{font-size:.82rem}
  .links .cta{padding:10px 15px}
  .lang a{padding:5px 8px}
}
@media(max-width:980px){
  .pagehero{padding:40px 0 34px}
  .pagehero h1{font-size:clamp(2.2rem,6vw,3.25rem)}
}
@media(max-width:700px){
  h1,.pagehero h1{font-size:2.2rem}
  .hero{padding:48px 0}
  .pagehero{padding:34px 0 30px}
  .section{padding:48px 0}
  .leader{grid-template-columns:70px 1fr}
  .avatar{width:70px;height:70px;font-size:1.35rem}
  table{font-size:.9rem}
}

.fit-long{max-width:1020px}
html[lang="fr"] .fit-long{font-size:clamp(2.25rem,2.9vw,3.35rem);line-height:1.12}
@media(max-width:700px){html[lang="fr"] .fit-long{font-size:2.05rem}}

/* v5 homepage-only fitting */
body.home .hero{
  padding:48px 0 42px;
}
body.home .hero-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.78fr);
  gap:42px;
}
body.home .hero h1{
  font-size:clamp(2.45rem,3.25vw,3.65rem);
  line-height:1.08;
  max-width:760px;
  margin-bottom:16px;
}
body.home .hero .lead{
  font-size:1.05rem;
  max-width:700px;
  line-height:1.55;
}
body.home .hero .card{
  padding:22px 24px;
  align-self:center;
}
body.home .hero .card h3{
  font-size:1.24rem;
  margin-bottom:12px;
}
body.home .hero .price{
  font-size:2rem;
  margin:8px 0 10px;
}
body.home .hero .card ul{
  margin:10px 0 16px;
  padding-left:20px;
}
body.home .hero .card li{
  margin:4px 0;
}
body.home .hero .actions{
  margin-top:22px;
}
body.home .section{
  padding:48px 0;
}
body.home .section h2{
  font-size:clamp(1.85rem,2.3vw,2.45rem);
  max-width:920px;
}
body.home .grid3 .card{
  padding:22px;
}
html[lang="fr"] body.home .hero h1{
  font-size:clamp(2.3rem,3.05vw,3.45rem);
  max-width:780px;
}
html[lang="fr"] body.home .hero .lead{
  max-width:720px;
}
@media(max-width:980px){
  body.home .hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  body.home .hero .card{
    max-width:620px;
  }
}
@media(max-width:700px){
  body.home .hero{
    padding:38px 0 34px;
  }
  body.home .hero h1,
  html[lang="fr"] body.home .hero h1{
    font-size:2.15rem;
  }
  body.home .section{
    padding:42px 0;
  }
}
