/* Page d'accueil Bounker */
.bk-home {
  --bk-orange: #F75D1E;
  --bk-orange-dark: #D94A10;
  --bk-blue: #31395C;
  --bk-grey: #F4F6F9;
  --bk-text: #1F2437;
  color: var(--bk-text);
  overflow-x: hidden;
}

.bk-home h1, .bk-home h2, .bk-home h3 { color: var(--bk-blue); letter-spacing: 0; text-transform: none; }
.bk-home h1 { font-size: clamp(2rem, 4.5vw, 3rem); line-height: 1.15; font-weight: 800; margin-bottom: 20px; }
.bk-home h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.2; font-weight: 700; }
.bk-home h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: 10px; }
.bk-home p { line-height: 1.65; }

/* Sections */
.bk-hero { padding: 130px 0 70px; background: linear-gradient(180deg, #fff 0%, var(--bk-grey) 100%); }
.bk-section { padding: 80px 0; background: #fff; }
.bk-section-grey { background: var(--bk-grey); }
.bk-heading { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.bk-heading p { font-size: 1.1rem; color: #4A5068; margin-top: 12px; }
.bk-lead { font-size: 1.15rem; color: #3B4260; max-width: 540px; }
.bk-lead-dark { font-size: 1.05rem; color: #3B4260; }
.bk-eyebrow { display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .12em; color: var(--bk-orange-dark); margin-bottom: 10px; }

/* Boutons */
.bk-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.bk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 10px; font-weight: 700; text-decoration: none; border: 2px solid transparent; transition: background-color .2s, color .2s, border-color .2s; text-align: center; }
.bk-btn-primary { background: var(--bk-orange); color: #fff; }
.bk-btn-primary:hover, .bk-btn-primary:focus-visible { background: var(--bk-orange-dark); color: #fff; }
.bk-btn-secondary { background: #fff; color: var(--bk-blue); border-color: var(--bk-blue); }
.bk-btn-secondary:hover, .bk-btn-secondary:focus-visible { background: var(--bk-blue); color: #fff; }
.bk-btn-outline { background: transparent; color: var(--bk-blue); border-color: var(--bk-blue); }
.bk-btn-outline:hover, .bk-btn-outline:focus-visible { background: var(--bk-blue); color: #fff; }
.bk-home a:focus-visible { outline: 3px solid var(--bk-orange); outline-offset: 2px; }

/* Aperçu visuel */
.bk-visual { background: #fff; border-radius: 16px; box-shadow: 0 12px 40px rgba(49, 57, 92, .15); overflow: hidden; border: 1px solid #E3E7EF; }
.bk-visual-bar { display: flex; gap: 6px; padding: 12px 16px; background: var(--bk-blue); }
.bk-visual-bar span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .5); }
.bk-visual-body { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; padding: 24px; min-height: 280px; }
.bk-visual-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; background: var(--bk-grey); border-radius: 12px; color: var(--bk-blue); font-weight: 600; padding: 20px 10px; }
.bk-visual-tile i { font-size: 1.8rem; color: var(--bk-orange); }
.bk-visual-tile.bk-soon { opacity: .6; }
.bk-visual-single { grid-template-columns: 1fr; place-items: center; text-align: center; color: var(--bk-blue); font-weight: 600; }
.bk-visual-single i { font-size: 3rem; color: var(--bk-orange); display: block; margin-bottom: 10px; }

/* Cartes outils */
.bk-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; height: 100%; padding: 32px 28px; background: #fff; border-radius: 14px; box-shadow: 0 4px 18px rgba(49, 57, 92, .08); border-top: 4px solid var(--bk-orange); }
.bk-card-audit { border-top-color: var(--bk-blue); }
.bk-card-proc { border-top-color: #9AA1B8; }
.bk-card p { flex: 1 1 auto; color: #4A5068; }
.bk-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 14px; background: rgba(247, 93, 30, .12); color: var(--bk-orange-dark); font-size: 1.5rem; margin-bottom: 18px; }
.bk-card-audit .bk-icon { background: rgba(49, 57, 92, .1); color: var(--bk-blue); }
.bk-card-proc .bk-icon { background: #ECEEF4; color: #5B6280; }
.bk-badge { position: absolute; top: 24px; right: 24px; font-size: .75rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #ECEEF4; color: #4A5068; }

/* Étapes */
.bk-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 24px; }
.bk-steps li { padding: 28px; background: #fff; border: 1px solid #E3E7EF; border-radius: 14px; }
.bk-step-num { display: block; font-size: 2.5rem; font-weight: 800; color: var(--bk-orange); line-height: 1; margin-bottom: 12px; }

/* Bénéfices */
.bk-benefits { list-style: none; padding: 0; margin: 24px 0 28px; }
.bk-benefits li { display: flex; align-items: center; gap: 14px; padding: 8px 0; font-weight: 600; color: var(--bk-blue); }
.bk-benefits i { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(247, 93, 30, .12); color: var(--bk-orange-dark); }

/* Situations */
.bk-situation { height: 100%; padding: 28px 24px; background: var(--bk-grey); border-radius: 14px; }
.bk-situation i { font-size: 1.6rem; color: var(--bk-orange); margin-bottom: 14px; display: block; }
.bk-situation p { color: #4A5068; margin: 0; }

/* Blog */
.bk-post { height: 100%; display: flex; flex-direction: column; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 18px rgba(49, 57, 92, .08); }
.bk-post-img { display: block; aspect-ratio: 16 / 10; background: #E3E7EF; }
.bk-post-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-post-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px 22px 24px; }
.bk-post-body h3 { font-size: 1.1rem; margin: 6px 0; }
.bk-post-body h3 a { color: var(--bk-blue); }
.bk-post-body p { flex: 1 1 auto; color: #4A5068; font-size: .95rem; margin: 8px 0 12px; }
.bk-post-cat { font-size: .8rem; font-weight: 700; text-transform: uppercase; color: var(--bk-orange-dark); }
.bk-post-date { font-size: .85rem; color: #5B6280; }
.bk-post-link { font-weight: 700; color: var(--bk-blue); }

/* CTA final */
.bk-final { padding: 80px 0; background: var(--bk-blue); }
.bk-final h2 { color: #fff; }
.bk-final p { color: #E6E9F3; font-size: 1.1rem; max-width: 560px; margin: 14px auto 28px; }

/* Responsive */
@media (min-width: 768px) {
  .bk-steps { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
  .bk-hero { padding: 100px 0 50px; }
  .bk-section, .bk-final { padding: 56px 0; }
  .bk-actions .bk-btn { width: 100%; }
  .bk-visual-body { min-height: 0; padding: 16px; gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .bk-home * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
