/* ============================================================
   NEXGEN CORE — DESIGN SYSTEM
   ============================================================ */
:root{
  --ink:#0A1830;
  --navy:#0F2A4A;
  --navy-2:#16385F;
  --navy-soft:#1C4470;
  --blue:#2F6FE4;
  --blue-soft:#6FA0F2;
  --orange:#F2660A;
  --orange-light:#FF9142;
  --green:#3C7A3E;
  --green-dk:#1E4A20;
  --paper:#F6F2E9;
  --paper-dim:#ECE3D1;
  --paper-line:#DCD0B8;
  --text-dark:#142233;
  --text-mute:#566177;
  --text-mute-2:#8B97A8;
  --line-dark:#22385A;
  --radius:18px;
  --radius-sm:10px;
  --maxw:1240px;
  --ff-display:'Space Grotesk', sans-serif;
  --ff-body:'Source Serif 4', Georgia, serif;
  --ff-mono:'JetBrains Mono', monospace;
  --ease:cubic-bezier(.16,.84,.44,1);
  --header-h:78px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff-body);
  background:var(--paper);
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--ff-display);margin:0;letter-spacing:-0.01em;}
p{margin:0;}
section{position:relative;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important;}
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 20px;}}
.wrap-narrow{max-width:880px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap-narrow{padding:0 20px;}}

.eyebrow{
  font-family:var(--ff-mono);
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--orange);
  font-weight:600;
  margin-bottom:18px;
}
.eyebrow::before{content:'';width:22px;height:2px;background:var(--orange);display:inline-block;}
.eyebrow.on-dark{color:var(--orange-light);}
.eyebrow.center{justify-content:center;}

.section-title{font-size:clamp(28px,4vw,46px);line-height:1.08;font-weight:600;color:var(--ink);max-width:760px;}
.section-title em{font-style:normal;color:var(--orange);}
.section-sub{font-family:var(--ff-body);font-size:clamp(16px,1.7vw,19px);line-height:1.6;color:var(--text-mute);max-width:620px;margin-top:18px;}
.on-dark .section-title{color:#fff;}
.on-dark .section-sub{color:#B9C3D4;}
.center{text-align:center;margin-left:auto;margin-right:auto;}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--ff-display);font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:100px;
  border:1.5px solid transparent;cursor:pointer;
  transition:transform .35s var(--ease), background .3s, color .3s, border-color .3s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-light);}
