/* Feuille de style partagée : page de confirmation et pages légales.
   Identité Marble Group — blanc pur, blanc bleuté, bleu marine en accent, or minime. */
:root{
  --navy:#13233f;
  --navy-deep:#0e2138;
  --navy-light:#1d3152;
  --ivory:#ffffff;
  --sand:#f5f8fb;
  --paper:#ffffff;
  --cream:#f5f8fb;
  --cream-soft:#ffffff;
  --white:#ffffff;
  --gray:#4f5868;
  --gray-light:#8a93a1;
  --slate:#6f7b8e;
  --border:#e6ebf0;
  --line-strong:#d6dde5;
  --gold:#c2a77c;
  --gold-soft:#dccba9;
  --gold-deep:#9a8360;
  --on-navy:#c9d0dc;
  --on-navy-soft:#95a1b6;
  --line-navy:rgba(255,255,255,0.12);
  --serif:'Cormorant Garamond', 'Cormorant', Georgia, 'Times New Roman', serif;
  --sans:'Jost', 'Helvetica Neue', Arial, sans-serif;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:var(--sans); color:var(--gray); background:var(--ivory);
  line-height:1.8; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit;}
h1,h2,h3{font-family:var(--serif); color:var(--navy); margin:0; font-weight:500; letter-spacing:-0.01em; text-wrap:balance;}
h1,h2{font-weight:400;}
p,ul,ol{margin:0;}
ul,ol{padding-left:22px;}
li{margin-top:8px;}
li::marker{color:var(--gold);}
.visually-hidden{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.topbar{
  background:var(--paper); border-bottom:1px solid var(--border); padding:9px 24px; font-size:0.7rem; letter-spacing:0.18em;
  text-transform:uppercase; color:var(--slate); text-align:center;
}
.topbar span{color:var(--gold); margin:0 12px;}
.page-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.96); border-bottom:1px solid var(--border); padding:20px 24px;
}
.page-header-inner{
  max-width:1200px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:18px; flex-wrap:wrap;
}
.brand{display:flex; align-items:center; gap:22px; text-decoration:none;}
.brand-logo{height:44px; width:auto; flex-shrink:0;}
.brand-tag{
  display:block; font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase; line-height:1.6;
  color:var(--gray-light); max-width:210px; padding-left:22px; border-left:1px solid var(--border);
}
.back-link{
  font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--navy);
  font-weight:400; text-decoration:none; border:1px solid var(--navy); padding:12px 22px;
  transition:background .25s ease, color .25s ease;
}
.back-link:hover{background:var(--navy); color:var(--white);}

.page-hero{background:var(--sand); padding:120px 24px 96px; text-align:center; border-bottom:1px solid var(--border);}
.eyebrow{
  font-size:0.72rem; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--slate); font-weight:500;
}
.page-hero .eyebrow{color:var(--gold-deep);}
.page-hero h1{font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.06; margin-top:20px;}
.page-hero p{max-width:680px; margin:24px auto 0; font-size:1.04rem;}
.divider{width:40px; height:1px; background:var(--gold); margin:32px auto 0;}

main{max-width:780px; margin:0 auto; padding:104px 24px 128px;}
.block{margin-top:72px;}
.block:first-child{margin-top:0;}
.block h2{font-size:clamp(1.7rem,3.4vw,2.2rem); line-height:1.2;}
.block h3{font-size:1.35rem; margin-top:30px;}
.block p{margin-top:16px;}
.block ul, .block ol{margin-top:16px;}
.block a{color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold);}
.block a:hover{color:var(--gold-deep);}
.dl{margin-top:22px; border-top:1px solid var(--border);}
.dl > div{
  display:flex; flex-wrap:wrap; gap:4px 24px; padding:16px 0;
  border-bottom:1px solid var(--border); font-size:0.96rem;
}
.dl dt{font-weight:500; color:var(--navy); min-width:220px; margin:0;}
.dl dd{margin:0; flex:1; min-width:220px;}
.todo{
  display:inline-block; background:var(--paper); border:1px dashed var(--gold);
  color:var(--gold-deep); font-size:0.84rem; font-weight:500; padding:3px 10px; line-height:1.6;
}
.callout{
  margin-top:26px; padding:24px 28px; background:var(--paper);
  border:1px solid var(--border); font-size:0.95rem;
}
.updated{margin-top:72px; padding-top:24px; border-top:1px solid var(--border); font-size:0.85rem; color:var(--gray-light);}

