/* ==========================================================================
   EOS Consulting — feuille de style
   Bleu nuit & or · Cormorant Garamond (titres) · Manrope (texte)
   ========================================================================== */

/* ---------- Polices auto-hébergées (aucun appel à Google) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/cormorant-garamond-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/cormorant-garamond-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(../assets/fonts/cormorant-garamond-latin-wght-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url(../assets/fonts/cormorant-garamond-latin-ext-wght-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../assets/fonts/manrope-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url(../assets/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Jetons de design ---------- */
:root{
  --navy-0:#060F1F;
  --navy-1:#081428;
  --navy-2:#091529;
  --navy-3:#0A1729;
  --navy-4:#0B1B33;
  --navy-5:#0C1D36;
  --navy-6:#0E2140;
  --gold:#CBA35A;
  --gold-light:#E6C98A;
  --gold-pale:#F0DCAE;
  --gold-deep:#B08A3E;
  --gold-soft:#C3A362;
  --gold-ink:#9A7A2E;
  --gold-ink-2:#8C6E27;
  --cream:#FAF7F1;
  --paper:#FFFEFB;
  --sand:#F2EBDD;
  --line:#E5DCCB;
  --ink:#14243D;
  --ink-2:#44566F;
  --ink-3:#55677F;
  --ink-4:#3C4E68;
  --mist:#AFBDD0;
  --mist-2:#95A5B9;
  --mist-3:#93A3B8;
  --slate:#6E7D92;
  --slate-2:#7C8CA3;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  --grad-gold:linear-gradient(135deg,#E6C98A,#CBA35A 55%,#B08A3E);
  --grad-gold-text:linear-gradient(100deg,#F0DCAE,#CBA35A 48%,#E6C98A);
  --pad-x:44px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--navy-3);color:var(--cream);font-family:var(--sans);overflow-x:hidden}
body.page-work{background:var(--navy-0)}
body.page-about{background:var(--cream);color:var(--ink)}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
img{display:block;max-width:100%;height:auto}
::selection{background:var(--gold);color:var(--navy-3)}
:where(a){color:var(--gold);text-decoration:none;transition:color .3s ease}
:where(a:hover){color:var(--gold-light)}
:where(.page-about a){color:var(--gold-ink)}
:where(.page-about a:hover){color:var(--gold)}
:where(input,textarea,select,button){font:inherit;color:inherit}
:where(input,textarea)::placeholder{color:var(--slate-2);opacity:1}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:1px solid var(--gold);outline-offset:2px}
.skip-link{position:absolute;left:16px;top:-60px;z-index:200;background:var(--gold);color:var(--navy-3);font-size:13px;font-weight:700;padding:10px 16px;border-radius:2px;transition:top .2s ease}
.skip-link:focus{top:16px;color:var(--navy-3)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.container{position:relative;max-width:1320px;margin:0 auto;padding:0 var(--pad-x)}
.container--1240{max-width:1240px}
.container--1000{max-width:1000px}
.container--820{max-width:820px}
section[id]{scroll-margin-top:70px}

/* ---------- Animations ---------- */
@keyframes eosFloatSlow{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-22px) rotate(.6deg)}}
@keyframes eosGlow{0%,100%{opacity:.38;transform:scale(1)}50%{opacity:.72;transform:scale(1.06)}}
@keyframes eosMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes eosGrow{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
@keyframes eosTwinkle{0%,100%{opacity:.75;transform:scale(.82) rotate(0deg)}50%{opacity:1;transform:scale(1.12) rotate(8deg)}}
@keyframes eosHalo{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}
@keyframes eosDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes eosMarch{to{stroke-dashoffset:-36}}
@keyframes eosSlide{0%{transform:translateX(0);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(118px);opacity:0}}
@keyframes eosBar{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.72)}}
@keyframes eosBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes eosCursor{0%,100%{transform:translate(0,0)}35%{transform:translate(-120px,40px)}65%{transform:translate(-60px,78px)}}
@keyframes eosShimmer{0%{transform:translateX(-100%)}60%,100%{transform:translateX(260%)}}
@keyframes eosSpinSlow{to{transform:rotate(360deg)}}

/* Apparition au défilement (activée seulement si JS est disponible) */
.js [data-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js [data-reveal="1"]{transition-delay:.07s}
.js [data-reveal="2"]{transition-delay:.14s}
.js [data-reveal="3"]{transition-delay:.21s}
.js [data-reveal="4"]{transition-delay:.28s}
.js [data-reveal="5"]{transition-delay:.35s}
.js [data-reveal="6"]{transition-delay:.42s}
.js [data-reveal="7"]{transition-delay:.49s}
.js [data-reveal="8"]{transition-delay:.56s}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- Typographie commune ---------- */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.2vw,52px);line-height:1.1;margin:0 0 20px;color:var(--cream);text-wrap:pretty}
.title em{font-style:italic;color:var(--gold-light)}
.title--lg{font-size:clamp(32px,4.4vw,56px)}
.lead{font-size:16.5px;line-height:1.74;color:var(--mist);font-weight:300}
.text-gold{font-style:italic;background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--cream)}
.on-light{color:var(--ink)}
.on-light .eyebrow{color:var(--gold-ink-2)}
.on-light .title{color:var(--ink)}
.on-light .title em{color:var(--gold-ink)}
.on-light .lead{color:var(--ink-3)}
.section-head{max-width:700px;margin-bottom:clamp(40px,5vw,62px)}
.section-head--center{max-width:760px;margin:0 auto clamp(48px,6vw,76px);text-align:center}
.section-head--split{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(40px,5vw,64px)}
.section-head--split > div{max-width:640px}

/* ---------- Boutons ---------- */
.btn{display:inline-block;border-radius:2px;font-weight:600;letter-spacing:.02em;text-align:center;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s ease,background .4s ease,border-color .4s ease}
.btn-gold{background:var(--grad-gold);color:var(--navy-3);font-size:14px;font-weight:700;padding:17px 34px;border:0;box-shadow:0 14px 40px -16px rgba(203,163,90,.8)}
.btn-gold:hover{color:var(--navy-3);transform:translateY(-3px);box-shadow:0 20px 50px -16px rgba(203,163,90,1)}
.btn-gold--nav{font-size:13px;letter-spacing:.03em;padding:13px 26px;white-space:nowrap;box-shadow:0 8px 28px -12px rgba(203,163,90,.75);transition:transform .35s var(--ease),box-shadow .35s ease}
.btn-gold--nav:hover{transform:translateY(-2px);box-shadow:0 14px 34px -12px rgba(203,163,90,.95)}
.btn-gold--xl{padding:18px 38px;letter-spacing:0}
.btn-ghost{border:1px solid rgba(203,163,90,.42);color:var(--gold-light);font-size:13px;letter-spacing:.04em;padding:15px 30px}
.btn-ghost:hover{color:var(--gold-light);background:rgba(203,163,90,.1);transform:translateY(-3px)}
.btn-ghost--lg{font-size:14px;letter-spacing:.02em;padding:16px 32px}
.btn-ghost--lg:hover{border-color:var(--gold)}
.btn-navy{background:var(--ink);color:var(--cream);font-size:13px;letter-spacing:.04em;padding:16px 32px}
.btn-navy:hover{background:var(--navy-4);color:var(--cream);transform:translateY(-3px)}
.btn-navy--lg{font-size:14px;letter-spacing:.03em;padding:18px 36px}
.btn-outline{border:1px solid var(--gold-soft);color:var(--gold-ink);font-size:14px;letter-spacing:.03em;padding:17px 34px}
.btn-outline:hover{color:var(--gold-ink);background:rgba(203,163,90,.12);transform:translateY(-3px)}
.btn-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.btn-row--center{justify-content:center}

