:root{
  --red:#E63946;
  --red-dark:#B91828;
  --green:#183D2D;
  --green-mid:#24583F;
  --paper:#F6F7F4;
  --white:#FFFFFF;
  --ink:#173126;
  --muted:#68776F;
  --line:rgba(24,61,45,.13);
  --shadow:0 20px 60px rgba(24,61,45,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
h1,h2,h3{font-family:Montserrat,sans-serif;line-height:1.12;margin-top:0}
.site-header{height:62px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100;backdrop-filter:blur(14px)}
.header-inner{width:min(1240px,calc(100% - 34px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:8px}.brand-icon{width:36px;height:36px;object-fit:contain}.brand-name{font:800 1.08rem Montserrat,sans-serif;letter-spacing:.01em}
.site-nav{display:flex;align-items:center;gap:24px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.site-nav a{position:relative}.site-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-20px;height:2px;background:var(--red);transform:scaleX(0);transition:.2s}
.site-nav a:hover:after,.site-nav a.active:after{transform:scaleX(1)}.site-nav a:hover,.site-nav a.active{color:var(--red)}
.nav-cta{height:38px;padding:0 16px;display:inline-flex;align-items:center;border-radius:8px;background:var(--red);color:white!important}
.nav-toggle{display:none;background:none;border:0;padding:6px}.nav-toggle span{display:block;width:23px;height:2px;background:var(--green);margin:4px}
.hero{width:min(1240px,calc(100% - 34px));min-height:620px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:46px 0 36px;position:relative}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(24,61,45,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(24,61,45,.025) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to right,transparent,black 30%,black 80%,transparent)}
.hero-content,.hero-visual{position:relative;z-index:2}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:800;color:var(--red)}
h1{font-size:clamp(3.1rem,5.3vw,5.2rem);letter-spacing:-.045em;margin-bottom:10px}.hero-subtitle{font-size:1.25rem;color:var(--green);margin:0 0 20px}
.hero-lead{max-width:650px;color:var(--muted);font-size:1rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 34px}
.button{height:46px;padding:0 20px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;transition:.2s}
.button:hover{transform:translateY(-2px)}.button-primary{background:var(--red);color:white;box-shadow:0 12px 25px rgba(230,57,70,.2)}
.button-secondary{background:white;border:1px solid var(--green);color:var(--green)}.button-light{background:white;color:var(--green)}
.hero-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:720px}.hero-benefits article{display:flex;align-items:center;gap:10px}
.benefit-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(230,57,70,.35);color:var(--red);font-weight:800}
.hero-benefits strong{display:block;font-size:.83rem}.hero-benefits small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}
.hero-visual{height:500px;display:grid;place-items:center;overflow:hidden}.hero-logo{width:min(360px,70%);filter:drop-shadow(0 22px 18px rgba(24,61,45,.18));position:relative;z-index:3}
.field{position:absolute;border-radius:50%;filter:blur(0);opacity:.9}.field-a{width:430px;height:430px;background:radial-gradient(circle at 45% 45%,rgba(230,57,70,.28),transparent 30%),repeating-radial-gradient(circle at center,rgba(24,61,45,.18) 0 1px,transparent 1px 12px);transform:scaleX(1.35) rotate(-10deg)}
.field-b{width:290px;height:290px;background:radial-gradient(circle,rgba(24,61,45,.24),transparent 62%);filter:blur(24px)}
.section{width:min(1240px,calc(100% - 34px));margin:auto;padding:90px 0}.section-heading{max-width:760px;margin-bottom:40px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{font-size:clamp(2rem,3.5vw,3.3rem)}
.expertise-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.expertise-card{min-height:285px;background:white;border:1px solid var(--line);border-radius:14px;padding:24px 18px;display:flex;flex-direction:column;text-align:center;box-shadow:0 8px 24px rgba(24,61,45,.045);transition:.2s}
.expertise-card:hover{transform:translateY(-5px);border-color:rgba(230,57,70,.4)}.icon-ring{width:58px;height:58px;border-radius:50%;margin:0 auto 22px;display:grid;place-items:center;border:2px solid var(--red);color:var(--red);font-weight:800;font-size:.75rem}
.expertise-card h3{font-size:1rem}.expertise-card p{font-size:.85rem;color:var(--muted);margin-top:auto}
.section-green{width:100%;max-width:none;background:var(--green);color:white}.section-inner{width:min(1240px,calc(100% - 34px));margin:auto}.light{color:#ff8a93}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.process-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:15px;padding:24px}.process-card span{color:#ff8a93;font-weight:800}.process-card h3{margin-top:20px}.process-card p{color:rgba(255,255,255,.72);font-size:.9rem}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.sector-card{min-height:210px;padding:24px;border-radius:15px;background:white;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.sector-card span{color:var(--red);font:800 1rem Montserrat,sans-serif}.sector-card p{color:var(--muted)}
.contact-section{width:min(1240px,calc(100% - 34px));margin:auto;padding:10px 0 90px}.contact-card{background:linear-gradient(135deg,var(--red),var(--red-dark));border-radius:22px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;color:white;box-shadow:0 22px 55px rgba(185,24,40,.2)}.contact-card h2{font-size:clamp(2rem,3.5vw,3.2rem)}.contact-card p{color:rgba(255,255,255,.8)}
.site-footer{width:min(1240px,calc(100% - 34px));margin:auto;padding:32px 0 45px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;color:var(--muted);font-size:.8rem}
.footer-brand{display:flex;align-items:center;gap:10px}.footer-icon{width:40px}.footer-brand strong{font:800 1rem Montserrat,sans-serif}.footer-brand p{margin:2px 0 0}.footer-links{display:flex;gap:18px}
.reveal{opacity:0;transform:translateY(18px);transition:.65s}.reveal.visible{opacity:1;transform:none}

/* Sélecteur de langue par drapeaux */
.language-switch{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:2px;
  padding-left:16px;
  border-left:1px solid var(--line);
}
.flag-link{
  width:34px;
  height:28px;
  display:inline-grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:7px;
  font-size:1.28rem;
  line-height:1;
  filter:saturate(.82);
  opacity:.68;
  transition:transform .2s ease, opacity .2s ease, background .2s ease, border-color .2s ease;
}
.flag-link:hover{
  transform:translateY(-1px) scale(1.06);
  opacity:1;
  background:rgba(24,61,45,.06);
  border-color:var(--line);
}
.flag-link.active{
  opacity:1;
  filter:none;
  background:rgba(230,57,70,.08);
  border-color:rgba(230,57,70,.28);
  box-shadow:0 3px 10px rgba(24,61,45,.08);
}
.flag-link:focus-visible{
  outline:3px solid rgba(230,57,70,.25);
  outline-offset:2px;
}

@media(max-width:1080px){.expertise-grid{grid-template-columns:repeat(3,1fr)}.process-grid,.sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-nav{display:none;position:absolute;left:16px;right:16px;top:70px;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav a{padding:10px}.site-nav a:after{display:none!important}.nav-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:50px}.hero-visual{height:390px}.hero-benefits{grid-template-columns:1fr}.contact-card{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}}
@media(max-width:620px){.expertise-grid,.process-grid,.sector-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-visual{height:330px}.hero-logo{width:250px}.hero-actions{flex-direction:column}.button{width:100%}.section{padding:72px 0}.brand-name{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}


/* Language selector */
@media(max-width:820px){

@media(max-width:820px){
  .language-switch{
    margin:4px 0;
    padding:10px 8px 4px;
    border-left:0;
    border-top:1px solid var(--line);
    justify-content:center;
  }
  .flag-link{
    width:44px;
    height:34px;
    font-size:1.45rem;
  }
}
