:root{
  --bg:#faf9f6; --card:#ffffff; --ink:#1a1a1a; --muted:#6b6b6b;
  --line:#e6e4dd; --accent:#6d132b; --accent-dark:#530e20;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--ink); line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

/* ---------- NAVIGATION + MEGA MENU ---------- */
header{background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:100;}
.nav{display:flex; align-items:center; justify-content:space-between; height:70px; max-width:1080px; margin:0 auto; padding:0 24px;}
.logo{font-size:20px; font-weight:700; letter-spacing:1px; text-decoration:none; color:var(--ink);}
.menu-toggle, .menu-toggle-label{display:none;}
.nav-links{display:flex; list-style:none; gap:8px; align-items:center;}
.nav-links > li{position:relative;}
.nav-links > li > a{display:block; padding:12px 16px; text-decoration:none; color:var(--ink); font-size:15px; font-weight:500; border-radius:8px;}
.nav-links > li > a:hover{background:var(--bg); color:var(--accent);}

.mega{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.10);
  padding:20px; width:640px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  opacity:0; visibility:hidden; transition:opacity .18s ease, transform .18s ease;
}
.nav-links > li:hover .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px);}
.mega-card{text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:border-color .15s;}
.mega-card:hover{border-color:var(--accent);}
.mega-card img{width:100%; height:110px; object-fit:cover;}
.mega-card .mega-txt{padding:12px 14px;}
.mega-card h4{font-size:15px; font-weight:600; margin:0 0 4px;}
.mega-card p{font-size:12.5px; color:var(--muted); line-height:1.5; margin:0;}
.nav-cta{background:#6d132b; color:#fff !important;}
.nav-cta:hover{background:#530e20 !important;}

/* ---------- HÉROS ---------- */
.hero{position:relative; width:100%; height:560px; overflow:hidden;}
.hero img{width:100%; height:100%; object-fit:cover;}
.hero-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center;
  padding:0 8%; background:linear-gradient(90deg, rgba(250,249,246,.92) 0%, rgba(250,249,246,.65) 42%, rgba(250,249,246,0) 70%);
}
.hero-overlay .inner{max-width:520px;}
.hero h1{font-size:40px; line-height:1.2; font-weight:700; margin:0 0 18px;}
.hero .sub{font-size:19px; color:var(--muted); margin:0 0 28px;}

/* ---------- BOUTONS ---------- */
.btn{display:inline-block; padding:14px 32px; border-radius:8px; font-size:16px; font-weight:500; text-decoration:none; cursor:pointer;}
.btn-dark{background:var(--ink); color:#fff;}
.btn-dark:hover{background:#000;}
.btn-accent{background:#6d132b; color:#fff;}
.btn-accent:hover{background:#530e20;}
.btn-ghost{border:1px solid var(--line); color:var(--muted); background:transparent;}
.btn-ghost:hover{border-color:var(--accent); color:var(--accent);}

/* ---------- BLOCS COMMUNS ---------- */
.proof{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:28px 32px; margin:48px 0; font-size:17px; line-height:1.7;}
.proof strong{color:var(--accent);}
.section{padding:24px 0 48px;}
.section h2{font-size:26px; font-weight:600; text-align:center; margin:0 0 8px;}
.section .lead{text-align:center; color:var(--muted); max-width:560px; margin:0 auto 32px;}

.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px;}
.card{background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column;}
.card img{width:100%; height:160px; object-fit:cover;}
.card .card-body{padding:24px; display:flex; flex-direction:column; flex:1;}
.card h3{font-size:18px; font-weight:600; margin:0 0 8px;}
.card p{font-size:14px; color:var(--muted); margin:0 0 20px; flex:1;}
.card .from{font-size:20px; font-weight:600; margin:0 0 16px;}
.card .from span{font-size:13px; color:var(--muted); font-weight:400;}

.form-block{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:36px 32px; margin:48px 0; text-align:center;}
.form-block h2{font-size:24px; font-weight:600; margin:0 0 8px;}
.form-block > p{color:var(--muted); margin:0 0 24px;}

.badges{text-align:center; padding:24px 0;}
.badges span{display:inline-block; font-size:14px; color:var(--muted); margin:0 12px;}

/* ---------- PAGES PRESTA ---------- */
.page-hero{text-align:center; padding:56px 20px 32px;}
.page-hero h1{font-size:32px; font-weight:600; max-width:680px; margin:0 auto 14px;}
.page-hero .sub{font-size:18px; color:var(--muted); max-width:600px; margin:0 auto;}
.block{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:28px 32px; margin:0 0 20px;}
.block h2{font-size:20px; font-weight:600; margin:0 0 14px;}
.block p{font-size:15px; color:var(--muted); line-height:1.7;}
.block ul{list-style:none; margin:14px 0 0;}
.block li{padding:8px 0 8px 28px; position:relative; font-size:15px;}
.block li:before{content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:600;}
.pricing{text-align:center; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:36px 32px; margin:24px 0;}
.pricing .amount{font-size:38px; font-weight:600; margin:0 0 4px;}
.pricing .amount span{font-size:15px; color:var(--muted); font-weight:400;}
.pricing .detail{font-size:14px; color:var(--muted); margin:0 0 24px;}
.options{display:flex; flex-direction:column; gap:10px; max-width:420px; margin:0 auto 24px;}
.option-row{display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border:1px solid var(--line); border-radius:10px; gap:12px;}
.option-row .opt-label{font-size:15px;}
.option-row .opt-price{font-size:16px; font-weight:600; margin-left:auto; margin-right:12px;}
.back-link{display:inline-block; margin:24px 0; font-size:14px; color:var(--muted); text-decoration:none;}
.back-link:hover{color:var(--accent);}

/* ---------- BANDES CTA ---------- */
.cta-band{background:#6d132b; text-align:center; padding:56px 24px; margin:56px 0;}
.cta-band h2{color:#ffffff; font-size:28px; font-weight:600; margin:0 0 12px;}
.cta-band p{color:rgba(255,255,255,.88); font-size:17px; margin:0 0 26px;}
.cta-band .btn-white{background:#ffffff; color:#6d132b; display:inline-block; padding:15px 34px; border-radius:8px; font-size:16px; font-weight:600; text-decoration:none;}
.cta-band .btn-white:hover{background:#f2ebeb;}
.cta-band.full{margin:56px 0 0;}

/* ---------- FOOTER ---------- */
footer{text-align:center; padding:40px 24px; border-top:1px solid var(--line); margin-top:32px;}
footer .fbrand{font-size:14px; font-weight:600;}
footer .fmail{font-size:14px; color:var(--accent); text-decoration:none;}
footer .legal{font-size:12px; color:#aaa; margin-top:10px;}

/* ---------- RESPONSIVE (mobile ≤ 860px) ---------- */
@media(max-width:860px){
  .menu-toggle-label{display:block; cursor:pointer; font-size:26px; line-height:1; user-select:none;}
  .nav-links{
    display:none; position:absolute; top:70px; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--card); border-bottom:1px solid var(--line); padding:8px 0;
  }
  .menu-toggle:checked ~ .nav .nav-links{display:flex;}
  .nav-links > li{width:100%;}
  .nav-links > li > a{padding:14px 24px; border-radius:0;}
  .mega{
    position:static; transform:none; width:auto; opacity:1; visibility:visible;
    box-shadow:none; border:none; border-radius:0; grid-template-columns:1fr;
    padding:0 24px 12px; gap:8px;
  }
  .mega-card{display:flex; align-items:center; gap:12px;}
  .mega-card img{width:60px; height:60px; flex-shrink:0;}
  .mega-card .mega-txt{padding:0;}
  .mega-card p{display:none;}
  .hero{height:auto; min-height:420px; display:flex; flex-direction:column;}
  .hero-overlay{position:static; background:none; padding:32px 24px;}
  .hero img{height:220px;}
  .hero h1{font-size:30px;}
  .hero .sub{font-size:17px;}
    /* Extrait livrable */
  .excerpt{border:1px solid var(--line); border-radius:10px; overflow:hidden; margin-top:22px; font-size:13.5px; text-align:left;}
  .excerpt-head{background:var(--accent); color:#fff; padding:10px 16px; font-weight:600; font-size:13px; letter-spacing:.3px;}
  .excerpt table{width:100%; border-collapse:collapse;}
  .excerpt th,.excerpt td{padding:10px 14px; text-align:left; border-top:1px solid var(--line);}
  .excerpt th{border-top:none; font-size:12px; text-transform:uppercase; letter-spacing:.4px; color:var(--muted); background:rgba(0,0,0,.02);}
  .excerpt .tag{display:inline-block; padding:2px 9px; border-radius:99px; font-size:11.5px; font-weight:600; color:var(--accent); background:rgba(0,0,0,.04); white-space:nowrap;}
  .excerpt-note{padding:9px 16px; font-size:12px; color:var(--muted); border-top:1px solid var(--line);}
}