/* BatiPro V7.21 — adaptations fidèles à la maquette fournie.
   Le style complète home-v720.css ; aucun composant PHP/API métier n'est modifié. */

:root { --navy: #092447; --blue: #2879ca; --orange: #fa680d; }
body { color: #0b2444; }
.container { width: min(100% - 88px, 1350px); }
.site-header { box-shadow: 0 2px 15px rgba(9, 36, 71, .07); }
.nav-layout { min-height: 68px; }
.logo { font-size: 33px; letter-spacing: -1.8px; }
.logo-house { color: #13589a; }
.desktop-nav { gap: 29px; }
.desktop-nav a { font-weight: 600; }
.header-actions .btn { min-height: 43px; }
.hero { min-height: 540px; }
.hero-grid { min-height: 540px; grid-template-columns: 58% 42%; }
.hero-photo { inset: 0 0 0 38%; background-position: 51% center; }
.hero-copy { padding: 66px 0 65px; }
.hero h1 { max-width: 720px; font-size: clamp(41px, 4.5vw, 62px); line-height: 1.1; }
.hero-description { max-width: 660px; font-size: 17px; line-height: 1.7; }
.hero-actions { margin-top: 30px; }
.hero-benefits { margin-top: 24px; gap: 22px; }
.floating-card { border: 1px solid rgba(255,255,255,.9); box-shadow: 0 16px 38px rgba(10,35,60,.19); }
.projects-card { right: 4px; top: 36px; }
.requests-card { right: 4px; bottom: 24px; }
.roles-section { padding: 21px 0 36px; }
.role-grid { gap: 17px; }
.role-card { min-height: 246px; }
.role-image { height: 123px; }
.role-icon { color: #0b579c; font-size: 26px; }
.role-card:first-child .role-icon { color: #f79a00; }
.role-card h3 { font-size: 14px; }
.role-card p { font-size: 12px; }
.features-section { padding: 44px 0 42px; background: #f4f8fe; overflow: hidden; }
.features-layout { grid-template-columns: 59% 41%; }
.features-copy h2 { font-size: 28px; margin-bottom: 32px; }
.feature-grid { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; }
.feature-icon { width: 58px; height: 58px; font-size: 27px; }
.feature-item h3 { font-size: 12px; }
.dashboard-showcase { transform: none; margin-right: -5px; }
.discovery-section { padding: 50px 0; }
.discovery-layout { grid-template-columns: 31% 69%; }
.discovery-copy h2 { font-size: 30px; }
.project-image { height: 134px; }
.project-card { background: white; }
.project-description { padding: 12px; }
.closing-section { padding: 52px 0; }
.closing-layout h2 { font-size: 31px; }
.closing-steps li { backdrop-filter: blur(4px); }
@media (max-width: 1190px) {
  .container { width: min(100% - 48px, 1150px); }
  .feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
  .role-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .discovery-layout { grid-template-columns: 1fr; }
  .hero-grid { grid-template-columns: 61% 39%; }
}
@media (max-width: 800px) {
  .container { width: min(100% - 36px, 650px); }
  .hero-grid { display: block; min-height: 0; }
  .hero { min-height: 0; }
  .hero-photo { inset: 0; opacity: .15; }
  .hero-copy { padding: 60px 0 48px; }
  .hero h1 { font-size: clamp(35px, 8vw, 48px); }
  .role-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .features-layout { grid-template-columns: 1fr; }
  .project-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 440px) {
  .container { width: calc(100% - 26px); }
  .feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px 6px; }
  .hero-benefits { gap: 9px; }
}
