@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,400;500;600&display=swap');
:root{--ink:#101827;--accent:#c9863d;--line:#e7e0d7;--warm:#f7f4ef;--muted:#5e6878;--dark:#111824;--white:#fff;--sans:'DM Sans',sans-serif;--serif:'Fraunces',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:19px;line-height:1.64;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{width:min(1760px,calc(100% - 56px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:30px}.brand{font-family:var(--serif);font-weight:600;font-size:26px;text-decoration:none;white-space:nowrap}.mainnav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:18px;font-weight:500}.mainnav a{text-decoration:none;white-space:nowrap}.mainnav a:hover{color:var(--accent)}.lang-switch{border:1px solid var(--line);border-radius:20px;padding:5px 10px}.menu-toggle{display:none}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;color:var(--accent);margin-bottom:18px}.eyebrow.light{color:#e1b477}
.hero-overlay{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden;background:var(--dark)}.hero-overlay>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,23,42,.9) 0%,rgba(12,23,42,.78) 38%,rgba(12,23,42,.28) 70%,rgba(12,23,42,.12) 100%)}.hero-copy{position:relative;z-index:2;color:#fff;padding-block:86px}.hero-copy h1{font-family:var(--serif);font-weight:500;font-size:clamp(56px,5.7vw,92px);line-height:1.01;letter-spacing:-.025em;max-width:880px;margin:0 0 26px}.hero-copy p{max-width:730px;font-size:20px;line-height:1.65;color:#eef1f5;margin:0 0 30px}.actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:5px;text-decoration:none;font-weight:600;font-size:14px}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{border:1px solid var(--ink)}.btn.ghost{border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.06)}
.section{padding:92px 0}.section h2,.section-soft h2,.section-dark h2,.trust-section h2{font-family:var(--serif);font-size:clamp(40px,3.9vw,60px);line-height:1.08;margin:0 0 34px;font-weight:500}.section-title-wide{max-width:none!important}.expertise-section{padding-top:86px}.expertise-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:42px;align-items:stretch}.expertise-accordion{display:flex;flex-direction:column;gap:12px}.expertise-item{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.expertise-item summary,.service-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 26px;font-family:var(--serif);font-size:25px;line-height:1.15}.expertise-item summary::-webkit-details-marker,.service-item summary::-webkit-details-marker{display:none}.chevron{font-family:var(--sans);font-size:18px;color:var(--accent);transition:transform .18s ease}.expertise-item[open] .chevron,.service-item[open] .chevron{transform:rotate(180deg)}.expertise-body{padding:0 26px 24px}.expertise-body p{margin:0 0 14px;color:var(--muted);font-size:18px;line-height:1.68}.expertise-body a{font-size:16px;font-weight:600;text-underline-offset:3px}.expertise-image{margin:0;border-radius:14px;overflow:hidden;min-height:100%;background:var(--warm)}.expertise-image img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}
.section-soft{background:var(--warm);padding:88px 0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.step{border-top:1px solid var(--accent);padding-top:16px}.step span{font-size:11px;color:var(--accent)}.step h3{font-family:var(--serif);font-size:25px;margin:12px 0 10px}.step p{color:var(--muted);font-size:18px;line-height:1.65;margin:0}.section-dark{background:var(--dark);color:#fff;padding:88px 0}.section-dark .eyebrow{color:#d8a366}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 50px}.why-grid h3{font-family:var(--serif);font-size:23px;margin:0 0 10px}.why-grid p{color:#c4ccd6;font-size:18px;line-height:1.65;margin:0}.cta{text-align:center}.cta h2{margin-left:auto;margin-right:auto;max-width:1120px}.cta p{color:var(--muted);font-size:18px;max-width:780px;margin:0 auto 26px}
.trust-section{padding:70px 0 82px;border-top:1px solid var(--line)}.logo-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.logo-track{display:flex;align-items:center;gap:58px;width:max-content;animation:logoScroll 28s linear infinite}.logo-track img{height:58px;max-width:170px;object-fit:contain;filter:none;opacity:1}.logo-marquee:hover .logo-track{animation-play-state:paused}@keyframes logoScroll{to{transform:translateX(-50%)}}
.site-footer{background:#17233c;color:#fff;padding:58px 0 26px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:72px}.footer-brand{color:#fff}.footer-about p{max-width:430px;color:#d0d7e3;font-size:17px;line-height:1.68}.footer-label{color:#d59a57;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:600;margin-bottom:14px}.footer-links{display:flex;gap:20px;font-size:16px}.footer-links.vertical{flex-direction:column;gap:10px}.footer-links a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.14);margin-top:42px;padding-top:22px;color:#b9c3d0;font-size:14px}.footer-legal{display:flex;gap:22px}.footer-legal a{text-decoration:none}
.practice-hero{padding:78px 0 42px}.practice-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(58px,5.9vw,88px);line-height:1.01;letter-spacing:-.025em;margin:0 0 24px;max-width:none}.hero-sub{font-size:20px;line-height:1.7;color:var(--muted);max-width:980px;margin:0}.practice-image{height:470px;overflow:hidden;border-radius:14px;background:var(--warm)}.practice-image img{width:100%;height:100%;object-fit:contain;display:block}.practice-content-section{padding-top:62px;max-width:1500px}.practice-content-grid{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.32fr);gap:92px;align-items:start}.practice-intro-column{padding-top:8px}.practice-narrative{font-family:var(--sans);font-size:20px;line-height:1.76;color:var(--ink);max-width:520px;margin:0}.service-accordion{border-top:1px solid var(--line)}.service-item{border-bottom:1px solid var(--line)}.service-item summary{padding:22px 0;font-family:var(--sans);font-size:22px;font-weight:600;line-height:1.35}.accordion-toggle{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,transform .18s ease}.accordion-toggle::before{content:'+';font-family:var(--sans);font-size:28px;font-weight:400;line-height:1;transform:translateY(-1px)}.service-item[open] .accordion-toggle{background:var(--accent)}.service-item[open] .accordion-toggle::before{content:'−';font-size:27px;transform:translateY(-2px)}.service-item summary:hover .accordion-toggle{background:var(--accent)}.service-body{padding:0 54px 26px 0;max-width:880px}.service-body p{margin:0;color:var(--muted);font-size:19px;line-height:1.72}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.contact-placeholder{background:var(--warm);padding:34px;border-radius:12px;color:var(--muted)}
@media(max-width:1280px){.wrap{width:min(100% - 44px,1500px)}.mainnav{gap:14px;font-size:16.5px}.nav-wrap{gap:16px}.hero-overlay{min-height:690px}.expertise-layout{grid-template-columns:1fr 1fr}.practice-content-grid{gap:58px;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}}
@media(max-width:900px){body{font-size:18px}.menu-toggle{display:block;margin-left:auto;border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:5px;font-size:15px}.mainnav{display:none;position:absolute;left:22px;right:22px;top:68px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;flex-direction:column;align-items:flex-start;box-shadow:0 14px 35px #0001}.mainnav.open{display:flex}.hero-overlay{min-height:640px}.hero-shade{background:linear-gradient(90deg,rgba(12,23,42,.92),rgba(12,23,42,.62))}.expertise-layout{grid-template-columns:1fr}.expertise-image img{min-height:390px}.steps{grid-template-columns:1fr 1fr}.why-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}.practice-image{height:390px}.practice-content-section{max-width:none}.practice-content-grid{grid-template-columns:1fr;gap:34px}.practice-narrative{max-width:780px}.service-item summary{font-size:21px}.accordion-toggle{width:36px;height:36px;flex-basis:36px}.service-body{padding-right:0}}
@media(max-width:600px){.wrap{width:calc(100% - 30px)}.brand{font-size:21px}.hero-overlay{min-height:620px}.hero-copy h1,.practice-hero h1{font-size:47px}.hero-copy p,.hero-sub{font-size:18px}.section,.section-soft,.section-dark{padding:62px 0}.steps,.why-grid,.footer-grid{grid-template-columns:1fr}.expertise-item summary,.service-item summary{font-size:22px;padding:21px 18px}.expertise-body{padding:0 18px 20px}.service-item summary{padding-left:0;padding-right:0;font-size:20px}.accordion-toggle{width:34px;height:34px;flex-basis:34px}.accordion-toggle::before{font-size:25px}.service-body{padding-bottom:22px}.practice-image{height:320px}.footer-bottom{flex-direction:column}.footer-legal{flex-wrap:wrap}.nav-wrap{min-height:66px}}


/* ===== V5.2 — TYPOGRAPHIE VALIDÉE + COULEURS LOGOS + IMAGES NON TRONQUÉES ===== */
/* Conserver les tailles validées manuellement par l'utilisateur */
.mainnav{font-size:20px!important}
body{font-size:21px!important}
.hero-copy p,
.hero-sub,
.expertise-body p,
.step p,
.why-grid p,
.cta p,
.practice-narrative,
.service-body p,
.footer-about p,
.contact-placeholder{font-size:21px!important;line-height:1.70!important}

/* Logos clients dans leurs couleurs originales */
.logo-track img{filter:none!important;opacity:1!important}

/* V5.2.1 — correction ciblée : seules les cartes Canada–Afrique restent en mode contain. */
.practice-image{background:var(--warm)}
.practice-image img{object-fit:cover!important;object-position:center center!important}
.practice-image img[src*="canada-africa.webp"]{object-fit:contain!important;object-position:center center!important}
