:root{
  --prune:#7d3554;
  --prune-fonce:#5b2340;
  --dore:#d4a24e;
  --creme:#faf5ef;
  --encre:#2e222a;
  --gris:#6e6068;
  --blanc:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Manrope',sans-serif;color:var(--encre);background:var(--creme);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:'Sora',sans-serif;color:var(--prune-fonce);line-height:1.25}
a{color:var(--prune);}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* header */
header{background:var(--blanc);border-bottom:1px solid #eee2d8;position:sticky;top:0;z-index:50}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;flex-wrap:wrap;gap:10px}
.logo{font-family:'Sora',sans-serif;font-weight:700;font-size:1.3rem;color:var(--prune-fonce);text-decoration:none}
.logo span{color:var(--dore)}
nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--encre);font-weight:600;font-size:.95rem}
nav a:hover{color:var(--prune)}
.cta{background:var(--prune);color:#fff !important;padding:10px 20px;border-radius:999px}
.cta:hover{background:var(--prune-fonce)}

/* hero */
.hero{background:linear-gradient(135deg,var(--prune-fonce) 0%,var(--prune) 55%,#a04e73 100%);color:#fff;padding:80px 0 70px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:rgba(212,162,78,.18)}
.hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.7rem);max-width:680px}
.hero p{max-width:620px;margin:18px 0 28px;font-size:1.1rem;color:#f3e4ec}
.hero .btn{display:inline-block;background:var(--dore);color:var(--encre);font-weight:700;padding:14px 30px;border-radius:999px;text-decoration:none}
.hero .btn:hover{filter:brightness(1.08)}
.hero .btn.ghost{background:transparent;border:2px solid #fff;color:#fff;margin-left:12px}

/* sections */
section{padding:60px 0}
section.alt{background:#fff}
h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:14px}
.sub{color:var(--gris);max-width:700px;margin-bottom:34px}
.grid{display:grid;gap:24px}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:var(--blanc);border:1px solid #efe3d7;border-radius:16px;padding:28px;box-shadow:0 4px 14px rgba(93,43,66,.05)}
section.alt .card{background:var(--creme)}
.card h3{font-size:1.15rem;margin-bottom:10px}
.card p{color:var(--gris);font-size:.97rem}
.card .lien{display:inline-block;margin-top:14px;font-weight:700;text-decoration:none}
.picto{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,var(--prune),#a04e73);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:16px}

/* stats */
.stats{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;background:var(--prune-fonce);border-radius:20px;padding:34px 30px;color:#fff}
.stat{flex:1;min-width:150px;text-align:center}
.stat b{display:block;font-family:'Sora',sans-serif;font-size:2rem;color:var(--dore)}
.stat span{font-size:.9rem;color:#e9d4df}

/* édito */
.edito p{margin-bottom:16px;max-width:840px}

/* tarifs */
table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid #f0e5da}
th{background:var(--prune);color:#fff;font-family:'Sora',sans-serif;font-size:.95rem}
td:last-child,th:last-child{text-align:right;white-space:nowrap}

/* faq */
details{background:#fff;border:1px solid #efe3d7;border-radius:12px;padding:18px 22px;margin-bottom:12px}
summary{font-weight:700;cursor:pointer;font-family:'Sora',sans-serif;color:var(--prune-fonce)}
details p{margin-top:10px;color:var(--gris)}

/* form */
form{display:grid;gap:16px;max-width:640px}
label{font-weight:700;font-size:.92rem}
input,textarea,select{width:100%;padding:12px 14px;border:1px solid #d9c8bb;border-radius:10px;font-family:inherit;font-size:1rem;background:#fff}
textarea{min-height:140px}
button{background:var(--prune);color:#fff;border:none;padding:14px 30px;border-radius:999px;font-weight:700;font-size:1rem;cursor:pointer;font-family:'Sora',sans-serif}
button:hover{background:var(--prune-fonce)}

/* bandeau cta */
.bandeau{background:linear-gradient(120deg,var(--dore),#e6bd72);border-radius:20px;padding:40px 34px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.bandeau h2{margin:0}
.bandeau a{background:var(--prune-fonce);color:#fff;text-decoration:none;padding:14px 28px;border-radius:999px;font-weight:700}

/* footer */
footer{background:var(--encre);color:#cbbfc6;padding:50px 0 30px;margin-top:0}
footer h3{color:#fff;font-size:1rem;margin-bottom:12px}
footer a{color:#cbbfc6;text-decoration:none}
footer a:hover{color:var(--dore)}
.fgrid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:30px}
.fin{border-top:1px solid #453a41;padding-top:18px;font-size:.85rem;color:#948791}
ul.check{list-style:none}
ul.check li{padding-left:26px;position:relative;margin-bottom:9px}
ul.check li::before{content:"✓";position:absolute;left:0;color:var(--dore);font-weight:700}
.breadcrumb{font-size:.85rem;color:var(--gris);padding:16px 0 0}
.breadcrumb a{color:var(--gris)}
@media(max-width:720px){.hero{padding:56px 0}.hero .btn.ghost{margin-left:0;margin-top:10px}}