.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-dark{border-color:var(--ink);color:var(--ink);}
.btn-dark:hover{background:var(--ink);color:#fff;}
.btn-light{background:#fff;color:var(--ink);}
.btn-light:hover{background:var(--paper-dim);}
.btn-sm{padding:10px 20px;font-size:13.5px;}
.btn svg{width:16px;height:16px;}
.btn-block{width:100%;justify-content:center;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.08s;} .reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;} .reveal-delay-4{transition-delay:.32s;}

/* ============================================================
   LOGO MARK
   ============================================================ */
.mark{display:flex;align-items:center;gap:10px;}
.mark img{height:40px;width:auto;}
.mark-tagline{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#8FA3C2;margin-top:2px;}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:70;
  padding:14px 0;background:rgba(10,24,48,.0);
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s;
}
.site-header.solid, .site-header.scrolled{background:rgba(10,24,48,.94);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(10,24,48,.18);}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-family:var(--ff-display);font-size:14px;font-weight:500;color:#E7ECF5;position:relative;padding:4px 0;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--orange);transition:width .3s var(--ease);}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-links a.active{color:#fff;}
.header-actions{display:flex;align-items:center;gap:16px;}
@media (max-width:1040px){.nav-links{display:none;}}

.burger{display:none;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:none;cursor:pointer;position:relative;flex-shrink:0;}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:#fff;transition:transform .3s, opacity .3s;}
.burger span:nth-child(1){top:15px;} .burger span:nth-child(2){top:20px;} .burger span:nth-child(3){top:25px;}
.burger.open span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
@media (max-width:1040px){.burger{display:block;}}

.mobile-menu{
  position:fixed;inset:0;background:var(--ink);z-index:65;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  transform:translateY(-100%);transition:transform .45s var(--ease);overflow-y:auto;padding:40px 0;
}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu a{font-family:var(--ff-display);font-size:21px;color:#fff;font-weight:600;}
.mobile-menu a.active{color:var(--orange-light);}

/* ============================================================
   PAGE HERO (secondary pages banner)
   ============================================================ */
.page-hero{
  background:linear-gradient(155deg, var(--ink) 0%, var(--navy) 100%);
  color:#fff;padding:calc(var(--header-h) + 64px) 0 70px;position:relative;overflow:hidden;
}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%, rgba(47,111,228,.25), transparent 55%);}
.breadcrumb{position:relative;font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#8FA3C2;margin-bottom:18px;}
.breadcrumb a{color:#8FA3C2;} .breadcrumb a:hover{color:var(--orange-light);}
.page-hero h1{position:relative;font-size:clamp(34px,5vw,58px);line-height:1.05;font-weight:700;}
.page-hero h1 .o{color:var(--orange);}
.page-hero p.lead{position:relative;font-family:var(--ff-body);font-size:17px;line-height:1.7;color:#C3CDDE;max-width:620px;margin-top:20px;}

/* ============================================================
   GENERIC SECTION
   ============================================================ */
.section{padding:110px 0;}
@media (max-width:760px){.section{padding:72px 0;}}
.section.on-dark{background:var(--ink);}
.section.tight{padding-top:70px;}
.section.tight-bottom{padding-bottom:70px;}
.bg-paper-dim{background:var(--paper-dim);}
.bg-navy{background:var(--navy);}

/* ============================================================
   HERO (Accueil)
   ============================================================ */
.hero{
  min-height:92vh;display:flex;align-items:center;
  background:radial-gradient(ellipse at 75% 18%, rgba(47,111,228,.28), transparent 55%), radial-gradient(ellipse at 18% 85%, rgba(242,102,10,.18), transparent 50%), var(--ink);
  color:#fff;padding:calc(var(--header-h) + 60px) 0 80px;overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:46px;}}
.flag-badge{display:inline-flex;align-items:center;gap:10px;font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#C3CDDE;border:1px solid rgba(255,255,255,.18);border-radius:100px;padding:7px 16px 7px 10px;margin-bottom:26px;}
.flag-mini{display:flex;width:16px;height:11px;border-radius:2px;overflow:hidden;}
.flag-mini span{flex:1;} .flag-mini .r{background:#CE1126;} .flag-mini .y{background:#FCD116;} .flag-mini .g{background:#009460;}
.hero h1{font-size:clamp(40px,6.4vw,68px);line-height:1.05;font-weight:700;}
.hero h1 .o{color:var(--orange);}
.hero-tagline{font-family:var(--ff-body);font-style:italic;font-size:clamp(17px,1.9vw,20px);color:var(--blue-soft);margin-top:16px;}
.hero-lead{font-family:var(--ff-body);font-size:16.5px;line-height:1.7;color:#C3CDDE;margin-top:22px;max-width:540px;}
.hero-cta-trio{display:flex;flex-direction:column;gap:12px;margin-top:36px;max-width:380px;}
.cta-card{
  display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:14px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  transition:background .3s, border-color .3s, transform .3s var(--ease);
}
.cta-card:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);transform:translateX(4px);}
.cta-card .ic{width:38px;height:38px;border-radius:10px;background:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cta-card .ic svg{width:18px;height:18px;color:#fff;}
.cta-card b{font-family:var(--ff-display);font-size:14.5px;color:#fff;display:block;}
.cta-card span{font-family:var(--ff-mono);font-size:11px;color:#8FA3C2;}

.hero-visual{position:relative;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -20px rgba(0,0,0,.6);}
.hero-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, transparent 60%, rgba(10,24,48,.5));}

/* ---- HERO v3 : image de fond (mockup recadré) + message + bandeau d'icônes ---- */
.hero-v2{
  min-height:96vh;padding:0;display:block;position:relative;overflow:hidden;
  background-image:url('../assets/hero-bg.jpg');background-size:cover;background-position:center top;
}
.hero-bg-overlay{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg, rgba(8,16,30,.96) 0%, rgba(8,16,30,.88) 32%, rgba(8,16,30,.58) 60%, rgba(8,16,30,.42) 100%),
    linear-gradient(to top, rgba(8,16,30,.9) 0%, transparent 30%);
}
.hero-v2-inner{position:relative;z-index:3;padding:calc(var(--header-h) + 64px) 0 0;min-height:96vh;display:flex;flex-direction:column;}
.hero-v2-grid{flex:1;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;}
@media (max-width:980px){.hero-v2-grid{grid-template-columns:1fr;}}
.hero-v2-text{position:relative;z-index:4;padding-bottom:60px;max-width:620px;}
.hero-v2-text h1{font-size:clamp(38px,5.6vw,62px);line-height:1.06;font-weight:700;color:#fff;}
.hero-v2-text h1 .o{color:var(--orange);}
.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

.hero-icon-strip{
  position:relative;z-index:4;background:rgba(6,14,28,.88);backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,.08);
  display:grid;grid-template-columns:repeat(4,1fr);
}
@media (max-width:760px){.hero-icon-strip{grid-template-columns:repeat(2,1fr);}}
.hero-icon-strip a{
  display:flex;align-items:center;gap:14px;padding:22px 24px;border-right:1px solid rgba(255,255,255,.08);
  transition:background .3s;
}
.hero-icon-strip a:hover{background:rgba(255,255,255,.06);}
@media (max-width:760px){.hero-icon-strip a:nth-child(2n){border-right:none;}.hero-icon-strip a{border-bottom:1px solid rgba(255,255,255,.08);padding:18px 18px;}}
@media (min-width:761px){.hero-icon-strip a:last-child{border-right:none;}}
.hero-icon-strip .ic{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.hero-icon-strip .ic svg{width:20px;height:20px;color:#fff;}
.hero-icon-strip .ic.agri{background:linear-gradient(150deg,#3C7A3E,#1E4A20);}
.hero-icon-strip .ic.elev{background:var(--orange);}
.hero-icon-strip .ic.comm{background:var(--navy-2);}
.hero-icon-strip .ic.sol{background:var(--blue);}
.hero-icon-strip b{font-family:var(--ff-display);font-size:13.5px;color:#fff;display:block;letter-spacing:.02em;}
.hero-icon-strip span{font-family:var(--ff-mono);font-size:10.5px;color:#9AABC4;}

/* ---- FEATURE ROW : image encadrée à gauche, détail à droite (remplace les bandeaux pleine largeur) ---- */
.feature-row{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:54px;align-items:center;}
@media (max-width:860px){.feature-row{grid-template-columns:1fr;gap:32px;}}
.feature-row.reverse{grid-template-columns:1fr minmax(280px,440px);}
@media (max-width:860px){.feature-row.reverse{grid-template-columns:1fr;}}
.feature-row.reverse .feature-img{order:-1;}
@media (max-width:860px){.feature-row.reverse .feature-img{order:0;}}
.feature-img{border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -18px rgba(10,24,48,.28);border:1px solid var(--paper-line);}
.feature-img img{width:100%;display:block;}
.feature-detail .eyebrow{margin-bottom:14px;}
.feature-detail h3{font-size:clamp(22px,2.8vw,30px);color:var(--ink);margin-bottom:16px;}
.feature-detail p{font-family:var(--ff-body);font-size:15.5px;line-height:1.75;color:var(--text-mute);}
.feature-detail p + p{margin-top:12px;}
.feature-detail .feature-points{margin-top:18px;display:flex;flex-direction:column;gap:10px;}
.feature-detail .feature-points li{display:flex;gap:10px;font-family:var(--ff-display);font-size:14px;color:var(--text-dark);align-items:baseline;}
.feature-detail .feature-points li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;transform:translateY(-2px);}



/* Stat banner */
.stat-banner{background:var(--navy);padding:0;}
.stat-banner-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.stat-banner-cell{padding:42px 24px;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
.stat-banner-cell:last-child{border-right:none;}
.stat-banner-num{font-family:var(--ff-mono);font-weight:700;font-size:clamp(34px,4.6vw,48px);color:var(--orange-light);line-height:1;}
.stat-banner-label{font-family:var(--ff-body);font-size:13.5px;color:#B9C3D4;margin-top:8px;}
@media (max-width:860px){.stat-banner-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:700px){.stat-banner-grid{grid-template-columns:1fr;}.stat-banner-cell{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);}}

/* Pillars / quick links 4 blocks */
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:46px;}
@media (max-width:900px){.quick-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.quick-grid{grid-template-columns:1fr;}}
.quick-card{
  background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);padding:30px 24px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s;
}
.quick-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -16px rgba(10,24,48,.18);border-color:transparent;}
.quick-card .ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.quick-card .ic svg{width:22px;height:22px;color:#fff;}
.quick-card.tech .ic{background:var(--blue);}
.quick-card.agri .ic{background:linear-gradient(150deg,#3C7A3E,#1E4A20);}
.quick-card.elev .ic{background:linear-gradient(150deg,#B05A1E,#7A3C0F);}
.quick-card.comm .ic{background:var(--navy-2);}
.quick-card b{font-family:var(--ff-display);font-size:17px;color:var(--ink);display:block;}
.quick-card p{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);margin-top:8px;line-height:1.55;}
.quick-card .go{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:11px;color:var(--orange);text-transform:uppercase;letter-spacing:.05em;margin-top:16px;}
.quick-card .go svg{width:12px;height:12px;}

/* Testimonial */
.testimonial{background:var(--ink);color:#fff;padding:100px 0;text-align:center;position:relative;overflow:hidden;}
.testimonial::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%, rgba(47,111,228,.2), transparent 60%);}
.testimonial svg{width:38px;height:38px;color:var(--orange);margin:0 auto 28px;position:relative;}
.testimonial p{position:relative;font-family:var(--ff-body);font-style:italic;font-size:clamp(19px,2.6vw,28px);line-height:1.5;max-width:760px;margin:0 auto;color:#fff;}
.testimonial span{position:relative;display:block;font-family:var(--ff-mono);font-size:11.5px;color:#8FA3C2;text-transform:uppercase;letter-spacing:.08em;margin-top:24px;}

/* Blog teaser band */
.blog-teaser{background:var(--paper-dim);padding:60px 0;}
.blog-teaser-inner{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;background:#fff;border-radius:var(--radius);padding:24px 28px;border:1px solid var(--paper-line);}
@media (max-width:760px){.blog-teaser-inner{grid-template-columns:1fr;text-align:center;}}
.blog-teaser-tag{font-family:var(--ff-mono);font-size:11px;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;background:rgba(242,102,10,.1);padding:8px 14px;border-radius:100px;white-space:nowrap;}
.blog-teaser-inner b{font-family:var(--ff-display);font-size:16px;color:var(--ink);display:block;}
.blog-teaser-inner p{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);margin-top:4px;}

/* ============================================================
   MISSION / VALUES / IDENTITY blocks
   ============================================================ */
.identity-block{margin-top:80px;}
.identity-block:first-of-type{margin-top:50px;}
.identity-block h3{font-size:13px;font-family:var(--ff-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--orange);margin-bottom:24px;}
.vision-text{font-family:var(--ff-body);font-size:18px;line-height:1.8;color:var(--text-dark);max-width:820px;}

.mission-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:10px;}
@media (max-width:980px){.mission-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.mission-grid{grid-template-columns:1fr;}}
.mission-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius-sm);padding:24px 20px;}
.mission-card svg{width:24px;height:24px;color:var(--blue);}
.mission-card b{display:block;font-family:var(--ff-display);font-size:15px;margin:14px 0 8px;color:var(--ink);}
.mission-card p{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);line-height:1.6;}

.values-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:10px;border-top:1px solid var(--paper-line);}
@media (max-width:760px){.values-row3{grid-template-columns:1fr;}}
.value-cell3{padding:30px 28px 36px;border-right:1px solid var(--paper-line);}
.values-row3 .value-cell3:last-child{border-right:none;}
.value-cell3 b{display:block;font-family:var(--ff-display);font-size:18px;margin-bottom:12px;color:var(--ink);}
.value-cell3 p{font-family:var(--ff-body);font-size:14.5px;color:var(--text-mute);line-height:1.65;}

.promise-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;margin-top:16px;align-items:start;}
@media (max-width:900px){.promise-grid{grid-template-columns:1fr;gap:40px;}}
.promise-list{display:flex;flex-direction:column;gap:22px;}
.promise-item{display:flex;gap:16px;}
.promise-item .dot{width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:9px;flex-shrink:0;}
.promise-item b{font-family:var(--ff-display);font-size:15.5px;color:var(--ink);}
.promise-item p{font-family:var(--ff-body);font-size:14.5px;color:var(--text-mute);margin-top:5px;line-height:1.6;}
.tone-card{background:var(--navy);border-radius:var(--radius);padding:32px;color:#fff;}
.tone-card p{font-family:var(--ff-body);font-size:14.5px;line-height:1.7;color:#C3CDDE;}
.swatches{display:flex;gap:14px;margin-top:24px;}
.swatch{flex:1;border-radius:10px;padding:16px 14px;}
.swatch.b{background:var(--blue);} .swatch.o{background:var(--orange);}
.swatch span{display:block;font-family:var(--ff-mono);font-size:10.5px;color:#fff;text-transform:uppercase;letter-spacing:.05em;opacity:.9;}

.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px;}
@media (max-width:760px){.name-grid{grid-template-columns:1fr;}}
.name-card{border-radius:var(--radius);padding:38px 34px;position:relative;overflow:hidden;}
.name-card.nx{background:linear-gradient(150deg, var(--navy-2), var(--navy));color:#fff;}
.name-card.co{background:linear-gradient(150deg, #B84E08, var(--orange));color:#fff;}
.name-card .tag{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.75;}
.name-card h3{font-size:36px;margin:10px 0 18px;}
.name-card p{font-family:var(--ff-body);font-size:15px;line-height:1.7;opacity:.92;}
.synthesis{margin-top:50px;padding:44px;background:var(--ink);border-radius:var(--radius);text-align:center;}
.synthesis p{font-family:var(--ff-display);color:#fff;font-size:clamp(19px,2.6vw,28px);font-weight:500;line-height:1.4;max-width:780px;margin:0 auto;}
.synthesis p em{color:var(--orange-light);font-style:normal;}

/* Synergy 4-team list */
.synergy-list{display:flex;flex-direction:column;margin-top:30px;}
.synergy-item{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--paper-line);}
.synergy-item .n{font-family:var(--ff-mono);color:var(--orange);font-weight:700;font-size:15px;}
.synergy-item b{font-family:var(--ff-display);font-size:15.5px;color:var(--ink);display:block;}
.synergy-item p{font-family:var(--ff-body);font-size:14px;color:var(--text-mute);margin-top:4px;}

/* Founder */
.founder-row{margin-top:64px;display:grid;grid-template-columns:200px 1fr;gap:34px;align-items:center;background:var(--paper-dim);border-radius:var(--radius);padding:30px;}
@media (max-width:600px){.founder-row{grid-template-columns:1fr;text-align:center;}}
.founder-photo-real{width:200px;height:240px;border-radius:14px;overflow:hidden;box-shadow:0 20px 40px -14px rgba(10,24,48,.3);}
.founder-photo-real img{width:100%;height:100%;object-fit:cover;}
@media (max-width:600px){.founder-photo-real{width:200px;height:240px;margin:0 auto;}}
.founder-text b{font-family:var(--ff-display);font-size:20px;color:var(--ink);display:block;}
.founder-text .role{font-family:var(--ff-mono);font-size:11.5px;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;display:block;}
.founder-text p{font-family:var(--ff-body);font-size:14.5px;color:var(--text-mute);margin-top:12px;line-height:1.6;}

.quote-pull{margin-top:60px;padding:42px 0 0;border-top:1px solid var(--paper-line);display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;}
.quote-pull svg{width:36px;height:36px;color:var(--orange);flex-shrink:0;}
.quote-pull p{font-family:var(--ff-body);font-style:italic;font-size:clamp(19px,2.4vw,26px);line-height:1.4;color:var(--ink);}
.quote-pull span{display:block;font-family:var(--ff-mono);font-size:12px;color:var(--text-mute-2);margin-top:14px;text-transform:uppercase;letter-spacing:.06em;}
@media (max-width:640px){.quote-pull{grid-template-columns:1fr;}}

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.service-list{margin-top:34px;display:flex;flex-direction:column;gap:0;}
.service-list li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--paper-line);font-family:var(--ff-display);font-size:15.5px;color:var(--text-dark);font-weight:500;}
.service-list li svg{width:20px;height:20px;color:var(--orange);flex-shrink:0;margin-top:1px;}

.service-detail{display:grid;grid-template-columns:64px 1fr;gap:26px;padding:44px 0;border-bottom:1px solid var(--paper-line);}
@media (max-width:600px){.service-detail{grid-template-columns:1fr;}}
.service-detail .si{width:64px;height:64px;border-radius:16px;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.service-detail .si svg{width:30px;height:30px;color:var(--orange-light);}
.service-detail h3{font-size:clamp(20px,2.4vw,25px);color:var(--ink);}
.service-detail .num{font-family:var(--ff-mono);color:var(--orange);font-size:13px;font-weight:600;}
.service-detail p.desc{font-family:var(--ff-body);font-size:15.5px;line-height:1.75;color:var(--text-mute);margin-top:14px;max-width:680px;}
.target-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:11.5px;color:var(--navy-2);background:var(--paper-dim);border-radius:100px;padding:7px 15px;margin-top:16px;}
.target-tag b{font-weight:600;color:var(--orange);}

.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.tag-pill{font-family:var(--ff-mono);font-size:12px;letter-spacing:.03em;color:#C3CDDE;border:1px solid var(--line-dark);border-radius:100px;padding:9px 16px;}
.tech-note{font-family:var(--ff-body);font-size:14.5px;line-height:1.7;color:#9AABC4;margin-top:26px;}

.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:var(--line-dark);border-radius:var(--radius);overflow:hidden;}
@media (max-width:700px){.stat-row{grid-template-columns:1fr;}}
.stat-cell{background:var(--ink);padding:38px 30px;}
.stat-num{font-family:var(--ff-mono);font-weight:600;font-size:clamp(34px,4.4vw,46px);color:var(--orange-light);line-height:1;}
.stat-label{font-family:var(--ff-body);font-size:13.5px;color:#9AABC4;margin-top:10px;}

.why-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:46px;}
@media (max-width:900px){.why-grid4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.why-grid4{grid-template-columns:1fr;}}
.why-card4{padding:26px 22px;border:1px solid var(--paper-line);border-radius:var(--radius-sm);background:#fff;}
.why-card4 svg{width:24px;height:24px;color:var(--orange);}
.why-card4 b{display:block;font-family:var(--ff-display);font-size:15px;margin:14px 0 8px;color:var(--ink);}
.why-card4 p{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);line-height:1.6;}

.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:46px;}
@media (max-width:980px){.process-steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.process-steps{grid-template-columns:1fr;}}
.process-step{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius-sm);padding:24px 18px;}
.process-step .pnum{font-family:var(--ff-mono);font-size:24px;font-weight:700;color:var(--paper-line);}
.process-step b{display:block;font-family:var(--ff-display);font-size:14px;color:var(--ink);margin:10px 0 6px;}
.process-step p{font-family:var(--ff-body);font-size:12.5px;color:var(--text-mute);line-height:1.55;}

/* Témoignages */
.testimonial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:46px;}
@media (max-width:760px){.testimonial-grid{grid-template-columns:1fr;}}
.testimonial-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);padding:30px;}
.testimonial-card p{font-family:var(--ff-body);font-style:italic;font-size:14.5px;line-height:1.7;color:var(--text-dark);}
.testimonial-card span{display:block;margin-top:16px;font-family:var(--ff-mono);font-size:11.5px;color:var(--orange);text-transform:uppercase;letter-spacing:.05em;}

/* Catégories (blog) */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px;}
@media (max-width:900px){.category-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.category-grid{grid-template-columns:1fr;}}
.category-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius-sm);padding:22px;}
.category-card b{display:block;font-family:var(--ff-display);font-size:14.5px;color:var(--ink);}
.category-card span{display:block;font-family:var(--ff-mono);font-size:11px;color:var(--orange);margin:6px 0 8px;}
.category-card p{font-family:var(--ff-body);font-size:13px;color:var(--text-mute);line-height:1.5;}

/* Timeline (projets futurs) */
.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
@media (max-width:860px){.timeline-grid{grid-template-columns:1fr;}}
.timeline-card{background:var(--ink);border-radius:var(--radius);padding:30px;color:#fff;}
.timeline-card .tlabel{font-family:var(--ff-mono);font-size:11px;color:var(--orange-light);text-transform:uppercase;letter-spacing:.06em;}
.timeline-card b{display:block;font-family:var(--ff-display);font-size:16px;margin:10px 0 16px;}
.timeline-card ul{display:flex;flex-direction:column;gap:10px;}
.timeline-card li{font-family:var(--ff-body);font-size:13.5px;color:#C3CDDE;display:flex;gap:8px;}

/* Archives */
.archive-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--paper-line);font-family:var(--ff-body);font-size:14px;}
.archive-row:first-child{border-top:none;}
.archive-row b{color:var(--ink);}
.archive-row span{color:var(--text-mute);font-family:var(--ff-mono);font-size:12.5px;}

/* Liste de canaux / distribution */
.channel-list{display:flex;flex-direction:column;gap:0;margin-top:18px;}
.channel-item{padding:16px 0;border-top:1px solid var(--paper-line);}
.channel-item:first-child{border-top:none;}
.channel-item b{font-family:var(--ff-display);font-size:14.5px;color:var(--ink);display:block;margin-bottom:6px;}
.channel-item ul{margin-top:6px;display:flex;flex-direction:column;gap:4px;}
.channel-item li{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);padding-left:14px;position:relative;}
.channel-item li::before{content:'·';position:absolute;left:0;color:var(--orange);}

/* Impact checklist */
.impact-list{display:flex;flex-direction:column;gap:14px;margin-top:20px;}
.impact-item{display:flex;gap:12px;align-items:flex-start;}
.impact-item .chk{width:22px;height:22px;border-radius:50%;background:#E8F3E9;color:#1E4A20;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.impact-item .chk svg{width:12px;height:12px;}
.impact-item p{font-family:var(--ff-body);font-size:14.5px;color:var(--text-mute);line-height:1.6;}
.impact-item p b{color:var(--ink);font-weight:600;}

/* ============================================================
   SECTORS
   ============================================================ */
.sector-block{margin-top:90px;}
.sector-block:first-of-type{margin-top:55px;}
.sector-head{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-bottom:36px;}
.sector-badge-img{height:78px;width:auto;flex-shrink:0;}
.sector-head h2{font-size:clamp(24px,2.8vw,32px);color:var(--ink);}
.sector-head span{font-family:var(--ff-mono);font-size:12px;color:var(--text-mute-2);text-transform:uppercase;letter-spacing:.06em;}

.sector-body{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
@media (max-width:900px){.sector-body{grid-template-columns:1fr;gap:30px;}}
.sector-photo{border-radius:var(--radius);min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;border:1.5px dashed rgba(20,34,51,.18);position:relative;padding:30px;}
.sector-photo.agri-bg{background-color:#E7EFD8;} .sector-photo.elev-bg{background-color:#F2E3D3;} .sector-photo.comm-bg{background-color:#DCE4EF;}
.sector-photo svg{width:40px;height:40px;color:rgba(20,34,51,.3);}
.sector-photo span{font-family:var(--ff-mono);font-size:11px;color:rgba(20,34,51,.45);text-transform:uppercase;letter-spacing:.06em;text-align:center;}
.sector-photo img.real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--radius);}

.sector-text p{font-family:var(--ff-body);font-size:15px;line-height:1.75;color:var(--text-mute);}
.sector-text p + p{margin-top:14px;}
.sector-text h4{font-family:var(--ff-display);font-size:14.5px;color:var(--ink);margin-top:22px;margin-bottom:8px;}
.sector-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px;}
@media (max-width:480px){.sector-stats{grid-template-columns:repeat(2,1fr);}}
.sstat{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius-sm);padding:18px 16px;}
.sstat .v{font-family:var(--ff-mono);font-weight:600;font-size:24px;color:var(--ink);}
.sstat .l{font-family:var(--ff-body);font-size:11.5px;color:var(--text-mute-2);margin-top:4px;line-height:1.3;}

.route-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center;}
.route-chips .lab{font-family:var(--ff-mono);font-size:11px;color:var(--text-mute-2);text-transform:uppercase;letter-spacing:.05em;margin-right:6px;}
.route-chip{font-family:var(--ff-mono);font-size:11.5px;background:var(--paper-dim);border-radius:100px;padding:6px 13px;color:var(--text-dark);}
.route-chip.arrow{background:none;color:var(--orange);padding:6px 2px;}

.challenge-table{margin-top:18px;border:1px solid var(--paper-line);border-radius:var(--radius-sm);overflow:hidden;}
.challenge-table table{width:100%;}
.challenge-table th{background:var(--paper-dim);text-align:left;font-family:var(--ff-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);padding:12px 16px;}
.challenge-table td{padding:14px 16px;font-family:var(--ff-body);font-size:13.5px;color:var(--text-dark);border-top:1px solid var(--paper-line);vertical-align:top;}
.challenge-table td:first-child{color:var(--text-mute);width:46%;}
.challenge-table tr td:last-child{color:var(--ink);font-weight:500;}

/* ============================================================
   ENGAGEMENT / CARRIÈRES
   ============================================================ */
.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px;}
@media (max-width:700px){.offer-grid{grid-template-columns:1fr;}}
.offer-item{display:flex;gap:14px;background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius-sm);padding:20px 22px;align-items:flex-start;}
.offer-item svg{width:20px;height:20px;color:var(--orange);flex-shrink:0;margin-top:2px;}
.offer-item p{font-family:var(--ff-display);font-size:14.5px;color:var(--text-dark);font-weight:500;line-height:1.5;}

