/* Menu principal, identique à la page d'accueil */
.pg{--navy:#14263A;--cta:#FFC247;--cta-h:#F5B226;--cta-glow:rgba(255,194,71,.38);font-family:Inter,system-ui,sans-serif;color:#14263A;background:#F7F6F4;overflow-x:clip;min-height:100vh}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.dd[hidden]{display:none !important}
:where(.pg) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote){margin:0}
.pg *{box-sizing:border-box}
.wrap { max-width: 1200px; margin: 0px auto; padding-left: clamp(20px, 4vw, 40px); padding-right: clamp(20px, 4vw, 40px); }
.t4 { font-family: Manrope, sans-serif; font-weight: 700; font-size: 17px; line-height: 1.4; }
.sm { font-size: 14px; line-height: 1.55; color: rgb(51, 79, 105); }
.dark .lead, .dark .p, .dark .sm { color: rgb(201, 210, 218); }
.dark .t1, .dark .t2, .dark .t3, .dark .t4 { color: rgb(255, 255, 255); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0px 28px; border-radius: 14px; font-family: Manrope, sans-serif; font-weight: 800; font-size: 16px; line-height: 1; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; white-space: nowrap; transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s; }
.btn-cta { background: var(--cta); color: rgb(20, 38, 58); box-shadow: 0 10px 26px var(--cta-glow); }
.btn-cta:hover { background: var(--cta-h); color: rgb(20, 38, 58); transform: translateY(-2px); }
.btn-sm { min-height: 44px; padding: 0px 18px; font-size: 15px; }
.btn-rdv { flex-direction: column; gap: 5px; padding-top: 10px; padding-bottom: 10px; white-space: normal; text-align: center; line-height: 1.15; }
.btn-sub { display: block; font-family: Inter, sans-serif; font-weight: 600; font-size: 12px; line-height: 1.2; opacity: 0.78; letter-spacing: 0px; }
.btn-rdv.btn-sm { padding-top: 8px; padding-bottom: 8px; gap: 3px; }
.btn-rdv.btn-sm .btn-sub { font-size: 11.5px; }
.hdr .btn-rdv { white-space: nowrap; flex: 0 0 auto; }
.hdr .wrap { gap: 14px !important; }
.hdr .nav .navbtn { padding: 0px 10px; }
.hdr .btn-rdv.btn-sm { padding-left: 16px; padding-right: 16px; }
@media (max-width: 760px){.btn-rdv { font-size: 15px; padding-left: 14px; padding-right: 14px; }}
@media (max-width: 400px){.btn-rdv { font-size: 14px; }}
:where(.btn) { position: relative; overflow: hidden; isolation: isolate; }
.btn { transition: background 0.25s, color 0.25s, border-color 0.25s, transform 0.25s cubic-bezier(0.2, 0.9, 0.3, 1.3), box-shadow 0.25s; }
.btn:active { transform: translateY(0px) scale(0.98); }
.btn-cta::after { content: ""; position: absolute; top: 0px; bottom: 0px; left: -70%; width: 45%; background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.6), transparent); transform: skewX(-20deg); transition: left 0.7s; pointer-events: none; z-index: -1; }
.btn-cta:hover::after { left: 130%; }
.pg .btn-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 34px var(--cta-glow); background: var(--cta-h) !important; color: rgb(20, 38, 58) !important; }
@media (prefers-reduced-motion: reduce){.btn-cta::after { display: none; }}
.hdr { position: sticky; top: 0px; z-index: 50; background: rgba(20, 38, 58, 0.95); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.nav { display: flex; align-items: center; gap: 2px; }
.navbtn { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0px 13px; border-radius: 10px; border: 0px; background: transparent; font-family: Inter, sans-serif; font-weight: 500; font-size: 15px; color: rgb(232, 236, 239); cursor: pointer; text-decoration: none; }
.navbtn:hover { background: rgba(255, 255, 255, 0.08); color: rgb(255, 255, 255); }
.navbtn { position: relative; }
.navbtn.nav-on { color: rgb(255, 255, 255); background: rgba(255, 255, 255, 0.08); }
.navbtn.nav-on::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 6px; height: 2px; border-radius: 2px; background: rgb(232, 106, 64); }
.navbtn::after { transition: opacity 0.2s; }
.burger { display: none; }
.dd { position: absolute; left: 0px; right: 0px; top: 100%; background: rgb(255, 255, 255); border-bottom: 1px solid rgb(232, 236, 239); box-shadow: rgba(10, 33, 58, 0.18) 0px 30px 50px; animation: 0.2s ease 0s 1 normal both running ddin; max-height: calc(-76px + 100vh); overflow-y: auto; }
.ddlink { display: block; padding: 14px 16px; border-radius: 12px; text-decoration: none; color: rgb(20, 38, 58); }
.ddlink:hover { background: rgb(247, 246, 244); color: rgb(20, 38, 58); }
.steps-rail.go li .sm { animation: stepNum .4s cubic-bezier(.2,.9,.3,1.6) calc(var(--i) * .13s + .25s) both; }
@media (max-width: 1320px){.hdr-num { display: none; }}
@media (max-width: 1023px){.nav { display: none; }}
@media (max-width: 1023px){.burger { display: inline-flex; }}
@media (max-width: 1023px){.hdr-cta { display: none; }}
@media (min-width: 1024px) and (max-width: 1180px){.hdr .nav .navbtn { padding: 0px 7px; font-size: 14px; }}
@media (min-width: 1024px) and (max-width: 1180px){.hdr .wrap { gap: 12px !important; }}
@media (min-width: 1024px) and (max-width: 1180px){.hdr .btn-rdv.btn-sm { padding: 0px 13px; font-size: 14px; }}
@media (max-width: 760px){.btn { width: 100%; }}
.case-bd .t4 { font-size: 15.5px !important; line-height: 1.35; }
@media (max-width: 760px){.case-bd .t4 { font-size: 15px !important; }}
@media (max-width: 760px){.case-bd .sm { font-size: 13px !important; }}
