/* ============================================================
   SUJEE DESIGN — V5 « papier » : clair, pleine largeur
   Surcharge de site.css. Aucune règle de structure modifiée.
   ============================================================ */

:root{
  --bg:#F7F7F5;            /* blanc froid, sans beige */
  --bg-2:#EFEFEC;
  --bone:#0A0A0B;          /* l'encre remplace l'os */
  --ink:#0A0A0B;
  --paper:#FFFFFF;
  --muted:#5C5C5E;
  --muted-2:#2E2E30;
  --line:rgba(10,10,11,.16);
  --line-2:rgba(10,10,11,.09);
  --accent:#C9340F;        /* vermillon profond, 4,9:1 sur blanc */
  --accent-bright:#FF4B1F;
  --glass:rgba(255,255,255,.55);
  --glass-edge:rgba(10,10,9,.12);

  --max:none;
  --pad:clamp(18px,3.4vw,72px);
}

body{background:var(--bg);color:var(--ink)}
body::after{opacity:.028}
::selection{background:var(--accent-bright);color:#0A0A09}

/* Pleine largeur : on garde la marge, on retire le plafond */
.wrap{max-width:none;padding-inline:var(--pad)}
.nav-in{max-width:none}

/* ---------- Navigation ---------- */
.nav{background:transparent}
.nav.solid,.nav.scrolled{background:rgba(247,247,245,.88);border-bottom:1px solid var(--line-2)}
@supports (backdrop-filter:blur(1px)){
  .nav.solid,.nav.scrolled{backdrop-filter:blur(18px) saturate(120%);background:rgba(247,247,245,.74)}
}
.brand b{color:var(--ink)}
.nav-mid a{color:var(--muted)}
.nav-mid a:hover,.nav-mid a[aria-current]{color:var(--ink)}
.nav-cta{background:var(--ink);color:var(--bg);border-radius:2px}
.nav-cta:hover{background:var(--accent-bright);color:#0A0A09}
.rail a{color:var(--muted)}
.rail a.active{color:var(--ink)}

/* ---------- Héros ---------- */
.hero__title .thin{-webkit-text-stroke-color:var(--ink)}
.hero__lead{color:#3A3A3D}
.hero__lead b{color:var(--ink)}
.hero__portrait img{filter:grayscale(1) contrast(1.03)}
.fig{background:rgba(244,241,232,.84);border:1px solid rgba(10,10,9,.16);color:var(--ink)}
.scrollcue{color:var(--muted)}
.scrollcue .bar{background:var(--line)}

/* ---------- Sections ---------- */
.section,.contact{background:var(--bg)}
.contact::before{background:radial-gradient(circle,rgba(255,75,31,.12),rgba(255,75,31,0) 70%)}
.sec-num{color:var(--accent)}
.statement em{color:var(--accent)}

/* Surfaces qui étaient sombres */
.glasscard{
  background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.6));
  border:1px solid rgba(10,10,9,.14);
  box-shadow:0 30px 60px -44px rgba(10,10,9,.4), inset 0 1px 0 #fff;
}
.glasscard b{color:var(--ink)}
.glasscard li{color:#3A3A3D}
.glasscard h3{color:var(--muted)}

/* ---------- Cartes projet (accueil) ---------- */
.c-paper{background:var(--paper);color:var(--ink);border-color:rgba(10,10,9,.14)}
.c-paper .case__bar{background:rgba(10,10,9,.05);border-color:rgba(10,10,9,.12)}
.case--ui{background:#0A0A09!important;color:#F4F4F1}
.case--ui .case__idx,.case--ui .case__meta,.case--ui .case__sub{color:#9A958A}
.case--ui .case__bar{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#F4F4F1}
.case--ui .case__ghost{-webkit-text-stroke-color:rgba(242,239,231,.16)}
.case{border-color:rgba(10,10,9,.14)}
.case__bar{background:rgba(10,10,9,.04);border-color:rgba(10,10,9,.12);color:inherit}
@media (max-width:1100px){body > .rail{display:none}}

/* ---------- Mur de projets (réalisations) ---------- */
.w-paper{background:var(--paper);color:var(--ink);border-color:rgba(10,10,9,.14)}
.w-signal{background:var(--accent-bright);color:#0A0A09}
.w-dark{background:#0A0A09;color:#F4F4F1}
.wcard__meta{border-color:rgba(128,128,128,.28)}
.sc-pack i,.sc-prod .b{box-shadow:0 26px 40px -30px rgba(10,10,9,.45)}

/* ---------- Pages intérieures ---------- */
.plate.paper{background:var(--paper)}
.plate.outline .word{color:transparent;-webkit-text-stroke:1.5px var(--ink)}
.thumb.tp-paper{background:var(--paper);color:var(--ink);border:1px solid rgba(10,10,9,.14)}
.prow:hover{background:rgba(10,10,9,.03)}
.rate:hover{background:rgba(10,10,9,.03)}
.prose p,.prose li{color:#2E2E30}
.prose a,.prose strong{color:var(--ink)}
.legal .toc a:hover{color:var(--ink)}
.meta-grid dd{color:var(--ink)}
.faq summary{color:var(--ink)}

/* ---------- Pied de page : bloc encre pour fermer la page ---------- */
footer{background:#0A0A09;color:#F4F4F1;margin-top:clamp(40px,7vw,90px)}
footer .foot{color:#9A958A}
footer .foot a{color:#9A958A}
footer .foot a:hover{color:#F4F4F1}

/* ---------- Ajustements de proportion en pleine largeur ---------- */
@media (min-width:1500px){
  .hero{padding-inline:var(--pad)}
  .hero__title{font-size:clamp(80px,7.6vw,168px)}
  .statement{font-size:clamp(46px,4.4vw,86px);max-width:24ch}
  .sec-head h2{font-size:clamp(38px,3.4vw,64px)}
  .case__title{font-size:clamp(48px,5.2vw,112px)}
  .wall{grid-template-columns:repeat(12,1fr)}
}

/* ---------- Passe 2 : lisibilité et détails ---------- */
.nav-mid a{font-size:11.5px;letter-spacing:.02em;color:#3A3A3D}
.nav-right .t{color:var(--muted)}
.c-paper .case__ghost{-webkit-text-stroke-color:rgba(10,10,9,.10)}
.case--ui .case__ghost{-webkit-text-stroke-color:rgba(242,239,231,.14)}
.glasscard li{color:#2E2E30;font-size:13.5px}
.glasscard li i{color:#A82A0B}
footer .foot{font-size:12.5px}
footer .foot a{color:#B8B2A6}

@media (min-width:1500px){
  .nav-mid{gap:34px}
  .hero__portrait{max-height:74vh}
  .hero__title .thin{-webkit-text-stroke-width:2px}
  .lede{font-size:17px}
  .sec-head p{font-size:15.5px}
  .step p{font-size:14.5px}
  .svc-row p{font-size:15px}
}

/* Le chiffre fantôme était un geste de la version noire : on le retire en clair */
.case__ghost{display:none}
.case__meta{font-size:11px;line-height:1.45;color:#3A3A3D}
.case__idx{color:#3A3A3D}
.case__sub span{color:#3A3A3D}

/* ============ HERO PROJET — image pleine largeur ============ */
.hero--proj{
  display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;
  padding:0 var(--pad) clamp(56px,8vh,86px);max-width:none;
  min-height:100svh;height:auto;background:#0A0A0B;isolation:isolate;
}
.hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;
  background:radial-gradient(120% 95% at 76% 14%,#2A2A2F 0%,#17171B 42%,#0B0A08 100%)}
.hero__still{position:absolute;right:-2vw;bottom:0;
  height:min(93%,920px);width:min(78vw,1500px);
  display:flex;align-items:flex-end;justify-content:flex-end;gap:clamp(10px,2vw,40px);
  padding-right:clamp(24px,6vw,130px)}
.hero__still::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:14%;pointer-events:none;
  background:radial-gradient(60% 100% at 66% 100%,rgba(0,0,0,.5),rgba(0,0,0,0) 76%)}
.hpack{position:relative;flex:0 0 auto;width:clamp(112px,12.5vw,232px);
  border-radius:8px 8px 4px 4px;color:#2A2118;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(20px,2vw,30px) clamp(10px,1vw,16px) clamp(14px,1.4vw,20px);
  background:linear-gradient(100deg,#F2EAD8 0%,#E6D9BE 48%,#C9B892 100%);
  box-shadow:0 50px 70px -24px rgba(0,0,0,.8),inset -10px 0 16px -10px rgba(0,0,0,.4);
}
.hpack::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;background:#C9340F}
.hpack::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(75deg,rgba(255,255,255,.32),transparent 34%,rgba(0,0,0,.14) 78%)}
.hp-a{height:60%}.hp-b{height:90%}.hp-c{height:72%}
.hp-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#8C5A3C}
.hpack b{font-family:var(--display);font-weight:700;font-size:clamp(17px,1.5vw,26px);
  text-transform:uppercase;letter-spacing:-.02em;line-height:.88}
.hpack em{font-family:var(--mono);font-style:normal;font-size:9.5px;letter-spacing:.16em;color:#6B5B45}
.hero__word{display:none;position:absolute;right:clamp(0px,2vw,40px);bottom:-1.4vw;
  font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.78;
  font-size:clamp(84px,15vw,250px);letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1px rgba(242,239,231,.22);pointer-events:none}
.hero__veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(96deg,rgba(8,7,6,.95) 0%,rgba(8,7,6,.86) 30%,rgba(8,7,6,.5) 46%,rgba(8,7,6,.14) 68%,rgba(8,7,6,.32) 100%),
             linear-gradient(to top,rgba(8,7,6,.8),rgba(8,7,6,0) 38%)}
.hero__hit{position:absolute;inset:0;z-index:2;cursor:pointer;text-decoration:none}
.hero__hit:focus-visible{outline:2px solid #FF4B1F;outline-offset:-6px}
.hero__content{position:relative;z-index:3;pointer-events:none;max-width:min(1000px,74vw)}
.hero--proj .hero__kicker{color:rgba(242,239,231,.82);margin:0 0 18px;font-size:10.5px;letter-spacing:.14em}
.hero--proj .hero__kicker::before{background:#FF4B1F;width:30px}
.hero--proj .hero__title{color:#F4F4F1;font-size:clamp(44px,7.9vw,134px);margin:0}
.hero--proj .hero__title .thin{color:transparent;-webkit-text-stroke:2.2px #F4F4F1}
.hero--proj .hero__cols{display:flex;align-items:flex-end;gap:clamp(18px,3vw,44px);margin-top:clamp(20px,3vh,34px);flex-wrap:wrap}
.hero--proj .hero__lead{max-width:44ch;color:#DEDEDA;font-size:clamp(14.5px,1.05vw,17px)}
.hero--proj .hero__lead b{color:#F4F4F1}
.hero__cta{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:#0A0A09;background:#F4F4F1;border:1px solid #F4F4F1;border-radius:2px;padding:14px 20px;font-size:10.5px;
  transition:background .22s,color .22s,transform .22s}
.hero__cta svg{width:13px;height:13px}
.hero__cta:hover{background:#FF4B1F;border-color:#FF4B1F;color:#0A0A09;transform:translateY(-1px)}
.hero__tag{position:absolute;z-index:3;right:var(--pad);bottom:clamp(56px,8vh,86px);
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,239,231,.8)}
.hero--proj .scrollcue{z-index:3;bottom:16px;color:rgba(242,239,231,.72)}
.hero--proj .scrollcue .bar{background:rgba(242,239,231,.22)}
.hero--proj .scrollcue .bar::after{background:#F4F4F1}

@media (max-width:900px){
  .hero--proj{padding-bottom:clamp(96px,14vh,130px);min-height:100svh}
  .hero__content{max-width:100%}
  .hero__still{right:-10vw;width:130vw;height:56%;opacity:.92}
  .hero__word{display:none;font-size:30vw;bottom:6vw;right:-3vw;opacity:.8}
  .hero--proj .hero__title{font-size:clamp(40px,12.4vw,66px)}
  .hero--proj .hero__cols{gap:18px;margin-top:22px}
  .hero__tag{display:none}
  .hero__cta{width:100%;justify-content:space-between}
}

/* Correctif : le rail du mockup Atelier 24 restait fixé au viewport */
.win .rail{position:static;top:auto;right:auto;transform:none;height:100%;align-items:center;padding:8px 0}

/* Nav claire tant qu'elle survole le hero sombre */
body.has-dark-hero .nav:not(.scrolled) .brand b,body.has-dark-hero .nav:not(.scrolled) .nav-mid a,body.has-dark-hero .nav:not(.scrolled) .nav-right .t{color:#F4F4F1}
body.has-dark-hero .nav:not(.scrolled) .brand .dot{background:#FF4B1F}
body.has-dark-hero .nav:not(.scrolled) .nav-mid a:hover{color:#FF4B1F}
body.has-dark-hero .nav:not(.scrolled) .nav-cta{background:transparent;color:#F4F4F1;border:1px solid rgba(242,239,231,.45)}
body.has-dark-hero .nav:not(.scrolled) .nav-cta:hover{background:#FF4B1F;color:#0A0A09}
body.has-dark-hero .nav:not(.scrolled){--muted:#B8B2A6}

/* Rail de progression, isolé des styles de maquette */
.readrail{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:80;
  display:flex;flex-direction:column;gap:13px;align-items:flex-end}
.readrail a{position:relative;display:block;text-decoration:none;
  font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(242,239,231,.5);transition:color .3s}
.readrail a .lbl{position:absolute;right:calc(100% + 12px);top:50%;opacity:0;
  transform:translate(6px,-50%);transition:opacity .3s,transform .3s;white-space:nowrap}
.readrail a:hover .lbl,.readrail a.active .lbl{opacity:1;transform:translate(0,-50%)}
.readrail a .ln{display:block;width:16px;height:1px;background:currentColor;transition:width .3s,background .3s}
.readrail a:hover{color:#F4F4F1}
.readrail a.active{color:#F4F4F1}
.readrail a.active .ln{width:28px;height:2px;background:#FF4B1F}
@media (max-width:1100px){.readrail{display:none}}
body > .readrail{background:none;border:0;padding:0}

/* Mobile : le texte passe sur les packs, on renforce le voile */
@media (max-width:900px){
  .hero__still{top:62px;bottom:auto;height:46%;right:-10vw;width:126vw;opacity:1;padding-right:0}
  .hero__veil{background:linear-gradient(to bottom,rgba(8,7,6,.42) 0%,rgba(8,7,6,.1) 26%,rgba(8,7,6,.55) 44%,rgba(8,7,6,.94) 58%,#0A0A0B 72%)}
  .hero--proj .hero__lead{color:#E6E6E2}
}
.hero--proj{width:100%;max-width:none!important}

/* ============ RYTHME ET DIFFÉRENCIATION DES SECTIONS ============ */
/* Plus d'air entre les blocs : la lecture sépare d'elle-même les sections */
.section{padding-block:clamp(104px,13vh,188px)}
.section--tint{background:#EFEFEC}
.sec-head{margin-bottom:clamp(48px,6.2vw,88px)}
.sec-head p{margin-top:20px;max-width:48ch}
.sec-num{font-size:10.5px;letter-spacing:.14em}
.statement{margin-bottom:clamp(56px,7.4vw,100px)}
.numbers{margin-top:clamp(44px,5.4vw,80px)}
.numbers .num{padding:26px 0 0 clamp(20px,2.2vw,40px)}
.numbers .num:first-child{padding-left:0}
.numbers .num:last-child{border-right:0;padding-right:0}
.case{margin-bottom:clamp(30px,4vw,56px)}
.steps{gap:clamp(30px,3.6vw,60px)}
.rates .rate{padding-block:clamp(22px,2.4vw,34px)}
.bandcta{margin-top:clamp(56px,7vw,96px)}

/* Accueil : le hero respire, puis chaque chapitre s'ouvre sur du vide */
#studio{padding-top:clamp(110px,14vh,200px)}
#travaux .sec-head{margin-bottom:clamp(44px,5vw,72px)}

/* ============ CONTACT : bloc couleur ============ */
.contact{background:#C9340F;padding-block:clamp(96px,12vh,168px)}
.contact h2{color:#FFFFFF}
.contact .lead{color:rgba(255,255,255,.94)}
.contact .mono{color:rgba(255,255,255,.8)}
.contact .mail{color:#FFFFFF;border-bottom-color:rgba(255,255,255,.6)}
.contact .mail:hover{color:#180806;border-bottom-color:#180806}
.contact .glasscard{background:#FFFFFF;border:1px solid #E2E2DE;backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:0 40px 80px -50px rgba(40,15,5,.6);padding:clamp(24px,3vw,38px)}
.contact .glasscard h3{color:#6B6B6D;font-size:10px;letter-spacing:.14em}
.contact .glasscard li{color:#2E2E30;border-bottom-color:rgba(10,10,9,.12);font-size:13.5px;padding:13px 0}
.contact .glasscard li i{color:#C9340F;opacity:1;font-size:10px}
.contact .glasscard b{color:#0A0A09;font-size:13.5px}
.contact::before{background:radial-gradient(circle,rgba(255,120,60,.4),rgba(255,120,60,0) 70%)}

@media (max-width:900px){
  .section{padding-block:clamp(72px,10vh,110px)}
  .sec-head{margin-bottom:clamp(32px,6vw,48px)}
  .contact{padding-block:clamp(76px,10vh,110px)}
}

/* Lisibilité des micro-textes (contact + chiffres) */
.contact .mono{color:rgba(255,255,255,.92);font-size:10px;letter-spacing:.16em}
.contact .lead{font-size:15px;line-height:1.65}
.num span{font-size:10px;letter-spacing:.1em}
.num p{font-size:13px}
@media (max-width:900px){
  .num span{font-size:10.5px}
  .num p{font-size:13px}
  .hero__cta{min-height:48px}
}

/* Le label de section doit rester lisible sur le vermillon */
.contact .contact__kick{color:rgba(255,255,255,.95);margin:0;font-size:10px;letter-spacing:.18em}

/* Chiffres en 2 colonnes : marges symétriques (bascule à 860 px) */
@media (max-width:860px){
  .numbers .num{padding:22px 16px 22px 0}
  .numbers .num:nth-child(odd){padding-left:0}
  .numbers .num:nth-child(even){padding-left:22px;border-right:0}
  .numbers .num:nth-child(3),.numbers .num:nth-child(4){border-top:1px solid var(--line-2)}
  .numbers .num:last-child{padding-right:0}
}

/* ============ PAGE À PROPOS ============ */
.ab-hero{padding:clamp(120px,15vh,170px) 0 clamp(60px,8vh,100px);position:relative;z-index:2}
.ab-hero .kick{margin-bottom:clamp(26px,3vw,40px)}
.ab-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,70px);align-items:end}
.ab-hero__title{font-family:var(--display);font-weight:700;font-size:clamp(44px,7vw,122px);line-height:.86;letter-spacing:-.035em;text-transform:uppercase;margin:0}
.ab-hero__lead{font-size:clamp(14.5px,1.1vw,17px);line-height:1.62;color:var(--muted-2);max-width:44ch;margin:0}
.ab-hero__lead b{color:var(--ink);font-weight:500}
.ab-stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:clamp(26px,3.4vw,42px);border-top:1px solid var(--line)}
.ab-stats > div{padding:clamp(16px,1.8vw,22px) 18px clamp(4px,1vw,10px) 0}
.ab-stats > div:nth-child(even){padding-left:18px;border-left:1px solid var(--line-2)}
.ab-stats b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:-.03em}
.ab-stats span{display:block;margin-top:8px;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ab-sign{margin-top:clamp(48px,6.5vw,96px);padding-top:clamp(30px,4vw,54px);border-top:1px solid var(--line)}
.ab-sign img{width:min(560px,80%);height:auto;display:block}

/* Compétences */
.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,3vw,46px) clamp(24px,3.4vw,56px)}
.skill{border-top:1px solid var(--ink);padding-top:clamp(16px,1.8vw,24px)}
.skill__n{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--accent);margin-bottom:clamp(20px,2.6vw,34px)}
.skill h3{font-family:var(--display);font-weight:600;font-size:clamp(21px,2.05vw,30px);line-height:1.06;letter-spacing:-.02em;margin:0 0 14px}
.skill p{margin:0;font-size:14px;line-height:1.58;color:var(--muted-2);max-width:34ch}
.skill ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.skill li{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line);border-radius:2px;padding:5px 8px}

/* Outils */
.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(26px,3vw,44px) clamp(24px,4vw,70px)}
.toolset{border-top:1px solid var(--line);padding-top:16px}
.toolset h3{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:2px;padding:8px 12px;background:var(--paper)}

/* Clients */
.clients{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line-2)}
.client{border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:clamp(26px,3vw,44px) clamp(20px,2.4vw,32px);
  display:flex;flex-direction:column;gap:10px;justify-content:center;min-height:clamp(120px,14vw,170px);transition:background .25s}
.client:hover{background:var(--paper)}
.client b{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.7vw,24px);letter-spacing:-.02em;line-height:1.1}
.client span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.clients__note{margin:22px 0 0;font-size:12.5px;color:var(--muted)}

/* Enseignement */
.schools{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,4vw,64px)}
.school{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:clamp(18px,2vw,26px) 0;border-top:1px solid var(--line)}
.school:nth-child(1),.school:nth-child(2){border-top:1px solid var(--ink)}
.school b{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.6vw,22px);letter-spacing:-.02em}
.school span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-self:center}
.school em{grid-column:1/-1;font-style:normal;font-size:13px;color:var(--muted)}

/* Parcours */
.ab-timeline{margin-top:clamp(10px,2vw,20px)}
.ab-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,50px);margin-top:clamp(48px,6vw,84px)}
.ab-fact{border-top:1px solid var(--line);padding-top:16px}
.ab-fact b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-weight:400}
.ab-fact span{font-size:13.5px;line-height:1.55;color:var(--muted-2)}

@media (max-width:1100px){
  .skills{grid-template-columns:repeat(2,1fr)}
  .clients{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ab-hero{padding-top:104px}
  .ab-hero__grid{grid-template-columns:1fr;gap:26px}
  .ab-hero__title{font-size:clamp(38px,11.4vw,64px)}
  .ab-sign img{width:100%}
  .skills,.tools,.schools,.clients,.ab-facts{grid-template-columns:1fr}
  .school:nth-child(2){border-top:1px solid var(--line)}
  .clients{border-left:0}
  .client{min-height:0;padding:20px 0;border-right:0}
  .client{border-bottom:1px solid var(--line-2)}
  .tools{gap:24px}
}

.ab-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(26px,3vw,40px)}
.btn-fill{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:var(--ink);color:#FFFFFF;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:14px 20px;border-radius:2px;
  border:1px solid var(--ink);transition:background .2s,color .2s}
.btn-fill:hover{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.ab-hero__cta .btn-line{display:inline-flex;align-items:center;padding:14px 20px;border:1px solid var(--line);border-radius:2px;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;transition:border-color .2s}
.ab-hero__cta .btn-line:hover{border-color:var(--ink)}

.ab-sign{display:grid;grid-template-columns:1fr auto;align-items:end;gap:clamp(24px,4vw,60px)}
.ab-sign__logo{width:min(560px,100%)}
.ab-portrait{margin:0;width:clamp(180px,17vw,250px)}
.ab-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.ab-portrait figcaption{margin-top:10px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){
  .ab-sign{grid-template-columns:1fr;gap:28px}
  .ab-portrait{width:min(240px,60%)}
}

/* ============ HEADER : LOGO ============ */
.brand--logo{gap:0}
.brand__logo{height:30px;width:auto;display:block;transform:translateX(-1px)}
.brand__logo--light{display:none}
body.has-dark-hero .nav:not(.scrolled) .brand__logo{display:none}
body.has-dark-hero .nav:not(.scrolled) .brand__logo--light{display:block}

/* ============ À PROPOS (v3) ============ */
.ab-hero{padding:clamp(118px,14vh,160px) 0 0;position:relative}
.ab-hero .kick{margin-bottom:clamp(24px,3vw,38px)}
.ab-hero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(26px,4vw,64px);align-items:start}
.ab-hero__title{font-family:var(--display);font-weight:700;font-size:clamp(43px,6.6vw,116px);line-height:.87;letter-spacing:-.04em;text-transform:uppercase;margin:0}
.ab-hero__title em{font-style:normal;color:var(--accent)}
.ab-hero__lead{font-size:clamp(14px,1.05vw,16.5px);line-height:1.6;color:var(--muted-2);margin:0;max-width:46ch}
.ab-hero__lead--2{margin-top:16px;color:var(--muted)}
.ab-hero__lead b{color:var(--ink);font-weight:500}
.ab-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(24px,3vw,36px)}
.ab-hero__block{display:grid;grid-template-columns:1fr 1fr;margin:clamp(34px,4.4vw,58px) 0 0;min-height:clamp(340px,52vh,560px)}
.ab-hero__fig{margin:0;position:relative;overflow:hidden;background:#0C0B09}
.ab-hero__fig img{width:100%;height:100%;min-height:clamp(340px,52vh,560px);object-fit:cover;object-position:50% 22%;filter:grayscale(1) contrast(1.05);display:block}
.ab-hero__fig figcaption{position:absolute;left:24px;bottom:16px;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.ab-hero__panel{background:var(--ink);color:#F7F7F5;display:flex;flex-direction:column;justify-content:center;gap:clamp(18px,2vw,30px);padding:clamp(26px,3.4vw,50px)}
.ab-hero__panel span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}
.ab-hero__panel p{margin:0;font-size:clamp(14px,1.08vw,16px);line-height:1.55;color:rgba(247,247,245,.9);max-width:36ch}

/* Bande de chiffres */
.ab-band{background:var(--ink);color:#F7F7F5;margin-top:clamp(40px,5vw,72px)}
.ab-band__in{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.ab-band__in > div{padding:clamp(30px,3.6vw,52px) clamp(14px,2vw,34px);border-left:1px solid rgba(255,255,255,.14)}
.ab-band__in > div:first-child{border-left:0;padding-left:0}
.ab-band__in b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(34px,4.4vw,64px);line-height:.9;letter-spacing:-.04em}
.ab-band__in span{display:block;margin-top:12px;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(247,247,245,.62)}

/* Compétences en lignes */
.rows{border-top:1px solid var(--ink)}
.row{display:grid;grid-template-columns:56px minmax(240px,.9fr) 1.25fr auto;gap:clamp(14px,2.4vw,40px);
  align-items:start;padding:clamp(24px,2.8vw,40px) clamp(10px,1.4vw,24px);border-bottom:1px solid var(--line-2);
  transition:background .3s,transform .3s}
.row:hover{background:var(--paper)}
.row__n{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--muted);padding-top:9px}
.row h3{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.2vw,32px);line-height:1.04;letter-spacing:-.025em;margin:0}
.row p{margin:0;font-size:14.5px;line-height:1.58;color:var(--muted-2);max-width:52ch}
.row__tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:210px}
.row__tags span{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line);border-radius:2px;padding:4px 7px;white-space:nowrap}

/* Outils : bande sombre */
.section--ink{background:var(--ink);color:#F7F7F5}
.sec-head--dark h2{color:#F7F7F5}
.sec-head--dark p{color:rgba(247,247,245,.62)}
.sec-head--dark .sec-num,.sec-head--dark .side{color:rgba(247,247,245,.45);border-color:rgba(247,247,245,.2)}
.toolwall{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.tool{background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:clamp(20px,2.4vw,32px) 8px;transition:background .25s,color .25s}
.tool img{width:26px;height:26px;opacity:.82;filter:invert(1);transition:opacity .25s,transform .25s}
.tool span{font-family:var(--mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:rgba(247,247,245,.6);text-align:center;line-height:1.3}
.tool:hover{background:#141416}
.tool:hover img{opacity:1;transform:translateY(-2px)}
.tool:hover span{color:#F7F7F5}
.toolwall__note{margin:22px 0 0;font-size:12.5px;color:rgba(247,247,245,.5)}

/* Clients */
.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.logo-cell{background:var(--bg);padding:clamp(26px,3.2vw,46px) clamp(20px,2.4vw,34px);display:flex;flex-direction:column;gap:14px;
  min-height:clamp(150px,16vw,200px);justify-content:center;transition:background .3s}
.logo-cell:hover{background:var(--paper)}
.logo-cell .mark{width:44px;height:44px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:15px;
  letter-spacing:-.02em;border:1.5px solid var(--ink);color:var(--ink);transition:all .3s}
.mark--cir{border-radius:50%}
.mark--dia{transform:rotate(45deg)}
.logo-cell:hover .mark{border-color:var(--accent);color:var(--accent)}
.logo-cell b{font-family:var(--display);font-weight:600;font-size:clamp(16px,1.55vw,21px);letter-spacing:-.025em;line-height:1.1}
.logo-cell i{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.wall__note{margin:20px 0 0;font-size:12px;color:var(--muted);max-width:70ch}

/* Enseignement */
.teach{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(26px,4.5vw,80px);align-items:start}
.teach__big b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(88px,11.2vw,168px);line-height:.78;letter-spacing:-.055em;color:var(--accent)}
.teach__big span{display:block;margin-top:18px;font-family:var(--display);font-weight:600;font-size:clamp(15px,1.4vw,20px);line-height:1.25;letter-spacing:-.02em}
.teach__intro{margin:0 0 clamp(22px,2.6vw,34px);font-size:15.5px;line-height:1.62;color:var(--muted-2);max-width:60ch}
.school{display:grid;grid-template-columns:1fr auto;gap:4px 18px;padding:15px 0;border-top:1px solid var(--line)}
.school:last-child{border-bottom:1px solid var(--line)}
.school b{font-family:var(--display);font-weight:600;font-size:clamp(16px,1.5vw,21px);letter-spacing:-.02em}
.school i{font-style:normal;font-size:13px;color:var(--muted-2);line-height:1.4}

/* CTA sombre */
.bandcta--dark{background:var(--ink);color:#F7F7F5;border:0;border-radius:2px}
.bandcta--dark p{color:#F7F7F5}
.btn-fill--light{background:#F7F7F5;color:var(--ink);border-color:#F7F7F5}
.btn-fill--light:hover{background:var(--accent);border-color:var(--accent);color:#FFFFFF}

@media (max-width:1100px){
  .toolwall{grid-template-columns:repeat(6,1fr)}
  .row{grid-template-columns:44px 1fr;gap:8px 20px}
  .row p{grid-column:2}
  .row__tags{grid-column:2;justify-content:flex-start;max-width:none;margin-top:10px}
  .wall{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ab-hero{padding-top:100px}
  .ab-hero__grid{grid-template-columns:1fr;gap:24px}
  .ab-hero__title{font-size:clamp(38px,11vw,62px)}
  .ab-hero__block{grid-template-columns:1fr;min-height:0}
  .ab-hero__fig img{height:clamp(280px,38vh,380px);min-height:0;object-position:50% 18%}
  .ab-hero__panel{gap:18px}
  .ab-band__in{grid-template-columns:1fr 1fr}
  .ab-band__in > div{padding:22px 12px;border-left:1px solid rgba(255,255,255,.14)}
  .ab-band__in > div:nth-child(odd){border-left:0;padding-left:0}
  .toolwall{grid-template-columns:repeat(4,1fr)}
  .teach{grid-template-columns:1fr;gap:30px}
  .teach__big b{font-size:clamp(80px,26vw,140px)}
  .brand__logo{height:20px}
}
@media (max-width:520px){
  .toolwall{grid-template-columns:repeat(3,1fr)}
  .row{padding-left:0;padding-right:0}
}

@media (max-width:520px){
  .ab-hero__cta{gap:8px}
  .ab-hero__cta .btn-fill,.ab-hero__cta .btn-line{width:100%;justify-content:center;min-height:48px}
  .ab-band__in{border-top:1px solid rgba(255,255,255,.12)}
  .ab-band__in span{font-size:9px;letter-spacing:.1em;line-height:1.4}
  .ab-band__in b{font-size:clamp(30px,10vw,44px)}
  .ab-hero__panel{padding:22px 4px 26px}
}

/* ============ IA & AGENTS ============ */
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-2);border:1px solid var(--line-2)}
.ai-card{background:var(--bg);padding:clamp(26px,3vw,42px) clamp(22px,2.6vw,38px);display:flex;flex-direction:column;gap:12px;transition:background .3s}
.ai-card:hover{background:var(--paper)}
.ai-card__k{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.ai-card h3{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.1vw,29px);line-height:1.05;letter-spacing:-.025em;margin:0}
.ai-card p{margin:0;font-size:14px;line-height:1.56;color:var(--muted-2);max-width:42ch}
.ai-card ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 14px;margin:4px 0 0;padding:0}
.ai-card li{font-family:var(--mono);font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:7px}
.ai-card li::before{content:"";width:4px;height:4px;background:var(--accent);border-radius:50%;flex:none}

.under{background:var(--ink);color:#F7F7F5;margin-top:clamp(22px,2.6vw,34px);
  display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(26px,4vw,64px);
  padding:clamp(30px,3.8vw,56px) clamp(24px,3vw,48px)}
.under__head .mono{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.under__head h3{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.6vw,38px);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px}
.under__head p{margin:0;font-size:14px;line-height:1.6;color:rgba(247,247,245,.72);max-width:40ch}
.under__cols{display:flex;flex-direction:column}
.under__cols > div{padding:16px 0;border-top:1px solid rgba(255,255,255,.14)}
.under__cols > div:first-child{border-top:0;padding-top:0}
.under__cols b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(15px,1.45vw,19px);letter-spacing:-.02em;margin-bottom:7px}
.under__cols p{margin:0;font-size:13px;line-height:1.55;color:rgba(247,247,245,.62);max-width:46ch}

.ai-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.2vw,34px);margin-top:clamp(32px,4vw,56px)}
.ai-steps > div{border-top:1px solid var(--line);padding-top:16px}
.ai-steps b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--accent);margin-bottom:14px;font-weight:400}
.ai-steps span{display:block;font-family:var(--display);font-weight:600;font-size:clamp(15px,1.5vw,19px);letter-spacing:-.02em;margin-bottom:8px}
.ai-steps i{display:block;font-style:normal;font-size:12.5px;line-height:1.5;color:var(--muted)}
@media (max-width:900px){
  .ai-grid{grid-template-columns:1fr}
  .under{grid-template-columns:1fr;gap:26px}
  .ai-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.ai-steps{grid-template-columns:1fr}}

/* ============ FILETS : PADDING SYMÉTRIQUE (systématique) ============ */
.timeline div{padding:18px clamp(14px,1.7vw,26px) 0}
.timeline div:first-child{padding-left:0}
.timeline div:last-child{padding-right:0;border-right:0}
.numbers .num{padding:26px clamp(18px,2vw,34px) 0}
.numbers .num:first-child{padding-left:0}
.numbers .num:last-child{padding-right:0;border-right:0}
.step{padding:24px clamp(16px,2vw,30px) 0}
.step:first-child{padding-left:0}
.step:last-child{padding-right:0;border-right:0}
.meta-grid div{padding:18px clamp(14px,1.7vw,26px)}
.meta-grid div:first-child{padding-left:0}
.meta-grid div:last-child{padding-right:0;border-right:0}
.results div{padding:20px clamp(14px,1.7vw,26px) 0}
.results div:first-child{padding-left:0}
.results div:last-child{padding-right:0;border-right:0}
@media (max-width:900px){
  .timeline div{border-right:1px solid var(--line-2);padding:16px 16px 0 0}
  .timeline div:nth-child(2n){border-right:0;padding-right:0}
  .timeline div:nth-child(odd){padding-left:0}
  .timeline{row-gap:18px}
}

.ai-card li{color:var(--muted-2)}
.ai-card li::before{background:var(--ink);opacity:.35}
.ai-card:hover li::before{background:var(--accent);opacity:1}
.ai-card{position:relative}
.ai-card::after{content:"↗";position:absolute;top:clamp(20px,2.4vw,32px);right:clamp(18px,2.2vw,30px);
  font-family:var(--mono);font-size:12px;color:var(--muted);opacity:0;transform:translate(-4px,4px);transition:.3s}
.ai-card:hover::after{opacity:1;transform:none;color:var(--accent)}
.ai-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  margin-top:clamp(30px,3.6vw,50px);padding-top:clamp(22px,2.6vw,34px);border-top:1px solid var(--line)}
.ai-cta p{margin:0;font-size:clamp(14px,1.15vw,16.5px);line-height:1.5;color:var(--muted);max-width:52ch}
.ai-cta b{color:var(--ink);font-weight:500}
.sec-head .side{color:var(--muted-2)}
@media (max-width:600px){.ai-cta{align-items:flex-start}.ai-cta .btn-fill{width:100%;justify-content:center;min-height:48px}}

.under__head{align-self:center}
.under__head p{color:rgba(247,247,245,.8)}
.under__cols p{color:rgba(247,247,245,.7);font-size:13.5px}
.under__head .mono{font-size:9.5px}

/* ============ À PROPOS : signature + chiffres dans le hero ============ */
.ab-sig{margin:0 0 4px;font-family:var(--display);font-weight:700;font-size:clamp(19px,1.7vw,24px);letter-spacing:-.03em;line-height:1}
.ab-sig__sub{margin:0 0 clamp(16px,2vw,24px);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);line-height:1.6}
.ab-stats-hero{display:grid;grid-template-columns:repeat(4,auto);gap:0;margin-top:clamp(24px,3vw,34px);
  border-top:1px solid var(--line);padding-top:clamp(14px,1.6vw,20px)}
.ab-stats-hero > div{padding-right:clamp(14px,1.6vw,26px)}
.ab-stats-hero > div + div{padding-left:clamp(14px,1.6vw,26px);border-left:1px solid var(--line-2)}
.ab-stats-hero > div:last-child{padding-right:0}
.ab-stats-hero b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(22px,2.2vw,32px);line-height:1;letter-spacing:-.035em}
.ab-stats-hero span{display:block;margin-top:7px;font-family:var(--mono);font-size:8.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);line-height:1.4}
@media (max-width:900px){.ab-stats-hero{grid-template-columns:1fr 1fr;gap:0}
  .ab-stats-hero > div{padding:12px 12px 0 0}
  .ab-stats-hero > div:nth-child(odd){padding-left:0;border-left:0}
  .ab-stats-hero > div:nth-child(even){padding-left:14px;border-left:1px solid var(--line-2)}
}

/* Trois blocs : filet continu (plus de tirets séparés) */
.ab-facts{gap:0}
.ab-fact{border-top:1px solid var(--line);padding:16px clamp(22px,2.6vw,40px) 0 0}
.ab-fact:last-child{padding-right:0}
.ab-fact + .ab-fact{border-left:0}
@media (max-width:900px){
  .ab-fact{padding:16px 0 0}
  .ab-fact:not(:first-child){border-top:1px solid var(--line)}
}

/* ============ CTA : halo qui suit la souris ============ */
.cta-glow{position:relative;isolation:isolate;overflow:hidden}
.cta-glow > *:not(.glow){position:relative;z-index:2}
.cta-glow .glow{position:absolute;inset:-25%;z-index:1;pointer-events:none;
  background:
    radial-gradient(34vw 34vw at var(--gx,72%) var(--gy,50%), rgba(201,52,15,.95), rgba(201,52,15,0) 62%),
    radial-gradient(26vw 26vw at calc(var(--gx,72%) + 9%) calc(var(--gy,50%) + 26%), rgba(255,122,60,.6), rgba(255,122,60,0) 60%),
    radial-gradient(30vw 30vw at calc(var(--gx,72%) - 14%) calc(var(--gy,50%) - 40%), rgba(120,26,6,.75), rgba(120,26,6,0) 65%);
  filter:blur(26px) saturate(125%);
  opacity:.8;
  transition:opacity .6s ease}
.cta-glow:hover .glow{opacity:1}
.cta-glow::after{content:"";position:absolute;inset:-60%;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg, rgba(201,52,15,.35), rgba(255,122,60,.12), rgba(201,52,15,.32), rgba(255,122,60,.14), rgba(201,52,15,.35));
  filter:blur(60px);opacity:.5;animation:auroraSpin 22s linear infinite}
@keyframes auroraSpin{to{transform:rotate(360deg)}}
.cta-glow .bandcta p,.bandcta.cta-glow p{position:relative;z-index:2}
.cta-glow .btn-fill--light{position:relative;z-index:2;box-shadow:0 10px 40px rgba(201,52,15,.35)}
@media (prefers-reduced-motion:reduce){.cta-glow::after{animation:none}.cta-glow .glow{transition:none}}

/* ============ PAGE AGENTS IA ============ */
.ia-hero{background:#0C0B09;color:#F7F7F5;padding:clamp(120px,15vh,170px) 0 clamp(48px,6vh,80px);position:relative;overflow:hidden}
.ia-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60vw 50vw at 78% 8%, rgba(201,52,15,.28), transparent 62%),
             radial-gradient(40vw 40vw at 10% 90%, rgba(255,122,60,.10), transparent 65%)}
.ia-hero .wrap{position:relative;z-index:2}
.ia-kick{color:rgba(247,247,245,.6)}
.ia-hero__title{font-family:var(--display);font-weight:700;font-size:clamp(44px,7.4vw,124px);line-height:.85;letter-spacing:-.04em;
  text-transform:uppercase;margin:clamp(20px,3vw,34px) 0 clamp(30px,4vw,52px);max-width:14ch}
.ia-hero__title em{font-style:normal;color:#FF6A3D}
.ia-hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(26px,4vw,72px);align-items:start;
  padding-top:clamp(22px,3vw,34px);border-top:1px solid rgba(255,255,255,.16)}
.ia-hero__lead{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.62;color:rgba(247,247,245,.78);max-width:52ch}
.ia-hero__meta{display:flex;flex-direction:column;gap:16px}
.ia-hero__meta > div{border-top:1px solid rgba(255,255,255,.12);padding-top:12px}
.ia-hero__meta > div:first-child{border-top:0;padding-top:0}
.ia-hero__meta span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#FF6A3D;margin-bottom:6px}
.ia-hero__meta p{margin:0;font-size:13.5px;line-height:1.5;color:rgba(247,247,245,.72);max-width:40ch}
.ia-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(30px,4vw,48px)}
.btn-line--light{display:inline-flex;align-items:center;padding:14px 20px;border:1px solid rgba(247,247,245,.35);border-radius:2px;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#F7F7F5;text-decoration:none;transition:border-color .2s}
.btn-line--light:hover{border-color:#F7F7F5}

.outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.outcome{border-top:1px solid var(--ink);padding:clamp(18px,2vw,26px) clamp(24px,3vw,44px) 0 0}
.outcome:last-child{padding-right:0}
.outcome b{display:block;font-family:var(--display);font-weight:600;font-size:clamp(17px,1.6vw,23px);letter-spacing:-.02em;margin-bottom:10px}
.outcome p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted-2);max-width:38ch}
.limits{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(40px,5vw,72px)}
.limits > div{border-top:1px solid var(--line);padding-top:16px}
.limits b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-weight:400}
.limits p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted-2);max-width:52ch}

.faq{border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:clamp(16px,2vw,24px) 0;font-family:var(--display);font-weight:600;font-size:clamp(16px,1.5vw,21px);letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-weight:400;font-size:18px;color:var(--muted);transition:transform .3s}
.faq details[open] summary::after{content:"−";color:var(--accent)}
.faq p{margin:0 0 clamp(18px,2vw,24px);font-size:14px;line-height:1.6;color:var(--muted-2);max-width:68ch}
@media (max-width:900px){
  .ia-hero{padding-top:104px}
  .ia-hero__grid{grid-template-columns:1fr;gap:26px}
  .outcomes{grid-template-columns:1fr}
  .outcome{padding:16px 0 0}
  .outcome:not(:first-child){border-top:1px solid var(--line-2)}
  .limits{grid-template-columns:1fr;gap:24px}
  .ia-hero__cta .btn-fill,.ia-hero__cta .btn-line{width:100%;justify-content:center;min-height:48px}
}
.ia-kick{color:rgba(247,247,245,.82);font-size:10.5px}
.ia-hero__meta p{color:rgba(247,247,245,.82);font-size:14px}
@media (max-width:900px){.ia-hero__title{font-size:clamp(38px,11vw,64px)}}
.ab-sig{font-size:clamp(20px,1.9vw,27px)}
.ab-stats-hero span{font-size:9px;color:var(--muted-2);letter-spacing:.08em}

/* Mobile : rythme et titres resserrés */
@media (max-width:900px){
  .section{padding-block:clamp(64px,8.4vh,104px)}
  .sec-head{margin-bottom:clamp(34px,5vw,52px)}
  .ia-hero__title{font-size:clamp(31px,8.9vw,46px);line-height:.9;letter-spacing:-.035em}
  .ia-hero__title .br-d{display:none}
  .ia-hero__title{max-width:100%}
  footer .foot{flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:8px}
}
@media (max-width:900px){.ia-hero__title{text-wrap:balance}}

/* CTA : proportions plus franches */
.bandcta--dark{padding:clamp(34px,4.4vw,62px) clamp(26px,3.2vw,56px);gap:clamp(20px,3vw,40px)}
.bandcta--dark p{font-size:clamp(21px,2.9vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.08;max-width:26ch}
.bandcta--dark p b{font-weight:600;color:#FFD9C9}
.bandcta--dark .btn-fill{padding:17px 26px;font-size:10.5px;letter-spacing:.12em}
@media (max-width:700px){
  .bandcta--dark{flex-direction:column;align-items:flex-start;padding:30px 24px}
  .bandcta--dark p{font-size:clamp(19px,6vw,26px);max-width:100%}
  .bandcta--dark .btn-fill{width:100%;justify-content:center;min-height:50px}
}
.bandcta--dark .btn-fill{padding:18px 30px;font-size:11px;min-height:54px;border-radius:2px}

/* ============ RYTHME VERTICAL UNIFIÉ ============ */
:root{
  --s-section:clamp(78px,9.4vh,132px);
  --s-section-sm:clamp(54px,7vh,84px);
  --s-head:clamp(36px,4.2vw,62px);
}
.section{padding-block:var(--s-section)}
.sec-head{margin-bottom:var(--s-head)}
.statement{margin-bottom:clamp(44px,5.4vw,76px)}
.numbers{margin-top:clamp(34px,4.2vw,60px)}
.case{margin-bottom:clamp(24px,3.2vw,44px)}
#studio{padding-top:clamp(86px,11vh,160px)}

/* Bandeau d'appel à l'action : identique partout */
.cta-section{padding:clamp(18px,2.4vh,32px) 0 clamp(40px,5vh,64px)}
.bandcta{margin-top:0;border-top:0;min-height:clamp(176px,17vw,224px);
  padding:clamp(32px,4vw,56px) clamp(24px,3vw,52px)}
footer{margin-top:0}

@media (max-width:900px){
  .section{padding-block:var(--s-section-sm)}
  .sec-head{margin-bottom:clamp(28px,4.4vw,44px)}
  .cta-section{padding:14px 0 clamp(32px,4vh,48px)}
  .bandcta{min-height:0;padding:30px 24px}
}

/* ============================================================
   PAGE AGENTS IA — version graphique claire (2026)
   Hero light, console animée, ticker, schéma de flux
   ============================================================ */

/* --- hero clair --- */
.ia-hero{background:var(--bg);color:var(--ink);padding:clamp(104px,12vh,138px) 0 clamp(38px,5vh,62px);position:relative;overflow:hidden}
.ia-hero::before{content:none}
.ia-hero__mesh{position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(closest-side at 74% 16%,rgba(201,52,15,.11),transparent 72%),
    radial-gradient(closest-side at 96% 78%,rgba(10,10,11,.05),transparent 70%),
    linear-gradient(rgba(10,10,11,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(10,10,11,.055) 1px,transparent 1px);
  background-size:100% 100%,100% 100%,72px 72px,72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 92% 76% at 68% 24%,#000 18%,transparent 80%);
  mask-image:radial-gradient(ellipse 92% 76% at 68% 24%,#000 18%,transparent 80%)}
.ia-hero .wrap{position:relative;z-index:2}
.ia-kick{display:flex;align-items:center;gap:9px;color:var(--muted)}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;animation:livePulse 2.6s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(201,52,15,.45)}70%{box-shadow:0 0 0 9px rgba(201,52,15,0)}100%{box-shadow:0 0 0 0 rgba(201,52,15,0)}}

.ia-hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4.2vw,64px);align-items:center;margin-top:clamp(22px,2.6vw,32px)}
.ia-hero__title{font-family:var(--display);font-weight:700;color:var(--ink);font-size:clamp(36px,5.9vw,98px);line-height:.9;letter-spacing:-.045em;margin:0 0 clamp(18px,2.2vw,28px)}
.ia-hero__title em{font-style:normal;color:var(--accent)}
.ia-hero__lead{margin:0 0 clamp(24px,3vw,34px);font-size:clamp(15px,1.12vw,17px);line-height:1.62;color:var(--muted-2);max-width:46ch}
.ia-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:0}

.ia-hero__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(44px,6vw,82px);border-top:1px solid var(--line)}
.ia-hero__meta>div{border-top:0;padding:clamp(18px,2.2vw,26px) clamp(16px,2vw,28px) 0;border-right:1px solid var(--line-2)}
.ia-hero__meta>div:first-child{padding-left:0}
.ia-hero__meta>div:last-child{border-right:0;padding-right:0}
.ia-hero__meta span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.ia-hero__meta p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted-2);max-width:38ch}

/* --- console --- */
.console{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:2px;
  box-shadow:0 50px 90px -55px rgba(10,10,11,.55),0 0 0 1px rgba(10,10,11,.02);
  font-family:var(--mono);overflow:hidden}
.console::after{content:"";position:absolute;top:0;left:0;width:72px;height:1px;background:var(--accent)}
.console__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:var(--bg);border-bottom:1px solid var(--line-2);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.console__dots{display:flex;gap:4px}
.console__dots i{width:6px;height:6px;border-radius:50%;background:rgba(10,10,11,.16)}
.console__name{letter-spacing:.14em}
.console__live{display:flex;align-items:center;gap:6px;color:var(--accent)}
.console__live i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:livePulse 2.6s infinite}
.console__body{padding:clamp(14px,1.6vw,20px);display:flex;flex-direction:column;gap:10px}
.ln{display:grid;grid-template-columns:38px 64px 1fr;gap:10px;margin:0;font-size:11.5px;line-height:1.5;color:var(--muted-2)}
.ln .t{color:rgba(10,10,11,.34)}
.ln .who{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);padding-top:1px}
.ln--ok .msg{color:var(--ink)}
.ln--ok .msg::before{content:"✓ ";color:var(--accent)}
.ln--dim{opacity:.5}
.ln--cursor .msg{color:var(--ink)}
.caret{display:inline-block;width:6px;height:11px;margin-left:4px;vertical-align:-1px;background:var(--accent);animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.console__foot{display:flex;justify-content:space-between;gap:8px;padding:9px 14px;background:var(--bg);border-top:1px solid var(--line-2);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}

/* --- ticker --- */
.ticker{background:var(--ink);color:#F7F7F5;overflow:hidden;padding:13px 0}
.ticker__track{display:flex;align-items:center;gap:26px;width:max-content;animation:tick 46s linear infinite}
.ticker__track span{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;opacity:.88}
.ticker__track i{font-style:normal;font-size:8px;color:var(--accent)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --- cartes agents --- */
.ai-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.agenticon{width:30px;height:30px;color:var(--accent);opacity:.85;transition:opacity .3s,transform .5s cubic-bezier(.2,.7,.2,1)}
.ai-card:hover .agenticon{opacity:1;transform:translateY(-2px)}

/* --- schéma de flux --- */
.flow{position:relative;border:1px solid var(--line);background:var(--paper);padding:clamp(8px,1.4vw,18px);overflow:hidden}
.flow::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(10,10,11,.09) 1px,transparent 1px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 78%);
  mask-image:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 78%);opacity:.55}
.flow__svg{position:relative;z-index:1;width:100%;height:auto;display:block}
.node rect{fill:var(--paper);stroke:rgba(10,10,11,.42);stroke-width:1.2}
.node--out rect{fill:rgba(10,10,11,.035)}
.node text{font-family:var(--mono);font-size:12px;letter-spacing:.15em;fill:var(--ink);text-anchor:middle}
.wires path{fill:none;stroke:rgba(10,10,11,.45);stroke-width:1.2;stroke-dasharray:3 6;animation:dash 3s linear infinite}
.wires--out path{stroke:rgba(10,10,11,.4)}
@keyframes dash{to{stroke-dashoffset:-20}}
.pulse{fill:var(--accent)}
.pulse--out{fill:var(--ink);opacity:.45}
.core__ring{fill:none;stroke:rgba(10,10,11,.24);stroke-width:1.2}
.core__ring--out{stroke:rgba(10,10,11,.16);stroke-dasharray:3 8;transform-origin:600px 197px;animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.core__disc{fill:var(--bg);stroke:rgba(10,10,11,.5);stroke-width:1.4}
.core__dot{fill:var(--accent)}
.core__label{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;fill:var(--ink);text-anchor:middle;font-weight:700}
.core__sub,.flow__cap{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;fill:var(--muted-2);text-anchor:middle}
.flow__cap{font-size:10px;letter-spacing:.2em;fill:var(--muted)}
.flow__mob{display:none}

/* --- sous le capot (dark rack) --- */
.section--ink{position:relative;overflow:hidden}
.section--ink::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(closest-side at 82% 10%,rgba(255,106,61,.16),transparent 70%)}
.section--ink .wrap{position:relative;z-index:1}
.sec-head--dark h2{color:#F7F7F5}
.sec-head--dark p{color:rgba(247,247,245,.6)}
.sec-head--dark .sec-num{color:#FF6A3D}
.sec-head--dark .side{color:rgba(247,247,245,.45);border-color:rgba(255,255,255,.18)}
.rack{margin-top:0;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.028)}
.rack__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.14);
  font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,247,245,.65)}
.rack__status{display:flex;align-items:center;gap:7px;color:rgba(247,247,245,.8)}
.rack__status i{width:5px;height:5px;border-radius:50%;background:#FF6A3D;box-shadow:0 0 9px rgba(255,106,61,.9);animation:livePulse 2.8s infinite}
.rack__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.rack__col{padding:clamp(20px,2.4vw,32px);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}
.rack__col:last-child{border-right:0}
.rack__head{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:clamp(16px,1.5vw,19px);letter-spacing:-.02em;margin-bottom:10px;color:#F7F7F5}
.led{width:6px;height:6px;border-radius:50%;flex:none;background:#FF6A3D;box-shadow:0 0 9px rgba(255,106,61,.75);animation:ledPulse 3s infinite}
.led--2{background:#F7F7F5;box-shadow:0 0 9px rgba(247,247,245,.5);animation-delay:.8s}
.led--3{animation-delay:1.6s}
@keyframes ledPulse{0%,100%{opacity:1}50%{opacity:.25}}
.rack__col p{margin:0 0 14px;font-size:13px;line-height:1.6;color:rgba(247,247,245,.66)}
.rack__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.rack__chips span{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,247,245,.72);border:1px solid rgba(255,255,255,.18);padding:4px 8px}
.rack__foot{display:flex;flex-wrap:wrap;gap:20px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.14);
  font-family:var(--mono);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(247,247,245,.42)}

/* --- méthode --- */
.method{position:relative;margin-top:clamp(32px,4vw,52px)}
.method__rail{position:absolute;top:0;left:0;right:25%;height:1px}
.method__rail span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 1.7s cubic-bezier(.2,.7,.2,1) .1s}
.method.in .method__rail span{transform:scaleX(1)}
.method__steps{display:grid;grid-template-columns:repeat(4,1fr)}
.method__step{position:relative;border-top:1px solid var(--line);padding:clamp(22px,2.6vw,30px) clamp(14px,1.8vw,26px) 0}
.method__step:first-child{padding-left:0}
.method__step:last-child{padding-right:0}
.method__step::before{content:"";position:absolute;top:-3.5px;left:clamp(14px,1.8vw,26px);width:6px;height:6px;border-radius:50%;background:var(--bg);border:1px solid var(--accent)}
.method__step:first-child::before{left:0}
.method__step b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--accent)}
.method__step span{display:block;font-family:var(--display);font-weight:600;font-size:clamp(18px,1.8vw,24px);letter-spacing:-.025em;margin:10px 0 8px;line-height:1.05}
.method__step i{font-style:normal;display:block;font-size:13px;line-height:1.6;color:var(--muted-2)}

@media (max-width:1000px){
  .ia-hero__grid{grid-template-columns:1fr;gap:clamp(26px,5vw,40px)}
  .ia-hero__meta{grid-template-columns:1fr}
  .ia-hero__meta>div{border-right:0;padding:14px 0;border-top:1px solid var(--line-2)}
  .ia-hero__meta>div:first-child{border-top:0;padding-top:0}
  .rack__grid{grid-template-columns:1fr}
  .rack__col{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .rack__col:last-child{border-bottom:0}
  .method__steps{grid-template-columns:1fr 1fr;gap:0}
  .method__rail{right:50%}
  .method__step:nth-child(3){padding-left:0}
  .method__step:nth-child(3)::before{left:0}
}
@media (max-width:900px){
  .flow__svg{display:none}
  .flow{padding:clamp(16px,4vw,22px)}
  .flow__mob{display:flex;flex-direction:column;gap:0;list-style:none;margin:0;padding:0}
  .flow__mob li{display:flex;flex-direction:column;gap:4px;padding:16px 0;border-top:1px solid var(--line-2)}
  .flow__mob li:first-child{border-top:0;padding-top:0}
  .flow__mob b{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
  .flow__mob span{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.02em;color:var(--ink)}
}
@media (max-width:640px){
  .method__steps{grid-template-columns:1fr}
  .method__step{padding:20px 0 0}
  .method__step::before{left:0}
  .method__rail{display:none}
  .console__foot span:nth-child(2){display:none}
  .ln{grid-template-columns:32px 54px 1fr;font-size:10px}
  .ticker{padding:11px 0}
}

/* --- simulateur de gains --- */
.roi{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);background:var(--paper)}
.roi__panel{padding:clamp(24px,3vw,40px);border-right:1px solid var(--line-2);display:flex;flex-direction:column;gap:clamp(22px,2.6vw,32px)}
.roi__lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.roi__lab span{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.roi__lab output{font-family:var(--display);font-weight:600;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.roi input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;margin:0;outline:none;cursor:pointer;
  background:linear-gradient(90deg,var(--accent) 0 var(--p,30%),rgba(10,10,11,.16) var(--p,30%) 100%)}
.roi input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--accent);border:2px solid var(--paper);cursor:grab;box-shadow:0 0 0 1px var(--accent),0 2px 8px rgba(10,10,11,.18);transition:box-shadow .2s}
.roi input[type=range]:hover::-webkit-slider-thumb,.roi input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--accent),0 0 0 7px rgba(201,52,15,.14)}
.roi input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}
.roi input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border:2px solid var(--paper);cursor:grab;box-shadow:0 0 0 1px var(--accent)}
.roi input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:8px}
.roi__scale{display:flex;justify-content:space-between;margin-top:12px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:rgba(10,10,11,.45)}
.roi__foot{margin:0;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);border-top:1px solid var(--line-2);padding-top:14px}
.roi__out{padding:clamp(26px,3vw,40px);display:flex;flex-direction:column;justify-content:center;background:var(--bg)}
.roi__kick{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.roi__big{font-family:var(--display);font-weight:700;font-size:clamp(44px,5.4vw,80px);line-height:.9;letter-spacing:-.045em;margin:10px 0 6px;font-variant-numeric:tabular-nums;display:block}
.roi__unit{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.roi__rows{margin-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line)}
.roi__rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.roi__rows>div:last-child{border-bottom:0}
.roi__rows span{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.roi__rows b{font-family:var(--display);font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}
.roi__note{margin:14px 0 0;font-size:12px;line-height:1.55;color:var(--muted)}
@media (max-width:860px){
  .roi{grid-template-columns:1fr}
  .roi__panel{border-right:0;border-bottom:1px solid var(--line-2)}
  .roi__big{font-size:clamp(40px,11vw,64px)}
}

/* ============================================================
   PAGE SERVICES — hero radial + cartes illustrées
   ============================================================ */
.sv-hero{background:var(--bg);padding:clamp(104px,12vh,138px) 0 clamp(26px,4vh,46px);position:relative;overflow:hidden}
.sv-hero__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(18px,2.4vw,28px)}
.sv-hero__title{font-family:var(--display);font-weight:700;font-size:clamp(38px,5.9vw,100px);line-height:.9;letter-spacing:-.045em;margin:0 0 clamp(16px,2vw,24px)}
.sv-hero__lead{margin:0;font-size:clamp(15px,1.12vw,17px);line-height:1.62;color:var(--muted-2);max-width:46ch}
.sunburst__label{display:none;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:22px 0 0}
.sunburst{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:clamp(24px,3vw,36px);border-top:1px solid var(--line);padding-top:14px}
.sunburst__item{display:flex;align-items:baseline;gap:8px;padding-right:16px;margin-right:16px;border-right:1px solid var(--line-2)}
.sunburst__item:last-child{border-right:0;padding-right:0;margin-right:0}
.sunburst__item b{font-family:var(--mono);font-size:9px;letter-spacing:.1em;color:var(--accent)}
.sunburst__item span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}
.sv-hero__fig svg{width:100%;max-width:430px;margin-left:auto;display:block}
.sv-hero__fig .ring{fill:none;stroke:rgba(10,10,11,.2);stroke-width:1}
.sv-hero__fig .ring--in{stroke:rgba(10,10,11,.12);stroke-dasharray:2 6}
.sv-hero__fig .ring--dash{stroke:rgba(10,10,11,.1)}
.sv-hero__fig .spokes path{stroke:rgba(10,10,11,.24);stroke-width:1;stroke-dasharray:3 5}
.sv-hero__fig .dots circle{fill:var(--accent)}
.sv-hero__fig .core-dot{fill:var(--accent)}
.fig-num{font-family:var(--mono);font-size:10px;letter-spacing:.16em;fill:var(--muted);text-anchor:middle}
.fig-core{font-family:var(--mono);font-size:9px;letter-spacing:.3em;fill:var(--ink);text-anchor:middle}
.fig-core--2{letter-spacing:.24em;fill:var(--muted)}
.sv-hero__meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:clamp(34px,5vw,60px)}
.sv-hero__meta>div{padding:clamp(16px,2vw,22px) clamp(14px,2vw,26px) 0;border-right:1px solid var(--line-2)}
.sv-hero__meta>div:first-child{padding-left:0}
.sv-hero__meta>div:last-child{border-right:0;padding-right:0}
.sv-hero__meta span{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.sv-hero__meta p{margin:0;font-size:13.5px;line-height:1.55;color:var(--muted-2);max-width:36ch}

/* cartes de prestations */
.sv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-2)}
.sv-card{background:var(--paper);display:flex;flex-direction:column}
.sv-card--wide{grid-column:1/-1}
.sv-card__fig{background:var(--bg-2);border-bottom:1px solid var(--line-2);overflow:hidden;height:clamp(168px,15.5vw,232px)}
.sv-card--wide .sv-card__fig{height:clamp(180px,17vw,250px)}
.sv-card__fig svg{width:100%;height:100%;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.sv-card:hover .sv-card__fig svg{transform:scale(1.025)}
.sv-card__body{padding:clamp(20px,2.4vw,30px);display:flex;flex-direction:column;gap:10px;flex:1}
.sv-card__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.sv-card__n{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--accent)}
.sv-card__dur{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sv-card h3{font-family:var(--display);font-weight:600;font-size:clamp(22px,2.4vw,34px);line-height:1.02;letter-spacing:-.03em;margin:0}
.sv-card p{margin:0;font-size:14px;line-height:1.6;color:var(--muted-2);max-width:56ch}
.sv-tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding:10px 0 0}
.sv-tags li{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);border:1px solid var(--line);padding:4px 8px;background:var(--bg)}
.sv-card__link{margin-top:4px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-top:1px solid var(--line-2);padding-top:12px;display:flex;justify-content:space-between;gap:10px}
.sv-card__link:hover{text-decoration:underline}

/* figures SVG des cartes */
.f-aa{font-family:var(--display);font-weight:700;font-size:118px;fill:var(--ink);letter-spacing:-.05em}
.f-lines path{stroke:rgba(10,10,11,.26);stroke-width:1}
.f-mono{fill:none;stroke:rgba(10,10,11,.42);stroke-width:1.2}
.f-mono-let{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.f-chips rect{stroke:rgba(10,10,11,.2);stroke-width:1;fill:var(--paper)}
.f-chip-2{fill:#DEDED8}
.f-chip-3{fill:var(--accent);stroke:var(--accent)}
.f-photo{fill:rgba(10,10,11,.05);stroke:rgba(10,10,11,.32);stroke-width:1;stroke-dasharray:3 4}
.f-mark path{stroke:rgba(10,10,11,.5);stroke-width:1.4}
.f-crop path{stroke:rgba(10,10,11,.26);stroke-width:1}
.f-accent{fill:var(--accent);opacity:.85}
.f-win{fill:var(--paper);stroke:rgba(10,10,11,.4);stroke-width:1.2}
.f-win-bar{stroke:rgba(10,10,11,.24)}
.f-dot{fill:rgba(10,10,11,.3)}
.f-block{fill:rgba(10,10,11,.07);stroke:rgba(10,10,11,.16);stroke-width:1}
.f-block2{fill:none;stroke:rgba(10,10,11,.22);stroke-width:1;stroke-dasharray:3 4}
.f-txt path{stroke:rgba(10,10,11,.28);stroke-width:2}
.f-txt-lg path{stroke:rgba(10,10,11,.34);stroke-width:3}
.f-loop path{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round}
.f-tag{fill:rgba(10,10,11,.07);stroke:rgba(10,10,11,.18)}
.f-wire path{stroke:rgba(10,10,11,.28);stroke-width:1;stroke-dasharray:3 4}
.f-node{fill:var(--paper);stroke:rgba(10,10,11,.45);stroke-width:1.2}
.f-node-s{fill:var(--paper);stroke:rgba(10,10,11,.35);stroke-width:1.2}
.f-node-s.f-accent{fill:var(--accent);stroke:none;opacity:1}

/* livrables */
.deliver{margin-top:clamp(30px,3.6vw,46px);border:1px solid var(--line);background:var(--paper);display:grid;grid-template-columns:.92fr 1.08fr}
.deliver__head{padding:clamp(22px,2.6vw,32px);border-right:1px solid var(--line-2)}
.deliver__head .mono{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.deliver__head p{margin:0;font-size:14px;line-height:1.6;color:var(--muted-2);max-width:34ch}
.deliver__cols{display:grid;grid-template-columns:1fr 1fr}
.deliver__cols>div{padding:clamp(18px,2.2vw,26px)}
.deliver__cols>div:nth-child(2n){border-left:1px solid var(--line-2)}
.deliver__cols>div:nth-child(n+3){border-top:1px solid var(--line-2)}
.deliver__cols b{display:block;font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:-.02em;margin-bottom:6px}
.deliver__cols span{font-size:13px;line-height:1.55;color:var(--muted)}

/* méthode à trois temps */
.method__steps--3{grid-template-columns:repeat(3,1fr)}
.method__steps--3+.method__rail,.method:has(.method__steps--3) .method__rail{right:33.334%}
.method__step em{display:block;margin-top:10px;font-style:normal;font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}

@media (max-width:1000px){
  .sv-hero__grid{grid-template-columns:1fr;gap:clamp(20px,5vw,36px)}
  .sv-hero__fig svg{margin:0 auto;max-width:340px}
  .sv-hero__meta{grid-template-columns:1fr}
  .sv-hero__meta>div{border-right:0;border-top:1px solid var(--line-2);padding:14px 0}
  .sv-hero__meta>div:first-child{border-top:0;padding-top:0}
  .sv-grid{grid-template-columns:1fr}
  .deliver{grid-template-columns:1fr}
  .deliver__head{border-right:0;border-bottom:1px solid var(--line-2)}
  .method__steps--3{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .method__steps--3{grid-template-columns:1fr}
  .deliver__cols{grid-template-columns:1fr}
  .deliver__cols>div:nth-child(2n){border-left:0}
  .deliver__cols>div:nth-child(n+2){border-top:1px solid var(--line-2)}
  .sunburst__item{padding-right:12px;margin-right:12px}
}

.sv-hero__fig .dot-nums text{font-family:var(--mono);font-size:7.5px;font-weight:700;fill:var(--paper);text-anchor:middle;letter-spacing:.02em}
.sv-hero__fig .fig-labels text{font-family:var(--mono);font-size:8px;letter-spacing:.14em;fill:var(--muted);text-anchor:middle}

.sv-card__fig .f-bg{fill:none}
.sv-card__fig .f-chip-3{fill:var(--accent);stroke:var(--accent)}

.sv-card__fig .f-aa{font-size:150px}
.sv-card__fig .f-chips rect{fill:var(--ink);stroke:none}
.sv-card__fig .f-chips .f-chip-2{fill:#C7C7C0}
.sv-card__fig .f-chips .f-chip-3{fill:var(--accent)}
.sv-card__fig .f-cap{font-family:var(--mono);font-size:8px;letter-spacing:.16em;fill:var(--muted);text-anchor:middle}
.sv-card__fig .f-mono{stroke:rgba(10,10,11,.35)}
.sv-card--wide .sv-card__fig{height:clamp(200px,20vw,280px)}

/* services : lisibilité et mobile */
.method__rail{height:2px}
.method__rail span{background:var(--accent)}
.deliver__head p{color:var(--muted-2)}
.deliver__cols span{color:var(--muted-2)}
.deliver__cols>div:nth-child(2n){border-left-color:var(--line)}
.deliver__cols>div:nth-child(n+3){border-top-color:var(--line)}
@media (max-width:700px){
  .sv-hero__fig{display:none}
  .sunburst__label{display:block}
  .sunburst{flex-direction:column;gap:0;margin-top:24px;border-top:1px solid var(--line)}
  .sunburst__item{border-right:0;border-bottom:1px solid var(--line-2);padding:11px 0;margin:0;align-items:baseline}
  .sunburst__item:last-child{border-bottom:0}
  .sunburst__item span{font-size:10px}
}

/* ============================================================
   PAGES SERVICE DÉDIÉES
   ============================================================ */
.sp-hero{background:var(--bg);padding:clamp(104px,12vh,138px) 0 clamp(28px,4vh,48px);position:relative;overflow:hidden}
.sp-hero__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(24px,4vw,58px);align-items:center;margin-top:clamp(18px,2.4vw,28px)}
.sp-hero__title{font-family:var(--display);font-weight:700;font-size:clamp(36px,5.4vw,90px);line-height:.91;letter-spacing:-.045em;margin:0 0 clamp(16px,2vw,24px)}
.sp-hero__lead{margin:0 0 clamp(22px,2.8vw,32px);font-size:clamp(15px,1.1vw,17px);line-height:1.62;color:var(--muted-2);max-width:48ch}
.sp-hero__cta{display:flex;flex-wrap:wrap;gap:10px}
.sp-hero__fig{position:relative}
.sp-hero__fig svg{width:100%;max-width:520px;height:auto;display:block;margin-left:auto}
.sp-hero__fig .f-bg{fill:none}
.sp-hero__fig .f-aa{font-family:var(--display);font-weight:700;fill:var(--ink);letter-spacing:-.05em}
.sp-hero__fig .f-lines path{stroke:rgba(10,10,11,.22);stroke-width:1}
.sp-hero__fig .f-mono{fill:none;stroke:rgba(10,10,11,.38);stroke-width:1.2}
.sp-hero__fig .f-mono-let{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.sp-hero__fig .f-chips rect{fill:var(--ink);stroke:none}
.sp-hero__fig .f-chips .f-chip-2{fill:#C7C7C0}
.sp-hero__fig .f-chips .f-chip-3{fill:var(--accent)}

.sp-items{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(26px,3.6vw,52px)}
.sp-item{display:grid;grid-template-columns:38px 1fr;gap:12px;border-top:1px solid var(--line-2);padding:clamp(18px,2.2vw,26px) 0}
.sp-item b{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--accent);padding-top:5px}
.sp-item h3{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.55vw,21px);line-height:1.1;letter-spacing:-.025em;margin:0 0 6px}
.sp-item p{margin:0;font-size:13.5px;line-height:1.6;color:var(--muted-2);max-width:48ch}

@media (max-width:1000px){
  .sp-hero__grid{grid-template-columns:1fr}
  .sp-hero__fig{order:-1}
  .sp-hero__fig svg{max-width:360px;margin:0 auto}
}
@media (max-width:700px){
  .sp-hero__fig{display:none}
  .sp-items{grid-template-columns:1fr}
  .sp-item{grid-template-columns:32px 1fr}
}

/* liste des prestations : une ligne par métier, texte + visuel */
.sv-rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.sv-row{display:grid;grid-template-columns:1fr .84fr;gap:clamp(22px,3.4vw,52px);align-items:center;
  padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid var(--line-2);text-decoration:none;color:inherit}
.sv-row__body{display:flex;flex-direction:column;gap:10px;min-width:0}
.sv-row__top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;max-width:540px}
.sv-row__n{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--accent)}
.sv-row__dur{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sv-row h3{font-family:var(--display);font-weight:600;font-size:clamp(26px,2.9vw,40px);line-height:1;letter-spacing:-.035em;margin:0;transition:color .25s}
.sv-row p{margin:0;font-size:14.5px;line-height:1.58;color:var(--muted-2);max-width:50ch}
.sv-row .sv-tags{margin:2px 0 0;padding:0}
.sv-row__more{margin-top:6px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px}
.sv-row__more span{transition:transform .3s}
.sv-row:hover h3{color:var(--accent)}
.sv-row:hover .sv-row__more span{transform:translate(3px,-3px)}
.sv-row__media{border:1px solid var(--line-2);background:var(--bg-2);overflow:hidden;aspect-ratio:620/300;min-width:0}
.sv-row__media svg{width:100%;height:100%;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.sv-row:hover .sv-row__media svg{transform:scale(1.035)}
@media (max-width:860px){
  .sv-row{grid-template-columns:1fr;gap:18px;padding:26px 0}
  .sv-row__media{aspect-ratio:16/9}
  .sv-row h3{font-size:clamp(24px,7vw,32px)}
}

.sv-row__media .f-bg{fill:none}
.sv-row__media .f-chips rect{fill:var(--ink);stroke:none}
.sv-row__media .f-chips .f-chip-2{fill:#C7C7C0}
.sv-row__media .f-chips .f-chip-3{fill:var(--accent)}

.sp-hero + .section{padding-top:clamp(46px,6vh,76px)}

.sv-row__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.sp-hero__fig img{width:100%;max-width:560px;height:auto;display:block;margin-left:auto;border:1px solid var(--line-2);background:var(--bg-2)}

@media (min-width:861px){.sv-row{grid-template-columns:1.1fr .9fr}}
.sv-row__media{aspect-ratio:3/2}
.sv-row__media img{object-position:center}
@media (max-width:860px){.sv-row__media{aspect-ratio:3/2}}

.sp-hero__grid{gap:clamp(22px,3.2vw,46px)}
.sp-hero__fig img{max-width:none;width:100%}

@media (max-width:700px){
  .sp-hero__fig{display:block;order:0;margin-top:6px}
  .sp-hero__fig img{width:100%;max-width:none}
}

/* ============================================================
   NAVIGATION : menu Services déroulant + panneau mobile
   ============================================================ */
.nav-drop{position:relative;display:inline-flex;align-items:center}
.nav-drop__btn{display:inline-flex;align-items:center;gap:5px}
.nav-drop__btn svg{width:10px;height:10px;transition:transform .25s var(--ease)}
.nav-drop:hover .nav-drop__btn svg,.nav-drop:focus-within .nav-drop__btn svg{transform:rotate(180deg)}
.nav-drop__panel{
  position:absolute;top:calc(100% + 16px);left:-18px;min-width:272px;
  display:flex;flex-direction:column;padding:8px;
  background:var(--bg);border:1px solid var(--line-2);
  box-shadow:0 22px 50px rgba(10,10,11,.10);
  opacity:0;visibility:hidden;transform:translateY(-7px);
  transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.nav-drop:hover .nav-drop__panel,.nav-drop:focus-within .nav-drop__panel{opacity:1;visibility:visible;transform:none}
.nav-mid .nav-drop__panel a{
  display:flex;align-items:baseline;gap:9px;padding:9px 10px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted-2);text-decoration:none;transition:color .18s,background .18s;
}
.nav-mid .nav-drop__panel a span{color:var(--accent);font-size:9px;letter-spacing:.12em}
.nav-mid .nav-drop__panel a:hover{background:var(--bg-2);color:var(--ink)}
.nav-mid .nav-drop__panel a[aria-current="page"]{color:var(--ink)}
.nav-mid .nav-drop__panel a[aria-current="page"]::after{display:none}
.nav-mid .nav-drop__panel .nav-drop__all{
  margin-top:6px;border-top:1px solid var(--line-2);padding-top:11px;color:var(--accent);
}
.nav-mid .nav-drop__panel .nav-drop__all span{color:var(--accent)}

.nav-burger{
  display:none;width:38px;height:34px;padding:0;margin-right:2px;
  align-items:center;justify-content:center;flex-direction:column;gap:5px;
  background:none;border:1px solid var(--line);cursor:pointer;
}
.nav-burger span{display:block;width:15px;height:1.4px;background:currentColor;transition:transform .25s var(--ease),opacity .2s}
.nav--open .nav-burger span:first-child{transform:translateY(3.2px) rotate(45deg)}
.nav--open .nav-burger span:last-child{transform:translateY(-3.2px) rotate(-45deg)}

.navpanel{display:none;position:fixed;inset:0;z-index:1;background:var(--bg);
  padding:96px var(--pad) calc(40px + env(safe-area-inset-bottom));overflow-y:auto}
.nav--open .navpanel{display:block}
.nav--open{background:var(--bg);border-bottom-color:var(--line-2);backdrop-filter:none;-webkit-backdrop-filter:none}
body.has-dark-hero .nav--open .brand__logo{display:block}
body.has-dark-hero .nav--open .brand__logo--light{display:none}
.navpanel__l{display:block;font-family:var(--display);font-weight:600;font-size:clamp(26px,7.4vw,34px);
  line-height:1.12;letter-spacing:-.03em;color:var(--ink);text-decoration:none;padding:7px 0}
.navpanel__sub{margin:4px 0 12px;border-left:1px solid var(--line-2)}
.navpanel__sub a{display:flex;gap:9px;align-items:baseline;padding:8px 0 8px 14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);text-decoration:none}
.navpanel__sub a span{color:var(--accent);font-size:9px;letter-spacing:.12em}

@media (max-width:1100px){.nav-burger{display:inline-flex}}
@media (min-width:1101px){.navpanel{display:none!important}}

.nav-mid .nav-drop__panel a[aria-current="page"]{background:var(--bg-2);color:var(--ink);font-weight:700;
  box-shadow:inset 2px 0 0 var(--accent)}

.nav-in{position:relative;z-index:2}
body.has-dark-hero .nav.nav--open .brand__logo{display:block!important}
body.has-dark-hero .nav.nav--open .brand__logo--light{display:none!important}

.nav.nav--open .nav-cta,.nav.nav--open .nav-cta:hover{background:var(--ink);color:#fff;opacity:1;border-color:transparent}

.nav.solid.nav--open,.nav.scrolled.nav--open{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--bg)}

/* ============================================================
   PAGE RÉALISATIONS — film de projets
   ============================================================ */
.rl-hero{background:var(--bg);padding:clamp(112px,14vh,150px) 0 clamp(30px,4vh,54px)}
.rl-hero__title{font-family:var(--display);font-weight:700;letter-spacing:-.05em;line-height:.86;
  font-size:clamp(46px,9vw,150px);margin:clamp(16px,2.4vw,28px) 0 clamp(26px,4vh,46px)}
.rl-line{display:block;overflow:hidden}
.rl-line>span{display:block;transform:translateY(112%);transition:transform 1.05s cubic-bezier(.16,1,.3,1)}
.rl-line:nth-child(2)>span{transition-delay:.08s}
.rl-hero.is-in .rl-line>span{transform:none}
.rl-hero__title .thin{font-weight:300;letter-spacing:-.055em}
.rl-hero__foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,60px);align-items:end;
  border-top:1px solid var(--line-2);padding-top:clamp(18px,2.4vw,28px)}
.rl-hero__lead{margin:0;max-width:44ch;font-size:clamp(14.5px,1.06vw,16.5px);line-height:1.6;color:var(--muted-2)}
.rl-hero__lead b{font-weight:500;color:var(--ink)}
.rl-hero__nums{display:flex;gap:clamp(20px,2.6vw,40px)}
.rl-hero__nums div{display:flex;flex-direction:column;gap:2px}
.rl-hero__nums b{font-family:var(--display);font-weight:600;font-size:clamp(24px,2.4vw,34px);line-height:1;letter-spacing:-.03em}
.rl-hero__nums span{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* sommaire */
.rl-index{border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--bg)}
.rl-row{display:grid;grid-template-columns:44px minmax(0,1.1fr) minmax(0,1.2fr) 54px 22px;gap:clamp(10px,2vw,28px);
  align-items:baseline;padding:clamp(13px,1.5vw,18px) 0;border-bottom:1px solid var(--line-2);
  text-decoration:none;color:inherit;transition:background .25s,padding .25s}
.rl-row:last-child{border-bottom:0}
.rl-row:hover{background:var(--ink);color:#F7F7F5;padding-inline:clamp(12px,1.6vw,22px)}
.rl-row__n{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;color:var(--accent)}
.rl-row__name{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.7vw,23px);letter-spacing:-.025em}
.rl-row__tags{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rl-row:hover .rl-row__tags{color:rgba(247,247,245,.62)}
.rl-row__y{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--muted);text-align:right}
.rl-row:hover .rl-row__y{color:rgba(247,247,245,.62)}
.rl-row__a{font-size:13px;color:var(--accent);text-align:right;transition:transform .3s}
.rl-row:hover .rl-row__a{transform:translate(3px,-3px)}

/* film */
.rl-film{position:relative}
.rl-p{position:relative;height:145svh;z-index:1}
.rl-p__media{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.rl-p--paper .rl-p__media{background:var(--bg)}
.rl-p--tint .rl-p__media{background:var(--bg-2)}
.rl-p--dark .rl-p__media{background:#0C0B0A}
.rl-p--ink .rl-p__media{background:#0A0A0B}
.rl-p__media::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2}
.rl-p--paper .rl-p__media::after,.rl-p--tint .rl-p__media::after{background:linear-gradient(to top,rgba(247,247,245,.92) 0%,rgba(247,247,245,.45) 26%,rgba(247,247,245,0) 52%)}
.rl-p--dark .rl-p__media::after,.rl-p--ink .rl-p__media::after{background:linear-gradient(to top,rgba(10,10,11,.94) 0%,rgba(10,10,11,.5) 30%,rgba(10,10,11,0) 58%)}
.rl-scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;will-change:transform}
.rl-scene__word{position:absolute;font-family:var(--display);font-weight:700;letter-spacing:-.05em;
  font-size:clamp(90px,19vw,290px);line-height:.8;white-space:nowrap;pointer-events:none;user-select:none}
.rl-p--paper .rl-scene__word,.rl-p--tint .rl-scene__word{color:rgba(10,10,11,.055)}
.rl-p--dark .rl-scene__word,.rl-p--ink .rl-scene__word{color:rgba(247,247,245,.06)}
.art{position:relative;display:grid;place-items:center;width:min(780px,86vw);height:min(460px,44svh);z-index:1}
.art>*{transform:scale(1.9);transform-origin:center}
.rl-p--paper .sc-pack i{background:#0B0B0B}

.rl-p__info{position:absolute;z-index:3;left:var(--pad);bottom:clamp(34px,7vh,80px);max-width:min(560px,84vw)}
.rl-p:nth-child(even) .rl-p__info{left:auto;right:var(--pad)}
.rl-p--paper .rl-p__info,.rl-p--tint .rl-p__info{color:var(--ink)}
.rl-p--dark .rl-p__info,.rl-p--ink .rl-p__info{color:#F7F7F5}
.rl-p__kicker{margin:0 0 10px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.rl-p__info h2{font-family:var(--display);font-weight:700;font-size:clamp(40px,6.4vw,104px);line-height:.88;letter-spacing:-.05em;margin:0 0 clamp(12px,1.6vw,18px)}
.rl-p__desc{margin:0 0 clamp(14px,1.8vw,20px);font-size:clamp(14px,1.05vw,16px);line-height:1.6;max-width:46ch;opacity:.82}
.rl-p__tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 clamp(14px,1.8vw,20px);padding:0}
.rl-p__tags li{font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;border:1px solid currentColor;opacity:.55}
.rl-p__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.rl-p__link span{transition:transform .3s}
.rl-p__link:hover span{transform:translate(3px,-3px)}

/* services en fin de page */
.rl-svc{background:var(--bg);padding-block:var(--s-section);position:relative;z-index:2}
.rl-svc__grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);margin-top:clamp(24px,3vw,40px)}
.rl-svc__card{position:relative;display:flex;flex-direction:column;gap:8px;padding:clamp(18px,2vw,26px) clamp(14px,1.6vw,22px) clamp(26px,3vw,36px);
  border-right:1px solid var(--line-2);text-decoration:none;color:inherit;transition:background .3s}
.rl-svc__card:last-child{border-right:0}
.rl-svc__card:hover{background:var(--bg-2)}
.rl-svc__n{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--accent)}
.rl-svc__card h3{font-family:var(--display);font-weight:600;font-size:clamp(17px,1.5vw,21px);line-height:1.05;letter-spacing:-.03em;margin:0}
.rl-svc__card p{margin:0;font-size:13px;line-height:1.5;color:var(--muted-2);max-width:24ch}
.rl-svc__a{position:absolute;right:clamp(14px,1.6vw,22px);bottom:clamp(16px,2vw,24px);color:var(--accent);font-size:12px;transition:transform .3s}
.rl-svc__card:hover .rl-svc__a{transform:translate(3px,-3px)}

@media (max-width:1100px){
  .rl-svc__grid{grid-template-columns:repeat(2,1fr)}
  .rl-svc__card{border-bottom:1px solid var(--line-2)}
  .rl-svc__card:nth-child(2n){border-right:0}
  .rl-svc__card:last-child{border-bottom:0;border-right:0}
}
@media (max-width:860px){
  .rl-hero__foot{grid-template-columns:1fr;gap:20px}
  .rl-row{grid-template-columns:34px minmax(0,1fr) 44px;gap:12px}
  .rl-row__tags{display:none}
  .rl-p{height:auto}
  .rl-p__media{position:relative;height:auto;padding:clamp(30px,6vw,48px) 0 clamp(26px,5vw,40px);display:block}
  .rl-p__media::after{display:none}
  .rl-scene{position:relative;inset:auto;height:clamp(200px,44vw,300px)}
  .rl-scene__word{font-size:clamp(64px,22vw,140px)}
  .art{height:100%;width:100%}
  .art>*{transform:scale(1.05)}
  .rl-p__info,.rl-p:nth-child(even) .rl-p__info{position:relative;left:auto;right:auto;bottom:auto;max-width:none;
    padding:0 var(--pad)}
  .rl-p__info h2{font-size:clamp(34px,10vw,52px)}
}

.art>*{transform:scale(1.7)}
.rl-scene__word{opacity:.75}
.rl-p__desc{font-size:clamp(15px,1.12vw,17px);opacity:.9}
.rl-p__tags li{font-size:9px;padding:6px 10px;opacity:.75}
.rl-p--dark .sc-book .pg,.rl-p--dark .sc-book .bk{box-shadow:0 40px 70px -30px rgba(0,0,0,.75)}

.rl-p__desc{text-wrap:pretty}
@media (max-width:860px){
  .rl-p__info{padding-top:clamp(18px,4vw,26px)}
  .rl-p__link{padding:8px 0 6px}
}

/* accueil : liens vers les pages intérieures */
.side a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .2s}
.side a:hover{opacity:.7}
.rate:hover{background:rgba(10,10,11,.035);padding-left:14px}
.rate:hover h3{color:var(--accent)}
.rate h3{transition:color .25s}

/* bandeau de services réutilisable, y compris sur fond teinté */
.section--tint .rl-svc__grid{border-top-color:var(--line)}
.section--tint .rl-svc__card:hover{background:var(--paper)}

@media (max-width:1100px){
  .rl-svc__card:last-child{grid-column:1/-1;border-right:0}
  .rl-svc__card p{max-width:32ch}
}

/* ============================================================
   Bandeau contact (accueil) : dégradé animé + halo qui suit la souris
   ============================================================ */
.contact{
  background:linear-gradient(118deg,#A82708 0%,#C0300E 30%,#9E2406 58%,#BB3009 82%,#A82708 100%);
  background-size:240% 240%;
  animation:contactFlow 16s ease-in-out infinite;
  overflow:hidden;isolation:isolate;
}
.contact > .glow{
  position:absolute;inset:-25%;z-index:0;pointer-events:none;
  background:
    radial-gradient(38vw 38vw at var(--gx,70%) var(--gy,45%),rgba(255,124,66,.30),rgba(255,124,66,0) 62%),
    radial-gradient(14vw 14vw at var(--gx,70%) var(--gy,45%),rgba(255,168,120,.22),rgba(255,168,120,0) 70%);
  filter:blur(46px) saturate(108%);
}
.contact > *:not(.glow){position:relative;z-index:2}
.contact::before{display:none}
@keyframes contactFlow{
  0%{background-position:0% 42%}
  50%{background-position:100% 58%}
  100%{background-position:0% 42%}
}
@media (prefers-reduced-motion:reduce){
  .contact{animation:none}
}

/* ============================================================
   CORRECTIF RESPONSIVE MOBILE — lisibilité sous 700 px
   1. titres de section : plus de gouttière de 44 px, le titre
      reprend toute la largeur utile
   2. micro-textes sous 11 px remontés à 10,5-11,5 px
   ============================================================ */
@media (max-width:700px){
  .sec-head{grid-template-columns:1fr;gap:6px}
  .sec-head .sec-num{padding-top:0}
  .sec-head h2{max-width:100%}
  .ab-sig__sub{font-size:11.5px;letter-spacing:.07em;line-height:1.55}
  .ab-stats-hero span{font-size:10.5px;letter-spacing:.06em}
  .ln{font-size:11.5px}
  .ln .who{font-size:10px;letter-spacing:.1em}
  .console__foot{font-size:10px}
  .roi__foot{font-size:10.5px;letter-spacing:.07em}
  .roi__kick,.roi__rows span,.roi__lab span{font-size:10px;letter-spacing:.1em}
  .roi__scale{font-size:10px}
  .roi__unit{font-size:10.5px}
}