.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:46px;}
@media (max-width:760px){.program-grid{grid-template-columns:1fr;}}
.program-card{background:var(--ink);border-radius:var(--radius);padding:36px;color:#fff;}
.program-card b.tt{font-family:var(--ff-display);font-size:19px;display:block;margin-bottom:18px;}
.program-card ul{display:flex;flex-direction:column;gap:11px;}
.program-card li{font-family:var(--ff-body);font-size:14px;color:#C3CDDE;display:flex;gap:10px;align-items:baseline;}
.program-card li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);flex-shrink:0;}

.career-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
@media (max-width:860px){.career-cols{grid-template-columns:1fr;}}
.career-col{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);padding:28px;}
.career-col .tag-sector{font-family:var(--ff-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--orange);}
.career-col b{display:block;font-family:var(--ff-display);font-size:17px;margin:10px 0 18px;color:var(--ink);}
.career-col ul{display:flex;flex-direction:column;gap:10px;}
.career-col li{font-family:var(--ff-body);font-size:14px;color:var(--text-mute);padding:10px 0;border-top:1px solid var(--paper-line);}
.career-col li:first-child{border-top:none;padding-top:0;}

.role-item{padding:16px 0;border-top:1px solid var(--paper-line);}
.role-item:first-child{border-top:none;}
.role-item b.rt{font-family:var(--ff-display);font-size:14.5px;color:var(--ink);display:block;margin-bottom:8px;}
.role-item p{font-family:var(--ff-body);font-size:12.8px;color:var(--text-mute);line-height:1.65;margin-bottom:4px;}
.role-item p b{color:var(--text-dark);font-weight:600;}
.role-tag{display:inline-block;font-family:var(--ff-mono);font-size:9.5px;background:var(--paper-dim);color:var(--text-dark);padding:3px 9px;border-radius:100px;margin-top:8px;text-transform:uppercase;letter-spacing:.04em;}

