/* ==========================================================================
   Page Demander une démonstration (/demonstration/) — V1.0
   Réutilise les composants de formulaire de contact.css (ct-*) ; composition
   propre : premier écran « ce que l’on voit », choix de la solution par les
   logotypes officiels Divalto, déroulé + formulaire, FAQ. Préfixe dm-.
   ========================================================================== */
.page-demo main{overflow-x:clip}
.dm-g{width:min(100% - 2*clamp(20px,4vw,60px),1320px);margin:0 auto}
.q-h2{margin:0 0 20px;font-size:clamp(28px,2.8vw,42px);font-weight:800;line-height:1.08;letter-spacing:-.04em;color:var(--ink)}
.q-h2 .accent,.dm-h1 .accent{color:var(--orange-deep)}
/* Premier écran */
.dm-hero{padding:104px 0 clamp(64px,7vw,96px);background:radial-gradient(45% 60% at 88% 40%,rgba(243,154,46,.15),rgba(243,154,46,0) 70%),linear-gradient(180deg,#fff 0%,var(--ivory) 100%)}
.dm-hero .dm-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:end}
.dm-hero__txt,.dm-hero__see{min-width:0}
.dm-h1{margin:0 0 22px;font-size:clamp(40px,4.6vw,72px);font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--ink)}
.dm-h1 .accent{display:block}
.dm-lead{margin:0 0 28px;max-width:54ch;font-size:clamp(16.5px,1.3vw,19px);line-height:1.6;color:#3E3A36}
.dm-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:0}
.dm-link{font-weight:800;color:var(--ink);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.dm-see__k{margin:0 0 10px;font-size:12.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#7A736B}
.dm-see{margin:0;padding:0;list-style:none;counter-reset:s;border-top:2px solid var(--ink)}
.dm-see li{counter-increment:s;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:8px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.55;color:#4A4642}
.dm-see li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;padding-top:2px;font-size:13px;font-weight:800;color:var(--orange-ink)}
.dm-see b{display:block;font-size:17px;color:var(--ink)}
.dm-trust{margin:16px 0 0;font-size:13.5px;line-height:1.55;color:#7A736B}
.dm-trust b{color:var(--ink)}
/* Choix de la solution */
.dm-sols{scroll-margin-top:80px;padding:clamp(80px,9vw,120px) 0;background:#fff}
.dm-sols__head{max-width:860px;margin-bottom:clamp(30px,3.6vw,48px)}
.dm-sols__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.dm-sol{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:24px clamp(14px,1.8vw,26px) 24px 0}
.dm-sol+.dm-sol{padding-left:clamp(14px,1.8vw,26px);border-left:1px solid var(--line)}
.dm-sol img{display:block;width:auto;max-width:100%;height:clamp(18px,1.6vw,24px);margin:0 0 14px}
.dm-sol p{margin:0 0 18px;font-size:15px;line-height:1.55;color:#4A4642}
.dm-sol__go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;min-height:44px;padding:0 16px;border:1.5px solid var(--ink);border-radius:999px;background:#fff;font:inherit;font-size:14.5px;font-weight:800;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.dm-sol__go svg{width:16px;height:16px}
.dm-sol__go:hover{background:var(--ink);color:#fff}
.dm-sol__go:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.dm-sol__more{margin-top:10px;font-size:13.5px;font-weight:700;color:#5C554E}
.dm-sols__undecided{margin:26px 0 0;font-size:15.5px;color:#4A4642}
.dm-sol__go--plain{min-height:0;padding:0;border:0;background:none;font-size:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
.dm-sol__go--plain:hover{background:none;color:var(--orange-deep)}
@media (max-width:1000px){.dm-hero .dm-g{grid-template-columns:minmax(0,1fr);align-items:start}.dm-hero .crumb{display:none}.dm-sols__list{grid-template-columns:repeat(2,minmax(0,1fr))}.dm-sol:nth-child(3){padding-left:0;border-left:0}.dm-sol:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:600px){.dm-hero{padding-top:88px}.dm-h1{font-size:clamp(32px,9.4vw,42px)}.dm-lead{font-size:15.5px}.dm-cta .btn{width:100%;justify-content:center}.dm-sols__list{grid-template-columns:minmax(0,1fr)}.dm-sol,.dm-sol+.dm-sol{padding:20px 0;border-left:0}.dm-sol+.dm-sol{border-top:1px solid var(--line)}}
/* Déroulé et formulaire */
.dm-req{scroll-margin-top:80px;padding:clamp(80px,9vw,120px) 0;background:var(--ivory)}
.dm-req .dm-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.dm-req__side{min-width:0;position:sticky;top:104px}
.dm-steps{margin:0 0 30px;padding:0;list-style:none;counter-reset:d}
.dm-steps li{counter-increment:d;position:relative;padding:0 0 22px 52px;font-size:15.5px;line-height:1.55;color:#4A4642}
.dm-steps li::before{content:counter(d);position:absolute;left:0;top:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--orange);font-size:14px;font-weight:800;color:var(--orange-ink)}
.dm-steps li:not(:last-child)::after{content:"";position:absolute;left:16px;top:38px;bottom:4px;width:2px;background:#E8D8C2}
.dm-steps b{display:block;font-size:18px;letter-spacing:-.015em;color:var(--ink)}
.dm-why{padding-top:20px;border-top:2px solid var(--ink)}
.dm-why__t{margin:0 0 8px;font-size:18px;font-weight:800;color:var(--ink)}
.dm-why p:not(.dm-why__t){margin:0;font-size:15.5px;line-height:1.65;color:#4A4642}
.dm-why a{font-weight:800;color:var(--ink)}
.dm-req__form{min-width:0}
.dm-alt{margin:16px 4px 0;font-size:14px;color:#5C554E}
.dm-alt a{font-weight:700;color:var(--ink)}
.dm-req .ct-types{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.dm-req .dm-g{grid-template-columns:minmax(0,1fr)}.dm-req__side{position:static}}
@media (max-width:600px){.dm-req .ct-types{grid-template-columns:minmax(0,1fr)}}
