
:root{
  --navy:#071f3f; --orange:#f58200; --ink:#0a2240;
  --muted:#596d82; --line:#dde6ef; --ice:#eef7fd;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit}
img{display:block;max-width:100%}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  min-height:86px;padding:10px 5%;
  display:flex;align-items:center;gap:26px;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.brand img{width:172px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.main-nav a{
  text-decoration:none;font-size:14px;font-weight:700;
  padding:8px 0;border-bottom:2px solid transparent;white-space:nowrap;
}
.main-nav a:hover,.main-nav a.active{color:var(--orange);border-color:var(--orange)}
.lang-switch{
  display:flex;gap:2px;padding:3px;border:1px solid #cad6e2;
  border-radius:999px;background:#f6f8fb;
}
.lang-switch button{
  border:0;background:transparent;padding:6px 10px;border-radius:999px;
  color:#53667a;font-weight:800;cursor:pointer
}
.lang-switch button.active{background:var(--navy);color:#fff}

/* Homepage hero — all text is real HTML over a clean image */
.hero{
  min-height:535px;
  position:relative;display:flex;align-items:center;
  background:
    linear-gradient(90deg,rgba(255,255,255,.90) 0%,rgba(255,255,255,.70) 29%,rgba(255,255,255,.13) 51%,rgba(255,255,255,0) 70%),
    url('assets/home-hero.jpg') center/cover no-repeat;
}
.hero-copy{width:min(620px,48%);padding:52px 0 50px 6%;position:relative;z-index:2}
.wordmark{margin:0 0 22px}
.wordmark strong{display:block;font-size:76px;line-height:.84;letter-spacing:.06em;color:var(--navy)}
.wordmark span{display:block;margin-top:16px;font-size:25px;letter-spacing:.24em;color:var(--orange)}
.hero h1{font-size:31px;line-height:1.18;margin:0 0 16px;color:var(--navy)}
.hero-tags{font-size:17px;margin:0 0 23px}
.dot{color:var(--orange);font-weight:900;padding:0 7px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{
  display:inline-block;text-decoration:none;border-radius:30px;
  padding:12px 25px;font-size:13px;font-weight:800
}
.btn.orange{background:var(--orange);color:#fff;border:1px solid var(--orange)}
.btn.outline{background:rgba(255,255,255,.68);color:var(--navy);border:1px solid var(--navy);backdrop-filter:blur(4px)}

/* Standard sections */
.section{max-width:1280px;margin:auto;padding:58px 6%}
.kicker{color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.13em;margin:0 0 6px}
.center{text-align:center}
.section-title{font-size:32px;line-height:1.1;margin:0 0 12px;color:var(--navy)}
.section-intro{max-width:760px;margin:0 auto 32px;text-align:center;color:var(--muted);font-size:14px}

/* Idea -> Impact */
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.impact-grid article{padding:4px 12px}
.icon-circle{
  width:66px;height:66px;margin:0 auto 12px;border:2px solid var(--navy);
  border-radius:50%;display:grid;place-items:center;color:var(--navy)
}
.icon-circle svg{width:34px;height:34px;stroke:currentColor;fill:none;stroke-width:1.8}
.impact-grid h3{font-size:15px;margin:0 0 8px}
.impact-grid p{font-size:13px;color:var(--muted);margin:0}
.mini-line{width:42px;height:3px;background:var(--orange);margin:16px auto 0}

/* Approach: ONE clean image. No embedded text. No duplicate strip. */
.approach{
  min-height:345px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);
  gap:54px;align-items:center;padding:50px 7%;
  background:
    linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.44) 50%,rgba(255,255,255,.17)),
    url('assets/approach-bg.jpg') center/cover no-repeat;
}
.approach-copy{
  max-width:610px;padding:24px 28px;
  border-radius:17px;background:rgba(255,255,255,.34);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)
}
.approach-copy .section-title{font-size:31px}
.approach-copy p{font-size:14px;margin:0 0 15px}
.approach-copy ul{list-style:none;padding:0;margin:0}
.approach-copy li{font-size:14px;margin:10px 0}
.approach-copy li:before{
  content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;
  margin-right:10px;border-radius:50%;background:var(--orange);color:white;font-weight:bold
}
.quote{
  margin:0;padding:32px 34px;border-radius:18px;
  background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.6);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 12px 32px rgba(7,31,63,.12);
  font-size:19px;line-height:1.5
}
.quote:before{content:"“";display:block;color:#75c7f3;font-size:66px;line-height:.45;margin-bottom:18px;font-weight:bold}

/* Contact strip */
.cta{
  min-height:185px;display:grid;grid-template-columns:46% 54%;
  background:var(--navy);color:#fff
}
.cta-copy{padding:28px 7%;display:flex;flex-direction:column;justify-content:center}
.cta-copy h2{font-size:29px;line-height:1.06;margin:0 0 8px}
.cta-copy p{margin:0 0 16px;font-size:14px}
.cta-art{background:url('assets/neural-cta.jpg') center/cover no-repeat}

/* About page hero */
.about-hero{
  min-height:300px;display:grid;place-items:center;text-align:center;color:#fff;
  background:url('assets/about-hero.jpg') center/cover no-repeat
}
.about-hero-content{padding:40px 6%}
.about-hero .eyebrow{font-size:13px;letter-spacing:.25em;margin:0 0 10px}
.about-hero h1{font-size:42px;line-height:1.08;margin:0 0 12px}
.about-hero p{font-size:16px;margin:0}

/* About / services */
.about-block{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}
.about-block h2{font-size:29px;margin:0 0 12px}
.about-block p{font-size:14px;color:var(--muted)}
.about-photo img{width:100%;border-radius:15px;box-shadow:0 9px 25px rgba(7,31,63,.13)}
.domain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.domain-grid article{border:1px solid var(--line);border-radius:14px;padding:25px;background:#fff;box-shadow:0 6px 18px rgba(7,31,63,.05)}
.domain-icon svg{width:40px;height:40px;stroke:var(--navy);fill:none;stroke-width:1.8}
.domain-grid h3{font-size:16px;margin:8px 0 14px}
.domain-grid ul{list-style:none;padding:0;margin:0}
.domain-grid li{font-size:13px;color:var(--muted);margin:8px 0}
.domain-grid li:before{content:"✓";color:var(--orange);font-weight:bold;margin-right:8px}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center}
.value-icon svg{width:48px;height:48px;stroke:var(--navy);fill:none;stroke-width:1.8}
.values-grid h3{font-size:14px;margin:8px 0 3px}
.values-grid p{font-size:12px;color:var(--muted);margin:0}

/* Footer: no duplicate menu */
.footer{
  min-height:64px;padding:13px 5%;display:flex;align-items:center;
  justify-content:space-between;gap:20px;background:#061f3c;color:#fff;font-size:12px
}
.footer a{color:#fff;text-decoration:none}
.footer span{text-align:right;line-height:1.45}

#accueil,#expertise,#approche,#apropos,#contact{scroll-margin-top:104px}

/* Responsive */
@media(max-width:900px){
  html{scroll-padding-top:148px}
  .site-header{flex-wrap:wrap;gap:10px 16px;padding:9px 4%}
  .brand{order:1}.brand img{width:160px}
  .lang-switch{order:2;margin-left:auto}
  .main-nav{
    order:3;width:100%;margin-left:0;padding-top:8px;border-top:1px solid #e3e9ef;
    gap:18px;overflow-x:auto;white-space:nowrap;scrollbar-width:none
  }
  .main-nav::-webkit-scrollbar{display:none}
  .main-nav a{flex:0 0 auto;font-size:13px}
  #accueil,#expertise,#approche,#apropos,#contact{scroll-margin-top:148px}

  .hero{min-height:720px;align-items:flex-start;background-position:57% center}
  .hero-copy{width:100%;padding:42px 6% 30px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.72),transparent)}
  .impact-grid{grid-template-columns:1fr 1fr}
  .approach{grid-template-columns:1fr;gap:24px;padding:42px 6%;background-position:center}
  .approach-copy{max-width:none}
  .quote{max-width:620px}
  .cta{grid-template-columns:1fr}.cta-art{min-height:145px}
  .about-block{grid-template-columns:1fr}
  .domain-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .brand img{width:148px}.main-nav{gap:16px}
  .wordmark strong{font-size:54px}.wordmark span{font-size:19px}
  .hero h1{font-size:27px}.hero{min-height:650px;background-position:60% center}
  .impact-grid{grid-template-columns:1fr}
  .about-hero h1{font-size:32px}
  .values-grid{grid-template-columns:1fr 1fr;gap:22px 12px}
  .footer{flex-direction:column;text-align:center}.footer span{text-align:center}
}