/* ==========================================================================
   Navigation
   ========================================================================== */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 0;border-bottom:1px solid rgba(203,163,90,0);transition:background .45s ease,backdrop-filter .45s ease,border-color .45s ease,padding .45s ease}
.nav.is-scrolled{background:rgba(6,15,31,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:rgba(203,163,90,.18);padding:13px 0}
.nav--solid,.nav--solid.is-scrolled{background:rgba(6,15,31,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav__brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.nav__logo{height:38px;width:auto}
.nav__tagline{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.02em;padding-left:14px;border-left:1px solid rgba(203,163,90,.28);white-space:nowrap}
.nav__links{display:flex;align-items:center;gap:6px}
.nav__link{color:#E7E2D9;font-size:13.5px;font-weight:500;letter-spacing:.04em;padding:10px 16px;border-radius:2px;white-space:nowrap;transition:color .3s ease}
.nav__link:hover{color:var(--gold)}
.nav__link[aria-current="page"]{color:var(--gold);font-weight:600}
.lang{display:flex;align-items:center;gap:2px;margin:0 10px;padding:0 12px;border-left:1px solid rgba(231,226,217,.16);border-right:1px solid rgba(231,226,217,.16)}
.lang__btn{background:none;border:none;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:.1em;padding:6px 8px;color:var(--slate);transition:color .3s ease}
.lang__btn:hover{color:var(--gold-light)}
.lang__btn[aria-pressed="true"]{color:var(--gold)}
.lang__sep{color:rgba(231,226,217,.3);font-size:11px}
.burger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;padding:0;background:none;border:1px solid rgba(203,163,90,.34);border-radius:2px;cursor:pointer}
.burger span{display:block;width:19px;height:1.4px;background:var(--gold);transition:transform .35s var(--ease),opacity .25s ease,width .35s var(--ease),margin .35s var(--ease)}
.burger span:last-child{width:13px;margin-left:6px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.4px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){width:19px;margin-left:0;transform:translateY(-6.4px) rotate(-45deg)}

.mmenu{position:fixed;inset:0;z-index:99;display:none;flex-direction:column;justify-content:center;gap:4px;padding:96px 32px 48px;background:rgba(6,15,31,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.mmenu.is-open{display:flex}
.mmenu__link{font-family:var(--serif);font-size:34px;color:var(--cream);padding:14px 0;border-bottom:1px solid rgba(203,163,90,.14)}
.mmenu__link:hover,.mmenu__link[aria-current="page"]{color:var(--gold-light)}
.mmenu__lang{display:flex;align-items:center;gap:14px;margin-top:34px}
.mmenu__lang button{background:none;border:1px solid rgba(203,163,90,.4);color:var(--gold);padding:10px 20px;font-size:12px;font-weight:700;letter-spacing:.12em;cursor:pointer;border-radius:2px;transition:background .3s ease}
.mmenu__lang button[aria-pressed="true"]{background:rgba(203,163,90,.14)}

/* ==========================================================================
   Accueil — Hero
   ========================================================================== */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(1200px 700px at 78% 18%,#15325C 0%,#0C1D36 42%,#081326 72%,#060F1F 100%)}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9}
.hero__shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(6,15,31,.55) 0%,transparent 26%,transparent 68%,rgba(6,15,31,.82) 100%);pointer-events:none}
.hero__inner{z-index:2;width:100%;padding-top:130px;padding-bottom:80px}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:64px;align-items:center}
.hero__eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:30px;font-size:11px;font-weight:600;letter-spacing:.34em;color:var(--gold);text-transform:uppercase}
.hero__eyebrow::before{content:"";display:block;flex-shrink:0;width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5.6vw,80px);line-height:1.04;letter-spacing:-.015em;margin:0 0 30px;color:var(--cream);text-wrap:pretty}
.hero__sub{max-width:520px;font-size:17px;line-height:1.72;color:var(--cream);font-weight:300;margin:0 0 42px;text-wrap:pretty}
.hero__art{position:relative}
.hero__halo{position:absolute;left:50%;top:14%;width:min(560px,100%);height:340px;transform:translateX(-50%);background:radial-gradient(circle,rgba(203,163,90,.3) 0%,transparent 62%);filter:blur(24px);animation:eosGlow 7s ease-in-out infinite;pointer-events:none}
.hero__logo{position:relative;width:min(500px,86%);margin:0 auto 22px;filter:drop-shadow(0 0 44px rgba(203,163,90,.34));animation:eosFloatSlow 11s ease-in-out infinite}

/* Maquette de tableau de bord */
.dash{position:relative;border-radius:8px;overflow:hidden;border:1px solid rgba(203,163,90,.3);background:linear-gradient(160deg,#102544,#0A1A31);box-shadow:0 44px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.04) inset}
.dash__bar{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid rgba(203,163,90,.16);background:rgba(6,15,31,.5)}
.dash__title{display:flex;align-items:center;gap:8px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist-3)}
.dash__title::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.dash__q{font-size:9px;letter-spacing:.14em;color:var(--slate)}
.dash__body{padding:16px;display:grid;gap:12px}
.dash__kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.dash__kpi{background:rgba(203,163,90,.07);border:1px solid rgba(203,163,90,.16);border-radius:4px;padding:10px 9px}
.dash__k{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:var(--mist-3)}
.dash__v{font-family:var(--serif);font-size:21px;color:var(--gold-light);line-height:1.1}
.dash__row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}
.dash__panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:4px;padding:12px}
.dash__panel--area{padding:12px 12px 6px}
.dash__panel--donut{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.dash__ptitle{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist-3);margin-bottom:10px}
.dash__panel--donut .dash__ptitle{align-self:flex-start;margin-bottom:0}
.dash__area{display:block;width:100%;height:82px}
.dash__donut{position:relative;width:74px;height:74px;border-radius:50%;background:conic-gradient(#E6C98A 0 42%,#CBA35A 42% 68%,#7E6428 68% 86%,#2A4368 86% 100%)}
.dash__donut span{position:absolute;inset:11px;border-radius:50%;background:var(--navy-5);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--gold-light)}
.dash__bars{display:flex;align-items:flex-end;gap:5px;height:58px;margin-top:1px}
.dash__bars i{flex:1;height:var(--h);border-radius:1.5px;background:linear-gradient(to top,rgba(203,163,90,.25),var(--gold));transform-origin:bottom;animation:eosGrow 1.1s var(--ease) var(--d) both}
.dash__bars i.is-hi{background:linear-gradient(to top,rgba(230,201,138,.3),var(--gold-light))}
.dash__bars i.is-top{background:linear-gradient(to top,rgba(230,201,138,.3),var(--gold-pale))}

/* ==========================================================================
   Accueil — Signature
   ========================================================================== */
.signature{position:relative;background:var(--navy-0);padding:clamp(70px,9vw,120px) 0;overflow:hidden;border-top:1px solid rgba(203,163,90,.12)}
.signature__glow{position:absolute;left:-10%;top:50%;width:70%;height:180%;transform:translateY(-50%);background:radial-gradient(ellipse at center,rgba(203,163,90,.08),transparent 62%);pointer-events:none}
.signature__inner{text-align:center}
.ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:34px}
.ornament::before,.ornament::after{content:"";width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.ornament::after{background:linear-gradient(90deg,var(--gold),transparent)}
.ornament span{display:block;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.ornament--title{gap:12px;width:200px;margin:0 auto 22px}
.ornament--title::before,.ornament--title::after{width:auto;flex:1}
.signature__quote{font-family:var(--serif);font-size:clamp(28px,4vw,52px);line-height:1.24;font-weight:300;color:var(--cream);text-wrap:pretty}
.signature__quote em{font-style:italic;color:var(--gold-light)}
.signature__sub{margin:30px auto 0;max-width:620px;font-size:16px;line-height:1.74;color:var(--mist-2);font-weight:300}

/* ==========================================================================
   Accueil — Méthode
   ========================================================================== */
.method{position:relative;background:linear-gradient(180deg,#060F1F,#0B1B33 50%,#060F1F);padding:clamp(80px,10vw,140px) 0;overflow:hidden}
.method .section-head{margin-bottom:clamp(48px,6vw,80px)}
.method__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:2px;background:rgba(203,163,90,.14)}
.step{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;background:var(--navy-2);padding:clamp(28px,3vw,40px) clamp(22px,2.4vw,32px);transition:background .5s ease}
.step:hover{background:var(--navy-6)}
.step__num{margin-bottom:24px}
.step__num span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(203,163,90,.4);border-radius:50%;font-family:var(--serif);font-size:19px;color:var(--gold-light)}
.step--final .step__num span{border-color:rgba(203,163,90,.45);color:var(--navy-3);background:linear-gradient(135deg,#E6C98A,#CBA35A)}
.step__title{font-size:15px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);margin:0 0 10px}
.step__lead{font-family:var(--serif);font-style:italic;font-size:18px;line-height:1.4;color:var(--gold-light);margin:0 0 22px}
.step__item{padding-top:14px}
.step__item--first{border-top:1px solid rgba(203,163,90,.22);padding-top:20px}
.step__label{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.step__text{font-size:13.5px;line-height:1.62;color:var(--mist);font-weight:300}
.method__foot{text-align:center;margin:clamp(40px,5vw,64px) 0 0;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

/* ==========================================================================
   Accueil — Expertises
   ========================================================================== */
.expertise{position:relative;background:linear-gradient(180deg,#F7F3EC 0%,#F1EADD 100%);padding:clamp(80px,10vw,140px) 0;overflow:hidden}
.expertise__mark{position:absolute;right:-6%;top:40px;width:min(560px,46vw);pointer-events:none}
.expertise__mark img{width:100%;opacity:.07}
.expertise .title{font-weight:500;font-size:clamp(34px,4.6vw,60px);line-height:1.08;margin-bottom:22px}
.expertise .lead{color:var(--ink-2);line-height:1.76}
.xgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.2vw,32px)}
.xcard{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid #E6DDCC;border-radius:6px;overflow:hidden;box-shadow:0 22px 50px -36px rgba(20,36,61,.4);transition:transform .6s var(--ease),box-shadow .6s ease,border-color .6s ease}
.xcard:hover{transform:translateY(-8px);box-shadow:0 44px 80px -40px rgba(20,36,61,.55);border-color:#D6C39C}
.xcard__media{position:relative;height:clamp(200px,18vw,236px);background:radial-gradient(420px 220px at 70% 20%,#1E4172 0%,#10264A 48%,#0A1830 100%);overflow:hidden}
.xcard__media::before{content:"";position:absolute;inset:0;background:radial-gradient(220px 140px at 30% 100%,rgba(203,163,90,.18),transparent 70%);pointer-events:none}
.xcard__sheen{position:absolute;top:0;bottom:0;width:30%;background:linear-gradient(90deg,transparent,rgba(240,220,174,.08),transparent);animation:eosShimmer 7s ease-in-out var(--d,.8s) infinite;pointer-events:none}
.xcard__ill{position:absolute;inset:clamp(12px,1.6vw,20px) clamp(14px,2vw,28px)}
.xcard__ill svg{display:block;width:100%;height:100%}
.xcard__tag{position:absolute;left:clamp(20px,2.4vw,32px);top:18px;font-size:9.5px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-light);background:rgba(6,15,31,.55);border:1px solid rgba(203,163,90,.35);padding:6px 11px;border-radius:2px}
.xcard__rule{height:2px;background:linear-gradient(90deg,#CBA35A,#F0DCAE 50%,#CBA35A)}
.xcard__body{display:flex;flex-direction:column;flex:1;padding:clamp(28px,3vw,42px)}
.xcard__title{font-family:var(--serif);font-size:clamp(26px,2.5vw,32px);font-weight:600;line-height:1.15;margin:0 0 14px;color:var(--ink)}
.xcard__text{font-size:15px;line-height:1.75;color:var(--ink-2);margin:0 0 26px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding:0;list-style:none}
.chip{font-size:11.5px;font-weight:500;letter-spacing:.05em;color:var(--ink);background:#F6F1E7;border:1px solid #E6DDCC;padding:7px 13px;border-radius:2px;transition:background .3s ease,border-color .3s ease,color .3s ease}
.chip:hover{background:var(--navy-4);border-color:var(--navy-4);color:var(--gold-light)}

/* ==========================================================================
   Accueil — Pourquoi EOS
   ========================================================================== */
.why{position:relative;background:radial-gradient(1000px 520px at 45% 0%,#F8F5EF 0%,#F3EEE6 58%,#EEE7DB 100%);color:var(--ink);padding:clamp(80px,10vw,120px) 0 clamp(70px,8vw,110px);overflow:hidden}
.why__arcs{position:absolute;right:0;top:0;width:min(440px,32vw);height:420px;pointer-events:none}
.why__arcs svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.why__intro{display:grid;grid-template-columns:minmax(0,.9fr) 1px minmax(0,1.1fr);gap:clamp(32px,4vw,64px);align-items:center;margin-bottom:clamp(50px,6vw,70px)}
.why__logo{display:flex;justify-content:center}
.why__logo img{width:100%;max-width:460px}
.why__divider{align-self:stretch;background:linear-gradient(to bottom,transparent,rgba(203,163,90,.7),transparent)}
.why__title{font-family:var(--serif);font-weight:600;font-size:clamp(40px,5.2vw,72px);line-height:1.04;letter-spacing:-.01em;margin:0 0 26px;color:#0F1E36;text-wrap:pretty}
.why__title .accent{color:var(--gold-deep)}
.why__rule{width:64px;height:1px;background:var(--gold);margin-bottom:24px}
.why__tagline{font-size:clamp(13px,1.2vw,15.5px);font-weight:500;letter-spacing:.16em;text-transform:uppercase;line-height:1.9;color:var(--ink)}
.why__tagline .accent{color:var(--gold-deep)}
.why__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:2px}
.why__col{position:relative;height:clamp(500px,44vw,620px);overflow:hidden}
.why__col + .why__col{border-left:1px solid rgba(203,163,90,.4)}
.why__bgwrap{position:absolute;left:0;right:0;top:-30px;bottom:-30px}
.why__bg{position:absolute;inset:0;background-size:cover;background-position:center bottom;opacity:.5;filter:grayscale(.45) sepia(.22) contrast(.82) brightness(1.08) blur(.8px);transform:scale(1.02);transition:opacity 1s ease,filter 1s ease,transform 1.6s var(--ease)}
.why__col:hover .why__bg{opacity:.72;filter:grayscale(.25) sepia(.18) contrast(.9) brightness(1.04) blur(0);transform:scale(1.07)}
.why__fade{position:absolute;inset:0;background:linear-gradient(to bottom,#F3EEE6 0%,rgba(243,238,230,.97) 30%,rgba(243,238,230,.7) 46%,rgba(243,238,230,.18) 70%,rgba(243,238,230,.05) 100%);pointer-events:none}
.why__content{position:relative;padding:clamp(24px,2.4vw,34px) clamp(18px,2vw,30px) 0;pointer-events:none}
.why__head{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}
.why__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1C3A64,#0B1B33 70%);box-shadow:0 12px 26px -12px rgba(11,27,51,.7),inset 0 0 0 1px rgba(203,163,90,.35)}
.why__num{font-family:var(--serif);font-style:italic;font-size:30px;line-height:1;color:#B8964F;margin-bottom:10px}
.why__h{font-size:13.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.55;color:var(--ink)}
.why__h::after{content:"";display:block;width:30px;height:1px;background:var(--gold);margin-top:14px}
.why__text{font-size:14.5px;line-height:1.72;color:#2A3B55}
.why__quote{position:relative;z-index:2;margin-top:clamp(28px,3.4vw,44px);overflow:hidden;background:linear-gradient(120deg,#0A1729,#0E1F3B 60%,#0A1729);border-radius:16px;padding:clamp(30px,3.6vw,44px) clamp(64px,8vw,130px);box-shadow:0 30px 60px -30px rgba(11,27,51,.7),inset 0 0 0 1px rgba(203,163,90,.5);text-align:center}
.why__quote-arcs{position:absolute;right:0;top:0;bottom:0;width:48%;pointer-events:none}
.why__quote-arcs svg{position:absolute;inset:0;width:100%;height:100%}
.qmark{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--serif);font-weight:600;font-size:clamp(56px,5.4vw,84px);line-height:1;color:#C9A55E}
.qmark--open{left:clamp(18px,5vw,90px)}
.qmark--close{right:clamp(18px,5vw,90px)}
.why__quote p{position:relative;max-width:720px;margin:0 auto;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.6vw,34px);line-height:1.34;color:var(--cream);text-wrap:pretty}
.why__quote .hl{color:var(--gold-light)}

/* Éclat lumineux (étoile à quatre branches) */
.sparkle{--s:34px;--delay:0s;position:absolute;width:0;height:0;pointer-events:none;z-index:1}
.sparkle__halo{position:absolute;left:calc(var(--s) * -.55);top:calc(var(--s) * -.55);width:calc(var(--s) * 1.1);height:calc(var(--s) * 1.1);border-radius:50%;background:radial-gradient(circle,rgba(255,252,240,1) 0%,rgba(255,238,196,.85) 12%,rgba(236,206,140,.35) 34%,rgba(230,201,138,0) 68%);animation:eosHalo 4.2s ease-in-out var(--delay) infinite}
.sparkle__rays{position:absolute;left:0;top:0;width:0;height:0;animation:eosTwinkle 4.2s ease-in-out var(--delay) infinite}
.sparkle__rays i{position:absolute;display:block}
.sparkle__rays i:nth-child(1){left:calc(var(--s) * -1);top:-.6px;width:calc(var(--s) * 2);height:1.2px;background:linear-gradient(90deg,rgba(255,246,220,0),rgba(255,250,236,1) 50%,rgba(255,246,220,0))}
.sparkle__rays i:nth-child(2){left:-.6px;top:calc(var(--s) * -.8);width:1.2px;height:calc(var(--s) * 1.6);background:linear-gradient(180deg,rgba(255,246,220,0),rgba(255,250,236,1) 50%,rgba(255,246,220,0))}
.sparkle__rays i:nth-child(3),.sparkle__rays i:nth-child(4){left:calc(var(--s) * -.35);top:-.5px;width:calc(var(--s) * .7);height:1px;background:linear-gradient(90deg,rgba(255,246,220,0),rgba(255,246,220,.7) 50%,rgba(255,246,220,0));transform:rotate(45deg)}
.sparkle__rays i:nth-child(4){transform:rotate(-45deg)}
.why__arcs .sparkle{left:90.9%;top:41.7%}
.why__quote-arcs .sparkle{--s:26px;--delay:1.2s;left:76%;top:60%}

/* ==========================================================================
   Accueil — Aperçu des réalisations
   ========================================================================== */
.work{position:relative;background:linear-gradient(180deg,#060F1F,#0B1B33 55%,#081428);padding:clamp(80px,10vw,140px) 0;overflow:hidden}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.wcard{display:flex;flex-direction:column;color:inherit;border:1px solid rgba(203,163,90,.2);border-radius:6px;overflow:hidden;background:linear-gradient(165deg,#0E2140,#0A1830);transition:transform .55s var(--ease),border-color .5s ease,box-shadow .5s ease}
.wcard:hover{color:inherit;transform:translateY(-8px);border-color:rgba(203,163,90,.55);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.wcard__viz{position:relative;height:180px;padding:22px;display:flex;flex-direction:column;justify-content:center;background:rgba(6,15,31,.4);border-bottom:1px solid rgba(203,163,90,.14)}
.wcard__body{display:flex;flex-direction:column;flex:1;padding:clamp(24px,2.6vw,34px)}
.wcard__sector{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.wcard__sector::after{content:"";flex:1;height:1px;background:rgba(203,163,90,.2)}
.wcard__title{font-family:var(--serif);font-size:clamp(23px,2.2vw,28px);font-weight:500;line-height:1.18;margin:0 0 12px;color:var(--cream);text-wrap:pretty}
.wcard__text{font-size:14.5px;line-height:1.7;color:var(--mist-2);font-weight:300;margin:0 0 20px}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
.tag{font-size:10.5px;letter-spacing:.06em;color:var(--gold-light);border:1px solid rgba(203,163,90,.3);padding:5px 10px;border-radius:2px}
.mini-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.mini-kpi{background:rgba(203,163,90,.08);border:1px solid rgba(203,163,90,.18);border-radius:3px;padding:10px}
.mini-kpi .k,.kv .k{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--mist-3)}
.mini-kpi .v{font-family:var(--serif);font-size:20px;color:var(--gold-light)}
.pairs{display:flex;align-items:flex-end;gap:10px;height:70px}
.pairs span{flex:1;display:flex;align-items:flex-end;gap:3px;height:100%}
.pairs i{flex:1;height:var(--h);border-radius:1px;background:rgba(147,163,184,.28)}
.pairs i + i{background:linear-gradient(to top,rgba(203,163,90,.25),var(--gold-light))}
.viz-row{display:flex;align-items:center;gap:18px}
.donut{position:relative;flex-shrink:0;width:96px;height:96px;border-radius:50%;background:conic-gradient(#E6C98A 0 52.5%,rgba(255,255,255,.08) 52.5% 100%)}
.donut span{position:absolute;inset:12px;border-radius:50%;background:var(--navy-5);display:flex;flex-direction:column;align-items:center;justify-content:center}
.donut b{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--gold-light);line-height:1}
.donut small{font-size:7px;letter-spacing:.12em;color:var(--mist-3);margin-top:3px;text-transform:uppercase}
.kv-list{flex:1;display:grid;gap:8px}
.kv{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid rgba(203,163,90,.14);padding-bottom:6px}
.kv .k{font-size:8.5px}
.kv .v{font-family:var(--serif);font-size:19px;color:var(--gold-light)}
.heat{flex-shrink:0;display:grid;grid-template-columns:repeat(5,16px);gap:4px}
.heat i{display:block;width:16px;height:16px;border-radius:2px;background:rgba(147,163,184,.16)}
.heat i.l1{background:rgba(203,163,90,.35)}
.heat i.l2{background:rgba(203,163,90,.65)}
.heat i.l3{background:var(--gold-light)}
.work__note{margin:clamp(30px,4vw,44px) 0 0;font-size:12px;letter-spacing:.06em;color:var(--slate);text-align:center}

/* ==========================================================================
   Accueil — Secteurs & technologies
   ========================================================================== */
.sectors{position:relative;background:var(--cream);padding:clamp(80px,10vw,130px) 0}
.sector-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:0 clamp(24px,3vw,48px);border-top:1px solid var(--line);padding:0;list-style:none}
.sector-list li{padding:17px 4px;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink);transition:color .35s ease,padding-left .35s ease}
.sector-list li:hover{color:var(--gold-ink);padding-left:10px}
.tech{position:relative;background:var(--sand);padding:clamp(80px,10vw,130px) 0;overflow:hidden}
.tech .section-head{margin-bottom:clamp(36px,4.5vw,56px)}
.marquee{position:relative;overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.marquee__track{display:flex;width:max-content;animation:eosMarquee 46s linear infinite}
.marquee__group{display:flex;gap:14px;padding:0 14px 0 0;margin:0;list-style:none}
.marquee__group li{white-space:nowrap;font-size:14px;letter-spacing:.04em;color:var(--ink);background:var(--paper);border:1px solid #E1D6C1;padding:13px 26px;border-radius:2px}

/* ==========================================================================
   Déroulement d'une mission (frise)
   ========================================================================== */
.process{position:relative;background:var(--navy-0);padding:clamp(80px,10vw,140px) 0;overflow:clip}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,5vw,80px);align-items:start}
.sticky{position:sticky;top:120px}
.process .lead{margin-bottom:30px}
.timeline{position:relative;padding-left:34px;border-left:1px solid rgba(203,163,90,.2);list-style:none;margin:0}
.tl-item{position:relative;padding-bottom:clamp(32px,4vw,46px)}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-42px;top:2px;width:15px;height:15px;border-radius:50%;background:var(--navy-0);border:1px solid var(--gold)}
.tl-item--final::before{background:linear-gradient(135deg,#E6C98A,#CBA35A)}
.tl-step{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.tl-title{font-family:var(--serif);font-size:26px;font-weight:500;color:var(--cream);margin:0 0 12px}
.tl-text{font-size:15px;line-height:1.74;color:var(--mist-2);font-weight:300}
.timeline--light{padding-left:32px;border-left-color:#DED2BB}
.timeline--light .tl-item{padding-bottom:clamp(30px,4vw,44px)}
.timeline--light .tl-item:last-child{padding-bottom:0}
.timeline--light .tl-item::before{left:-40px;top:3px;background:var(--sand);border-color:var(--gold-soft)}
.timeline--light .tl-item--now::before{background:linear-gradient(135deg,#E6C98A,#C3A362);border-color:var(--gold-ink)}
.tl-date{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink-2);margin-bottom:10px}
.timeline--light .tl-title{color:var(--ink);margin-bottom:10px}
.timeline--light .tl-text{line-height:1.76;color:var(--ink-3)}
.timeline .tl-list li{font-size:15px}
.mini-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.mini-chips span{font-size:11px;letter-spacing:.05em;color:var(--ink-4);background:var(--cream);border:1px solid #E1D6C1;padding:5px 10px;border-radius:2px}

/* ==========================================================================
   Accueil — À propos (aperçu)
   ========================================================================== */
.about-teaser{position:relative;background:var(--cream);padding:clamp(80px,10vw,130px) 0}
.about-teaser__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(36px,5vw,72px);align-items:center}
.emblem{position:relative}
.emblem::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid #D8CBB4;border-radius:4px}
.emblem__frame{position:relative;aspect-ratio:4/5;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(520px 420px at 50% 42%,#1D3E6B 0%,#10264A 42%,#081528 100%);box-shadow:0 40px 80px -44px rgba(11,27,51,.8)}
.emblem__rays{position:absolute;left:50%;top:44%;width:130%;height:130%;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(240,220,174,.09) 0deg 2deg,transparent 2deg 12deg);-webkit-mask-image:radial-gradient(circle,#000 10%,transparent 62%);mask-image:radial-gradient(circle,#000 10%,transparent 62%);pointer-events:none}
.emblem__glow{position:absolute;left:50%;top:42%;width:70%;height:55%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(230,201,138,.38),transparent 64%);filter:blur(10px);animation:eosGlow 7s ease-in-out infinite;pointer-events:none}
.emblem__logo{position:relative;width:74%;filter:drop-shadow(0 0 36px rgba(203,163,90,.45));animation:eosFloatSlow 11s ease-in-out infinite}
.about-teaser .title{font-size:clamp(30px,4.2vw,54px);margin-bottom:24px}
.about-teaser__p{font-size:16.5px;line-height:1.78;color:var(--ink-4);font-weight:300;margin:0 0 18px}
.about-teaser__p--soft{color:var(--ink-3);margin-bottom:29px}
.about-teaser__p--last{margin-bottom:32px}
.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:var(--line);border:1px solid var(--line);margin-bottom:34px}
.value{background:var(--cream);padding:22px 20px}
.value__title{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.value__title::before{content:"✦";color:var(--gold);font-size:11px;line-height:1}
.value__text{font-size:13.5px;line-height:1.66;color:var(--ink-3);font-weight:300}

/* ==========================================================================
   Accueil — Contact
   ========================================================================== */
.contact{position:relative;background:radial-gradient(900px 520px at 22% 6%,#15325C 0%,#0C1D36 44%,#060F1F 100%);padding:clamp(80px,10vw,140px) 0;overflow:hidden}
.contact__glow{position:absolute;right:-8%;bottom:-10%;width:52%;height:70%;background:radial-gradient(circle,rgba(203,163,90,.12),transparent 64%);pointer-events:none}
.contact .split{gap:clamp(40px,5vw,76px)}
.contact .title{font-size:clamp(32px,4.4vw,56px);line-height:1.08;margin-bottom:22px}
.contact .lead{line-height:1.76;margin-bottom:40px}
.channels{display:grid;gap:2px;background:rgba(203,163,90,.16);border:1px solid rgba(203,163,90,.16);border-radius:4px;overflow:hidden}
.channel{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.03);padding:20px 22px;transition:background .4s ease}
a.channel:hover{background:rgba(203,163,90,.1)}
.channel__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(203,163,90,.4);border-radius:50%}
.channel__label{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--slate-2);margin-bottom:4px}
.channel__value{display:block;font-size:15px;color:var(--cream)}
.channel__value--addr{line-height:1.5;font-style:normal}

.form{background:rgba(255,255,255,.04);border:1px solid rgba(203,163,90,.22);border-radius:6px;padding:clamp(28px,3.4vw,46px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 40px 90px -50px rgba(0,0,0,.9);color-scheme:dark}
.form__title{font-family:var(--serif);font-size:28px;font-weight:500;color:var(--cream);margin:0 0 8px}
.form__intro{font-size:13.5px;line-height:1.66;color:#8FA0B6;font-weight:300;margin:0 0 30px}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px;margin-bottom:16px}
.field{display:block}
.field--full{margin-bottom:22px}
.field__label{display:block;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist-3);margin-bottom:9px}
.input{width:100%;background:rgba(6,15,31,.5);border:1px solid rgba(203,163,90,.22);border-radius:2px;padding:14px 15px;font-size:14.5px;color:var(--cream);transition:border-color .3s ease}
.input:focus{border-color:var(--gold)}
select.input{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23CBA35A' stroke-width='1.3'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
select.input option{background:var(--navy-4);color:var(--cream)}
textarea.input{display:block;line-height:1.66;resize:vertical;font-family:inherit}
.phone{display:flex;gap:8px}
.phone .input{flex:1;min-width:0}
.dial{position:relative;flex:0 0 auto}
.dial__btn{height:100%;display:flex;align-items:center;gap:9px;background:rgba(6,15,31,.5);border:1px solid rgba(203,163,90,.22);border-radius:2px;padding:0 12px 0 13px;font-size:14px;color:var(--cream);cursor:pointer;font-family:inherit;transition:border-color .3s ease}
.dial__btn:hover,.dial__btn[aria-expanded="true"]{border-color:var(--gold)}
.dial__flag{width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.12);object-fit:cover;flex-shrink:0}
.dial__code{letter-spacing:.02em}
.dial__list{position:absolute;left:0;top:calc(100% + 6px);z-index:40;width:150px;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;padding:6px 0;margin:0;list-style:none;background:var(--navy-4);border:1px solid rgba(203,163,90,.35);border-radius:3px;box-shadow:0 24px 50px -20px rgba(0,0,0,.8)}
.dial__list[hidden]{display:none}
.dial__opt{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:0;padding:7px 11px;font-size:13px;color:#E4E9F0;cursor:pointer;text-align:left;font-family:inherit}
.dial__opt:hover,.dial__opt:focus-visible,.dial__opt[aria-selected="true"]{background:rgba(203,163,90,.14);color:var(--gold-light);outline:none}
.dial__opt .iso{width:24px;font-weight:600;letter-spacing:.04em}
.dial__opt .cc{color:var(--mist-3)}
.btn-submit{display:block;width:100%;font-size:14.5px;letter-spacing:.03em;padding:18px;box-shadow:0 14px 40px -18px rgba(203,163,90,.9);transition:transform .35s var(--ease),box-shadow .35s ease}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 20px 48px -18px rgba(203,163,90,1)}
.form__note{margin:18px 0 0;font-size:12px;line-height:1.66;color:var(--slate-2);text-align:center}
.form__note.is-ok{color:var(--gold-light)}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.footer{position:relative;background:var(--navy-0);border-top:1px solid rgba(203,163,90,.14);padding:clamp(56px,7vw,86px) 0 30px;overflow:hidden}
.footer__top{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(36px,5vw,64px);padding-bottom:clamp(38px,5vw,56px);border-bottom:1px solid rgba(231,226,217,.09)}
.footer__logo{height:54px;width:auto;margin-bottom:22px}
.footer__tag{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold);margin:0 0 20px}
.footer__desc{max-width:420px;font-size:14.5px;line-height:1.74;color:#8494A9;font-weight:300}
.footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:30px}
.footer__h{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer__list{display:flex;flex-direction:column;gap:11px}
.footer__link{font-size:14px;color:var(--mist);word-break:break-word}
.footer__link:hover{color:var(--gold-light)}
.footer__addr{font-size:14px;line-height:1.6;color:#8494A9;font-style:normal}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:26px}
.footer__small{font-size:12px;color:var(--slate)}
.footer__legal{display:flex;flex-wrap:wrap;gap:22px}
.footer__legal a{font-size:12px;color:var(--slate)}
.footer__legal a:hover{color:var(--gold)}
.footer--compact{padding:clamp(50px,6vw,72px) 0 30px;overflow:visible}
.footer--compact .footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;padding-bottom:26px}
.footer--compact .footer__logo{height:46px;margin:0}
.footer--compact .footer__nav{display:flex;flex-wrap:wrap;gap:24px}
.footer--compact .footer__bottom{gap:14px;padding-top:22px}

/* Bouton retour en haut & halo du curseur */
.to-top{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(6,15,31,.86);border:1px solid rgba(203,163,90,.4);color:var(--gold);font-size:16px;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .4s ease,transform .4s ease,visibility .4s,background .3s ease}
.to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.to-top:hover{background:rgba(203,163,90,.16)}
.cursor-glow{position:fixed;left:0;top:0;z-index:95;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;background:radial-gradient(circle,rgba(230,201,138,.16) 0%,rgba(203,163,90,.07) 34%,rgba(203,163,90,0) 66%);opacity:0;pointer-events:none;transition:opacity .6s ease;will-change:transform}

/* ==========================================================================
   Pages intérieures — en-têtes
   ========================================================================== */
.page-hero{position:relative;padding:clamp(140px,15vw,210px) 0 clamp(60px,7vw,90px);overflow:hidden;background:radial-gradient(1000px 620px at 72% 12%,#15325C 0%,#0C1D36 46%,#060F1F 100%)}
.page-hero__glow{position:absolute;left:50%;top:6%;width:min(620px,90%);height:420px;transform:translateX(-50%);background:radial-gradient(circle,rgba(203,163,90,.14),transparent 64%);pointer-events:none;animation:eosGlow 8s ease-in-out infinite}
.page-hero__text{max-width:860px}
.crumb{display:flex;align-items:center;gap:14px;margin-bottom:26px;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.crumb a{color:var(--slate)}
.crumb a:hover{color:var(--gold)}
.crumb__sep{color:#3E4C60;font-size:16px;letter-spacing:0}
.crumb [aria-current]{color:var(--gold)}
.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,86px);line-height:1.04;letter-spacing:-.015em;margin:0 0 28px;color:var(--cream);text-wrap:pretty}
.page-hero__sub{max-width:640px;font-size:17px;line-height:1.76;color:var(--mist);font-weight:300;margin:0 0 36px}

/* ==========================================================================
   Réalisations — études de cas
   ========================================================================== */
.cases{position:relative;background:var(--cream);padding:clamp(70px,9vw,120px) 0 clamp(80px,10vw,140px)}
.cases .section-head--split{gap:26px;margin-bottom:clamp(32px,4vw,48px)}
.cases .section-head--split > div{max-width:620px}
.cases .eyebrow{margin-bottom:18px}
.cases .title{margin:0}
.case-list{display:grid;gap:clamp(30px,4vw,56px)}
.case{scroll-margin-top:110px;background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 30px 70px -50px rgba(20,36,61,.45)}
.case__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:end;padding:clamp(30px,4.4vw,64px) clamp(22px,4.4vw,64px) clamp(28px,3.4vw,46px)}
.case__meta{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.case__sector{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink)}
.case__line{flex:1;height:1px;background:var(--line)}
.case__num{font-family:var(--serif);font-size:24px;color:var(--gold-soft);line-height:1}
.case__title{font-family:var(--serif);font-size:clamp(28px,3.4vw,44px);font-weight:500;line-height:1.1;margin:0 0 18px;color:var(--ink);text-wrap:pretty}
.case__intro{font-size:16px;line-height:1.76;color:var(--ink-2);font-weight:300}
.case__thumb{position:relative;display:block;width:100%;padding:0;border:0;background:var(--navy-1);border-radius:6px;overflow:hidden;cursor:pointer;aspect-ratio:var(--ar,16/9);box-shadow:0 30px 60px -34px rgba(11,27,51,.75),0 0 0 1px rgba(203,163,90,.35);transition:transform .6s var(--ease),box-shadow .6s ease}
.case__thumb:hover{transform:translateY(-5px);box-shadow:0 44px 80px -36px rgba(11,27,51,.85),0 0 0 1px rgba(203,163,90,.7)}
.case__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.case__thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,15,31,.55),rgba(6,15,31,0) 45%);pointer-events:none}
.case__badge{position:absolute;z-index:1;left:14px;bottom:12px;font-size:9.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-pale);background:rgba(6,15,31,.7);border:1px solid rgba(203,163,90,.4);padding:6px 11px;border-radius:2px;pointer-events:none}
.case__toggle{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;background:#F6F1E7;border:0;border-top:1px solid var(--line);padding:20px;cursor:pointer;font-family:inherit;transition:background .35s ease}
.case__toggle:hover{background:#EFE6D5}
.case__toggle-label{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.case__chev{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--gold);transition:transform .5s var(--ease)}
.case.is-open .case__chev{transform:rotate(180deg)}
.case__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .75s var(--ease)}
.case.is-open .case__body{grid-template-rows:1fr}
.case__clip{overflow:hidden;min-height:0}
.case__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,64px);padding:clamp(30px,4vw,56px) clamp(22px,4.4vw,64px)}
.case__col{display:grid;gap:34px;align-content:start}
.case__label{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink-2);margin:0 0 14px}
.case__p{font-size:14.5px;line-height:1.76;color:var(--ink-3);font-weight:300}
.dash-list{display:grid;gap:10px;padding:0;list-style:none}
.dash-list li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:10px;align-items:baseline;font-size:14.5px;line-height:1.76;color:var(--ink-3);font-weight:300}
.dash-list li::before{content:"";display:block;width:6px;height:1px;background:var(--gold);transform:translateY(-4px)}
.dash-list strong{font-weight:600;color:var(--ink)}
.case__live{position:relative;background:linear-gradient(165deg,#0E2140,#081428);padding:clamp(14px,2.2vw,30px)}
.case__live::before{content:"";position:absolute;right:0;top:0;width:50%;height:100%;background:radial-gradient(circle at 80% 0%,rgba(203,163,90,.14),transparent 60%);pointer-events:none}
.case__livebar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(12px,1.4vw,18px)}
.live-label{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#C9D3E0}
.live-label::before{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--gold-light);box-shadow:0 0 12px rgba(230,201,138,.8)}
.btn-fs{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--gold-light);border:1px solid rgba(203,163,90,.4);padding:9px 16px;border-radius:2px;transition:background .3s ease,color .3s ease}
.btn-fs:hover{background:rgba(203,163,90,.14);color:var(--gold-pale)}
.case__frame{position:relative;width:100%;aspect-ratio:var(--ar,16/9.96);border-radius:4px;overflow:hidden;background:var(--navy-1);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 0 1px rgba(203,163,90,.28)}
.case__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.case__insights{position:relative;background:var(--navy-4);padding:clamp(28px,3.6vw,50px) clamp(22px,4.4vw,64px)}
.case__insights .case__label{letter-spacing:.22em;color:var(--gold);margin-bottom:20px}
.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:clamp(18px,2.4vw,34px);padding:0;margin:0;list-style:none}
.insights li{display:flex;gap:14px;align-items:flex-start}
.insights b{flex-shrink:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:26px;line-height:1;color:var(--gold)}
.insights p{font-size:14.5px;line-height:1.72;color:#D5DCE6;font-weight:300}
.case__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #EDE5D6;padding:clamp(18px,2vw,24px) clamp(22px,4.4vw,64px);background:#FBF8F2}
.case__tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.case__tools .case__label{margin:0 6px 0 0}
.case__tools span:not(.case__label){font-size:11.5px;font-weight:500;color:var(--ink);background:#F3ECDF;border:1px solid #E6DDCC;padding:6px 12px;border-radius:2px}
.case__disc{font-size:12px;font-style:italic;color:var(--slate-2)}

/* Appels à l'action de fin de page */
.cta-dark{position:relative;background:radial-gradient(800px 460px at 50% 0%,#15325C 0%,#0C1D36 46%,#060F1F 100%);padding:clamp(80px,10vw,130px) 0;text-align:center;overflow:hidden}
.cta-dark__logo{width:150px;margin:0 auto 26px;filter:drop-shadow(0 0 32px rgba(203,163,90,.4))}
.cta-title{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,54px);line-height:1.1;margin:0 0 20px;color:var(--cream);text-wrap:pretty}
.cta-title em{font-style:italic;color:var(--gold-light)}
.cta-text{font-size:16.5px;line-height:1.74;color:var(--mist);font-weight:300;margin:0 0 34px}
.cta-light{position:relative;background:var(--sand);padding:clamp(80px,10vw,130px) 0;text-align:center;overflow:hidden}
.cta-light .cta-title{color:var(--ink)}
.cta-light .cta-title em{color:var(--gold-ink)}
.cta-light .cta-text{line-height:1.76;color:var(--ink-3)}

/* ==========================================================================
   À propos
   ========================================================================== */
.about-hero{position:relative;background:radial-gradient(1000px 600px at 76% 14%,#15325C 0%,#0C1D36 46%,#060F1F 100%);color:var(--cream);padding:clamp(130px,14vw,190px) 0 clamp(70px,9vw,110px);overflow:hidden}
.about-hero__glow{position:absolute;left:-6%;bottom:-20%;width:46%;height:90%;background:radial-gradient(circle,rgba(203,163,90,.12),transparent 64%);pointer-events:none;animation:eosGlow 9s ease-in-out infinite}
.about-hero__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(36px,5vw,76px);align-items:center}
.portrait{position:relative}
.portrait::before{content:"";position:absolute;inset:-16px;border:1px solid rgba(203,163,90,.28);border-radius:6px}
.portrait img{position:relative;width:100%;border-radius:4px;box-shadow:0 44px 90px -44px rgba(0,0,0,.9)}
.portrait figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(to top,rgba(6,15,31,.92),transparent);border-radius:0 0 4px 4px}
.portrait__name{font-family:var(--serif);font-size:24px;color:var(--cream);line-height:1.1}
.portrait__role{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.about-hero .page-title{font-size:clamp(36px,5.2vw,74px);line-height:1.06}
.about-hero__p{max-width:620px;font-size:17.5px;line-height:1.78;color:#C4D0DE;font-weight:300;margin:0 0 20px}
.about-hero__p--soft{font-size:16.5px;color:var(--mist-2);margin-bottom:36px}
.journey{position:relative;background:var(--sand);padding:clamp(80px,10vw,130px) 0}
.journey .split{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}
.journey .lead{line-height:1.76;margin-bottom:30px}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:#DED2BB;border:1px solid #DED2BB}
.stat{background:var(--cream);padding:18px 16px}
.stat__v{font-family:var(--serif);font-size:32px;color:var(--ink);line-height:1}
.stat__k{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:7px}
.certs{position:relative;background:var(--cream);padding:clamp(80px,10vw,130px) 0}
.certs .section-head{margin-bottom:clamp(38px,4.6vw,58px)}
.certs .lead{line-height:1.76}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(16px,2vw,24px)}
.cert{background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:clamp(26px,2.8vw,34px);transition:transform .5s var(--ease),border-color .5s ease}
.cert:hover{transform:translateY(-6px);border-color:var(--gold-soft)}
.cert__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.cert__badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1C3A64,#0B1B33 70%);font-family:var(--serif);font-size:15px;color:var(--gold-light);box-shadow:inset 0 0 0 1px rgba(203,163,90,.35)}
.cert__issuer{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#8494A9}
.cert__title{font-size:15.5px;font-weight:700;line-height:1.4;color:var(--ink);margin:0 0 10px}
.cert__text{font-size:14px;line-height:1.72;color:var(--ink-3);font-weight:300}
.stack-block{margin-top:clamp(36px,4.5vw,56px);padding-top:clamp(28px,3.4vw,40px);border-top:1px solid var(--line)}
.stack-block__label{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink-2);margin-bottom:16px}
.stack{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.stack li{font-size:12.5px;letter-spacing:.04em;color:var(--ink);background:#F4EEE2;border:1px solid #E7DECC;padding:8px 14px;border-radius:2px}
.commit{position:relative;background:linear-gradient(180deg,#060F1F,#0B1B33 55%,#060F1F);padding:clamp(80px,10vw,130px) 0;overflow:hidden}
.commit .section-head--center{max-width:680px;margin-bottom:clamp(40px,5vw,62px)}
.commit .title{margin:0}
.commit__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:rgba(203,163,90,.14)}
.commit__item{background:var(--navy-2);padding:clamp(28px,3vw,40px);transition:background .5s ease}
.commit__item:hover{background:var(--navy-6)}
.commit__n{font-family:var(--serif);font-size:36px;color:var(--gold-soft);line-height:1;margin-bottom:20px}
.commit__t{font-size:13.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);margin:0 0 14px}
.commit__d{font-size:14.5px;line-height:1.74;color:var(--mist-2);font-weight:300}

/* ==========================================================================
   Adaptation aux écrans
   ========================================================================== */
@media (max-width:1240px){
  .nav__tagline{display:none}
}
@media (max-width:1080px){
  .nav__links{display:none}
  .burger{display:flex}
}
@media (max-width:1020px){
  .cards3{grid-template-columns:1fr;max-width:560px;margin:0 auto}
}
@media (max-width:1000px){
  .hero__grid,.why__intro,.split,.journey .split,.about-teaser__grid,.footer__top,.case__head,.case__details,.about-hero__grid{grid-template-columns:1fr}
  .sticky{position:static}
  .hero__art{max-width:600px;width:100%;margin-left:auto;margin-right:auto}
  .emblem,.portrait{order:2;width:100%;max-width:460px;margin-left:auto;margin-right:auto}
  .portrait{max-width:440px}
  .why__arcs,.why__divider{display:none}
  .why__cols,.commit__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why__col:nth-child(3){border-left:none}
}
@media (max-width:720px){
  :root{--pad-x:22px}
  .method__grid,.xgrid,.values,.form__row,.footer__cols,.cert-grid,.why__cols,.commit__grid{grid-template-columns:1fr}
  .why__col + .why__col{border-left:none}
  .btn-row,.section-head--split,.footer__bottom,.footer--compact .footer__top{flex-direction:column;align-items:flex-start}
  .btn-row--center{align-items:center}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-reveal]{opacity:1;transform:none}
}