.training-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);padding:26px;}
.training-card b.tt2{font-family:var(--ff-display);font-size:15.5px;color:var(--ink);display:block;margin-bottom:10px;}
.training-card p{font-family:var(--ff-body);font-size:13px;color:var(--text-mute);line-height:1.6;margin-bottom:6px;}
.training-card p b{color:var(--text-dark);font-weight:600;}
.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
@media (max-width:980px){.training-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.training-grid{grid-template-columns:1fr;}}

.training-grid-2col{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px;}
@media (max-width:760px){.training-grid-2col{grid-template-columns:1fr;}}

.why-grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px;}
@media (max-width:980px){.why-grid5{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.why-grid5{grid-template-columns:1fr;}}

.culture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px;}
@media (max-width:900px){.culture-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.culture-grid{grid-template-columns:1fr;}}
.culture-card{text-align:center;padding:28px 18px;}
.culture-card .num{font-family:var(--ff-mono);font-size:13px;color:var(--paper-line);font-weight:600;}
.culture-card b{display:block;font-family:var(--ff-display);font-size:15px;margin:10px 0 8px;color:var(--ink);}
.culture-card p{font-family:var(--ff-body);font-size:13px;color:var(--text-mute);line-height:1.6;}

.apply-band{margin-top:60px;background:var(--navy);border-radius:var(--radius);padding:44px;text-align:center;color:#fff;}
.apply-band h3{font-size:24px;}
.apply-band p{font-family:var(--ff-body);font-size:14.5px;color:#C3CDDE;margin-top:10px;max-width:480px;margin-left:auto;margin-right:auto;}
.apply-band .btn{margin-top:22px;}

/* ============================================================
   BLOG
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:46px;}
@media (max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s var(--ease), box-shadow .35s var(--ease);}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -16px rgba(10,24,48,.18);}
.blog-card .thumb{height:150px;display:flex;align-items:center;justify-content:center;position:relative;}
.blog-card .thumb svg{width:30px;height:30px;color:#fff;opacity:.85;}
.blog-card .thumb.c-tech{background:linear-gradient(140deg,var(--navy-2),var(--ink));}
.blog-card .thumb.c-agri{background:linear-gradient(140deg,#3C7A3E,#1E4A20);}
.blog-card .thumb.c-elev{background:linear-gradient(140deg,#B05A1E,#7A3C0F);}
.blog-card .thumb.c-comm{background:linear-gradient(140deg,var(--blue),var(--navy));}
.blog-card .thumb.c-impact{background:linear-gradient(140deg,#7A3CA0,#3C1E5A);}
.blog-card .thumb.c-ent{background:linear-gradient(140deg,var(--orange),#B84E08);}
.blog-card .thumb .soon{position:absolute;top:12px;right:12px;font-family:var(--ff-mono);font-size:9.5px;background:rgba(255,255,255,.18);color:#fff;padding:4px 9px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em;}
.blog-card .body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.blog-card .cat{font-family:var(--ff-mono);font-size:10.5px;color:var(--orange);text-transform:uppercase;letter-spacing:.06em;}
.blog-card h3{font-size:16.5px;line-height:1.35;color:var(--ink);}
.blog-card p{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);line-height:1.55;flex:1;}
.blog-card .meta{font-family:var(--ff-mono);font-size:10.5px;color:var(--text-mute-2);margin-top:6px;}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;margin-top:50px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px;}}
.form-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);padding:38px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:520px){.form-row{grid-template-columns:1fr;}}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--ff-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-mute);margin-bottom:8px;}
.field input, .field select, .field textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--paper-line);border-radius:10px;
  font-family:var(--ff-body);font-size:14.5px;color:var(--text-dark);background:var(--paper);
  transition:border-color .25s;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--orange);}
.field textarea{resize:vertical;min-height:120px;}
.form-note{font-family:var(--ff-body);font-size:12.5px;color:var(--text-mute-2);margin-top:14px;line-height:1.5;}
.form-success{display:none;background:#E8F3E9;border:1px solid #BFE0C3;border-radius:10px;padding:16px 18px;font-family:var(--ff-body);font-size:13.5px;color:#1E4A20;margin-bottom:18px;}
.form-success.show{display:block;}

.contact-card-dark{background:var(--ink);border-radius:var(--radius);padding:36px;color:#fff;}
.contact-card-dark .who{display:flex;gap:16px;align-items:center;margin-bottom:26px;}
.contact-card-dark .who img{width:58px;height:58px;border-radius:50%;object-fit:cover;}
.contact-card-dark .who b{font-family:var(--ff-display);font-size:16px;display:block;}
.contact-card-dark .who span{font-family:var(--ff-mono);font-size:10.5px;color:var(--orange-light);text-transform:uppercase;letter-spacing:.06em;}
.contact-line{display:flex;align-items:center;gap:16px;padding:15px 0;border-top:1px solid var(--line-dark);}
.contact-line svg{width:18px;height:18px;color:var(--orange-light);flex-shrink:0;}
.contact-line a, .contact-line span.val{font-family:var(--ff-mono);font-size:14px;color:#E7ECF5;}
.contact-line .lab{display:block;font-family:var(--ff-body);font-size:11.5px;color:#8FA3C2;margin-bottom:3px;}
.hours-row{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--paper-line);font-family:var(--ff-body);font-size:13.5px;}
.hours-row:first-child{border-top:none;}
.hours-row b{color:var(--ink);font-weight:600;}
.hours-row span{color:var(--text-mute);}
.map-card{border-radius:var(--radius);min-height:180px;background:var(--paper-dim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1.5px dashed var(--paper-line);}
.map-card svg{width:32px;height:32px;color:var(--orange);}
.map-card span{font-family:var(--ff-mono);font-size:12px;color:var(--text-mute);text-align:center;padding:0 20px;}
.info-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--radius);padding:26px;}
.info-card b{font-family:var(--ff-display);font-size:15px;color:var(--ink);display:block;margin-bottom:10px;}
.info-card p{font-family:var(--ff-body);font-size:13.5px;color:var(--text-mute);line-height:1.6;}
.social-row{display:flex;gap:10px;}
.social-row a{width:38px;height:38px;border-radius:50%;border:1px solid var(--paper-line);display:flex;align-items:center;justify-content:center;}
.social-row a svg{width:16px;height:16px;color:var(--text-mute);}
.social-row a:hover{border-color:var(--orange);}
.social-row.on-dark a{border-color:var(--line-dark);}
.social-row.on-dark a svg{color:#C3CDDE;}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:50px;}
.legal-nav a{font-family:var(--ff-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;background:var(--paper-dim);border-radius:100px;padding:9px 16px;color:var(--text-dark);}
.legal-nav a:hover{background:var(--orange);color:#fff;}
.legal-block{margin-bottom:56px;padding-top:6px;}
.legal-block h2{font-size:22px;color:var(--ink);margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--ink);}
.legal-block h3{font-family:var(--ff-display);font-size:15.5px;color:var(--ink);margin:22px 0 10px;}
.legal-block p, .legal-block li{font-family:var(--ff-body);font-size:14.5px;line-height:1.75;color:var(--text-mute);}
.legal-block ul{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.legal-block li{padding-left:18px;position:relative;}
.legal-block li::before{content:'—';position:absolute;left:0;color:var(--orange);}
.legal-dl{display:flex;flex-direction:column;gap:0;margin-top:18px;border-top:1px solid var(--paper-line);}
.legal-dl .row{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--paper-line);}
@media (max-width:560px){.legal-dl .row{grid-template-columns:1fr;gap:4px;}}
.legal-dl .row dt{font-family:var(--ff-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute-2);margin:0;}
.legal-dl .row dd{font-family:var(--ff-body);font-size:14.5px;color:var(--ink);margin:0;}
.todo-fill{color:var(--orange);font-style:italic;}

/* Cookie banner */
.cookie-banner{
  position:fixed;left:20px;right:20px;bottom:20px;z-index:90;max-width:560px;
  background:var(--ink);color:#fff;border-radius:16px;padding:22px 24px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.5);
  display:flex;flex-direction:column;gap:14px;
  transform:translateY(140%);transition:transform .5s var(--ease);
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{font-family:var(--ff-body);font-size:13.5px;line-height:1.6;color:#C3CDDE;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ============================================================
   SPLASH SCREEN — écran d'accueil animé (page Accueil uniquement)
   ============================================================ */
body.splash-lock{overflow:hidden;}
.splash-screen{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(ellipse at 50% 28%, rgba(47,111,228,.28), transparent 60%), var(--ink);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  cursor:pointer;
  transition:opacity .6s ease, visibility .6s;
}
.splash-screen.hide{opacity:0;visibility:hidden;pointer-events:none;}
.splash-inner{text-align:center;padding:0 24px;width:100%;}

.splash-phase{display:none;flex-direction:column;align-items:center;}
.splash-phase.active{display:flex;animation:splashFade .5s ease both;}
@keyframes splashFade{0%{opacity:0;transform:translateY(8px);}100%{opacity:1;transform:translateY(0);}}

.splash-logo{width:min(150px,40vw);margin:0 auto 30px;animation:splashPop 1s var(--ease) both;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4));}
@keyframes splashPop{0%{opacity:0;transform:scale(.55) translateY(24px);}100%{opacity:1;transform:scale(1) translateY(0);}}
.splash-messages{position:relative;height:34px;width:min(92vw,460px);margin:0 auto;}
.splash-msg{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:var(--ff-display);font-size:clamp(14px,2.6vw,18px);color:#fff;opacity:0;font-weight:500;
  transition:opacity .5s ease;letter-spacing:.01em;
}
.splash-msg.active{opacity:1;}

.splash-photo-frame{
  width:140px;height:140px;border-radius:50%;overflow:hidden;margin:0 auto 22px;
  border:3px solid rgba(255,255,255,.18);box-shadow:0 25px 55px -10px rgba(0,0,0,.55);
  animation:splashPop .7s var(--ease) both;
}
.splash-photo-frame img{width:100%;height:100%;object-fit:cover;}
.splash-founder-name{font-family:var(--ff-display);font-size:19px;color:#fff;font-weight:600;display:block;}
.splash-founder-role{font-family:var(--ff-mono);font-size:11px;color:var(--orange-light);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;display:block;}

.splash-skip{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#7488A6;margin-top:30px;display:block;}
@media (prefers-reduced-motion: reduce){.splash-screen{display:none !important;}}

/* ============================================================
   FOOTER
   ============================================================ */

.footer-cta{background:var(--navy);padding:50px 0;}
.footer-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.footer-cta-inner h3{color:#fff;font-size:clamp(20px,2.6vw,26px);}
.footer-cta-inner p{font-family:var(--ff-body);color:#B9C3D4;font-size:14.5px;margin-top:6px;}
footer{background:var(--ink);color:#fff;padding-top:70px;}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line-dark);}
@media (max-width:1080px){.footer-top{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:700px){.footer-top{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.footer-top{grid-template-columns:1fr;}}
.footer-about p{font-family:var(--ff-body);font-size:14px;color:#9AABC4;line-height:1.7;margin-top:18px;max-width:300px;}
.footer-col b{font-family:var(--ff-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8FA3C2;display:block;margin-bottom:18px;}
.footer-col ul{display:flex;flex-direction:column;gap:12px;}
.footer-col a{font-family:var(--ff-display);font-size:14px;color:#E7ECF5;}
.footer-col a:hover{color:var(--orange-light);}
.footer-col .fmail small{display:block;font-family:var(--ff-body);font-size:11px;color:#7488A6;margin-top:2px;}
.footer-bottom{padding:26px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.footer-bottom .legal{font-family:var(--ff-mono);font-size:11.5px;color:#7488A6;}
.footer-bottom .legal a{color:#7488A6;text-decoration:underline;}
.footer-flagline{display:flex;align-items:center;gap:10px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#7488A6;}

/* Formulaire Carrières — animation d'apparition des blocs */
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.ca-bloc{animation:none;}


/* ================================================================
   RESPONSIVE MOBILE — BLOC COMPLET 390px
   Couvre tous les éléments page par page
   ================================================================ */

/* ── BASE ── */
@media (max-width:480px){
  :root{ --header-h:66px; }
  
  /* Empêcher tout débordement horizontal */
  html, body { overflow-x:hidden; max-width:100vw; }
  * { max-width:100%; box-sizing:border-box; }
  img, video, svg { max-width:100%; height:auto; }
  
  /* Typographie fluide */
  h1 { font-size:clamp(26px,7vw,38px) !important; }
  h2 { font-size:clamp(22px,6vw,30px) !important; }
  h3 { font-size:clamp(18px,5vw,24px) !important; }
  
  /* Conteneurs */
  .wrap, .wrap-narrow { padding:0 16px !important; }
  .section { padding:52px 0 !important; }
  .section.tight { padding:40px 0 !important; }
}

/* ── HEADER / NAVIGATION ── */
@media (max-width:480px){
  .site-header .wrap { padding:0 16px; gap:10px; }
  .mark img { height:36px; width:auto; }
  .header-actions { gap:8px; }
  .btn-primary.btn-sm { padding:9px 14px; font-size:12px; }
  .burger { width:38px; height:38px; }
  
  .mobile-menu a { font-size:20px; padding:16px 0; }
}

/* ── SPLASH SCREEN ── */
@media (max-width:480px){
  .splash-logo { width:min(120px,35vw); }
  .splash-messages { height:30px; }
  .splash-msg { font-size:14px; }
  .splash-photo-frame { width:120px; height:120px; }
  .splash-founder-name { font-size:17px; }
  .splash-skip { font-size:10px; }
}

/* ── PAGE HERO ── */
@media (max-width:480px){
  .page-hero { padding:110px 0 56px; }
  .page-hero h1 { font-size:clamp(26px,7.5vw,38px); }
  .page-hero .lead { font-size:15px; }
  .breadcrumb { font-size:11px; }
  
  .hero-v2-grid { grid-template-columns:1fr !important; gap:32px; }
  .hero-text { text-align:center; }
  .hero-cta-trio { gap:10px; }
  .cta-card { padding:14px 16px; gap:12px; }
  .cta-card span:first-child { width:38px; height:38px; }
  .cta-card .ic { width:38px; height:38px; }
}

/* ── STAT BANNER ── */
@media (max-width:480px){
  .stat-banner { padding:36px 0; }
  .stat-banner-grid { grid-template-columns:1fr 1fr !important; }
  .stat-banner-cell { padding:20px 12px; }
  .stat-banner-num { font-size:28px; }
  .stat-banner-label { font-size:12px; }
}

/* ── MISSION CARDS (3 engagements) ── */
@media (max-width:480px){
  .mission-grid { grid-template-columns:1fr !important; gap:14px !important; }
  .mission-card { padding:20px 16px; }
  .mission-card b { font-size:14.5px; }
  .mission-card p { font-size:13px; }
}

/* ── QUICK GRID (secteurs 4 cards) ── */
@media (max-width:480px){
  .quick-grid { grid-template-columns:1fr !important; gap:12px; }
  .quick-card { padding:20px 16px; }
}

/* ── WHY GRIDS ── */
@media (max-width:480px){
  .why-grid { grid-template-columns:1fr !important; gap:16px; }
  .why-card { padding:20px 16px; }
  .why-grid4 { grid-template-columns:1fr !important; gap:14px; }
  .why-grid5 { grid-template-columns:1fr 1fr !important; gap:12px; }
  .why-card4, .why-card5 { padding:18px 14px; }
  .why-card4 b { font-size:13.5px; }
}

/* ── SECTION TITLES ── */
@media (max-width:480px){
  .section-title { font-size:clamp(22px,6vw,30px) !important; }
  .section-sub { font-size:14.5px; }
  .eyebrow { font-size:11px; letter-spacing:.1em; }
}

/* ── FEATURE ROW ── */
@media (max-width:480px){
  .feature-row, .feature-row.reverse { 
    grid-template-columns:1fr !important; gap:24px; 
  }
  .feature-row.reverse .feature-img { order:0 !important; }
  .feature-img { border-radius:14px; max-height:240px; overflow:hidden; }
  .feature-img img { height:240px; object-fit:cover; }
  .feature-detail h3 { font-size:20px; }
  .feature-detail p { font-size:14.5px; }
}

/* ── BLOG TEASER ── */
@media (max-width:480px){
  .blog-teaser-inner { grid-template-columns:1fr !important; text-align:center; gap:24px; }
  .blog-teaser-inner a { justify-self:center; }
}

/* ── BLOG GRID ── */
@media (max-width:480px){
  .blog-grid { grid-template-columns:1fr !important; gap:16px; }
  .blog-card { flex-direction:column; }
  .blog-card .thumb { width:100%; height:140px; border-radius:10px 10px 0 0; }
  .blog-card .body { padding:16px; }
  .blog-card h3 { font-size:15px; }
  .blog-card p { font-size:13.5px; }
}

/* ── CATEGORY GRID (blog) ── */
@media (max-width:480px){
  .category-grid { grid-template-columns:1fr 1fr !important; gap:10px; }
  .category-card { padding:14px; }
  .category-card b { font-size:13px; }
  .category-card p { font-size:12px; }
}

/* ── ARCHIVE ROWS ── */
@media (max-width:480px){
  .archive-row { flex-direction:column; gap:2px; padding:10px 0; }
}

/* ── SERVICES ── */
@media (max-width:480px){
  .service-detail { grid-template-columns:1fr !important; gap:16px; }
  .service-item { padding:20px 16px; }
  .service-icon { width:44px; height:44px; }
  
  .process-steps { grid-template-columns:1fr !important; gap:16px; }
  .process-step { padding:20px 16px; }
  
  .tech-table { overflow-x:auto; display:block; }
  .challenge-table { overflow-x:auto; display:block; }
  .challenge-table table { min-width:520px; }
}

/* ── SECTEURS ── */
@media (max-width:480px){
  .sector-body { grid-template-columns:1fr !important; gap:24px; }
  .sector-photos { grid-template-columns:1fr 1fr; gap:10px; }
  .sector-photos img { height:130px; object-fit:cover; border-radius:10px; }
  .sector-stats { grid-template-columns:1fr 1fr !important; gap:10px; }
  .sector-stat { padding:16px 12px; }
  .sector-stat b { font-size:22px; }
  .sector-stat span { font-size:11.5px; }
  
  .career-cols { grid-template-columns:1fr !important; gap:16px; }
  .career-col { padding:20px 16px; }
  .career-col b { font-size:15px; }
  
  .challenge-table table { font-size:13px; }
  .challenge-table th, .challenge-table td { padding:10px 10px; }
  
  .synergy-list { gap:14px; }
  .synergy-item { gap:14px; padding:18px 16px; }
  .synergy-item .n { font-size:16px; min-width:30px; }
  
  .timeline-grid { grid-template-columns:1fr !important; gap:14px; }
  .timeline-card { padding:22px 18px; }
  
  .channel-list { gap:0; }
  .channel-item { padding:14px 0; }
  
  .impact-list { gap:12px; }
  .impact-item p { font-size:14px; }
}

/* ── CARRIÈRES / ENGAGEMENT ── */
@media (max-width:480px){
  .offer-grid { grid-template-columns:1fr !important; gap:10px; }
  .offer-item { gap:12px; padding:14px 0; }
  
  .training-grid { grid-template-columns:1fr !important; gap:14px; }
  .training-grid-2col { grid-template-columns:1fr !important; gap:14px; }
  .training-card { padding:20px 16px; }
  .training-card b.tt2 { font-size:14px; }
  .training-card p { font-size:13px; }
  
  .program-grid { grid-template-columns:1fr !important; gap:14px; }
  .program-card { padding:20px 16px; }
  
  .culture-grid { grid-template-columns:1fr 1fr !important; gap:12px; }
  .culture-card { padding:18px 14px; }
  
  .testimonial-grid { grid-template-columns:1fr !important; gap:14px; }
  .testimonial-card { padding:22px 16px; }
  .testimonial-card p { font-size:14px; }
  
  .role-item { padding:14px 0; }
  .role-item b.rt { font-size:14px; }
  .role-item p { font-size:12.5px; }
  
  /* Formulaire dynamique Carrières */
  .ca-bloc { border-left:2px solid var(--orange); padding-left:14px; }
}

/* ── FORMULAIRES ── */
@media (max-width:480px){
  .form-card { padding:22px 16px; }
  .form-row { grid-template-columns:1fr !important; gap:0; }
  .field { margin-bottom:14px; }
  .field label { font-size:11px; }
  .field input, .field select, .field textarea { 
    font-size:15px !important; /* Empêche le zoom auto sur iOS */
    padding:12px 14px; 
  }
  .field textarea { min-height:100px; }
  .btn-block { padding:14px 20px; font-size:14px; }
  .form-note { font-size:12px; }
  
  .contact-grid { grid-template-columns:1fr !important; gap:24px; }
  .contact-card-dark { padding:24px 18px; }
  .contact-card-dark .who img { width:54px; height:54px; }
  .info-card { padding:20px 16px; }
  .hours-row { font-size:13.5px; }
  
  .map-card { min-height:200px; }
}

/* ── MENTIONS LÉGALES ── */
@media (max-width:480px){
  .legal-nav { flex-wrap:wrap; gap:8px; padding:14px 0; }
  .legal-nav a { font-size:12px; padding:6px 12px; }
  .legal-block { padding:24px 0; }
  .legal-block h2 { font-size:20px; }
  .legal-block h3 { font-size:16px; }
  .legal-dl { gap:0; }
  .legal-dl .row { 
    grid-template-columns:1fr !important; 
    gap:2px; padding:10px 0; 
  }
  .legal-dl dt { font-size:11px; }
  .legal-dl dd { font-size:14px; }
}

/* ── FOOTER ── */
@media (max-width:480px){
  .footer-top { grid-template-columns:1fr !important; gap:32px; }
  .footer-about p { font-size:13.5px; }
  .footer-col b { font-size:12.5px; }
  .footer-col li a { font-size:14px; }
  .footer-bottom { 
    flex-direction:column; 
    gap:10px; 
    text-align:center; 
    padding:20px 16px; 
    font-size:12px;
  }
  .footer-flagline { justify-content:center; }
  .social-row { gap:16px; margin-top:18px; }
  .social-row a svg { width:22px; height:22px; }
  .footer-cta .wrap { padding:32px 16px; flex-direction:column; gap:16px; text-align:center; }
  .footer-cta h3 { font-size:19px; }
}

/* ── CONTACT PAGE ── */
@media (max-width:480px){
  .contact-line { gap:10px; }
  .contact-line svg { width:18px; height:18px; flex-shrink:0; }
  .contact-line .lab { font-size:10.5px; }
  .contact-line a { font-size:14px; }
  .social-row.on-dark { gap:14px; }
}

/* ── À PROPOS ── */
@media (max-width:480px){
  .name-grid { grid-template-columns:1fr !important; gap:20px; }
  .values-row3 { grid-template-columns:1fr !important; gap:14px; }
  .founder-row { grid-template-columns:1fr !important; text-align:center; gap:20px; }
  .founder-photo-real { width:160px; height:200px; margin:0 auto; }
  .promise-grid { grid-template-columns:1fr !important; gap:24px; }
  .quote-pull { grid-template-columns:1fr !important; gap:16px; }
  
  .why-grid { grid-template-columns:1fr !important; gap:14px; }
  .why-grid5 { grid-template-columns:1fr 1fr !important; gap:10px; }
  .why-card h4 { font-size:14px; }
  .why-card p { font-size:13px; }
  .why-card4 b { font-size:13px; }
  .why-card4 p { font-size:12.5px; }
  .why-card4 svg { width:28px; height:28px; }
  
  /* Synergy list */
  .synergy-list { gap:14px; }
  
  /* Tableaux d'identité */
  .apply-band { padding:30px 20px; border-radius:14px; text-align:center; }
  .apply-band .btn { width:100%; justify-content:center; }
}

/* ── BOUTONS ── */
@media (max-width:480px){
  .btn { padding:12px 20px; font-size:14px; }
  .btn svg { width:16px; height:16px; }
  .ty-actions { flex-direction:column; align-items:center; gap:10px; }
  .ty-actions .btn { width:100%; max-width:280px; justify-content:center; }
}

/* ── LEGAL BLOCK ── */
@media (max-width:480px){
  .legal-block h3 { font-size:16px; margin-top:24px; }
  .legal-block p, .legal-block li { font-size:14px; line-height:1.7; }
  .legal-block table { display:block; overflow-x:auto; font-size:13px; }
}

/* ── PREVENT TABLE OVERFLOW ── */
@media (max-width:480px){
  table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .challenge-table, .tech-table { overflow-x:auto; }
}

/* ── GLOBAL LAST-RESORT CLAMP ── */
@media (max-width:480px){
  [class*="-grid"]:not(.stat-banner-grid):not(.form-row) {
    grid-template-columns:1fr !important;
  }
  /* Corriger les erreurs d'inline style restantes */
  [style*="grid-template-columns"] {
    grid-template-columns:1fr !important;
  }
}

/* ── SECTEURS — Correction débordement spécifique ── */
@media (max-width:900px){
  .sector-body > div:first-child { min-width:0; width:100%; }
  .sector-photo { min-height:200px !important; }
  .sector-photo img.real,
  .sector-photo > img { width:100% !important; height:200px !important; }
}
@media (max-width:480px){
  .sector-body { 
    display:flex !important; 
    flex-direction:column !important; 
    gap:24px !important; 
    width:100% !important;
  }
  .sector-body > div { width:100% !important; min-width:0 !important; }
  .sector-photo { 
    min-height:180px !important; 
    width:100% !important; 
    display:block !important;
    grid-template-columns:unset !important;
  }
  .sector-photo > img,
  .sector-photo img.real { 
    width:100% !important; 
    height:200px !important; 
    object-fit:cover; 
  }
  .sector-photo[style*="grid-template-columns"] {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    height:180px;
  }
  .sector-stats { 
    grid-template-columns:1fr 1fr !important;
    width:100%;
  }
  .sstat { padding:14px 10px; }
  .sstat .v { font-size:20px; }
  .career-cols[style] { 
    display:flex !important; 
    flex-direction:column !important; 
    width:100%;
  }
}
