
:root{--navy:#07182c;--blue:#0b72f6;--blue2:#5867ff;--ink:#0b1e39;--muted:#53677f;--line:#dfe8f2;--soft:#f8fbff;--shadow:0 12px 30px rgba(29,62,99,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
.container{width:calc(100% - 70px);max-width:1440px;margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border-radius:10px;background:linear-gradient(135deg,#0875ff,#5964ff);color:#fff!important;font-weight:800;font-size:12px}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.68)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.link{display:inline-block;color:#0870ef;font-size:11px;font-weight:800;margin-top:12px}.badge{display:inline-block;padding:5px 8px;border-radius:99px;background:#edf5ff;color:#0866d1;font-size:9px;font-weight:800;margin:3px 3px 0 0}
/* header: match approved comp */
header{height:55px;background:#fff;border-bottom:1px solid #eef2f6;position:sticky;top:0;z-index:40}.nav{height:55px;display:flex;align-items:center;gap:18px}.brand{font-size:25px;font-weight:900;letter-spacing:-.05em;white-space:nowrap}.brand span{color:var(--blue)}.brand small{display:block;font-size:5px;letter-spacing:.09em;color:#7b8898}.menu{display:flex;align-items:center;gap:17px;margin-left:auto}.menu a{font-size:9px;font-weight:700;color:#253951}.menu a.active{color:#0b6ff0;border-bottom:2px solid #0b6ff0;padding-bottom:11px}.menu-btn{display:none;margin-left:auto;border:0;background:none;font-size:24px}
/* hero */
.hero{height:350px;background:var(--navy);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:45.5% 54.5%;height:100%}.hero-copy{padding:30px 30px 24px 0;display:flex;flex-direction:column;justify-content:center}.kicker{font-size:8px;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:#bed2e7}.hero h1{font-size:29px;line-height:1.02;letter-spacing:-.045em;margin:10px 0 13px;max-width:500px}.hero h1 span{color:#2285f7}.hero .lead{font-size:11.5px;line-height:1.55;color:#d2dce8;max-width:470px;margin:0}.actions{display:flex;gap:14px;margin-top:15px}.hero-points{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.hero-point{display:flex;gap:6px;align-items:flex-start;font-size:7.5px;line-height:1.25;color:#e2eaf3}.hero-point i{font-style:normal;width:26px;height:26px;border:1px solid #2b5b89;border-radius:50%;display:grid;place-items:center;color:#64c8ff;flex:0 0 26px}.hero-visual{height:350px;position:relative;overflow:hidden;background:#0b2947}
.hero-office-bg{position:absolute;inset:0;background:
radial-gradient(circle at 17% 55%,#315a63 0 8%,transparent 9%),
linear-gradient(90deg,rgba(255,255,255,.05) 0 13%,transparent 13% 17%,rgba(255,255,255,.04) 17% 32%,transparent 32% 38%,rgba(255,255,255,.035) 38% 53%,transparent 53%),
linear-gradient(135deg,#173b5c,#0b2947 58%,#071b31)}
.hero-handwrite{position:absolute;top:22px;left:34%;transform:translateX(-22%) rotate(-3deg);color:#66ccff;font-size:20px;line-height:1.15;font-weight:800;text-align:center;white-space:nowrap}
.hero-checks{position:absolute;right:22px;top:60px;width:178px;padding:13px 15px;border-radius:13px;border:1px solid #2a638f;background:rgba(6,31,56,.9);display:flex;flex-direction:column;gap:9px;color:#fff;font-size:10px}
.hero-laptop{position:absolute;left:145px;bottom:24px;width:360px;height:205px}
.hero-screen{height:183px;border:4px solid #183d5c;border-radius:14px;background:#061727;padding:22px 25px;box-shadow:0 16px 35px rgba(0,0,0,.28)}
.hero-apps{display:flex;align-items:center;justify-content:center;gap:25px;height:68px}
.hero-apps img{width:54px;height:54px;object-fit:contain}
.hero-m365{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:18px}
.hero-m365 img{width:48px;height:48px;object-fit:contain}
.hero-m365 strong{display:block;font-size:15px;color:#fff}.hero-m365 small{display:block;font-size:9px;color:#bed3e6;margin-top:3px}
.hero-laptop-base{width:425px;height:14px;margin-left:-13px;background:#1d3850;border-radius:0 0 12px 12px;box-shadow:inset 0 3px 0 rgba(255,255,255,.05)}
.hero-mug{position:absolute;right:128px;bottom:15px;width:68px;height:66px;border-radius:8px 8px 13px 13px;background:#071b30;color:#55aee2;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
/* stats */
.stats{height:87px;border-bottom:1px solid var(--line);background:#fff}.stats-grid{height:100%;display:grid;grid-template-columns:repeat(4,1fr)}.stat{display:flex;gap:12px;align-items:center;padding:12px 18px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat img{width:38px;height:43px;object-fit:contain}.stat strong{display:block;color:#0b70f1;font-size:18px;line-height:1}.stat span{display:block;margin-top:4px;color:#51637a;font-size:9px;line-height:1.25}
/* sections */
.section{padding:0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:11px}.section-head h2{font-size:21px;white-space:nowrap;line-height:1.06;letter-spacing:-.03em;margin:0}.section-head>a{font-size:8px;color:#0a6ef0;font-weight:800}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{height:164px;padding:12px 16px}.service img{width:32px;height:32px;object-fit:contain}.service h3{font-size:13px;margin:7px 0 5px}.service ul{padding-left:15px;margin:0;color:#52667e;font-size:8.7px;line-height:1.45}
#services{height:226px;padding-top:14px;padding-bottom:12px;overflow:hidden}
#realisations{height:301px;padding-top:10px;padding-bottom:13px;background:#fbfdff;overflow:hidden}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{overflow:hidden}.project-img{height:87px;overflow:hidden;background:#eaf2f8}.project-img img{width:100%;height:100%;object-fit:cover}.project-body{padding:10px 12px;height:159px}.project h3{font-size:13px;margin:0 0 4px}.project p{font-size:8.8px;line-height:1.4;color:#53677e;margin:0}
/* references */
.refs{height:109px;padding:13px 0 12px;overflow:hidden;border-top:1px solid #f0f3f7;border-bottom:1px solid #eef2f6;background:#fff}.refs h2{text-align:center;font-size:17px;margin:0 0 4px}.refs p{text-align:center;color:#68798a;font-size:7.5px;margin:0 auto;max-width:700px}.refs-list{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:18px;margin-top:9px}.logo-card{height:32px;display:flex;align-items:center;justify-content:center}.logo-card img{max-height:36px;max-width:100%;object-fit:contain}
/* about */
.about-section{height:252px;padding:11px 0 10px;overflow:hidden}.about{display:grid;grid-template-columns:275px 1fr 285px;gap:23px;align-items:stretch}.portrait{position:relative;height:200px;overflow:hidden;border-radius:7px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center}.scribble{display:block;position:absolute;right:15px;top:23px;color:#72d2ff;font-size:17px;line-height:1.25;font-weight:700;transform:rotate(-5deg);text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.08)}.portrait-caption{position:absolute;left:0;right:0;bottom:0;padding:7px 8px;background:rgba(255,255,255,.94);color:#0f213b}.portrait-caption b{display:block;font-size:10px}.portrait-caption span{font-size:7px}.about-copy{padding:4px 0}.about-copy .kicker{color:#0a70ef}.about-copy h2{font-size:23px;line-height:1.03;letter-spacing:-.035em;margin:6px 0 8px}.about-copy p{font-size:9.6px;line-height:1.55;color:#53677e;margin:0 0 8px}.about-copy .btn{padding:11px 19px}.values{display:grid;gap:6px}.value{padding:8px 10px;border:1px solid var(--line);border-radius:10px}.value b{display:block;font-size:10px}.value p{font-size:7px;color:#68798a;margin:2px 0 0}
/* contact */
.contact{height:82px;padding:14px 0;background:#f8fbff;border-top:1px solid var(--line)}.contact-grid{height:100%;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.contact-title{display:flex;align-items:center;gap:14px}.contact-icon{width:40px;height:40px;border-radius:50%;background:#eaf4ff;display:grid;place-items:center;color:#0a6ff0;font-size:18px}.contact h3{font-size:18px;margin:0 0 3px}.contact small{font-size:8px;color:#69798a}.contact-right{display:flex;align-items:center;gap:15px}.contact-info{display:flex;gap:11px;font-size:7.5px;color:#526378;white-space:nowrap}
/* footer */
footer{height:73px;padding:10px 0;background:#fff;border-top:1px solid var(--line)}.footer-grid{height:100%;display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center}.footer-grid .brand{font-size:20px}.footnav{display:flex;justify-content:center;gap:12px;font-size:6.5px;color:#56677b}.copy{text-align:right;font-size:6.5px;color:#778798}
/* inner pages */
.inner-hero{padding:70px 0;background:linear-gradient(120deg,#07182c,#0a2b4f);color:#fff}.inner-hero h1{font-size:46px;margin:9px 0 12px}.inner-hero p{max-width:800px;color:#c3d1df;line-height:1.7}.content{max-width:900px}.content h2{font-size:29px}.content p{color:#596b7f;line-height:1.7}
@media(max-width:980px){.menu{display:none}.menu-btn{display:block}.nav>.btn{display:none}.menu.open{display:flex;position:absolute;top:55px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:flex-start}.hero{height:auto}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-right:0}.hero-visual{height:340px}.grid4{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr}.stats{height:auto}.stats-grid{grid-template-columns:1fr 1fr}.refs-list{grid-template-columns:repeat(3,1fr)}.about{grid-template-columns:1fr}.portrait{width:275px}.contact{height:auto}.contact-grid,.footer-grid{grid-template-columns:1fr}.contact-right{align-items:flex-start;flex-direction:column}.footnav{justify-content:flex-start}.copy{text-align:left}}
@media(max-width:620px){.container{width:calc(100% - 30px)}.hero h1{font-size:37px}.hero-points,.grid4,.stats-grid{grid-template-columns:1fr}.hero-visual{height:280px}.refs-list{grid-template-columns:repeat(2,1fr)}}

.logo-card img[src$='logo-garance.svg']{max-height:31px;width:auto;max-width:130px}

.service-logo{width:34px;height:34px;object-fit:contain;margin-bottom:8px}
.project-img{position:relative}
.project-img .project-bg{width:100%;height:100%;object-fit:cover}
.project-label{position:absolute;left:10px;top:9px;background:#fff;color:#0869df;font-size:8px;font-weight:800;border-radius:999px;padding:5px 8px;box-shadow:0 3px 10px rgba(0,0,0,.08)}
.project-logo{position:absolute;right:10px;top:8px;max-width:112px;max-height:30px;width:auto;height:auto;object-fit:contain;background:rgba(255,255,255,.94);border-radius:7px;padding:3px 5px}
.logo-card img{max-height:34px;max-width:130px;width:auto;height:auto;object-fit:contain}
.logo-card img[alt="ANRU"]{max-height:42px}
.logo-card img[alt="Action Logement"]{max-width:135px}
.logo-card img[alt="Garance"]{max-width:118px}

/* V12.4 — HD project photos + normalized client logos */
.project-img{
  height:88px;
  overflow:hidden;
  position:relative;
  background:#e8f1f8;
}
.project-img .project-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
  image-rendering:auto;
}
.project-logo{
  right:10px;
  top:8px;
  height:32px;
  max-height:32px;
  width:auto;
  max-width:138px;
  object-fit:contain;
  background:rgba(255,255,255,.96);
  border-radius:8px;
  padding:4px 7px;
}
.project-logo.logo-anru{
  height:36px;
  max-height:36px;
  max-width:124px;
}
.project-logo.logo-action{
  height:31px;
  max-height:31px;
  max-width:145px;
}
.refs-list{
  align-items:center;
}
.logo-card{
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.logo-card img{
  display:block;
  width:auto;
  height:auto;
  object-fit:contain;
}
.logo-card-anru img{
  max-height:44px;
  max-width:145px;
}
.logo-card-action img{
  max-height:37px;
  max-width:165px;
}
.logo-card-garance img{
  max-height:34px;
  max-width:132px;
}
.logo-card img[alt="Natixis"]{
  max-height:31px;
  max-width:145px;
}
.logo-card img[alt="Sopra Steria"]{
  max-height:29px;
  max-width:150px;
}
.logo-card img[alt="BNP Paribas"]{
  max-height:31px;
  max-width:150px;
}

/* V12.5 — project photo composition + Action Logement/ANRU logo cropping */
.project-img{
  height:112px !important;
}
.project-img .project-bg{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  image-rendering:auto;
}

/* Project Action Logement logo: crop away the huge white margins from the square PNG. */
.project-logo-crop{
  position:absolute;
  right:10px;
  top:8px;
  display:block;
  width:148px;
  height:34px;
  overflow:hidden;
  border-radius:8px;
  background:rgba(255,255,255,.97);
}
.project-logo-crop img{
  width:148px;
  height:148px;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  transform:translateY(-57px);
}

/* Reference strip: visually normalize padded source logos. */
.ref-logo-crop{
  display:block;
  position:relative;
  overflow:hidden;
  background:#fff;
}
.action-ref-crop{
  width:170px;
  height:39px;
}
.action-ref-crop img{
  width:170px;
  height:170px;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  transform:translateY(-65px);
}
.anru-ref-crop{
  width:118px;
  height:42px;
}
.anru-ref-crop img{
  width:118px;
  height:118px;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
  transform:translateY(-38px);
}

.logo-card-action,
.logo-card-anru{
  overflow:visible;
}

/* V12.6 — clean client logos + aligned hero benefits */
.hero-points{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin-top:18px !important;
  align-items:center !important;
}
.hero-point{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:34px !important;
  font-size:8.6px !important;
  line-height:1.25 !important;
  color:#eef4fb !important;
}
.hero-point i{
  width:29px !important;
  height:29px !important;
  flex:0 0 29px !important;
  font-size:10px !important;
}
.hero-point span{
  display:block;
  max-width:112px;
}

/* Normalize logos in project cards */
.project-logo.logo-anru{
  width:108px !important;
  height:34px !important;
  max-width:108px !important;
  max-height:34px !important;
  padding:3px 6px !important;
  object-fit:contain !important;
}
.project-logo.logo-action{
  width:132px !important;
  height:31px !important;
  max-width:132px !important;
  max-height:31px !important;
  padding:3px 6px !important;
  object-fit:contain !important;
}

/* Reference strip: six equal cells, all logos centered, no overflow */
.refs{
  height:112px !important;
  overflow:hidden !important;
}
.refs-list{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:center !important;
  margin-top:10px !important;
}
.logo-card{
  height:38px !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.logo-card img{
  display:block !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  margin:auto !important;
}
.logo-card-anru img{
  max-width:112px !important;
  max-height:38px !important;
}
.logo-card-action img{
  max-width:142px !important;
  max-height:33px !important;
}
.logo-card-garance img{
  max-width:116px !important;
  max-height:31px !important;
}
.logo-card img[alt="Natixis"]{
  max-width:132px !important;
  max-height:29px !important;
}
.logo-card img[alt="Sopra Steria"]{
  max-width:136px !important;
  max-height:28px !important;
}
.logo-card img[alt="BNP Paribas"]{
  max-width:140px !important;
  max-height:30px !important;
}

/* Disable legacy crop boxes from V12.5 */
.ref-logo-crop,
.project-logo-crop{
  display:contents !important;
}
.action-ref-crop img,
.anru-ref-crop img,
.project-logo-crop img{
  transform:none !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
}

/* V12.7 — official ANRU logo supplied by the user */
.project-logo.logo-anru{
  width:118px !important;
  height:auto !important;
  max-width:118px !important;
  max-height:44px !important;
  object-fit:contain !important;
  padding:3px 6px !important;
}
.logo-card-anru img{
  width:auto !important;
  height:auto !important;
  max-width:122px !important;
  max-height:46px !important;
  object-fit:contain !important;
}

/* =========================
   V13 — rich internal pages
   ========================= */
body.inner-page header{
  position:relative !important;
  top:auto !important;
}
body.inner-page .menu a.active{
  color:#0b6ff0;
  border-bottom:2px solid #0b6ff0;
  padding-bottom:11px;
}
.inner-hero-v13{
  background:
    radial-gradient(circle at 80% 20%,rgba(27,116,224,.20),transparent 30%),
    linear-gradient(120deg,#07182c,#0a2b4f);
  color:#fff;
  padding:64px 0 58px;
}
.inner-hero-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:44px;
  align-items:center;
}
.inner-hero-v13 h1{
  font-size:48px;
  line-height:1.02;
  letter-spacing:-.045em;
  margin:10px 0 14px;
  max-width:820px;
}
.inner-hero-v13 .lead{
  max-width:760px;
  color:#c4d2e0;
  font-size:15px;
  line-height:1.65;
}
.inner-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.inner-hero-tags span{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(112,183,239,.28);
  background:rgba(9,45,79,.55);
  color:#d9ebfa;
  font-size:10px;
  font-weight:700;
}
.inner-side-card{
  border:1px solid rgba(122,184,235,.24);
  border-radius:18px;
  background:rgba(5,31,56,.72);
  padding:22px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.inner-side-card h3{
  font-size:18px;
  margin:0 0 13px;
}
.inner-side-list{
  display:grid;
  gap:10px;
}
.inner-side-item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:#d7e7f4;
  font-size:11px;
  line-height:1.45;
}
.inner-side-item i{
  width:25px;height:25px;flex:0 0 25px;
  border-radius:50%;
  display:grid;place-items:center;
  font-style:normal;
  color:#68ceff;
  background:#0b3158;
  border:1px solid #2f6795;
}
.inner-main{
  padding:52px 0 60px;
}
.inner-intro{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:36px;
  align-items:start;
  margin-bottom:42px;
}
.inner-intro h2,
.inner-section-head h2{
  font-size:31px;
  line-height:1.08;
  letter-spacing:-.03em;
  margin:0 0 11px;
}
.inner-intro p,
.inner-copy,
.inner-section-head p{
  color:#5c6d80;
  font-size:13px;
  line-height:1.72;
}
.inner-note{
  padding:20px;
  background:#f5f9ff;
  border:1px solid #dfeaf7;
  border-radius:14px;
}
.inner-note b{
  display:block;
  font-size:14px;
  margin-bottom:7px;
}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.feature-card{
  padding:22px;
  min-height:205px;
}
.feature-icon{
  width:42px;height:42px;
  border-radius:12px;
  display:grid;place-items:center;
  background:#edf5ff;
  color:#0870ef;
  font-weight:900;
  margin-bottom:11px;
}
.feature-card h3{
  font-size:16px;
  margin:0 0 8px;
}
.feature-card p{
  font-size:11px;
  line-height:1.62;
  color:#5d6f83;
  margin:0;
}
.inner-band{
  margin-top:46px;
  padding:44px 0;
  background:#f8fbff;
  border-top:1px solid #e8eef5;
  border-bottom:1px solid #e8eef5;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:22px;
}
.process-step{
  padding:18px;
  border:1px solid #dfe7f1;
  border-radius:13px;
  background:#fff;
}
.process-step .num{
  font-size:11px;
  font-weight:900;
  color:#0a6fee;
  margin-bottom:7px;
}
.process-step h3{
  font-size:14px;
  margin:0 0 6px;
}
.process-step p{
  margin:0;
  font-size:10px;
  line-height:1.55;
  color:#657589;
}
.tech-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.tech-strip span{
  padding:7px 10px;
  border-radius:999px;
  background:#edf5ff;
  color:#0a63ca;
  font-size:10px;
  font-weight:750;
}
.usecase-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:17px;
  margin-top:22px;
}
.usecase{
  padding:20px;
  border-left:4px solid #0a70ef;
}
.usecase h3{
  font-size:15px;
  margin:0 0 7px;
}
.usecase p{
  margin:0;
  font-size:11px;
  line-height:1.62;
  color:#5e6f82;
}
.faq{
  margin-top:44px;
}
.faq details{
  border-top:1px solid #e2e9f1;
  padding:14px 0;
}
.faq details:last-child{
  border-bottom:1px solid #e2e9f1;
}
.faq summary{
  cursor:pointer;
  font-size:13px;
  font-weight:800;
}
.faq p{
  color:#607184;
  font-size:11px;
  line-height:1.65;
  margin:9px 0 0;
}
.inner-cta{
  margin-top:48px;
  border-radius:18px;
  padding:28px 30px;
  background:linear-gradient(135deg,#0872f6,#5d65ff);
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  gap:25px;
  align-items:center;
}
.inner-cta h2{
  margin:0 0 5px;
  font-size:25px;
}
.inner-cta p{
  margin:0;
  color:#e8efff;
  font-size:11px;
}
.inner-cta .btn{
  background:#fff;
  color:#0b5cc8 !important;
}
.seo-links{
  margin-top:32px;
  font-size:10px;
  color:#6b7b8c;
}
.seo-links a{
  color:#0a6be4;
  font-weight:700;
  margin-right:12px;
}
.about-profile{
  display:grid;
  grid-template-columns:310px 1fr;
  gap:34px;
  align-items:start;
}
.about-profile .portrait{
  height:370px;
}
.about-highlights{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:15px;
  margin-top:20px;
}
.about-highlight{
  padding:17px;
  border:1px solid #dfe7f1;
  border-radius:13px;
  background:#fff;
}
.about-highlight b{
  display:block;
  font-size:13px;
  margin-bottom:5px;
}
.about-highlight span{
  font-size:10px;
  line-height:1.55;
  color:#68798b;
}
@media(max-width:980px){
  .inner-hero-grid,.inner-intro,.about-profile{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr 1fr}
  .process-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .inner-hero-v13 h1{font-size:38px}
  .feature-grid,.process-grid,.usecase-grid,.about-highlights{grid-template-columns:1fr}
  .inner-cta{grid-template-columns:1fr}
}


/* =========================================================
   V13.1 — responsive mobile/tablet overhaul
   Desktop rules above are intentionally left unchanged.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}

@media(max-width:900px){
  .container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  /* Header / mobile menu */
  header,
  body.inner-page header{
    height:64px !important;
    position:relative !important;
    top:auto !important;
  }
  .nav{
    height:64px !important;
    gap:12px !important;
  }
  .brand{
    font-size:23px !important;
  }
  .brand small{
    font-size:5px !important;
  }
  .menu-btn{
    display:block !important;
    margin-left:auto !important;
    font-size:25px !important;
    line-height:1;
    padding:7px 9px;
    border-radius:8px;
    color:#0b1e39;
  }
  .nav>.btn{
    display:none !important;
  }
  .menu{
    display:none !important;
  }
  .menu.open{
    display:flex !important;
    position:absolute !important;
    z-index:80 !important;
    left:0 !important;
    right:0 !important;
    top:64px !important;
    margin:0 !important;
    padding:14px 16px 18px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    background:#fff !important;
    border-top:1px solid #edf1f6;
    border-bottom:1px solid #dfe7f1;
    box-shadow:0 18px 40px rgba(17,44,76,.16);
  }
  .menu.open a{
    display:block;
    width:100%;
    padding:12px 6px !important;
    font-size:13px !important;
    border-bottom:1px solid #eef2f6 !important;
    color:#263a53 !important;
  }
  .menu.open a.active{
    color:#0870ef !important;
    border-left:3px solid #0870ef !important;
    padding-left:10px !important;
  }

  /* Home hero */
  .hero{
    height:auto !important;
    overflow:visible !important;
  }
  .hero-grid{
    height:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .hero-copy{
    padding:32px 0 27px !important;
  }
  .kicker{
    font-size:8px !important;
    line-height:1.45;
  }
  .hero h1{
    max-width:none !important;
    font-size:39px !important;
    line-height:1.02 !important;
    margin:11px 0 14px !important;
  }
  .hero .lead{
    max-width:none !important;
    font-size:13.5px !important;
    line-height:1.58 !important;
  }
  .actions{
    margin-top:19px !important;
    gap:10px !important;
  }
  .actions .btn{
    padding:12px 16px !important;
    font-size:11px !important;
  }
  .hero-points{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:13px 10px !important;
    margin-top:22px !important;
  }
  .hero-point{
    min-height:auto !important;
    font-size:9px !important;
    line-height:1.3 !important;
  }
  .hero-point i{
    width:28px !important;
    height:28px !important;
    flex:0 0 28px !important;
  }
  .hero-point span{
    max-width:none !important;
  }

  /* Hero visual rebuilt for small screens */
  .hero-visual{
    height:315px !important;
    width:100% !important;
    border-top:1px solid rgba(255,255,255,.06);
  }
  .hero-handwrite{
    top:16px !important;
    left:48% !important;
    transform:translateX(-50%) rotate(-3deg) !important;
    font-size:15px !important;
    line-height:1.14 !important;
    white-space:nowrap !important;
  }
  .hero-checks{
    right:12px !important;
    top:73px !important;
    width:151px !important;
    padding:10px 11px !important;
    gap:6px !important;
    font-size:8px !important;
  }
  .hero-laptop{
    left:18px !important;
    bottom:24px !important;
    width:250px !important;
    height:150px !important;
  }
  .hero-screen{
    height:137px !important;
    padding:16px 13px !important;
    border-width:3px !important;
  }
  .hero-apps{
    gap:15px !important;
    height:48px !important;
  }
  .hero-apps img{
    width:39px !important;
    height:39px !important;
  }
  .hero-m365{
    gap:9px !important;
    margin-top:13px !important;
  }
  .hero-m365 img{
    width:34px !important;
    height:34px !important;
  }
  .hero-m365 strong{
    font-size:11px !important;
  }
  .hero-m365 small{
    font-size:7px !important;
  }
  .hero-laptop-base{
    width:280px !important;
    margin-left:-15px !important;
    height:10px !important;
  }
  .hero-mug{
    right:40px !important;
    bottom:10px !important;
    width:54px !important;
    height:52px !important;
    font-size:9px !important;
  }

  /* Stats */
  .stats{
    height:auto !important;
  }
  .stats-grid{
    height:auto !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .stat{
    min-height:102px !important;
    padding:15px 13px !important;
    border-bottom:1px solid var(--line);
  }
  .stat:nth-child(2){
    border-right:0 !important;
  }
  .stat img{
    width:34px !important;
    height:38px !important;
  }
  .stat strong{
    font-size:17px !important;
  }
  .stat span{
    font-size:9px !important;
  }

  /* Home sections: eliminate fixed heights/overflow */
  #services,
  #realisations,
  .refs,
  .about-section,
  .contact,
  footer{
    height:auto !important;
    overflow:visible !important;
  }
  #services{
    padding:28px 0 30px !important;
  }
  #realisations{
    padding:28px 0 30px !important;
  }
  .section-head{
    align-items:flex-start !important;
    gap:8px !important;
    margin-bottom:17px !important;
  }
  .section-head h2{
    white-space:normal !important;
    font-size:24px !important;
    line-height:1.08 !important;
  }
  .section-head>a{
    font-size:9px !important;
    white-space:nowrap;
  }
  .grid4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:13px !important;
  }
  .service{
    height:auto !important;
    min-height:195px !important;
    padding:16px !important;
  }
  .service img,
  .service-logo{
    width:38px !important;
    height:38px !important;
  }
  .service h3{
    font-size:15px !important;
  }
  .service ul{
    font-size:10px !important;
    line-height:1.55 !important;
  }
  .link{
    font-size:10px !important;
  }

  /* Projects */
  .grid3{
    grid-template-columns:1fr !important;
    gap:15px !important;
  }
  .project{
    border-radius:14px !important;
  }
  .project-img{
    height:165px !important;
  }
  .project-body{
    height:auto !important;
    padding:14px 15px 17px !important;
  }
  .project h3{
    font-size:16px !important;
    margin-bottom:7px !important;
  }
  .project p{
    font-size:10.5px !important;
    line-height:1.55 !important;
  }
  .project-label{
    font-size:8px !important;
  }
  .project-logo{
    top:10px !important;
    right:10px !important;
    max-height:38px !important;
  }

  /* Reference logos */
  .refs{
    padding:25px 0 !important;
  }
  .refs h2{
    font-size:21px !important;
  }
  .refs p{
    max-width:92% !important;
    font-size:8.5px !important;
    line-height:1.45;
  }
  .refs-list{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px 8px !important;
    margin-top:18px !important;
  }
  .logo-card{
    height:44px !important;
    padding:4px !important;
  }
  .logo-card img{
    max-width:100% !important;
    max-height:37px !important;
  }

  /* About */
  .about-section{
    padding:30px 0 !important;
  }
  .about{
    grid-template-columns:1fr !important;
    gap:19px !important;
  }
  .portrait{
    width:min(100%,360px) !important;
    height:265px !important;
    margin:0 auto !important;
  }
  .scribble{
    font-size:15px !important;
  }
  .portrait-caption b{
    font-size:12px !important;
  }
  .portrait-caption span{
    font-size:8px !important;
  }
  .about-copy{
    padding:0 !important;
  }
  .about-copy h2{
    font-size:27px !important;
    line-height:1.05 !important;
  }
  .about-copy p{
    font-size:11px !important;
    line-height:1.62 !important;
  }
  .values{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .value{
    padding:12px !important;
  }
  .value b{
    font-size:11px !important;
  }
  .value p{
    font-size:8.5px !important;
    line-height:1.45;
  }

  /* Contact/footer */
  .contact{
    padding:24px 0 !important;
  }
  .contact-grid{
    height:auto !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .contact h3{
    font-size:21px !important;
  }
  .contact small{
    font-size:9px !important;
  }
  .contact-right{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:12px !important;
  }
  .contact-right>.btn{
    width:100% !important;
  }
  .contact-info{
    white-space:normal !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    font-size:9px !important;
  }
  footer{
    padding:23px 0 !important;
  }
  .footer-grid{
    height:auto !important;
    grid-template-columns:1fr !important;
    gap:17px !important;
  }
  .footnav{
    justify-content:flex-start !important;
    gap:10px 14px !important;
    flex-wrap:wrap !important;
    font-size:8px !important;
  }
  .copy{
    text-align:left !important;
    font-size:8px !important;
  }

  /* V13 inner pages */
  .inner-hero-v13{
    padding:38px 0 34px !important;
  }
  .inner-hero-grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .inner-hero-v13 h1{
    font-size:36px !important;
    line-height:1.04 !important;
    margin:9px 0 12px !important;
  }
  .inner-hero-v13 .lead{
    font-size:13px !important;
  }
  .inner-hero-tags{
    gap:6px !important;
    margin-top:16px !important;
  }
  .inner-hero-tags span{
    font-size:9px !important;
    padding:6px 8px !important;
  }
  .inner-side-card{
    padding:17px !important;
    border-radius:14px !important;
  }
  .inner-side-card h3{
    font-size:16px !important;
  }
  .inner-side-item{
    font-size:10px !important;
  }
  .inner-main{
    padding:34px 0 45px !important;
  }
  .inner-intro{
    grid-template-columns:1fr !important;
    gap:16px !important;
    margin-bottom:31px !important;
  }
  .inner-intro h2,
  .inner-section-head h2{
    font-size:25px !important;
  }
  .inner-intro p,
  .inner-copy,
  .inner-section-head p{
    font-size:11px !important;
  }
  .feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .feature-card{
    min-height:0 !important;
    padding:16px !important;
  }
  .feature-card h3{
    font-size:14px !important;
  }
  .feature-card p{
    font-size:10px !important;
  }
  .inner-band{
    margin-top:34px !important;
    padding:31px 0 !important;
  }
  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:11px !important;
  }
  .process-step{
    padding:15px !important;
  }
  .usecase-grid{
    grid-template-columns:1fr !important;
  }
  .faq{
    margin-top:35px !important;
  }
  .inner-cta{
    grid-template-columns:1fr !important;
    margin-top:35px !important;
    padding:22px !important;
  }
  .inner-cta .btn{
    width:100% !important;
  }
  .about-profile{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .about-profile .portrait{
    width:min(100%,350px) !important;
    height:340px !important;
  }
  .about-highlights{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
}

@media(max-width:520px){
  .container{
    width:calc(100% - 24px) !important;
  }
  .hero h1{
    font-size:34px !important;
  }
  .actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .actions .btn{
    width:100% !important;
  }
  .hero-points{
    grid-template-columns:1fr 1fr !important;
  }
  .hero-visual{
    height:290px !important;
  }
  .hero-handwrite{
    font-size:13px !important;
    top:13px !important;
  }
  .hero-checks{
    width:137px !important;
    font-size:7.5px !important;
    right:8px !important;
    top:63px !important;
  }
  .hero-laptop{
    left:10px !important;
    width:224px !important;
    bottom:24px !important;
  }
  .hero-screen{
    height:126px !important;
  }
  .hero-laptop-base{
    width:250px !important;
  }
  .hero-mug{
    right:25px !important;
  }

  .stats-grid{
    grid-template-columns:1fr !important;
  }
  .stat{
    min-height:78px !important;
    border-right:0 !important;
  }

  .section-head{
    flex-direction:column !important;
  }
  .grid4{
    grid-template-columns:1fr !important;
  }
  .service{
    min-height:0 !important;
  }

  .refs-list{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .values{
    grid-template-columns:1fr !important;
  }

  .inner-hero-v13 h1{
    font-size:32px !important;
  }
  .feature-grid,
  .process-grid,
  .about-highlights{
    grid-template-columns:1fr !important;
  }
  .seo-links a{
    display:inline-block;
    margin:4px 10px 4px 0 !important;
  }
}

/* =========================================================
   V14 — bilingual FR / EN language switch
   ========================================================= */
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin-left:2px;
  border:1px solid #dfe7f1;
  background:#f7faff;
  border-radius:999px;
  padding:3px;
  flex:0 0 auto;
}
.lang-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:31px;
  height:27px;
  padding:0 8px;
  border-radius:999px;
  font-size:9px;
  line-height:1;
  font-weight:800;
  color:#617083;
}
.lang-switch a.active{
  color:#fff;
  background:#0b72f4;
  box-shadow:0 4px 10px rgba(11,114,244,.18);
}
.lang-switch .divider{display:none}

@media(max-width:900px){
  .lang-switch{
    order:2;
    margin-left:auto;
  }
  .menu-btn{
    order:3;
    margin-left:0 !important;
  }
  .nav>.brand{order:1}
  .nav>.menu{order:4}
}
@media(max-width:420px){
  .lang-switch a{
    min-width:28px;
    height:26px;
    padding:0 6px;
    font-size:8px;
  }
}


/* =========================================================
   V15 — AI deployment offers: Cloud / Private / Hybrid
   ========================================================= */
.ai-deployment-section{
  padding:54px 0 12px;
}
.ai-deployment-head{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  align-items:end;
  gap:38px;
  margin-bottom:24px;
}
.ai-deployment-head .kicker{
  margin-bottom:8px;
}
.ai-deployment-head p{
  margin:0;
  max-width:560px;
}
.ai-offer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ai-offer-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:410px;
  padding:25px;
  border:1px solid #dfe8f3;
  border-radius:20px;
  background:linear-gradient(180deg,#fff 0%,#f9fbfe 100%);
  box-shadow:0 14px 40px rgba(20,46,78,.07);
  overflow:hidden;
}
.ai-offer-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#0b72f4,#6b66ff);
  opacity:.72;
}
.ai-offer-card.featured{
  border-color:#9cc7ff;
  background:linear-gradient(180deg,#f5f9ff 0%,#fff 72%);
  box-shadow:0 18px 50px rgba(11,114,244,.13);
  transform:translateY(-6px);
}
.ai-offer-card.featured::after{
  content:"Private AI";
  position:absolute;
  top:17px;
  right:-35px;
  width:130px;
  padding:5px 0;
  background:#0b72f4;
  color:#fff;
  text-align:center;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  transform:rotate(39deg);
}
.ai-offer-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.ai-offer-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#eaf3ff;
  color:#0b72f4;
  font-size:21px;
  font-weight:900;
}
.ai-offer-label{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  background:#f0f5fa;
  color:#52677e;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ai-offer-card h3{
  margin:0 0 10px;
  font-size:22px;
  line-height:1.15;
  color:#10243e;
}
.ai-offer-card>p{
  margin:0 0 17px;
  color:#607083;
  font-size:12px;
  line-height:1.65;
}
.ai-offer-card ul{
  list-style:none;
  padding:0;
  margin:0 0 20px;
}
.ai-offer-card li{
  position:relative;
  padding:8px 0 8px 20px;
  border-bottom:1px solid #edf2f7;
  color:#33485f;
  font-size:10.5px;
  line-height:1.45;
}
.ai-offer-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:8px;
  color:#0b72f4;
  font-weight:900;
}
.ai-offer-best{
  margin-top:auto;
  padding:12px 13px;
  border-radius:12px;
  background:#eef5ff;
  color:#335276;
  font-size:9.5px;
  font-weight:700;
  line-height:1.45;
}
.ai-deployment-note{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
  margin-top:21px;
  padding:20px 22px;
  border:1px solid #e2eaf4;
  border-radius:17px;
  background:#fff;
}
.ai-deployment-note div{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.ai-deployment-note strong{
  color:#10243e;
  font-size:13px;
}
.ai-deployment-note span{
  color:#6a7888;
  font-size:10.5px;
  line-height:1.5;
}
@media(max-width:900px){
  .ai-deployment-section{padding-top:42px}
  .ai-deployment-head{grid-template-columns:1fr;gap:10px}
  .ai-offer-grid{grid-template-columns:1fr}
  .ai-offer-card{min-height:0}
  .ai-offer-card.featured{transform:none}
  .ai-deployment-note{grid-template-columns:1fr;gap:15px}
  .ai-deployment-note .btn{width:100%}
}
@media(max-width:520px){
  .ai-deployment-section{padding-top:34px}
  .ai-offer-card{padding:19px;border-radius:16px}
  .ai-offer-card h3{font-size:19px}
  .ai-offer-card>p{font-size:10.5px}
  .ai-offer-card li{font-size:9.5px}
  .ai-deployment-note{padding:17px}
}


/* =========================================================
   GED365 — CLEAN RESPONSIVE FINAL LAYER
   No CSS zoom. Fluid desktop typography + safe mobile hero.
   ========================================================= */

/* Desktop / large screens */
@media screen and (min-width: 901px) {
  body{font-size:clamp(15px,.82vw,18px)}
  .container{width:min(calc(100% - 5vw),1440px)}
  header,.nav{height:clamp(64px,3.6vw,72px)}
  .brand{font-size:clamp(27px,1.55vw,32px)}
  .menu a{font-size:clamp(11px,.63vw,13px)}
  .btn{font-size:clamp(12px,.72vw,14px);padding:clamp(12px,.75vw,15px) clamp(20px,1.35vw,27px)}

  .hero{height:clamp(430px,25vw,500px)}
  .hero-grid{grid-template-columns:minmax(0,46%) minmax(0,54%)}
  .hero-copy{padding:clamp(34px,2.3vw,46px) clamp(24px,2vw,40px) clamp(28px,2vw,40px) 0}
  .kicker{font-size:clamp(9px,.55vw,11px)}
  .hero h1{font-size:clamp(38px,2.35vw,48px);max-width:650px}
  .hero .lead{font-size:clamp(14px,.82vw,16px);max-width:620px}
  .hero-point{font-size:clamp(9px,.55vw,11px)!important}
  .hero-point i{width:clamp(30px,1.8vw,36px)!important;height:clamp(30px,1.8vw,36px)!important;flex-basis:clamp(30px,1.8vw,36px)!important}

  .hero-visual{height:100%}
  .hero-laptop{left:clamp(80px,7.5vw,145px);width:clamp(330px,20vw,400px);height:auto}
  .hero-checks{width:clamp(178px,10.5vw,215px);font-size:clamp(10px,.6vw,12px)}
  .hero-handwrite{font-size:clamp(19px,1.2vw,24px)}

  .stats{height:clamp(100px,6vw,120px)}
  .stat strong{font-size:clamp(20px,1.3vw,26px)}
  .stat span{font-size:clamp(10px,.62vw,12px)}
  .stat img{width:clamp(40px,2.5vw,50px);height:auto}

  #services{height:auto;min-height:280px;padding:28px 0 32px;overflow:visible}
  #realisations{height:auto;min-height:390px;padding:26px 0 32px;overflow:visible}
  .section-head{margin-bottom:20px}
  .section-head h2{font-size:clamp(25px,1.55vw,31px)}
  .section-head>a{font-size:clamp(10px,.6vw,12px)}
  .service{height:auto;min-height:205px;padding:18px}
  .service h3{font-size:clamp(15px,.9vw,18px)}
  .service ul{font-size:clamp(10px,.62vw,12px)}
  .project-body{height:auto;min-height:170px;padding:14px 16px}
  .project h3{font-size:clamp(15px,.9vw,18px)}
  .project p{font-size:clamp(10px,.62vw,12px)}
  .project-img{height:clamp(120px,7.5vw,150px)!important}

  .refs{height:auto;min-height:130px;padding:20px 0;overflow:visible!important}
  .refs h2{font-size:clamp(19px,1.15vw,23px)}
  .refs p{font-size:clamp(9px,.55vw,11px)}

  .about-section{height:auto;min-height:320px;padding:26px 0;overflow:visible}
  .about{grid-template-columns:minmax(280px,330px) minmax(0,1fr) minmax(280px,330px)}
  .portrait{height:260px}
  .about-copy h2{font-size:clamp(26px,1.55vw,31px)}
  .about-copy p{font-size:clamp(11px,.68vw,13px)}
  .value b{font-size:clamp(11px,.68vw,13px)}
  .value p{font-size:clamp(9px,.55vw,11px)}

  .contact{height:auto;min-height:105px;padding:22px 0}
  .contact h3{font-size:clamp(19px,1.15vw,23px)}
  .contact small,.contact-info{font-size:clamp(9px,.55vw,11px)}
  footer{height:auto;min-height:90px;padding:18px 0}
  .footnav,.copy{font-size:clamp(8px,.5vw,10px)}
}

/* Mobile/tablet: preserve the V13.1 structure, remove fragile overlaps. */
@media screen and (max-width: 900px) {
  .hero{overflow:hidden!important}
  .hero-visual{
    height:clamp(285px,76vw,340px)!important;
    position:relative!important;
    overflow:hidden!important;
  }

  /* Laptop scales from the viewport instead of fixed pixel geometry. */
  .hero-laptop{
    left:4vw!important;
    bottom:24px!important;
    width:min(62vw,260px)!important;
    height:auto!important;
  }
  .hero-screen{
    height:auto!important;
    min-height:126px!important;
    aspect-ratio:250/137;
    padding:clamp(12px,3.5vw,16px)!important;
  }
  .hero-laptop-base{
    width:112%!important;
    margin-left:-6%!important;
  }

  .hero-checks{
    right:3vw!important;
    top:68px!important;
    width:min(38vw,155px)!important;
    padding:9px 10px!important;
    font-size:clamp(7px,2vw,8px)!important;
  }
  .hero-handwrite{
    left:50%!important;
    top:14px!important;
    font-size:clamp(12px,3.5vw,15px)!important;
  }
  .hero-mug{
    right:8vw!important;
    width:50px!important;
    height:49px!important;
  }

  .hero-apps{gap:clamp(9px,3vw,15px)!important}
  .hero-apps img{width:clamp(31px,10vw,39px)!important;height:clamp(31px,10vw,39px)!important}
  .hero-m365 img{width:clamp(28px,8.5vw,34px)!important;height:clamp(28px,8.5vw,34px)!important}

  #services,#realisations,.refs,.about-section,.contact,footer{
    height:auto!important;
    overflow:visible!important;
  }
}

@media screen and (max-width: 520px) {
  .hero-copy{padding:28px 0 24px!important}
  .hero h1{font-size:clamp(30px,9vw,34px)!important}
  .hero .lead{font-size:clamp(12px,3.6vw,13.5px)!important}
  .hero-visual{height:clamp(270px,75vw,300px)!important}

  .hero-laptop{
    left:3vw!important;
    width:58vw!important;
    max-width:225px!important;
  }
  .hero-checks{
    right:2.5vw!important;
    width:36vw!important;
    max-width:138px!important;
    top:61px!important;
  }
  .hero-mug{right:5vw!important}

  .hero-points{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .hero-point{
    min-width:0!important;
  }

  .stats-grid{grid-template-columns:1fr!important}
  .grid4{grid-template-columns:1fr!important}
  .refs-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* =========================================================
   GED365 — RETOUCHES MOBILE UNIQUEMENT
   Desktop >= 901px inchangé
   ========================================================= */
@media screen and (max-width:900px){

  /* Hero : plus aéré, aucun élément coupé */
  .hero{overflow:hidden!important}
  .hero-copy{padding:28px 0 24px!important}
  .hero h1{
    font-size:clamp(30px,7vw,37px)!important;
    line-height:1.04!important;
  }
  .hero .lead{
    font-size:13px!important;
    line-height:1.55!important;
  }

  /* 4 avantages : 2 x 2, avec assez de place pour les textes */
  .hero-points{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 18px!important;
  }
  .hero-point{
    min-width:0!important;
    font-size:9px!important;
  }
  .hero-point span{
    max-width:none!important;
    overflow-wrap:anywhere;
  }

  /* Illustration : centrée et contenue dans sa propre zone */
  .hero-visual{
    height:300px!important;
    min-height:300px!important;
    overflow:hidden!important;
  }
  .hero-laptop{
    left:50%!important;
    bottom:22px!important;
    width:min(64vw,300px)!important;
    transform:translateX(-58%)!important;
  }
  .hero-checks{
    right:14px!important;
    top:65px!important;
    width:min(36vw,150px)!important;
  }
  .hero-handwrite{
    left:50%!important;
    top:14px!important;
    transform:translateX(-50%) rotate(-3deg)!important;
    white-space:normal!important;
    width:72%!important;
  }
  .hero-mug{
    right:8%!important;
    bottom:10px!important;
  }

  /* Stats : compactes, sans grand vide */
  .stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .stat{
    min-height:82px!important;
    padding:12px!important;
  }

  /* Expertises : 2 colonnes tablette */
  .grid4{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .service{
    min-height:180px!important;
  }

  /* Titre + lien : jamais en collision */
  .section-head{
    align-items:flex-start!important;
    gap:12px!important;
  }
  .section-head h2{
    min-width:0!important;
  }
  .section-head>a{
    flex:0 0 auto!important;
  }
}

@media screen and (max-width:600px){

  .container{width:calc(100% - 28px)!important}

  /* Vrai téléphone : une seule colonne */
  .hero h1{font-size:clamp(29px,9vw,34px)!important}

  .actions{
    grid-template-columns:1fr!important;
  }

  .hero-visual{
    height:275px!important;
    min-height:275px!important;
  }
  .hero-laptop{
    width:min(61vw,225px)!important;
    transform:translateX(-65%)!important;
  }
  .hero-checks{
    right:7px!important;
    width:36vw!important;
    max-width:136px!important;
    padding:8px 9px!important;
  }
  .hero-handwrite{
    width:88%!important;
    font-size:13px!important;
  }

  .stats-grid{grid-template-columns:1fr!important}
  .stat{min-height:70px!important}

  .grid4{grid-template-columns:1fr!important}
  .service{min-height:0!important}

  .section-head{
    flex-direction:column!important;
    gap:7px!important;
  }

  .refs-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
