/* Menu déroulant Expertise */
.dd{position:relative;display:flex;align-items:center}
.ddm{position:absolute;top:100%;right:-14px;padding-top:18px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .22s,transform .22s,visibility .22s;z-index:30}
.ddm-in{width:344px;padding:10px;border:1px solid var(--line);border-radius:22px;background:var(--bg);box-shadow:0 22px 60px rgba(0,0,0,.14)}
.dd:hover .ddm,.dd:focus-within .ddm,.dd.open .ddm{opacity:1;visibility:visible;transform:none}
.ddm a{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:12px;padding:13px 14px;border-radius:15px;text-transform:none;letter-spacing:0;color:var(--fg)}
.ddm a:hover{background:color-mix(in srgb,var(--fg) 5.5%,transparent)}
.ddm a i{width:8px;height:8px;border-radius:50%;background:var(--c);margin-top:7px}
.ddm a b{font-size:15px;font-weight:700;letter-spacing:-.01em}
.ddm a span{grid-column:2;margin-top:2px;font-size:13px;line-height:1.4;color:var(--muted)}
@media (max-width:700px){nav{gap:16px}.ddm{position:fixed;left:22px;right:22px;top:64px;padding-top:0}.ddm-in{width:auto}}
footer a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
footer a:hover{color:var(--fg)}
nav a.cur{color:var(--fg)}

/* Pages détaillées */
.hero2{width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(36px,6vw,80px) 0 clamp(52px,7vw,92px)}
.hero2 .eyebrow{margin-bottom:24px}
.hero2 h1{font-size:clamp(32px,4.6vw,58px);max-width:11.5em;margin:0 0 22px}
.hero2 .lede2{margin:0;color:var(--muted);font-size:clamp(16px,1.7vw,19px);line-height:1.55;max-width:44ch}
.hdot{display:inline-block;width:.17em;height:.17em;border-radius:50%;background:var(--c);margin-left:.07em}
.himg{position:relative;aspect-ratio:1/1.06;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,#EDEEF2,#D3D5DC)}
.himg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.himg img.d{display:none}.himg img.l{display:block}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .himg img.d{display:block}:root:not([data-theme="light"]) .himg img.l{display:none}:root:not([data-theme="light"]) .himg{background:#0C0C11}}
:root[data-theme="dark"] .himg img.d{display:block}:root[data-theme="dark"] .himg img.l{display:none}:root[data-theme="dark"] .himg{background:#0C0C11}
.band h2.big{font-size:clamp(24px,2.8vw,34px);max-width:15em}
.signs{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.signs li{padding:20px 0;border-top:1px solid var(--line);font-size:clamp(17px,1.8vw,21px);line-height:1.35;letter-spacing:-.015em;font-weight:600}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.card2{padding:28px 26px 30px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--fg) 3%,var(--bg))}
.card2 i{display:block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-bottom:20px}
.card2 h3{margin:0 0 9px;font-size:18px;line-height:1.25;letter-spacing:-.02em}
.card2 p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:28px}
.stp{position:relative;border-top:1px solid var(--line);padding-top:22px}
.stp::before{content:"";position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--c)}
.stp h3{margin:0 0 8px;font-size:17px;letter-spacing:-.02em}
.stp p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.outs{list-style:none;margin:30px 0 0;padding:0}
.outs li{padding:15px 0;border-top:1px solid var(--line);color:var(--muted);font-size:16px;line-height:1.45}
.outs li:last-child{border-bottom:1px solid var(--line)}
.next{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.next a{display:block;padding:26px;border:1px solid var(--line);border-radius:22px;color:inherit;text-decoration:none;transition:border-color .2s}
.next a:hover{border-color:var(--fg)}
.next a i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:10px}
.next a b{font-size:18px;letter-spacing:-.02em}
.next a p{margin:8px 0 0;color:var(--muted);font-size:14.5px;line-height:1.5}
@media (max-width:860px){.hero2{grid-template-columns:minmax(0,1fr)}.himg{aspect-ratio:1/.9}.split{grid-template-columns:minmax(0,1fr)}}

/* Approche */
.phx{border-bottom:0}
.phx .r{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);gap:10px 40px;padding:28px 0;border-top:1px solid var(--line)}
.phx .r h3{display:flex;align-items:flex-start;gap:12px;margin:0;font-size:19px;line-height:1.25;letter-spacing:-.02em}
.phx .r h3 i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--c);margin-top:7px}
.phx .r p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.phx .r small{display:block;margin-bottom:6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--fg);opacity:.7}
@media (max-width:860px){.phx .r{grid-template-columns:minmax(0,1fr);gap:14px}}
.prin{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px 40px}
.prin h3{margin:0 0 8px;font-size:18px;letter-spacing:-.02em}
.prin p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}

/* Contact et mentions */
.mail{display:inline-block;margin-top:30px;font-size:clamp(22px,3.6vw,44px);font-weight:700;letter-spacing:-.03em;color:var(--fg);text-decoration:none;border-bottom:2px solid var(--brand);padding-bottom:4px;word-break:break-all}
.legal{max-width:70ch;align-self:flex-start}
.legal a{color:var(--fg);text-underline-offset:3px}
.legal h2{font-size:20px!important;margin:38px 0 10px!important}
.legal p,.legal li{color:var(--muted);font-size:15.5px;line-height:1.65}
.legal b{color:var(--fg)}

/* Pas de filets entre les sections */
.band{border-top:0!important}
/* Filets fins : alignés sur la grille, discrets, pleine largeur de grille */
.stage > section.band::before{display:none!important}
.stage > section.band{position:relative;border-top:0!important}
.stage > section.band:not(:first-of-type)::after,.stage > header + section.band::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:color-mix(in srgb,var(--fg) 11%,transparent);pointer-events:none}
#apercu .tl-bubble{background:transparent!important;box-shadow:none!important;border:1px solid var(--line)!important}

/* Schéma animé à la place de l'image */
.himg2{aspect-ratio:auto;overflow:visible;background:none!important;height:calc(560px*var(--sc,1)*.9);display:flex;align-items:center;justify-content:center}
.pl-w{width:560px;height:560px;flex:none;transform:scale(var(--sc,1));perspective:3400px}
.pl-w canvas{width:560px;height:560px;display:block;border-radius:22px;transform:rotateX(26deg) rotateZ(-9deg);filter:drop-shadow(0 26px 30px rgba(10,12,24,.2))}
@media (max-width:860px){.himg2{aspect-ratio:auto}}
/* Accueil : approche remontée, mention « survolez » abaissée */
#approche{padding-top:clamp(28px,4.5vw,60px)!important}
.hint{top:36px!important}
main{min-height:calc(100svh - 92px - 90px)!important}
@media (max-width:640px){main{min-height:0!important;padding-bottom:0!important}.infos{height:7.4em!important}#approche{padding-top:6px!important}}
