/* Gabarit commun des pages de prestations. */
body{overflow-x:clip!important}
.presta-section{padding-top:clamp(3.4rem,6vw,5.4rem)}
.presta-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(270px,3fr);gap:clamp(2.6rem,5vw,5rem);align-items:start}
.presta-main>.lede{max-width:64ch;font-size:clamp(1.08rem,1.7vw,1.35rem);line-height:1.65}
.presta-main .mx{margin-top:clamp(2.2rem,4vw,3.2rem)}
.presta-main .presta-offer{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.6rem,3vw,2.2rem);align-items:start}
.presta-main .presta-offer .mxv{width:100%;aspect-ratio:16/9}
.presta-main .presta-offer .mxt,.presta-main .presta-offer .txt{max-width:none}
.presta-main .presta-offer .txt ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.5rem,4vw,3rem);row-gap:.9rem}
.presta-main .mx+.enc{margin-top:clamp(1.5rem,3vw,2.2rem)}
.presta-main .enc{max-width:none}
.presta-block{margin-top:clamp(3rem,5vw,4.5rem)}
.presta-block h2{max-width:28ch}
.presta-block p+p{margin-top:1rem}
.presta-block .txt{margin-top:1.2rem}
.presta-main .mx.inv{margin-top:clamp(2.6rem,4.5vw,3.8rem)}
.presta-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:clamp(2.6rem,4.5vw,3.6rem)}
.presta-pair h3{font-size:1.1rem}
.presta-pair p{margin-top:.6rem}
.presta-faq{margin-top:clamp(2.6rem,4.5vw,3.6rem)}
.presta-faq details{border-bottom:2px solid var(--ink)}
.presta-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;list-style:none;cursor:pointer;font-family:var(--display);font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:700}
.presta-faq summary::-webkit-details-marker{display:none}
.presta-faq summary i{position:relative;flex:none;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink);transition:transform .5s var(--pop),background .3s}
.presta-faq summary i::before,.presta-faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--ink);border-radius:2px}
.presta-faq summary i::after{transform:rotate(90deg);transition:transform .4s var(--expo)}
.presta-faq details.is-open summary i{transform:rotate(180deg);background:var(--sun)}
.presta-faq details.is-open summary i::after{transform:rotate(0)}
.presta-faq details:not(.is-open) summary i{transform:none;background:var(--paper)}
.presta-faq details:not(.is-open) summary i::after{transform:rotate(90deg)}
.presta-faq .faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .42s var(--expo),opacity .28s ease}
.presta-faq details.is-open .faq-answer{grid-template-rows:1fr;opacity:1}
.presta-faq .faq-answer>p{min-height:0;max-width:70ch;overflow:hidden;padding:0 3.5rem 0 0;color:var(--ink-70);transition:padding-bottom .42s var(--expo)}
.presta-faq details.is-open .faq-answer>p{padding-bottom:1.5rem}

.presta-side{position:sticky;top:1rem;align-self:start}
.side-label{margin-bottom:1.1rem;color:var(--ink-45);font-family:var(--display);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.side-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}
.side-svc{display:flex;align-items:flex-start;gap:.9rem;padding:1rem;background:var(--paper);border:1px solid var(--hair);border-radius:16px 26px 16px 16px;transition:transform .4s var(--pop),box-shadow .4s,border-color .3s}
.side-svc:hover{transform:translateX(4px);border-color:var(--ink);box-shadow:4px 5px 0 var(--ink)}
.side-svc .ico{width:30px;height:30px;margin-top:.12rem;color:var(--ink);flex:none}
.side-svc-body{min-width:0;flex:1}
.side-svc b{display:block;font-family:var(--display);font-size:1.3rem;line-height:1.12;letter-spacing:-.01em}
.side-svc .side-desc{display:block;margin-top:.45rem;color:var(--ink-70);font-size:.95rem;line-height:1.5;white-space:normal}
.side-card-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.9rem}
.side-avatars{display:flex;align-items:center;flex:none}
.side-avatars img{width:32px;height:32px;object-fit:cover;border:2px solid var(--paper);border-radius:50%;box-shadow:0 4px 12px rgba(14,31,69,.14)}
.side-avatars img+img{margin-left:-.55rem}
.side-more{display:inline-flex;align-items:center;gap:.3rem;color:var(--ink);font-family:var(--display);font-size:.86rem;font-weight:800;line-height:1.2;text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:4px;white-space:nowrap}
.side-more .arr{transition:transform .35s var(--pop)}
.side-svc:hover .side-more .arr{transform:translateX(3px)}
.side-cta{margin-top:1.4rem;padding:1.3rem 1.4rem;background:var(--ink);color:var(--paper);border-radius:20px 32px 20px 20px}
.side-cta b{display:block;margin-bottom:.9rem;font-family:var(--display);font-size:1.05rem}
.side-cta .btn{width:100%;justify-content:center}

@media (max-width:1050px){
  .presta-layout{grid-template-columns:minmax(0,1fr)}
  .presta-side{position:static;margin-top:1rem}
  .side-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .presta-pair{grid-template-columns:1fr}
}
@media (max-width:680px){
  .presta-section{padding-top:2.6rem}
  .side-list{grid-template-columns:minmax(0,1fr)}
  .presta-main .presta-offer .mxv{aspect-ratio:4/3}
  .presta-main .presta-offer .txt ul{grid-template-columns:minmax(0,1fr)}
  .presta-faq .faq-answer>p{padding-right:0}
}

@media (prefers-reduced-motion:reduce){
  .presta-faq .faq-answer,.presta-faq .faq-answer>p,.presta-faq summary i,.presta-faq summary i::after{transition-duration:.01ms!important}
}