/* Page de confirmation */
.confirm{max-width:700px; margin:0 auto; padding:56px 0 40px; text-align:center;}
.confirm-mark{
  width:72px; height:72px; margin:0 auto 32px; border:1px solid var(--line-strong);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.confirm-mark svg{width:26px;height:26px;}
.confirm h1{font-size:clamp(2.2rem,4.8vw,3.2rem); line-height:1.12; margin-top:18px;}
.confirm p{margin-top:24px; font-size:1.04rem;}
.confirm .fine{margin-top:20px; font-size:0.92rem; color:var(--gray-light);}
.confirm .fine a{color:var(--navy); text-decoration:none; border-bottom:1px solid var(--gold);}
.btn{
  display:inline-block; margin-top:40px; background:var(--navy); color:var(--white);
  padding:18px 40px; font-weight:400; font-size:0.74rem; letter-spacing:0.2em; text-transform:uppercase;
  border:1px solid var(--navy); text-decoration:none; font-family:var(--sans);
  transition:background .25s ease, color .25s ease, border-color .25s ease;
}
.btn:hover{background:var(--navy-light); border-color:var(--navy-light);}
.btn-outline{background:transparent; color:var(--navy);}
.btn-outline:hover{background:var(--navy); color:var(--white); border-color:var(--navy);}

footer{background:var(--navy-deep); color:var(--on-navy); padding:104px 24px 40px; text-align:center;}
footer .f-name{margin:0;}
footer .f-name img{width:170px; height:auto; margin:0 auto;}
.footer-tagline{
  max-width:620px; margin:30px auto 0; font-family:var(--sans); font-weight:300;
  font-size:1rem; line-height:1.6; color:#e4e8ef;
}
.footer-info{margin-top:32px; display:flex; flex-direction:column; gap:12px; align-items:center; font-size:0.95rem;}
.footer-info a{color:var(--on-navy); text-decoration:none;}
.footer-info a:hover{color:var(--white);}
.footer-langs{margin-top:26px; font-size:0.72rem; color:var(--on-navy-soft); letter-spacing:0.18em; text-transform:uppercase;}
.footer-legal{
  max-width:1200px; margin:48px auto 0; padding-top:30px; border-top:1px solid var(--line-navy);
  display:flex; flex-wrap:wrap; gap:10px 30px; justify-content:center; font-size:0.84rem;
}
.footer-legal a{color:var(--on-navy); text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.18); padding-bottom:1px;}
.footer-legal a:hover{color:var(--white); border-bottom-color:rgba(255,255,255,0.5);}
.footer-disclaimer{max-width:760px; margin:28px auto 0; font-size:0.8rem; color:var(--on-navy-soft); line-height:1.8;}
.copyright{margin-top:24px; font-size:0.72rem; color:#7887a2; letter-spacing:0.12em; text-transform:uppercase;}

@media(max-width:900px){
  .brand-tag{display:none;}
}
@media(max-width:600px){
  .page-hero{padding:84px 20px 68px;}
  main{padding:72px 20px 96px;}
  .dl dt{min-width:100%;}
  .back-link{padding:10px 16px; font-size:0.7rem;}
  .brand-logo{height:38px;}
  .btn{padding:17px 28px; font-size:0.74rem;}
  footer{padding:80px 20px 36px;}
  .topbar{letter-spacing:0.12em;}
}
