/* === PREMIUM UPGRADE — Whitespace, Typo, Breathing Room === */

/* 1. SECTIONS: plus d'espace vertical */
.section-wrap { padding: 120px 0 !important; }
.testi-section { padding: 120px 40px !important; }

/* 2. TITRES: plus grands, plus serrés */
.s-title {
  font-size: clamp(30px, 3.5vw, 48px) !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 20px !important;
}
.s-sub {
  font-size: 17px !important;
  line-height: 1.8 !important;
  max-width: 620px !important;
}
.s-chip {
  font-size: 11.5px !important;
  letter-spacing: 0.08em !important;
  margin-bottom: 16px !important;
}

/* 3. SECTION HEADER: plus d'espace en bas */
.section-header {
  margin-bottom: 56px !important;
}

/* 4. GRILLES: plus de gap */
.approche-grid { gap: 24px !important; }
.douleur-grid { gap: 24px !important; margin-bottom: 32px !important; }

/* 5. CARDS: plus de padding, plus de rayon, texte plus grand */
.approche-card {
  padding: 36px 30px !important;
  border-radius: 20px !important;
}
.approche-card-t {
  font-size: 17px !important;
  margin-bottom: 10px !important;
}
.approche-card-d {
  font-size: 14.5px !important;
  line-height: 1.7 !important;
}
.approche-icon {
  width: 48px !important;
  height: 48px !important;
  margin-bottom: 20px !important;
}

