/* Page : a-propos (styles spécifiques, convertis depuis la version WordPress) */
.page-hero { position: relative; height: 60vh; min-height: 500px; display: flex; align-items: center; overflow: hidden; }
.page-hero-bg { filter: grayscale(100%) brightness(0.4); }
.page-hero-content { position: relative; z-index: 2; border-left: 5px solid var(--c-yellow); padding-left: 40px; }
.page-title { font-size: clamp(3rem, 6vw, 5rem); margin-bottom: 20px; }
.intro-grid { display: grid; grid-template-columns: 1fr 0.8fr; gap: 80px; align-items: center; }
.intro-text p { margin-bottom: 24px; color: var(--c-text-muted); font-size: 1.05rem; }
.intro-visual-col { position: relative; height: auto; }
.intro-image { width: 100%; height: auto; min-height: 400px; object-fit: cover; border-radius: var(--radius); filter: grayscale(10%) contrast(1.1); box-shadow: 0 20px 50px rgba(0,0,0,0.5); }
.identity-overlay { position: absolute; bottom: 40px; left: -40px; background: var(--c-charcoal); padding: 40px; border-top: 4px solid var(--c-yellow); box-shadow: 0 20px 50px rgba(0,0,0,0.7); width: 90%; max-width: 500px; }
.pillars-grid { display: flex; gap: 15px; margin-top: 25px; }
.pillar-item { text-align: center; flex: 1; padding: 15px 10px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.05); }
.pillar-icon { font-size: 1.8rem; color: var(--c-yellow); display: block; margin-bottom: 5px; }
.pillar-text { font-family: var(--font-display); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 1px; }
.expertise-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 30px; margin-top: 50px; }
.expertise-card { display: block; text-decoration: none; position: relative; height: 350px; overflow: hidden; border-radius: var(--radius); border-bottom: 4px solid var(--c-yellow); background: #1a1a1a; transition: transform 0.4s ease; }
.exp-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.8s var(--ease-premium); filter: grayscale(60%); opacity: 0.6; }
.expertise-card:hover { transform: translateY(-5px); }
.expertise-card:hover .exp-bg { transform: scale(1.1); filter: grayscale(0%); opacity: 0.8; }
.exp-content { position: absolute; inset: 0; background: linear-gradient(to top, #000 10%, rgba(0,0,0,0.2)); padding: 30px; display: flex; flex-direction: column; justify-content: flex-end; }
.exp-header { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; }
.exp-icon { font-size: 2rem; color: var(--c-yellow); text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.exp-title { font-size: 1.5rem; margin: 0; color: #fff; }
.exp-desc { color: rgba(255,255,255,0.9); font-size: 0.95rem; line-height: 1.5; margin-bottom: 20px; }
.exp-link-arrow { color: var(--c-yellow); font-weight: 700; font-family: var(--font-display); text-transform: uppercase; font-size: 0.9rem; display: flex; align-items: center; gap: 10px; opacity: 0; transform: translateX(-10px); transition: 0.3s; }
.expertise-card:hover .exp-link-arrow { opacity: 1; transform: translateX(0); }
.vision-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 250px); gap: 20px; margin-top: 50px; }
.vision-box { background: #111; padding: 30px; border: 1px solid #222; display: flex; flex-direction: column; justify-content: flex-end; transition: 0.3s; position: relative; overflow: hidden; }
.vision-box:hover { background: #161616; border-color: #333; }
.v-large { grid-column: span 2; }
.v-tall { grid-row: span 2; background: linear-gradient(to bottom, #111, #050505); }
.v-icon { font-size: 2.5rem; margin-bottom: auto; color: var(--c-yellow); opacity: 0.8; }
.v-title { font-size: 1.5rem; margin-bottom: 10px; }
.v-text { font-size: 0.9rem; color: #999; line-height: 1.5; }
.engagements-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.engage-item { margin-bottom: 30px; border-left: 2px solid rgba(255,255,255,0.1); padding-left: 20px; }
.engage-title { color: var(--c-yellow); font-size: 1.2rem; margin-bottom: 5px; }
.engage-desc { color: var(--c-text-muted); font-size: 0.95rem; }
.forces-wrapper { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 20px; scroll-snap-type: x mandatory; }
.forces-wrapper::-webkit-scrollbar { height: 4px; background: #222; }
.forces-wrapper::-webkit-scrollbar-thumb { background: var(--c-yellow); }
.force-card { min-width: 280px; flex: 1; background: linear-gradient(145deg, #1a1a1a, #0f0f0f); padding: 35px; border-top: 3px solid var(--c-yellow); scroll-snap-align: start; }
@media (max-width: 991px) {
    .page-hero { height: 50vh; min-height: 400px; }
    .page-hero-content { border-left: none; padding-left: 0; text-align: center; }
    .intro-grid { grid-template-columns: 1fr; gap: 50px; }
    .intro-visual-col { height: auto; order: -1; margin-bottom: 50px; }
    .identity-overlay { position: relative; bottom: auto; left: auto; margin-top: -50px; margin-left: auto; margin-right: auto; }
    .expertise-grid { grid-template-columns: 1fr; }
    .vision-grid { display: flex; flex-direction: column; height: auto; }
    .vision-box { min-height: 220px; }
    .engagements-split { grid-template-columns: 1fr; gap: 40px; }
    .force-card { min-width: 80vw; }
}
