:root{--bg:#07111f;--bg2:#0c1727;--panel:#111e2e;--text:#f5f7fb;--muted:#aeb6c4;--line:rgba(255,255,255,.10);--purple:#9b6cff;--orange:#ff7a55;--gold:#f7af4a;--soft:#0d1827}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px);background-size:4px 4px;z-index:20}.site-header{position:fixed;top:0;left:0;right:0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:linear-gradient(to bottom,rgba(7,17,31,.92),rgba(7,17,31,.55),transparent);backdrop-filter:blur(10px);z-index:30}.brand{font-family:Manrope,sans-serif;font-weight:700;letter-spacing:.42em;font-size:1.1rem;color:#fff;text-decoration:none}.nav{display:flex;gap:34px;align-items:center}.nav a{color:#dce1e8;text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.nav a:hover{color:#fff}.nav-cta{padding-bottom:6px;border-bottom:1px solid var(--gold)}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.4rem}.hero{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:140px 5vw 70px;position:relative;overflow:hidden}.hero-copy{max-width:660px;z-index:2}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:600;color:#b9c0ca;margin:0 0 24px}.eyebrow.purple{color:#aa77ff}.hero h1,.section h2{font-family:Manrope,sans-serif;margin:0;font-weight:600;letter-spacing:-.045em}.hero h1{font-size:clamp(3.7rem,7vw,7rem);line-height:.96}.gradient-text{background:linear-gradient(90deg,var(--orange),#c35cff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-text{max-width:590px;line-height:1.75;color:#d0d6de;margin:34px 0 34px;font-size:1.08rem}.btn{display:inline-flex;align-items:center;gap:28px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;padding:16px 22px}.btn-outline{border:1px solid transparent;background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(90deg,var(--orange),var(--purple),var(--gold)) border-box;color:#fff}.hero-art{position:relative;height:620px}.orb{position:absolute;border-radius:50%;filter:blur(.1px)}.orb-a{width:390px;height:390px;right:18%;top:15%;background:radial-gradient(circle at 35% 35%,#7f3f7f,transparent 56%),linear-gradient(145deg,#281743,#8d4169 55%,#ed784c);opacity:.75}.orb-b{width:280px;height:280px;right:4%;bottom:8%;background:radial-gradient(circle at 35% 30%,#243a60,transparent 60%),linear-gradient(160deg,#10243b,#173252);opacity:.85}.ring{position:absolute;width:340px;height:340px;border:2px solid transparent;border-radius:50%;right:10%;top:22%;background:linear-gradient(var(--bg),var(--bg)) padding-box,linear-gradient(135deg,var(--purple),var(--orange),var(--gold)) border-box}.steps{position:absolute;right:7%;top:40%;width:420px;height:300px;transform:skewY(-24deg) rotate(-10deg);background:repeating-linear-gradient(to bottom,rgba(255,255,255,.9) 0 5px,transparent 5px 24px);mask-image:linear-gradient(to right,transparent 0 10%,#000 35% 100%);opacity:.72}.spark{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--purple);box-shadow:0 0 16px currentColor}.spark-1{right:3%;top:25%;color:var(--orange)}.spark-2{right:30%;top:10%;color:var(--purple)}.spark-3{right:15%;bottom:12%;color:var(--gold)}.vertical-note{position:absolute;right:22px;top:42%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.68rem;letter-spacing:.2em;color:#bfc6d0}.section{padding:100px 5vw}.section-soft{background:linear-gradient(180deg,#0e1a2a,#0b1624)}.section-mid{background:#0a1421}.section-dark{background:radial-gradient(circle at 75% 10%,rgba(77,52,117,.22),transparent 35%),linear-gradient(180deg,#07111f,#081321)}.section-heading{max-width:850px;margin-bottom:56px}.section h2{font-size:clamp(2.8rem,5vw,5.6rem);line-height:1.02}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.card{padding:34px 34px 26px 0;border-right:1px solid var(--line);min-height:320px;position:relative}.card:not(:first-child){padding-left:34px}.card:last-child{border-right:0}.card h3,.step h3{font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 20px}.card p,.step p,.about-copy p,.contact-copy p{color:#c7ced8;line-height:1.75;font-size:.95rem}.arrow{position:absolute;bottom:18px;color:var(--purple);font-size:1.5rem}.icon{height:42px;width:42px;position:relative}.icon-ring{border:1px solid var(--gold);border-radius:50%;border-left-color:var(--purple)}.icon-squares:before,.icon-squares:after{content:"";position:absolute;width:24px;height:24px;border:1px solid var(--purple);border-radius:3px}.icon-squares:after{left:15px;top:12px;border-color:var(--orange)}.icon-dots{background-image:radial-gradient(circle,#c793ff 2px,transparent 3px);background-size:12px 12px}.icon-orbit{border:1px solid var(--gold);border-radius:50%}.icon-orbit:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--purple);left:-4px;top:16px}.approach{display:grid;grid-template-columns:.9fr 1.5fr;gap:70px;align-items:start}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:44px}.step-num{width:54px;height:54px;border-radius:50%;border:1px solid var(--purple);display:grid;place-items:center;color:#ddd}.step-num.orange{border-color:var(--orange)}.step-num.gold{border-color:var(--gold)}.scribble{display:inline-block;font-family:Manrope,sans-serif;font-style:italic;color:#a66cff;font-size:1.4rem;margin-top:24px;transform:rotate(-2deg);border-bottom:2px solid currentColor;padding-bottom:3px}.coral{color:#ff6f61}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.about-copy{max-width:820px}.about-copy .manifesto{font-size:1.3rem;color:#fff;margin-top:32px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-copy{padding-top:48px}.contact-copy a{display:block;color:#fff;text-decoration:none;margin:14px 0;width:max-content;border-bottom:1px solid rgba(255,255,255,.4)}.footer{display:grid;grid-template-columns:1.1fr 1.2fr .8fr 1.2fr;gap:40px;padding:40px 5vw 48px;background:#050c15;border-top:1px solid var(--line);color:#9da7b4;font-size:.82rem}.footer .brand{font-size:1rem}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer a{color:#9da7b4;text-decoration:none}.reveal{opacity:0;transform:translateY(26px);transition:.8s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:980px){.nav{display:none;position:absolute;top:70px;right:5vw;flex-direction:column;background:#0b1726;padding:22px;border:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:120px}.hero-art{height:420px;margin-top:20px}.vertical-note{display:none}.cards-grid{grid-template-columns:1fr 1fr}.card:nth-child(2){border-right:0}.approach,.about,.contact{grid-template-columns:1fr}.steps-grid{padding-top:0}.footer{grid-template-columns:1fr 1fr}}@media(max-width:680px){.site-header{height:70px}.brand{font-size:.95rem;letter-spacing:.32em}.hero{padding:110px 6vw 50px}.hero h1{font-size:clamp(3rem,15vw,4.8rem)}.hero-art{height:330px}.ring{width:230px;height:230px;right:5%;top:18%}.orb-a{width:260px;height:260px}.orb-b{width:190px;height:190px}.steps{width:300px;height:200px}.section{padding:78px 6vw}.cards-grid,.steps-grid{grid-template-columns:1fr}.card,.card:not(:first-child){padding:30px 0;border-right:0;border-bottom:1px solid var(--line);min-height:auto}.arrow{position:static;display:block;margin-top:18px}.footer{grid-template-columns:1fr}.contact-copy{padding-top:0}}






/* ===== AMECON V5 — identité validée ===== */

/* HEADER */
.site-header{
  height:92px;
  padding:0 5vw;
}
.site-header .brand-lockup{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:9px;
  width:max-content;
  text-decoration:none;
  font-size:initial;
  font-weight:initial;
  letter-spacing:normal;
  line-height:1;
}
.site-header .brand-word{
  display:block;
  margin:0;
  color:#fff;
  font-family:"IBM Plex Sans",Inter,system-ui,sans-serif;
  font-size:1.24rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.36em;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-header .brand-signature{
  display:block;
  margin:0;
  font-family:"IBM Plex Sans",Inter,system-ui,sans-serif;
  font-size:.64rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
  background:linear-gradient(90deg,#8b5cf6 0%,#d946ef 50%,#ff7a18 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

/* FOOTER */
.footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  padding:48px 5vw;
  background:
    radial-gradient(circle at 94% 85%,rgba(255,122,24,.13),transparent 22%),
    radial-gradient(circle at 80% 95%,rgba(139,92,246,.12),transparent 28%),
    #050c15;
  border-top:1px solid var(--line);
  color:#9da7b4;
  font-size:.82rem;
}
.footer-brand-block{
  flex:0 0 auto;
}
.footer .brand-lockup{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
  width:max-content;
}
.footer .brand-word{
  display:block;
  margin:0;
  color:#fff;
  font-family:"IBM Plex Sans",Inter,system-ui,sans-serif;
  font-size:1.34rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.36em;
  text-transform:uppercase;
  white-space:nowrap;
}
.footer .brand-signature{
  display:block;
  margin:0;
  font-family:"IBM Plex Sans",Inter,system-ui,sans-serif;
  font-size:.66rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
  background:linear-gradient(90deg,#8b5cf6 0%,#d946ef 50%,#ff7a18 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.footer-meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
  flex-wrap:wrap;
}
.footer-meta a{
  color:#d8dde5;
  text-decoration:none;
  white-space:nowrap;
}
.footer-meta > span:last-child{
  white-space:nowrap;
}
.linkedin-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-weight:500;
}
.linkedin-icon{
  width:27px;
  height:27px;
  display:inline-grid;
  place-items:center;
  border:1px solid #8b5cf6;
  border-radius:6px;
  color:#fff;
  font-weight:600;
  font-size:.9rem;
  line-height:1;
}
.footer-sep{
  width:1px;
  height:27px;
  background:rgba(255,255,255,.18);
}

/* MOBILE */
@media(max-width:980px){
  .footer{
    align-items:flex-start;
    flex-direction:column;
    gap:30px;
  }
  .footer-meta{
    justify-content:flex-start;
  }
}
@media(max-width:680px){
  .site-header{
    height:82px;
  }
  .site-header .brand-lockup{
    gap:7px;
  }
  .site-header .brand-word,
  .footer .brand-word{
    font-size:1.02rem;
    letter-spacing:.30em;
  }
  .site-header .brand-signature,
  .footer .brand-signature{
    font-size:.52rem;
    letter-spacing:.16em;
  }
  .footer{
    padding:38px 6vw;
  }
  .footer-meta{
    gap:13px;
  }
  .footer-sep{
    display:none;
  }
}


/* ===== AMECON V8 — ABOUT + CONTACT (maquette validée) ===== */

.hero-copy > .eyebrow:first-child{display:none!important;}

/* ABOUT */
.about-v8{
  position:relative;
  overflow:hidden;
  display:grid!important;
  grid-template-columns: 38% 62%!important;
  gap:0!important;
  width:calc(100% - 4vw)!important;
  max-width:none!important;
  min-height:430px;
  margin:20px 2vw!important;
  padding:46px 54px!important;
  border:1px solid rgba(255,255,255,.05);
  border-radius:24px;
  background:
    radial-gradient(circle at 17% 92%,rgba(124,58,237,.13),transparent 30%),
    linear-gradient(135deg,#081522 0%,#091521 55%,#08111c 100%)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
}
.about-left,.about-right{position:relative;z-index:2;}
.about-left h2{
  margin-top:24px;
  font-size:clamp(3.2rem,4.4vw,4.9rem)!important;
  line-height:.98!important;
  letter-spacing:-.045em;
}
.about-right{
  padding:0 20px 0 42px;
  max-width:900px;
}
.about-right p{
  margin:0 0 19px;
  color:#d7dde6;
  font-size:1rem;
  line-height:1.6;
}
.about-manifesto{
  margin-top:30px;
  padding-left:18px;
  border-left:2px solid #d946ef;
  color:#fff;
  font-size:1.28rem;
  line-height:1.5;
}
.mesh-wave{
  position:absolute;
  left:-54px;
  bottom:-42px;
  width:640px;
  height:225px;
  z-index:1;
  pointer-events:none;
  opacity:.92;
}
.mesh-wave svg{width:100%;height:100%;display:block;}

/* CONTACT */
.contact-v8{
  position:relative;
  overflow:hidden;
  display:grid!important;
  grid-template-columns: 39% 37% 24%!important;
  align-items:center!important;
  gap:0!important;
  width:calc(100% - 4vw)!important;
  max-width:none!important;
  min-height:330px;
  margin:14px 2vw 28px!important;
  padding:42px 54px!important;
  border:1px solid rgba(255,255,255,.05);
  border-radius:24px;
  background:
    radial-gradient(circle at 94% 86%,rgba(255,122,24,.17),transparent 22%),
    radial-gradient(circle at 80% 62%,rgba(139,92,246,.12),transparent 29%),
    linear-gradient(135deg,#081522 0%,#09131f 66%,#111019 100%)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.18);
}
.contact-left,.contact-center,.orbit-v8{position:relative;z-index:2;}
.contact-left h2{
  margin-top:22px;
  max-width:640px;
  font-size:clamp(3rem,3.8vw,4.2rem)!important;
  line-height:1.02!important;
  letter-spacing:-.04em;
}
.contact-left .scribble{
  margin-top:24px!important;
  font-size:1.45rem!important;
}
.contact-center{
  align-self:center;
  padding-left:22px;
}
.contact-center > p{
  margin:0 0 20px;
  color:#dce1e8;
  font-size:.98rem;
  line-height:1.55;
}
.contact-row{
  display:flex!important;
  align-items:center;
  gap:14px;
  width:max-content;
  margin:14px 0;
  color:#fff!important;
  text-decoration:none!important;
}
.contact-row > span:last-child{
  padding-bottom:3px;
  border-bottom:1px solid #ff7a18;
}
.contact-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid #d946ef;
  border-radius:50%;
  color:#fff;
  font-size:.9rem;
}
.linkedin-mini{font-weight:700;font-size:.82rem;}

.orbit-v8{
  justify-self:end;
  width:245px;
  height:245px;
}
.orbit-v8 i{
  position:absolute;
  inset:3%;
  border:1px solid rgba(217,70,239,.35);
  border-radius:50%;
}
.orbit-v8 i:nth-child(2){inset:16%;border-color:rgba(139,92,246,.55);}
.orbit-v8 i:nth-child(3){inset:29%;border-color:rgba(255,122,24,.62);}
.orbit-v8 i:nth-child(4){inset:42%;border-color:rgba(217,70,239,.7);}
.orbit-v8 b{
  position:absolute;
  left:50%;top:50%;
  width:13px;height:13px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 9px #fff,0 0 22px #d946ef,0 0 42px rgba(255,122,24,.8);
}

@media(max-width:1000px){
  .about-v8{grid-template-columns:1fr!important;gap:30px!important;}
  .about-right{padding:0;}
  .mesh-wave{opacity:.38;width:80%;}

  .contact-v8{grid-template-columns:1fr 1fr!important;gap:30px!important;}
  .orbit-v8{position:absolute;right:-60px;bottom:-60px;opacity:.32;}
}
@media(max-width:680px){
  .about-v8,.contact-v8{
    width:calc(100% - 24px)!important;
    margin-left:12px!important;
    margin-right:12px!important;
    padding:58px 24px!important;
    border-radius:18px;
  }
  .about-left h2,.contact-left h2{font-size:clamp(2.6rem,13vw,3.8rem)!important;}
  .mesh-wave{width:120%;left:-35%;bottom:-15px;opacity:.25;}
  .contact-v8{grid-template-columns:1fr!important;}
  .contact-center{padding-left:0;}
  .orbit-v8{display:none;}
}


/* ===== AMECON V8.1 — correction ciblée À PROPOS : aucun débordement ===== */
.about-v8{
  box-sizing:border-box!important;
  grid-template-columns:minmax(0, 40%) minmax(0, 60%)!important;
  column-gap:34px!important;
  padding:46px 54px!important;
}

.about-v8 .about-left,
.about-v8 .about-right{
  min-width:0!important;
  box-sizing:border-box!important;
}

.about-v8 .about-right{
  width:100%!important;
  max-width:none!important;
  padding:0 18px 0 20px!important;
  overflow-wrap:break-word;
}

.about-v8 .about-right p,
.about-v8 .about-manifesto{
  max-width:100%!important;
}

.about-v8 .about-manifesto{
  box-sizing:border-box!important;
}

.about-v8 .mesh-wave{
  left:-54px!important;
  width:min(640px, calc(100% + 54px))!important;
  max-width:calc(100% + 54px)!important;
}

@media(max-width:1000px){
  .about-v8{
    grid-template-columns:1fr!important;
    column-gap:0!important;
  }
  .about-v8 .about-right{
    padding:0!important;
  }
}


/* ===== AMECON V8.3 — passe responsive finale ===== */

/* Tablette */
@media (max-width: 1000px){
  .about-v8{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .about-v8 .about-right{
    padding:0!important;
  }
}

/* Mobile */
@media (max-width: 680px){
  /* Header */
  .site-header{
    padding-left:6vw;
    padding-right:6vw;
  }
  .nav{
    width:min(260px,88vw);
    right:6vw;
    top:72px;
    align-items:flex-start;
  }

  /* Hero */
  .hero{
    min-height:auto;
    padding-top:118px;
  }
  .hero h1{
    font-size:clamp(2.8rem,13vw,3.55rem)!important;
    line-height:.98!important;
  }
  .hero-text{
    font-size:1rem;
    line-height:1.65;
    margin-top:26px;
  }
  .hero-art{
    height:300px;
    margin-top:8px;
  }

  /* Titres généraux */
  .section h2{
    font-size:clamp(2.45rem,11vw,3.25rem);
  }

  /* À propos : rétablit bien le padding mobile après les règles V8.1 */
  .about-v8{
    width:calc(100% - 24px)!important;
    margin:12px!important;
    padding:46px 24px 52px!important;
    min-height:0;
    gap:32px!important;
  }
  .about-left h2{
    font-size:clamp(2.55rem,11vw,3.15rem)!important;
  }
  .about-v8 .mesh-wave{
    left:-24px!important;
    bottom:-18px!important;
    width:calc(100% + 48px)!important;
    max-width:calc(100% + 48px)!important;
    opacity:.22;
  }
  .about-manifesto{
    font-size:1.08rem;
    line-height:1.5;
    margin-top:26px;
  }

  /* Contact */
  .contact-v8{
    width:calc(100% - 24px)!important;
    margin:12px 12px 24px!important;
    padding:46px 24px!important;
    min-height:0;
    gap:30px!important;
  }
  .contact-left h2{
    font-size:clamp(2.2rem,9.6vw,2.75rem)!important;
    line-height:1.05!important;
  }
  .contact-left .scribble{
    font-size:1.3rem!important;
  }
  .contact-center > p{
    font-size:.95rem;
  }
  .contact-row{
    max-width:100%;
  }
  .contact-row > span:last-child{
    overflow-wrap:anywhere;
  }

  /* Footer */
  .footer{
    gap:26px;
  }
  .footer-meta{
    align-items:flex-start;
    line-height:1.5;
  }
}

/* Très petits écrans */
@media (max-width: 360px){
  .site-header .brand-word{
    font-size:.92rem;
    letter-spacing:.25em;
  }
  .site-header .brand-signature{
    font-size:.47rem;
    letter-spacing:.11em;
  }
  .hero h1{
    font-size:2.65rem!important;
  }
  .about-left h2{
    font-size:2.35rem!important;
  }
  .contact-left h2{
    font-size:2.05rem!important;
  }
}

/* V8.4 — Mobile: remove decorative expertise arrows that suggest a non-existent link */
@media (max-width: 680px){
  #expertise .card .arrow{display:none;}
}