.douleur-card {
  padding: 36px 30px !important;
  border-radius: 20px !important;
}
.douleur-card-t {
  font-size: 16px !important;
  margin-bottom: 10px !important;
}
.douleur-card-d {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* 6. TEMOIGNAGES: cards plus grandes */
.tc {
  padding: 32px 28px !important;
  border-radius: 20px !important;
  min-width: 380px !important;
}
.tc-quote {
  font-size: 15.5px !important;
  line-height: 1.85 !important;
}
.tc-av, .tc-av-photo {
  width: 44px !important;
  height: 44px !important;
}
.tc-name {
  font-size: 15px !important;
}
.tc-role {
  font-size: 11px !important;
}
.testi-track { gap: 20px !important; }

/* 7. HERO: plus d'espace */
.hero {
  min-height: 100vh !important;
}
.hero-h1 {
  font-size: clamp(42px, 5vw, 76px) !important;
  letter-spacing: -0.035em !important;
  line-height: 1.12 !important;
  margin-bottom: 28px !important;
}
.hero-h1 em {
  display: block !important;
  margin-top: 8px !important;
}
.hero-desc {
  font-size: 17.5px !important;
  line-height: 1.8 !important;
  max-width: 560px !important;
  margin-bottom: 32px !important;
}
.hero-kpis {
  margin-top: 40px !important;
  gap: 28px !important;
}
.kpi-v {
  font-size: clamp(28px, 3vw, 36px) !important;
}

/* 8. SECTION ENGAGEMENT: plus grand */
.section-wrap.muted + section h2,
section[style*="f8f9ff"] h2 {
  font-size: clamp(28px, 3.5vw, 46px) !important;
}

/* 9. BOUTONS: un peu plus grands */
.btn-cta {
  padding: 16px 32px !important;
  font-size: 15px !important;
  border-radius: 12px !important;
}
.btn-ghost {
  font-size: 15px !important;
}

/* 10. POSTES CARDS */
.postes-card {
  padding: 20px 18px !important;
  border-radius: 14px !important;
}

/* 11. FOOTER: plus d'espace en haut */
footer {
  padding-top: 80px !important;
}

/* 12. CAROUSEL CLIENTS: plus d'espace */
section[style*="overflow: hidden"] {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

/* RESPONSIVE: réduire les paddings sur mobile */
@media (max-width: 900px) {
  .section-wrap { padding: 80px 0 !important; }
  .testi-section { padding: 80px 20px !important; }
  .section-header { margin-bottom: 36px !important; }
  .tc { min-width: calc(100% - 16px) !important; }
}
@media (max-width: 640px) {
  .section-wrap { padding: 56px 0 !important; }
  .testi-section { padding: 56px 16px !important; }
  .section-header { margin-bottom: 28px !important; }
  .hero-kpis { gap: 16px !important; }
}

/* Hero social proof */
.hero-proof{margin-top:36px;display:flex;flex-direction:column;gap:10px;animation:st-fadeUp .8s cubic-bezier(.16,1,.3,1) both;animation-delay:.8s}
.hero-proof-line{display:flex;align-items:center;gap:0;font-size:12px;flex-wrap:wrap}
.hero-proof-stars{color:#FFC841;font-size:13px;letter-spacing:2px}
.hero-proof-sep{color:rgba(255,255,255,.35);margin:0 10px}
.hero-proof-text{color:rgba(255,255,255,.7);font-size:13px;font-weight:600}
.hero-proof-quote{font-size:13.5px;color:rgba(255,255,255,.55);font-style:italic;letter-spacing:.01em}
.hero-proof-author{font-style:normal;color:rgba(255,255,255,.45);font-size:12px}
@media(max-width:640px){.hero-proof-line{gap:4px}.hero-proof-sep{margin:0 6px}}


/* Hero testimonial rotator */
.hero-proof-rotator{position:relative;min-height:52px;margin-top:4px}
.hero-proof-slide{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;opacity:0;transform:translateX(30px);filter:blur(4px);transition:all .5s cubic-bezier(.16,1,.3,1);pointer-events:none}
.hero-proof-slide.active{opacity:1;transform:translateX(0);filter:blur(0);pointer-events:auto;position:relative}
.hero-proof-slide.out{opacity:0;transform:translateX(-30px);filter:blur(4px)}
.hpr-stars{color:#FFC841;font-size:12px;letter-spacing:2px;flex-shrink:0}
.hpr-text{font-size:13px;color:rgba(255,255,255,.6);font-style:italic;line-height:1.5}
.hpr-author{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.4);white-space:nowrap}
.hpr-dots{display:flex;gap:6px;margin-top:14px}
.hpr-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.15);cursor:pointer;transition:all .3s}
.hpr-dot.on{background:#FFC841;width:20px;border-radius:3px}
@media(max-width:640px){.hero-proof-slide{flex-direction:column;align-items:flex-start;gap:6px}.hpr-dots{margin-top:10px}}

/* Hero role selector */
.hero-roles{margin-top:28px;animation:st-fadeUp .8s cubic-bezier(.16,1,.3,1) both;animation-delay:.9s}
.hero-roles-label{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:10px}
.hero-roles-list{display:flex;flex-wrap:wrap;gap:8px}
.hero-role-btn{font-family:var(--font);font-size:12.5px;font-weight:600;color:rgba(255,255,255,.6);padding:8px 16px;border:1px solid rgba(255,255,255,.12);border-radius:8px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);background:rgba(255,255,255,.03)}
.hero-role-btn:hover{color:#fff;border-color:rgba(255,200,65,.5);background:rgba(255,200,65,.08);transform:translateY(-2px)}

/* Sticky CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:9998;animation:stickyIn .4s cubic-bezier(.16,1,.3,1)}
.sticky-cta-inner{max-width:1200px;margin:0 auto;padding:14px 40px;background:rgba(7,7,15,.92);backdrop-filter:blur(16px);border-top:1px solid rgba(26,26,230,.2);display:flex;align-items:center;justify-content:space-between}
.sticky-cta-text{font-family:var(--font);font-size:14px;font-weight:600;color:rgba(255,255,255,.7)}
.sticky-cta-btn{font-family:var(--font);font-size:13px;font-weight:700;color:#07070f;background:#FFC841;padding:10px 24px;border-radius:8px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.sticky-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,200,65,.25)}
@keyframes stickyIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:640px){.sticky-cta-inner{flex-direction:column;gap:10px;text-align:center;padding:12px 20px}.hero-roles-list{gap:6px}.hero-role-btn{font-size:11px;padding:6px 12px}}

/* Smooth scroll global */

