/* Below-the-fold design. Hero and navigation layout are deliberately preserved. */
.expertise-layout .identity-image img{height:auto;aspect-ratio:4/5;object-fit:cover}
.site-header .brand{display:flex;align-items:center;flex-shrink:0}.site-header .nav-wordmark{display:block;width:clamp(170px,20vw,240px);height:auto;object-fit:contain}
.content-section{background:#101011;padding:100px max(24px,calc((100vw - 1240px)/2));color:#f2f0ed}
.content-section h2{font-size:clamp(2rem,3.7vw,3.65rem);font-weight:500;letter-spacing:-.05em;line-height:1.13;margin-bottom:28px}
.content-section h2 span{color:#96939a}.content-section p{color:#b4b0b8;line-height:1.85}.content-section .section-no{font-size:.68rem;letter-spacing:.13em;color:#c2bcc9;margin-bottom:25px}
.content-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:50px;margin-bottom:60px}.content-heading>div>p{max-width:670px;margin-bottom:0}
.project-feature{display:grid;grid-template-columns:1.55fr 1fr;gap:55px;align-items:center;padding:35px 0;border-top:1px solid #343237}
.project-image{display:block;background:#e9dfda;padding:25px 25px 0;border-radius:8px;text-decoration:none;color:#272327;overflow:hidden}.project-image img{display:block;width:100%;height:auto;box-shadow:0 12px 28px #33262620}.project-image>span{display:flex;align-items:center;justify-content:space-between;padding:17px 0;font-size:.75rem}.project-image b{font-size:1.1rem;font-weight:400}
.project-copy h3{font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:500;letter-spacing:-.04em;margin-bottom:18px}.project-copy .section-no{font-size:.65rem;margin-bottom:14px}.project-copy dl{margin:25px 0 30px}.project-copy dl>div{border-top:1px solid #343237;padding:14px 0}.project-copy dt{font-size:.76rem;color:#f2f0ed;margin-bottom:5px}.project-copy dd{margin:0;font-size:.85rem;color:#aaa6ae;line-height:1.75}
.project-image-feng{background:#28231e;color:#e9dfd1}.project-image-feng img{margin-top:30px;margin-bottom:30px}.project-feature+.project-feature{margin-top:20px}
.text-link{display:inline-flex;gap:18px;color:#ece8f0;text-decoration:none;font-size:.84rem;border-bottom:1px solid #77717e;padding:9px 0}.text-link:hover{color:#fff;border-color:#fff}.content-section a:focus-visible,.site-footer a:focus-visible{outline:2px solid #d4c8e6;outline-offset:5px}
.expertise-section{background:#19181b}.expertise-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:70px;align-items:start}.identity-image,.portrait,.process-photo{margin:0;min-width:0}.identity-image img{display:block;width:100%;height:560px;object-fit:cover;border-radius:6px}.content-section figcaption{font-size:.68rem;color:#99949e;line-height:1.6;margin-top:12px}
.expertise-list article{display:grid;grid-template-columns:35px 1fr;gap:20px;border-top:1px solid #403b43;padding:25px 0}.expertise-number{color:#a89aaf;font-size:.72rem;padding-top:6px}.expertise-list h3{font-size:1.35rem;font-weight:500;letter-spacing:-.025em;margin-bottom:10px}.expertise-list p{font-size:.92rem;margin-bottom:8px}
.about-section{display:grid;grid-template-columns:1fr 1.25fr;gap:100px;align-items:center}.portrait img{width:100%;height:auto;display:block;border-radius:6px}.about-copy>p:not(.section-no){max-width:560px}.about-copy .text-link{margin-top:12px}
.process-section{border-top:1px solid #302d33;background:#141315}.process-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.process-steps article{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:23px 0;border-top:1px solid #39353e}.process-steps article>span{font-size:.75rem;color:#a99cb3;padding-top:5px}.process-steps h3{font-size:1.2rem;font-weight:500;margin-bottom:8px}.process-steps p{font-size:.9rem;margin:0}.process-photo img{display:block;width:100%;height:390px;object-fit:cover;border-radius:6px}
.contact-section{background:#e8e4dd;color:#211f23;padding-top:90px;padding-bottom:90px}.contact-section .section-no{color:#59505d}.contact-section h2{font-size:clamp(2.2rem,5vw,4.6rem)}.contact-section h2 span{color:#716b74}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px}.contact-bottom p{color:#615c64;max-width:440px;font-size:.92rem;margin:0}.contact-email{color:#211f23;font-size:clamp(.95rem,1.8vw,1.6rem);letter-spacing:-.03em;text-decoration:none;border-bottom:1px solid #827a85;padding-bottom:12px;overflow-wrap:anywhere}.contact-email span{margin-left:12px}
.site-footer{gap:30px;padding-top:40px;padding-bottom:65px;background:#101011}.site-footer>a img{display:block;width:240px;max-width:100%;height:auto}.site-footer p{margin:0;color:#9d97a3}.site-footer a{color:#c9c2ce;text-decoration:none}.site-footer>div a{display:inline-block;margin-top:8px}.site-footer>p{white-space:nowrap}
@media(min-width:901px){.project-feature:nth-of-type(even) .project-image{order:2}.project-feature:nth-of-type(even){grid-template-columns:1fr 1.55fr}}
@media(max-width:1100px){.content-section{padding:80px 35px}.project-feature{gap:30px}.expertise-layout{gap:35px}.about-section{gap:55px}.process-layout{gap:40px}.contact-bottom{align-items:start;flex-direction:column}.site-footer>a img{width:200px}}
@media(max-width:700px){.content-section{padding:65px 22px}.content-heading{grid-template-columns:1fr;gap:0;margin-bottom:35px}.content-section .section-no{margin-bottom:18px}.project-feature,.expertise-layout,.about-section,.process-layout{grid-template-columns:1fr;gap:30px}.project-image{padding:14px 14px 0}.project-copy h3{font-size:1.85rem}.project-feature{padding:25px 0 35px}.expertise-layout{gap:25px}.identity-image img{height:auto;aspect-ratio:3/2}.portrait{max-width:420px}.process-photo img{height:auto;aspect-ratio:3/2}.content-section h2{font-size:2.15rem}.contact-section h2{font-size:2.5rem}.contact-email{font-size:1rem}.site-footer{padding:35px 22px 100px}.site-footer>a img{width:230px}.content-section p{font-size:.95rem}}

.site-footer .footer-contact{min-width:0}.site-footer .footer-contact address{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 20px;font-style:normal}.site-footer .footer-contact address a{overflow-wrap:anywhere;max-width:100%;padding:5px 0}.site-footer .footer-contact a:hover{text-decoration:underline}@media(max-width:900px){.site-footer .footer-contact address{justify-content:center;gap:4px 14px}}

.site-footer .footer-contact>a[href='mentions-legales.html']{display:table;margin:8px auto 0;text-align:center}


/* ───── Section Résultats (#resultats) ───── */
.results-section{background:#141315;border-top:1px solid #302d33}
.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.result-card{--accent:#28A68C;position:relative;display:flex;flex-direction:column;padding:34px 34px 30px;background:#17161a;border:1px solid #343237;border-radius:14px;overflow:hidden}
.result-card::before{content:'';position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 85%)}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.result-head h3{font-size:1.45rem;font-weight:500;letter-spacing:-.03em;margin:0 0 4px;color:#f2f0ed}
.result-head .result-sector{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:#c2bcc9;margin:0}
.result-badge{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;color:#b4b0b8;border:1px solid #3d3a41;border-radius:30px;padding:6px 13px;white-space:nowrap}
.result-badge i{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.result-figure{margin:0 0 28px}
.result-figure-value{display:flex;align-items:baseline;gap:14px;margin-bottom:6px}
.result-figure-value strong{font-size:3.4rem;font-weight:600;letter-spacing:-.05em;line-height:1;color:#f2f0ed;white-space:nowrap}
.result-figure-value span{font-size:.92rem;color:#b4b0b8;line-height:1.45;padding-bottom:3px}
.result-figure figcaption{font-size:.74rem;color:#99949e;margin-top:14px;line-height:1.5}
.gauge{margin-top:20px}
.gauge-track{position:relative;height:10px;border-radius:5px;background:#252329}
.gauge-fill{position:absolute;top:0;bottom:0;border-radius:5px;background:var(--accent)}
.gauge-scale{display:flex;justify-content:space-between;margin-top:9px;font-size:.66rem;color:#7e7986;letter-spacing:.04em}
.result-gains{list-style:none;margin:0 0 28px;padding:22px 0 0;border-top:1px solid #2c2a30;display:grid;gap:2px}
.result-gains li{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:14px;padding:11px 0}
.result-gains li+li{border-top:1px solid #232127}
.result-gains svg{width:34px;height:34px;padding:7px;border-radius:9px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);flex:none}
.result-gains b{display:block;font-size:.92rem;font-weight:600;color:#f2f0ed;margin-bottom:2px}
.result-gains span{display:block;font-size:.82rem;color:#aaa6ae;line-height:1.6}
.result-quote{margin:auto 0 0;padding:22px 24px;background:#1c1b20;border-radius:11px;border-left:2px solid var(--accent)}
.result-quote p{margin:0 0 14px;font-size:.95rem;line-height:1.7;color:#ddd9e0;font-style:italic}
.result-quote footer{display:block;padding:0;margin:0;background:none;border:0;justify-content:flex-start;font-size:.76rem;color:#99949e;font-style:normal;text-align:left}
.result-quote footer b{display:block;color:#f2f0ed;font-weight:600;font-size:.84rem;font-style:normal;margin-bottom:3px}
.results-source{margin:34px 0 0;font-size:.72rem;color:#8b868f;line-height:1.6;text-align:center}
@media(max-width:900px){.results-grid{grid-template-columns:1fr}.result-card{padding:28px 24px 26px}.result-figure-value strong{font-size:2.6rem}}
@media(max-width:700px){.result-head{margin-bottom:24px}.result-gains li{grid-template-columns:30px 1fr;gap:12px}.result-gains svg{width:30px;height:30px;padding:6px}}

/* ───── Espace réservé sous le bouton de chat flottant ─────
   .chat-launcher est en position:fixed (z-index:30) et ne réserve aucune
   place dans le flux : il occupe les 64 derniers px du viewport sous 560px
   et 78px au-dessus, et recouvrait la dernière ligne des sections pendant le
   scroll. On réserve cette hauteur sur les blocs qui marquent une frontière
   visuelle (voir aussi .contact-main dans contact.css). Les .editorial-section (empilées sur un même fond, séparées par
   un filet) gardent leur rythme : le footer les protège en fin de page. */
@media(max-width:900px){
  html{scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .content-section{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .site-footer{padding-bottom:calc(106px + env(safe-area-inset-bottom))}
}
