:root{
  --color-primary:#111111;
  --color-accent:#d4af37;
  --color-light:#f7f7f5;
  --color-text:#222;
  --color-muted:#666;
  --radius:10px;
  --max-width:1140px;
  font-family:'Poppins',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{color:var(--color-text);line-height:1.6;background:#fff;}
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{line-height:1.25;font-weight:700;}
.section-title{text-align:center;font-size:2rem;margin-bottom:40px;}

/* ---- Header ---- */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:100;}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo img{height:40px;width:auto;max-width:160px;object-fit:contain;}
.main-nav{display:flex;gap:24px;align-items:center;}
.main-nav a{font-weight:500;}
.nav-cta{background:var(--color-primary);color:#fff;padding:8px 18px;border-radius:var(--radius);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;}
.burger span{width:26px;height:3px;background:var(--color-primary);}

/* ---- Buttons ---- */
.btn{display:inline-block;padding:14px 28px;border-radius:var(--radius);font-weight:600;transition:.2s;}
.btn-primary{background:var(--color-accent);color:#111;}
.btn-primary:hover{opacity:.88;}
.btn-outline{border:2px solid var(--color-primary);color:var(--color-primary);margin-left:12px;}
.center-cta{text-align:center;margin-top:40px;}

/* ---- Hero ---- */
.hero{padding:70px 0;background:var(--color-light);}
.hero-inner{display:flex;gap:40px;align-items:center;}
.hero-text{flex:1;}
.hero-text h1{font-size:2.6rem;margin-bottom:18px;}
.hero-text h1 span{color:var(--color-accent);}
.hero-lead{margin-bottom:22px;color:var(--color-muted);}
.hero-points{list-style:none;margin-bottom:28px;}
.hero-points li{margin-bottom:8px;}
.hero-media{flex:1;}

/* ---- Stats ---- */
.stats{padding:50px 0;background:var(--color-primary);color:#fff;}
.stats-inner{display:flex;justify-content:space-around;text-align:center;flex-wrap:wrap;gap:20px;}
.stat-number{font-size:2.4rem;font-weight:700;color:var(--color-accent);}
.stat-suffix{font-size:2.4rem;font-weight:700;color:var(--color-accent);}

/* ---- Two columns ---- */
.two-col{display:flex;gap:50px;align-items:center;padding:70px 0;}
.col-text,.col-media{flex:1;}
.check-list{list-style:none;margin-top:16px;}
.check-list li{padding-left:26px;position:relative;margin-bottom:10px;}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--color-accent);font-weight:700;}

/* ---- Process ---- */
.process{padding:70px 0;background:var(--color-light);}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.process-card{background:#fff;border-radius:var(--radius);padding:26px;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.05);}
.step-num{display:inline-block;width:36px;height:36px;line-height:36px;border-radius:50%;background:var(--color-accent);color:#111;font-weight:700;margin-bottom:14px;}

/* ---- Testimonials ---- */
.testimonials{padding:70px 0;}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testimonial-card{background:var(--color-light);border-radius:var(--radius);padding:26px;}
.stars{color:var(--color-accent);margin-bottom:10px;}
.testimonial-card strong{display:block;margin-top:14px;}
.testimonial-card span{color:var(--color-muted);font-size:.85rem;}

/* ---- FAQ ---- */
.faq{padding:70px 0;background:var(--color-light);}
.faq-item{border-bottom:1px solid #ddd;}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:18px 0;font-size:1rem;font-weight:600;display:flex;justify-content:space-between;cursor:pointer;}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-answer p{padding-bottom:16px;color:var(--color-muted);}
.faq-item.active .faq-answer{max-height:300px;}
.faq-icon{transition:transform .2s;}
.faq-item.active .faq-icon{transform:rotate(45deg);}

/* ---- Footer ---- */
.site-footer{background:var(--color-primary);color:#fff;padding:40px 0;text-align:center;}
.footer-logo{height:44px;width:auto;max-width:160px;object-fit:contain;margin:0 auto 14px;}
.footer-socials{display:flex;gap:16px;justify-content:center;margin:14px 0;}
.footer-copy{color:#999;font-size:.85rem;margin-top:10px;}

/* ---- Page intro (pages secondaires) ---- */
.page-intro{padding:60px 0 30px;text-align:center;background:var(--color-light);}
.page-intro h1{font-size:2.2rem;margin-bottom:14px;}

/* ---- Formulaire ---- */
.form-section{padding:60px 0 90px;}
.form-row{margin-bottom:20px;}
.form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0;}
.form-row label{display:block;font-weight:600;margin-bottom:8px;}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="number"],
.form-row input[type="file"],
.form-row select,
.form-row textarea{
  width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:var(--radius);
  font-family:inherit;font-size:1rem;background:#fff;
}
.form-row textarea{resize:vertical;}
.radio-group{display:flex;flex-direction:column;gap:8px;}
.radio-group label{font-weight:400;display:flex;gap:8px;align-items:center;}
.checkbox-line{display:flex;align-items:flex-start;gap:10px;font-weight:400;}
.conditional{background:var(--color-light);padding:18px;border-radius:var(--radius);margin-top:-4px;margin-bottom:20px;}
.btn-block{width:100%;text-align:center;border:none;cursor:pointer;font-size:1rem;}

/* ---- Formulaire multi-étapes ---- */
.step-indicator{display:flex;justify-content:center;gap:16px;margin-bottom:32px;}
.step-dot{width:34px;height:34px;border-radius:50%;background:#e5e5e5;color:#777;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;}
.step-dot.active{background:var(--color-accent);color:#111;}
.step-dot.done{background:#111;color:#fff;}
.step-title{font-size:1.2rem;margin-bottom:22px;}
.form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;}
.form-nav .btn-outline{margin-left:0;}
.field-hint{display:block;color:#888;font-size:.78rem;margin-top:6px;}
.pre-submit-notice{background:#eef6ff;border:1px solid #b8d9f8;border-radius:var(--radius);padding:16px 18px;font-size:.88rem;color:#2c5282;margin-top:24px;}
.referral-teaser{background:#fff8e6;border:1px solid #f0d28a;border-radius:var(--radius);padding:16px 18px;font-size:.9rem;color:#7a5b0a;margin-top:16px;}

/* ---- Alertes ---- */
.alert{padding:24px;border-radius:var(--radius);margin-bottom:24px;}
.alert-success{background:#e6f6ec;border:1px solid #b6e3c6;}
.alert-error{background:#fdecec;border:1px solid #f3b8b8;}
.alert-error ul{padding-left:20px;}

/* ---- Responsive ---- */
@media(max-width:900px){
  .process-grid,.testimonials-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .main-nav{position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;display:none;border-bottom:1px solid #eee;}
  .main-nav.open{display:flex;}
  .burger{display:flex;}
  .hero-inner,.two-col{flex-direction:column;}
  .process-grid,.testimonials-grid{grid-template-columns:1fr;}
}
