/* Page : nos-services (styles spécifiques, convertis depuis la version WordPress) */
.btn-link { border: none; padding: 0; color: var(--c-yellow); border-bottom: 1px solid transparent; }
.btn-link:hover { border-bottom-color: var(--c-yellow); transform: translateX(5px); }
.page-hero { position: relative; height: 50vh; min-height: 450px; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,0.1); }
.page-hero-bg { filter: grayscale(100%) brightness(0.3); }
.page-hero-content { position: relative; z-index: 2; max-width: 900px; padding: 0 20px; }
.page-title { font-size: clamp(3rem, 6vw, 5rem); margin-bottom: 20px; text-shadow: 0 10px 30px rgba(0,0,0,0.8); }
.page-subtitle { font-size: 1.1rem; color: #ccc; max-width: 700px; margin: 0 auto; line-height: 1.6; }
.intro-box { max-width: 900px; margin: 0 auto 80px auto; text-align: center; border-left: 4px solid var(--c-yellow); border-right: 4px solid var(--c-yellow); padding: 0 40px; }
.intro-text { font-size: 1.15rem; color: #ddd; margin-bottom: 20px; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 30px; }
.service-card { display: block; text-decoration: none; background: var(--c-card-bg); border: 1px solid rgba(255,255,255,0.05); padding: 40px; position: relative; overflow: hidden; transition: 0.4s var(--ease-premium); display: flex; flex-direction: column; height: 100%; }
.service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 0%; background: var(--c-yellow); transition: 0.4s ease; }
.service-card:hover { transform: translateY(-10px); background: #202024; box-shadow: 0 20px 40px rgba(0,0,0,0.4); border-color: rgba(255,255,255,0.1); }
.service-card:hover::before { height: 100%; }
.s-number { font-family: var(--font-display); font-size: 3rem; color: rgba(255,255,255,0.05); position: absolute; top: 20px; right: 20px; font-weight: 700; transition: 0.3s; }
.service-card:hover .s-number { color: rgba(249, 244, 69, 0.2); }
.s-icon { font-size: 2.5rem; margin-bottom: 20px; display: block; filter: grayscale(100%); transition: 0.3s; }
.service-card:hover .s-icon { filter: grayscale(0%); transform: scale(1.1); }
.s-title { font-size: 1.5rem; margin-bottom: 15px; color: #fff; }
.s-desc { font-size: 0.95rem; color: var(--c-text-muted); margin-bottom: 20px; flex-grow: 1; line-height: 1.6; }
.s-list { list-style: none; margin-bottom: 25px; padding-left: 0; border-top: 1px solid rgba(255,255,255,0.05); padding-top: 15px; }
.s-list li { position: relative; padding-left: 20px; margin-bottom: 8px; font-size: 0.9rem; color: #ccc; }
.s-list li::before { content: '›'; color: var(--c-yellow); position: absolute; left: 0; font-weight: bold; }
.s-link-text { 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.7; transition: 0.3s; }
.service-card:hover .s-link-text { opacity: 1; transform: translateX(5px); }
@media (max-width: 900px) {
    .page-hero { height: 40vh; }
    .intro-box { padding: 0 20px; border: none; border-top: 4px solid var(--c-yellow); padding-top: 30px; }
    .services-grid { grid-template-columns: 1fr; }
}
