.service-hero { padding:85px 0 48px; background:linear-gradient(125deg,#f5f8fa,#fff 65%,#eff8df); }
.service-hero h1 { max-width:980px; font-size:clamp(42px,5.7vw,70px); }
.service-hero h1 span { color:var(--lime-dark); }
.service-hero .lead { max-width:760px; }
.service-hero .btn,.plan-card .btn { gap:14px; }
.service-intro-line { display:flex; flex-wrap:wrap; gap:14px 30px; margin-top:42px; padding-top:24px; border-top:1px solid var(--line); color:#516171; font-size:14px; }
.service-intro-line span::before { content:'•'; color:var(--lime-dark); margin-right:10px; }
.service-nav { border-block:1px solid var(--line); background:white; }
.service-nav .wrap { display:flex; gap:28px; overflow-x:auto; padding-block:19px; }
.service-nav a { flex-shrink:0; text-decoration:none; font-size:14px; font-weight:700; }
.service-nav a:hover { color:var(--lime-dark); }
.page-id-services section[id],.service-card[id],#expertises,#accompagnement,#methode,#besoins,#questions { scroll-margin-top:110px; }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.service-card { padding:30px; border:1px solid var(--line); border-radius:22px; display:flex; flex-direction:column; background:white; }
.service-card-top { display:flex; align-items:center; gap:14px; margin-bottom:22px; }
.service-card-top .card-icon { flex-shrink:0; margin:0; }
.service-label { color:#52636b; font-size:13px; font-weight:700; }
.service-card h3 { max-width:400px; font-size:27px; letter-spacing:-.035em; margin-bottom:14px; }
.service-card > p { color:var(--muted); margin:0 0 24px; }
.service-card details { margin-top:auto; border-top:1px solid var(--line); }
summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 0 0; font-weight:700; }
summary::-webkit-details-marker { display:none; }
summary > span { flex-shrink:0; color:var(--lime-dark); font-size:23px; transition:transform .25s; }
details[open] > summary > span { transform:rotate(45deg); }
summary:focus-visible { outline:3px solid var(--blue); outline-offset:5px; border-radius:4px; }
.service-details { padding-top:14px; }
.service-details ul,.plan-card ul { padding-left:19px; margin:0; }
.service-details li,.plan-card li { padding:5px 0; }
.service-details li::marker { color:var(--lime-dark); }
.service-details p { margin:0; color:var(--muted); }
.service-plans { background:var(--navy); color:white; }
.service-plans .eyebrow { color:var(--lime); }
.service-plans .section-head p { color:#c2d0d8; }
.plan-card { padding:30px; border:1px solid #365064; border-radius:20px; background:#122d40; display:flex; flex-direction:column; }
.plan-number { color:var(--lime); font-weight:800; font-size:14px; margin-bottom:25px; }
.plan-card h3 { font-size:25px; }
.plan-card p,.plan-card ul { color:#d0dce3; font-size:15px; }
.plan-card ul { margin:8px 0 28px; }
.plan-card .btn { margin-top:auto; font-size:13px; padding:12px 16px; text-align:center; }
.method-grid { padding:0; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; gap:22px; }
.method-grid li { position:relative; }
.method-grid li:not(:last-child)::after { content:''; position:absolute; height:2px; background:#9bd22d; top:26px; left:72px; width:calc(100% - 72px); transform-origin:left; }
.method-number { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--navy); color:var(--lime); font-weight:800; margin-bottom:22px; }
.method-grid h3 { font-size:22px; margin-bottom:10px; }
.method-grid p { margin:0; font-size:15px; color:var(--muted); }
.project-grid .card { display:flex; flex-direction:column; }
.project-grid .project-tags { font-size:12px; color:#577130; margin:18px 0; }
.project-grid .text-link { margin-top:auto; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.faq-layout > div > p { color:var(--muted); }
.service-faq details { border-bottom:1px solid var(--line); padding:0 0 22px; margin-bottom:4px; }
.service-faq summary { padding-top:22px; }
.service-faq .service-details { line-height:1.7; }
@media(prefers-reduced-motion:no-preference) {
 .service-hero .wrap { animation:service-enter .75s both; }
 .service-card { transition:border-color .25s,box-shadow .25s; }
 .service-card .ph-icon { transition:transform .25s; }
 details[open] .service-details { animation:service-enter .3s both; }
 .service-visible { animation:service-enter .65s both; }
 .method-grid.service-visible li:not(:last-child)::after { animation:service-line 1.1s .2s both; }
 @media(hover:hover) { .service-card:hover { border-color:#9bd22d; box-shadow:0 10px 30px #0b22330a; } .service-card:hover .ph-icon { transform:translateY(-3px) rotate(-4deg); } }
}
@keyframes service-enter { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@keyframes service-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:900px) { .service-plans .grid-3,.project-grid { grid-template-columns:1fr!important; } .faq-layout { grid-template-columns:1fr; gap:20px; } .method-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; } .method-grid li:nth-child(2)::after { display:none; } }
@media(max-width:600px) { .service-hero { padding:54px 0 32px; } .service-grid { grid-template-columns:1fr; } .service-card,.plan-card { padding:24px; } .service-nav .wrap { gap:22px; } .service-card h3 { font-size:25px; } .method-grid { grid-template-columns:1fr; } .method-grid li::after { display:none; } .service-intro-line { gap:10px 18px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .service-hero *, .service-card, .service-card *, .service-visible, .method-grid li::after, .service-details { animation:none!important; transition:none!important; } }
