
:root{
 --purple:#541585; --purple-dark:#35104f; --purple-deep:#260e38;
 --gold:#d3ae38; --ink:#231f20; --ivory:#f8f4ec; --sand:#efe6d8;
 --white:#fff; --muted:#6f6872; --line:rgba(84,21,133,.16);
 --serif:"EB Garamond","Noto Serif",Georgia,serif;
 --sans:Inter,"Avenir Next",Montserrat,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.6}
a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(248,244,236,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(84,21,133,.08)}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:156px;display:block}.menu{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.menu a{padding:31px 0;position:relative}.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:var(--gold);transition:.25s}.menu a:hover:after{right:0}.contact-pill{border:1px solid var(--purple);color:var(--purple);padding:11px 17px!important;border-radius:999px}.contact-pill:after{display:none!important}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:var(--gold);display:flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--serif);color:var(--purple);line-height:.98;margin:0}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;overflow:hidden}.hero-copy{padding:90px max(6vw,56px) 80px max(6vw,56px);display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(64px,7vw,110px);letter-spacing:-.045em;max-width:780px}.hero-lead{font-size:20px;max-width:650px;color:#4d4650;margin:28px 0 34px}.cta-row{display:flex;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:15px 22px;font-weight:800;font-size:14px;transition:.2s}.btn-primary{background:var(--purple);color:white}.btn-secondary{border:1px solid rgba(84,21,133,.3);color:var(--purple);background:rgba(255,255,255,.35)}.btn:hover{transform:translateY(-1px)}
.hero-art{position:relative;min-height:640px;background:#d8c8ba;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(.98)}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,244,236,.18),transparent 35%),linear-gradient(0deg,rgba(38,14,56,.38),transparent 45%)}.hero-stamp{position:absolute;right:28px;bottom:26px;z-index:2;background:rgba(248,244,236,.9);padding:14px 18px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--purple)}
section{padding:120px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:64px}.section-head h2{font-size:clamp(48px,5vw,76px);letter-spacing:-.035em}.section-head p{margin:0;color:var(--muted);font-size:18px;max-width:600px}
.diagnostic{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:52px;border:1px solid var(--line);background:rgba(255,255,255,.45);border-radius:28px;margin-bottom:42px}.diagnostic p{margin:0;font-size:17px;color:#4e4850}.diag-label{font-family:var(--serif);font-size:30px;line-height:1.1;color:var(--purple)}
.bento{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:18px}.tile{background:white;border:1px solid rgba(84,21,133,.09);border-radius:24px;padding:36px;position:relative;overflow:hidden}.tile h3{font-size:38px;margin-bottom:16px}.vision{grid-row:1/3;background:var(--purple);color:white;min-height:390px;display:flex;flex-direction:column;justify-content:flex-end}.vision h3,.vision .quote{color:white}.vision:before{content:"✦";position:absolute;right:32px;top:14px;font-size:120px;color:rgba(211,174,56,.18)}.quote{font-family:var(--serif);font-size:32px;line-height:1.15}.mission p{font-size:16px;margin:0;color:#514a53}.values{background:var(--sand)}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.chip{border:1px solid rgba(84,21,133,.26);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800;color:var(--purple);background:rgba(255,255,255,.6)}
.governance{background:#fff}.leaders{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.leader{display:grid;grid-template-columns:220px 1fr;background:var(--ivory);border-radius:24px;overflow:hidden;min-height:300px}.leader img{width:100%;height:100%;object-fit:cover}.leader-info{padding:30px;display:flex;flex-direction:column;justify-content:flex-end}.leader-info h3{font-size:34px}.role{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-weight:900;margin:8px 0 14px}.expertise{font-size:14px;color:#5a535d}
.gov-strip{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;background:var(--purple);color:white;border-radius:22px;overflow:hidden}.gov-intro,.gov-item{padding:28px}.gov-intro{background:var(--purple-dark)}.gov-intro strong{font-family:var(--serif);font-size:28px}.gov-item{border-left:1px solid rgba(255,255,255,.12)}.gov-item b{color:var(--gold);display:block;margin-bottom:8px}.agility{margin-top:18px;padding:22px 28px;border-radius:18px;background:#f1e8f4;color:#4c4051;font-size:14px}.agility b{color:var(--purple)}
.pillars{background:var(--ivory)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}.pillar{background:white;border-radius:26px;overflow:hidden;border:1px solid rgba(84,21,133,.08);display:flex;flex-direction:column}.pillar-img{height:230px;overflow:hidden}.pillar-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.82)}.pillar-body{padding:30px 30px 34px}.num{font-family:var(--serif);font-size:52px;color:rgba(84,21,133,.16);line-height:1}.pillar h3{font-family:var(--sans);font-size:18px;line-height:1.25;letter-spacing:.06em;color:var(--gold);text-transform:uppercase;margin:7px 0 14px}.pillar strong{display:block;color:var(--purple);font-size:18px;margin-bottom:12px}.pillar p{margin:0;color:#5c555d;font-size:14px}.autonomy{margin:38px auto 0;width:max-content;max-width:90%;padding:14px 30px;border-radius:999px;background:var(--purple);color:white;font-weight:900;letter-spacing:.18em;text-transform:uppercase;font-size:12px;position:relative}.autonomy:before{content:"";position:absolute;left:50%;top:-38px;width:1px;height:38px;background:var(--gold)}
.approach{background:var(--purple-deep);color:white}.approach .section-head h2{color:white}.approach .section-head p{color:#d6cddd}.orbit-wrap{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.orbit{height:560px;position:relative}.orbit-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid rgba(211,174,56,.65);color:white;font-family:var(--serif);font-size:28px;background:radial-gradient(circle at 30% 30%,rgba(84,21,133,.9),rgba(38,14,56,.95))}.ring{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.ring.r1{width:390px;height:390px}.ring.r2{width:520px;height:520px;border-style:dashed}.orb{position:absolute;width:144px;height:144px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px;background:var(--ivory);color:var(--purple);box-shadow:0 16px 40px rgba(0,0,0,.18)}.orb b{font-size:18px;letter-spacing:.05em}.orb span{font-size:10px;margin-top:4px;color:#62566a}.o1{left:50%;top:0;transform:translateX(-50%)}.o2{left:14px;bottom:36px}.o3{right:14px;bottom:36px}.approach-list{display:grid;gap:14px}.approach-card{border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;background:rgba(255,255,255,.04)}.approach-card b{font-size:18px;color:var(--gold)}.approach-card p{margin:8px 0 0;color:#d3cad8;font-size:14px}.flow{margin-top:58px;border-top:1px solid rgba(255,255,255,.12);padding-top:26px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#d9cedf}.flow span:after{content:"→";color:var(--gold);margin-left:10px}.flow span:last-child:after{display:none}
.initiatives{background:white}.initiative-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.initiative{border-top:3px solid var(--gold);padding:28px 26px 34px;background:var(--ivory);border-radius:0 0 22px 22px}.initiative .idx{font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.initiative h3{font-family:var(--sans);font-size:20px;line-height:1.3;margin:12px 0;color:var(--purple)}.initiative strong{display:block;font-family:var(--serif);font-size:23px;line-height:1.2;margin-bottom:13px}.initiative p{font-size:14px;color:#5b555d;margin:0}.impact{margin-top:60px;background:var(--purple);color:white;border-radius:30px;padding:62px;display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;align-items:center;position:relative;overflow:hidden}.impact:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(211,174,56,.35);border-radius:50%;right:-100px;top:-160px}.impact small{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-weight:900}.impact-number{font-family:var(--serif);font-size:96px;line-height:.9;color:white}.impact h3{color:white;font-size:34px;margin-bottom:12px}.impact p{color:#ddd3e3;margin:0;font-size:14px}
footer{background:var(--purple-deep);color:white;padding:88px 0 28px}.footer-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.footer-brand img{width:180px;filter:none;margin-bottom:24px}.footer-brand p{color:#cfc4d7;max-width:450px}.contact-list{margin-top:30px;display:grid;gap:8px;color:#eee6f2;font-size:14px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:white;border-radius:12px;padding:14px 15px;font:inherit;outline:none}.field textarea{height:130px;resize:vertical}.submit{grid-column:1/-1;justify-self:start;border:0;background:var(--gold);color:var(--purple-deep);cursor:pointer}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:60px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#baaec3}.legal{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:980px){.menu{display:none}.hero{grid-template-columns:1fr}.hero-art{min-height:500px}.section-head,.diagnostic,.orbit-wrap,.footer-grid{grid-template-columns:1fr}.leaders{grid-template-columns:1fr}.pillar-grid,.initiative-grid{grid-template-columns:1fr}.gov-strip{grid-template-columns:1fr 1fr}.gov-item{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.impact{grid-template-columns:1fr}.orbit{height:500px}}
@media(max-width:650px){.wrap{width:min(100% - 30px,1180px)}.nav{height:72px}.brand img{width:130px}.hero-copy{padding:68px 24px 50px}.hero h1{font-size:54px}.hero-lead{font-size:17px}.hero-art{min-height:420px}.section-head{gap:20px}.section-head h2{font-size:48px}section{padding:86px 0}.diagnostic{padding:30px;grid-template-columns:1fr}.bento{grid-template-columns:1fr;grid-template-rows:auto}.vision{grid-row:auto;min-height:320px}.leaders{gap:14px}.leader{grid-template-columns:1fr}.leader img{height:320px}.gov-strip{grid-template-columns:1fr}.pillar-img{height:250px}.orbit{height:430px}.ring.r1{width:290px;height:290px}.ring.r2{width:390px;height:390px}.orb{width:112px;height:112px}.o2{left:0;bottom:48px}.o3{right:0;bottom:48px}.impact{padding:38px 28px}.impact-number{font-size:70px}.form{grid-template-columns:1fr}.field.full,.submit{grid-column:1}.footer-bottom{flex-direction:column}}

/* ===== ITINERIS MOTION SYSTEM ===== */
body{overflow-x:hidden}
.motion-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),#fff2a8,var(--gold));z-index:120;box-shadow:0 0 14px rgba(211,174,56,.45)}
header{transition:transform .35s ease,background .35s ease,box-shadow .35s ease}
header.scrolled{background:rgba(248,244,236,.88);box-shadow:0 12px 35px rgba(38,14,56,.07)}
.reveal{opacity:0;transform:translateY(42px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.reveal-left{opacity:0;transform:translateX(-48px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal-right{opacity:0;transform:translateX(48px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible,.reveal-left.is-visible,.reveal-right.is-visible{opacity:1;transform:none}
.stagger > *{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.stagger.is-visible > *{opacity:1;transform:none}
.stagger.is-visible > *:nth-child(1){transition-delay:.04s}
.stagger.is-visible > *:nth-child(2){transition-delay:.12s}
.stagger.is-visible > *:nth-child(3){transition-delay:.20s}
.stagger.is-visible > *:nth-child(4){transition-delay:.28s}
.stagger.is-visible > *:nth-child(5){transition-delay:.36s}
.stagger.is-visible > *:nth-child(6){transition-delay:.44s}

.hero-copy .eyebrow,.hero-copy h1,.hero-copy .hero-lead,.hero-copy .cta-row{opacity:0;transform:translateY(28px);animation:heroRise .85s cubic-bezier(.2,.7,.2,1) forwards}
.hero-copy h1{animation-delay:.12s}.hero-copy .hero-lead{animation-delay:.24s}.hero-copy .cta-row{animation-delay:.36s}
.hero-art{clip-path:inset(0 100% 0 0);animation:heroReveal 1.15s .12s cubic-bezier(.22,.8,.2,1) forwards}
.hero-art img{transform:scale(1.07);animation:heroZoom 1.8s .1s cubic-bezier(.22,.8,.2,1) forwards;will-change:transform}
@keyframes heroRise{to{opacity:1;transform:none}}
@keyframes heroReveal{to{clip-path:inset(0 0 0 0)}}
@keyframes heroZoom{to{transform:scale(1)}}

.btn{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.btn:before{content:"";position:absolute;inset:-2px;transform:translateX(-120%) skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transition:transform .6s ease;pointer-events:none}
.btn:hover:before{transform:translateX(120%) skewX(-18deg)}
.btn:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 14px 30px rgba(38,14,56,.13)}

.tile,.leader,.pillar,.initiative,.approach-card{transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease,border-color .38s ease}
.tile:hover,.leader:hover,.pillar:hover,.initiative:hover,.approach-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(38,14,56,.10);border-color:rgba(211,174,56,.38)}
.pillar-img img,.leader img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.pillar:hover .pillar-img img,.leader:hover img{transform:scale(1.055);filter:saturate(.96)}

.ring.r1{animation:spin 22s linear infinite}
.ring.r2{animation:spinReverse 34s linear infinite}
.orb{animation:floatOrb 5s ease-in-out infinite}
.o2{animation-delay:-1.4s}.o3{animation-delay:-2.7s}
.orbit-center{box-shadow:0 0 0 0 rgba(211,174,56,.20);animation:centerPulse 3.2s ease-in-out infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes spinReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes floatOrb{0%,100%{margin-top:0}50%{margin-top:-10px}}
@keyframes centerPulse{0%,100%{box-shadow:0 0 0 0 rgba(211,174,56,.12)}50%{box-shadow:0 0 0 18px rgba(211,174,56,0)}}

.impact:before{content:"";position:absolute;inset:-70% -30%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.12) 50%,transparent 58%);transform:translateX(-55%);animation:impactSheen 7s ease-in-out infinite;pointer-events:none}
@keyframes impactSheen{0%,55%{transform:translateX(-55%)}80%,100%{transform:translateX(55%)}}
.impact-number{font-variant-numeric:tabular-nums}

.eyebrow:before{transform-origin:left center;animation:eyeline 1.4s ease both}
@keyframes eyeline{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .reveal,.reveal-left,.reveal-right,.stagger>*{opacity:1!important;transform:none!important}
}



/* ===== ITINERIS EDITORIAL IMAGES V1 ===== */

/* Diagnostic éditorial */
.diagnostic{
    padding:0;
    gap:0;
    grid-template-columns:.95fr 1.05fr;
    overflow:hidden;
    background:#fff;
    min-height:430px;
    box-shadow:0 24px 70px rgba(38,14,56,.07);
}

.diag-visual{
    position:relative;
    min-height:430px;
    overflow:hidden;
    background:var(--purple-deep);
}

.diag-visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,transparent 40%,rgba(38,14,56,.82) 100%),
        linear-gradient(90deg,rgba(84,21,133,.12),transparent 55%);
    pointer-events:none;
}

.diag-visual img{
    width:100%;
    height:100%;
    position:absolute;
    inset:0;
    object-fit:cover;
    filter:saturate(.90) contrast(.98);
    transform:scale(1.015);
    transition:
        transform 1.1s cubic-bezier(.2,.7,.2,1),
        filter .7s ease;
}

.diagnostic:hover .diag-visual img{
    transform:scale(1.065);
    filter:saturate(1.02) contrast(1);
}

.diag-visual .diag-label{
    position:absolute;
    z-index:2;
    left:38px;
    right:30px;
    bottom:34px;
    color:#fff;
    font-size:34px;
    text-shadow:0 3px 20px rgba(0,0,0,.18);
}

.diag-copy{
    padding:52px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* Initiatives avec visuels */
.initiative{
    padding:0;
    border-radius:22px;
    overflow:hidden;
    border-top:3px solid var(--gold);
    box-shadow:0 12px 38px rgba(38,14,56,.055);
}

.initiative-img{
    height:225px;
    overflow:hidden;
    position:relative;
    background:var(--purple-deep);
}

.initiative-img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(84,21,133,.04) 40%,
        rgba(38,14,56,.24) 100%
    );
    transition:opacity .45s ease;
    pointer-events:none;
}

.initiative-img img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.015);
    filter:saturate(.90) contrast(.98);
    transition:
        transform .9s cubic-bezier(.2,.7,.2,1),
        filter .55s ease;
}

.initiative:hover .initiative-img img{
    transform:scale(1.075);
    filter:saturate(1.03) contrast(1);
}

.initiative:hover .initiative-img::after{
    opacity:.45;
}

.initiative > .idx{
    margin:26px 26px 0;
}

.initiative > h3{
    margin:11px 26px 12px;
}

.initiative > strong{
    margin:0 26px 13px;
}

.initiative > p{
    margin:0 26px 34px;
}

/* Responsive */
@media(max-width:980px){
    .diagnostic{
        grid-template-columns:1fr;
    }

    .diag-visual{
        min-height:380px;
    }

    .diag-copy{
        padding:42px;
    }

    .initiative-img{
        height:320px;
    }
}

@media(max-width:650px){
    .diag-visual{
        min-height:290px;
    }

    .diag-visual .diag-label{
        left:24px;
        right:22px;
        bottom:24px;
        font-size:28px;
    }

    .diag-copy{
        padding:30px;
    }

    .initiative-img{
        height:235px;
    }
}


/* ===== ITINERIS THEME SWITCH V1 ===== */

/* Bouton Contact premium */
.contact-pill{
    transition:
        background .32s ease,
        color .32s ease,
        border-color .32s ease,
        box-shadow .32s ease,
        transform .32s ease !important;
}

.contact-pill:hover,
.contact-pill:focus-visible{
    background:var(--purple);
    border-color:var(--purple);
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 28px rgba(84,21,133,.22);
}

/* Toggle clair / sombre */
.theme-toggle{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:50%;
    border:1px solid rgba(84,21,133,.22);
    background:rgba(255,255,255,.55);
    color:var(--purple);
    display:grid;
    place-items:center;
    padding:0;
    cursor:pointer;
    font:inherit;
    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.theme-toggle:hover{
    transform:rotate(8deg) scale(1.06);
    background:var(--purple);
    color:#fff;
    border-color:var(--purple);
    box-shadow:0 10px 26px rgba(84,21,133,.18);
}

.theme-toggle-icon{
    display:block;
    font-size:19px;
    line-height:1;
    transform:translateY(-1px);
}

/* Transition entre les thèmes */
body,
header,
.tile,
.leader,
.pillar,
.initiative,
.diagnostic,
.agility,
.hero-stamp,
.btn-secondary{
    transition:
        background-color .38s ease,
        color .38s ease,
        border-color .38s ease;
}

/* ================= DARK MODE ================= */

body.it-dark{
    --ivory:#160e1c;
    --sand:#24172c;
    --ink:#f4eef6;
    --muted:#c5bacb;
    --line:rgba(255,255,255,.12);

    background:#160e1c;
    color:#f4eef6;
}

body.it-dark header{
    background:rgba(22,14,28,.94);
    border-bottom-color:rgba(255,255,255,.09);
    box-shadow:0 12px 35px rgba(0,0,0,.12);
}

body.it-dark header.scrolled{
    background:rgba(22,14,28,.90);
    box-shadow:0 15px 42px rgba(0,0,0,.22);
}

body.it-dark .brand{
    background:#fff;
    border-radius:10px;
    padding:4px 8px;
}

body.it-dark .menu > a:not(.contact-pill){
    color:#f4eef6;
}

body.it-dark .contact-pill{
    color:var(--gold);
    border-color:var(--gold);
}

body.it-dark .contact-pill:hover,
body.it-dark .contact-pill:focus-visible{
    background:var(--purple);
    color:#fff;
    border-color:var(--purple);
}

body.it-dark .theme-toggle{
    background:rgba(255,255,255,.07);
    border-color:rgba(255,255,255,.18);
    color:var(--gold);
}

body.it-dark .governance,
body.it-dark .initiatives{
    background:#130b19;
}

body.it-dark .tile,
body.it-dark .pillar,
body.it-dark .initiative{
    background:#211529;
    border-color:rgba(255,255,255,.08);
}

body.it-dark .values{
    background:#2a1b33;
}

body.it-dark .leader{
    background:#201428;
}

body.it-dark .diagnostic{
    background:#201428;
    border-color:rgba(255,255,255,.1);
}

body.it-dark .agility{
    background:#2a1a34;
    color:#d8ccdc;
}

body.it-dark .agility b{
    color:var(--gold);
}

body.it-dark .hero-lead,
body.it-dark .diagnostic p,
body.it-dark .mission p,
body.it-dark .expertise,
body.it-dark .pillar p,
body.it-dark .initiative p{
    color:#cfc4d4;
}

body.it-dark .hero h1,
body.it-dark .section-head h2,
body.it-dark .tile:not(.vision) h3,
body.it-dark .leader-info h3{
    color:#f5eef8;
}

body.it-dark .section-head p{
    color:#beb2c5;
}

body.it-dark .btn-secondary{
    color:#f4eef6;
    border-color:rgba(255,255,255,.25);
    background:rgba(255,255,255,.06);
}

body.it-dark .hero-stamp{
    background:rgba(22,14,28,.88);
    color:#fff;
}

body.it-dark .chip{
    background:rgba(255,255,255,.06);
    border-color:rgba(211,174,56,.34);
    color:#e2c55e;
}

body.it-dark .orb{
    color:#fff;
}

body.it-dark .orb span{
    color:#c8bdcd;
}

@media(max-width:980px){
    .theme-toggle{
        margin-left:auto;
    }
}


/* ===== ITINERIS MOBILE NAV V1 ===== */

.menu-toggle{
    display:none;
    width:44px;
    height:44px;
    padding:10px;
    border:0;
    background:transparent;
    cursor:pointer;
    position:relative;
    z-index:1002;
}

.menu-toggle span{
    display:block;
    height:2px;
    width:23px;
    margin:5px auto;
    background:var(--purple);
    border-radius:10px;
    transition:transform .3s ease, opacity .3s ease, background .3s ease;
}

.menu-toggle.is-active span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.menu-toggle.is-active span:nth-child(2){
    opacity:0;
}

.menu-toggle.is-active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

body.it-dark .menu-toggle span{
    background:#fff;
}

@media(max-width:980px){

    .nav{
        position:relative;
    }

    .menu-toggle{
        display:block;
        margin-left:auto;
    }

    .menu{
        display:flex !important;
        position:absolute;
        top:calc(100% + 12px);
        left:0;
        right:0;
        flex-direction:column;
        align-items:stretch;
        gap:4px;
        padding:16px;
        background:rgba(248,244,236,.98);
        border:1px solid rgba(84,21,133,.10);
        border-radius:18px;
        box-shadow:0 24px 60px rgba(38,14,56,.14);

        opacity:0;
        visibility:hidden;
        transform:translateY(-10px);
        pointer-events:none;

        transition:
            opacity .28s ease,
            transform .28s ease,
            visibility .28s ease;
    }

    .menu.is-open{
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
    }

    .menu a{
        display:block;
        margin:0 !important;
        padding:13px 15px;
        border-radius:11px;
    }

    .menu a:not(.contact-pill):hover{
        background:rgba(84,21,133,.07);
    }

    .menu .contact-pill{
        text-align:center;
        margin-top:5px !important;
    }

    body.it-dark .menu{
        background:rgba(28,17,35,.98);
        border-color:rgba(255,255,255,.10);
    }

    body.it-dark .menu a:not(.contact-pill):hover{
        background:rgba(255,255,255,.07);
    }
}

@media(max-width:650px){

    .brand img{
        max-width:125px;
    }

    .nav{
        min-height:68px;
    }

    .menu{
        left:-2px;
        right:-2px;
    }
}


/* ===== ITINERIS CONTACT FORM V1 ===== */

.it-contact-form .field input,
.it-contact-form .field textarea{
    width:100%;
}

.it-contact-form textarea{
    min-height:150px;
    resize:vertical;
}

.it-contact-form input:focus,
.it-contact-form textarea:focus{
    outline:none;
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(211,174,56,.13);
}

.it-contact-form input.is-error,
.it-contact-form textarea.is-error{
    border-color:#c74242;
}

.it-honeypot{
    position:absolute !important;
    left:-99999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.it-form-footer{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.it-submit{
    min-width:175px;
}

.it-submit:disabled{
    opacity:.65;
    cursor:not-allowed;
    transform:none !important;
}

.it-form-status{
    min-height:24px;
    font-size:14px;
    font-weight:700;
}

.it-form-status.is-success{
    color:#4f8b55;
}

.it-form-status.is-error{
    color:#c75a5a;
}

body.it-dark .it-contact-form input,
body.it-dark .it-contact-form textarea{
    background:rgba(255,255,255,.06);
    color:#fff;
    border-color:rgba(255,255,255,.14);
}

body.it-dark .it-contact-form input::placeholder,
body.it-dark .it-contact-form textarea::placeholder{
    color:rgba(255,255,255,.48);
}

body.it-dark .it-form-status.is-success{
    color:#8fd49b;
}

body.it-dark .it-form-status.is-error{
    color:#ff9b9b;
}

@media(max-width:650px){
    .it-form-footer{
        align-items:stretch;
        flex-direction:column;
    }

    .it-submit{
        width:100%;
    }

    .it-form-status{
        text-align:center;
    }
}
/* Bouton formulaire ITINERIS */
.it-contact-form .it-submit,
.it-contact-form .submit{
    background:#541585;
    color:#fff;
    border:1px solid #541585;
    box-shadow:0 10px 28px rgba(84,21,133,.18);
    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.it-contact-form .it-submit:hover,
.it-contact-form .it-submit:focus-visible,
.it-contact-form .submit:hover,
.it-contact-form .submit:focus-visible{
    background:#D3AE38;
    color:#2a1735;
    border-color:#D3AE38;
    transform:translateY(-2px);
    box-shadow:0 14px 32px rgba(211,174,56,.22);
}

.it-contact-form .it-submit:disabled,
.it-contact-form .submit:disabled{
    opacity:.65;
    transform:none;
    cursor:not-allowed;
}

/* ===== HERO CLIENT V2 ===== */

.hero.hero-editorial{
    display:block;
    min-height:0;
    padding:0 0 64px;
    background:linear-gradient(180deg,#f7f3fb 0%,#ffffff 100%);
}

.hero-editorial .hero-media{
    width:100%;
    overflow:hidden;
    background:#eee8f3;
}

.hero-editorial .hero-media img{
    display:block;
    width:100%;
    height:520px;
    object-fit:cover;
    object-position:center;
}

.hero-editorial .hero-panel{
    position:relative;
    z-index:2;
    margin-top:-65px;
}

.hero-editorial .hero-copy{
    width:min(820px,100%);
    max-width:820px;
    padding:36px 38px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(84,21,133,.09);
    border-radius:24px;
    box-shadow:0 18px 45px rgba(40,24,60,.10);
}

.hero-editorial .hero-copy .eyebrow{
    margin:0 0 15px;
    color:#541585;
    font-size:.78rem;
    font-weight:800;
    line-height:1.5;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.hero-editorial .hero-copy h1{
    margin:0 0 18px;
    max-width:720px;
    color:#24152f;
    font-size:clamp(2.25rem,4vw,3.65rem);
    line-height:1.08;
    letter-spacing:-.035em;
}

.hero-editorial .hero-lead{
    max-width:720px;
    margin:0;
    color:#5d5364;
    font-size:1.06rem;
    line-height:1.8;
}

@media (max-width:980px){
    .hero-editorial .hero-media img{
        height:420px;
    }

    .hero-editorial .hero-panel{
        margin-top:-48px;
    }

    .hero-editorial .hero-copy{
        padding:30px 28px;
    }
}

@media (max-width:640px){
    .hero.hero-editorial{
        padding-bottom:42px;
    }

    .hero-editorial .hero-media img{
        height:285px;
    }

    .hero-editorial .hero-panel{
        margin-top:-28px;
    }

    .hero-editorial .hero-copy{
        padding:24px 20px;
        border-radius:20px;
    }

    .hero-editorial .hero-copy .eyebrow{
        font-size:.70rem;
        letter-spacing:.08em;
    }

    .hero-editorial .hero-copy h1{
        font-size:clamp(1.95rem,8vw,2.6rem);
    }

    .hero-editorial .hero-lead{
        font-size:.98rem;
        line-height:1.7;
    }
}



/* ===== ITINERIS CLIENT AMENDMENTS V1 ===== */

:root{
    --it-purple:#541585;
    --it-gold:#D3AE38;
    --it-ink:#24152f;
    --it-muted:#655c6d;
    --it-soft:#f7f4fa;
}

/* Titres globalement plus contenus */
section h2,
.contact-footer h2{
    font-size:clamp(2rem,3.2vw,3.25rem);
    line-height:1.08;
    letter-spacing:-.03em;
}

.client-section-head{
    align-items:end;
    margin-bottom:42px;
}

.client-section-head > p{
    max-width:620px;
    line-height:1.8;
}

/* =========================
   NOTRE ADN
========================= */

.about-client{
    padding:92px 0;
    background:#fff;
}

.adn-image{
    overflow:hidden;
    border-radius:28px;
    min-height:420px;
    background:#eee8f3;
}

.adn-image img{
    width:100%;
    height:500px;
    display:block;
    object-fit:cover;
}

.adn-main-text{
    max-width:920px;
    margin:34px auto 0;
    text-align:center;
}

.adn-main-text p{
    font-size:1.08rem;
    line-height:1.9;
    color:var(--it-muted);
}

.factor-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:40px;
}

.factor-card{
    padding:28px 24px;
    text-align:center;
    border:1px solid rgba(84,21,133,.10);
    border-radius:22px;
    background:#fff;
    box-shadow:0 12px 30px rgba(40,24,60,.06);
}

.factor-icon{
    width:52px;
    height:52px;
    margin:0 auto 16px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(84,21,133,.09);
    color:var(--it-purple);
    font-size:1.5rem;
    font-weight:800;
}

.factor-card > span{
    display:block;
    margin-bottom:7px;
    color:var(--it-gold);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.11em;
}

.factor-card h3{
    margin:0;
    color:var(--it-ink);
    font-size:1.08rem;
    text-transform:uppercase;
}

.dna-block{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:82px;
}

.dna-card{
    min-height:250px;
    padding:38px;
    border-radius:26px;
}

.dna-label{
    margin-bottom:20px;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.12em;
}

.vision-card{
    background:var(--it-purple);
    color:#fff;
}

.vision-card .dna-label{
    color:var(--it-gold);
}

.vision-card p{
    color:#fff;
    font-size:1.45rem;
    line-height:1.5;
    font-weight:700;
}

.mission-card{
    background:#f5f1f8;
    color:var(--it-ink);
}

.mission-card .dna-label{
    color:var(--it-purple);
}

.mission-card p{
    font-size:1.08rem;
    line-height:1.8;
}

.values-card{
    grid-column:1/-1;
    padding:34px;
    border-radius:26px;
    border:1px solid rgba(84,21,133,.10);
    background:#fff;
}

.values-card .dna-label{
    color:var(--it-purple);
}

.value-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:12px;
}

.value-chip{
    display:flex;
    min-height:108px;
    padding:15px 10px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
    border-radius:18px;
    background:#f8f5fa;
    color:var(--it-ink);
}

.value-chip span{
    font-size:1.55rem;
    color:var(--it-purple);
}

.value-chip b{
    font-size:.84rem;
}


/* =========================
   GOUVERNANCE
========================= */

.client-governance{
    padding:92px 0;
}

.client-governance .role{
    color:var(--it-purple);
    font-weight:900;
    letter-spacing:.08em;
}

.gov-model{
    margin-top:68px;
    padding:42px;
    border-radius:28px;
    background:#f7f4fa;
}

.gov-model-heading{
    max-width:640px;
    margin-bottom:34px;
}

.gov-model-heading h3{
    margin:8px 0 0;
    color:var(--it-ink);
    font-size:clamp(1.7rem,2.5vw,2.35rem);
}

.gov-flow{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr;
    gap:18px;
    align-items:stretch;
}

.gov-node{
    padding:26px;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(84,21,133,.10);
}

.gov-node-number{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    margin-bottom:20px;
    border-radius:50%;
    background:var(--it-purple);
    color:#fff;
    font-weight:900;
}

.gov-node h4{
    margin:0 0 10px;
    color:var(--it-ink);
    font-size:1.05rem;
}

.gov-node p{
    margin:0;
    color:var(--it-muted);
    line-height:1.7;
    font-size:.94rem;
}

.gov-arrow{
    align-self:center;
    color:var(--it-gold);
    font-size:2rem;
    font-weight:800;
}

.agility-client{
    margin-top:22px;
    padding:25px 28px;
    border-left:4px solid var(--it-gold);
    border-radius:14px;
    background:var(--it-purple);
    color:#fff;
}

.agility-client strong{
    display:block;
    margin-bottom:8px;
    color:var(--it-gold);
    letter-spacing:.08em;
}

.agility-client p{
    margin:0;
    color:#fff;
    line-height:1.7;
}


/* =========================
   PILIERS
========================= */

.client-pillars{
    padding:92px 0;
}

.client-pillars .pillar .num{
    font-size:2rem;
}

.client-pillars .autonomy{
    display:none !important;
}


/* =========================
   APPROCHE
========================= */

.client-approach{
    padding:100px 0;
    background:#f7f4fa;
}

.approach-heading{
    max-width:800px;
    margin:0 auto 56px;
    text-align:center;
}

.approach-heading h2{
    margin:8px 0 18px;
}

.approach-heading p{
    margin:0 auto;
    max-width:720px;
    color:var(--it-muted);
    line-height:1.8;
}

.approach-steps{
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
    gap:12px;
    align-items:center;
}

.approach-step{
    min-height:245px;
    padding:28px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    background:#fff;
    border-radius:24px;
    border:1px solid rgba(84,21,133,.10);
    box-shadow:0 12px 30px rgba(40,24,60,.05);
}

.step-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    margin-bottom:16px;
    border-radius:50%;
    background:rgba(84,21,133,.09);
    color:var(--it-purple);
    font-size:1.5rem;
}

.step-number{
    color:var(--it-gold);
    font-size:.75rem;
    font-weight:900;
    letter-spacing:.12em;
}

.approach-step h3{
    margin:8px 0 8px;
    color:var(--it-purple);
    font-size:1.15rem;
}

.approach-step p{
    margin:0;
    color:var(--it-ink);
    font-weight:700;
    line-height:1.5;
}

.step-arrow{
    color:var(--it-gold);
    font-size:1.8rem;
    font-weight:900;
}

.approach-conclusion{
    max-width:820px;
    margin:38px auto 0;
    padding-top:28px;
    border-top:1px solid rgba(84,21,133,.15);
    text-align:center;
}

.approach-conclusion p{
    margin:0;
    color:var(--it-muted);
    font-size:1.05rem;
    line-height:1.8;
}


/* =========================
   INITIATIVES
========================= */

.client-initiatives{
    padding:100px 0;
    background:#fff;
}

.initiatives-heading{
    max-width:780px;
    margin-bottom:48px;
}

.initiatives-heading h2{
    margin:8px 0 18px;
}

.initiatives-heading p{
    margin:0;
    color:var(--it-muted);
    line-height:1.8;
}

.initiative-list{
    display:grid;
    gap:20px;
}

.initiative-client-card{
    display:grid;
    grid-template-columns:minmax(250px,38%) 1fr;
    overflow:hidden;
    min-height:250px;
    border-radius:26px;
    border:1px solid rgba(84,21,133,.10);
    background:#fff;
    box-shadow:0 12px 30px rgba(40,24,60,.06);
}

.initiative-client-image img{
    width:100%;
    height:100%;
    min-height:250px;
    display:block;
    object-fit:cover;
}

.initiative-client-copy{
    padding:36px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.initiative-index{
    margin-bottom:14px;
    color:var(--it-gold);
    font-size:.9rem;
    font-weight:900;
}

.initiative-client-copy h3{
    max-width:720px;
    margin:0 0 12px;
    color:var(--it-ink);
    font-size:clamp(1.4rem,2.2vw,2rem);
    line-height:1.2;
}

.initiative-client-copy p{
    margin:0;
    color:var(--it-purple);
    font-size:1.05rem;
    font-weight:700;
    line-height:1.6;
}

.ambition-client{
    margin-top:54px;
    padding:46px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:36px;
    align-items:end;
    border-radius:30px;
    background:var(--it-purple);
    color:#fff;
}

.ambition-client .eyebrow{
    color:var(--it-gold);
}

.impact-number{
    margin-top:14px;
    color:var(--it-gold);
    font-size:clamp(3rem,6vw,5.5rem);
    font-weight:900;
    line-height:1;
    letter-spacing:-.05em;
}

.ambition-copy h3{
    margin:12px 0 14px;
    color:#fff;
    font-size:clamp(1.5rem,2.3vw,2.2rem);
}

.ambition-copy p{
    margin:0;
    max-width:720px;
    color:rgba(255,255,255,.82);
    line-height:1.75;
}

.ambition-btn{
    display:inline-flex;
    max-width:310px;
    padding:15px 20px;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:999px;
    background:var(--it-gold);
    color:#281332;
    font-weight:800;
    line-height:1.35;
}


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

.contact-footer{
    padding:92px 0 32px;
    background:var(--it-purple);
    color:#fff;
}

.contact-heading{
    max-width:700px;
    margin-bottom:42px;
}

.contact-heading .eyebrow{
    color:var(--it-gold);
}

.contact-heading h2{
    margin:8px 0 14px;
    color:#fff;
}

.contact-heading p{
    margin:0;
    color:rgba(255,255,255,.80);
    line-height:1.75;
}

.contact-client-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:32px;
    align-items:start;
}

.contact-footer .it-contact-form{
    order:1;
    padding:34px;
    border-radius:26px;
    background:#fff;
    color:var(--it-ink);
}

.contact-footer .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.contact-footer label{
    display:block;
    margin-bottom:18px;
}

.contact-footer label > span{
    display:block;
    margin-bottom:8px;
    font-size:.83rem;
    font-weight:800;
    color:var(--it-ink);
}

.contact-footer input,
.contact-footer textarea{
    width:100%;
    border:1px solid #ddd5e3;
    border-radius:12px;
    background:#fff;
    color:var(--it-ink);
}

.contact-footer textarea{
    resize:vertical;
}

.contact-submit{
    border:0;
    padding:14px 22px;
    border-radius:999px;
    background:var(--it-gold);
    color:#281332;
    font-weight:900;
    cursor:pointer;
}

.contact-submit:hover{
    background:#fff0b3;
}

.it-hp{
    position:absolute !important;
    left:-10000px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

.contact-client-info{
    order:2;
    padding:30px;
    border-radius:26px;
    background:rgba(255,255,255,.07);
}

.contact-logo{
    display:block;
    max-width:180px;
    height:auto;
    margin-bottom:24px;
}

.contact-client-info > p{
    color:rgba(255,255,255,.80);
    line-height:1.75;
}

.contact-client-info .contact-list{
    display:grid;
    gap:12px;
    margin-top:28px;
}

.contact-client-info .contact-list span{
    color:#fff;
}

.footer-lower{
    margin-top:42px;
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid rgba(255,255,255,.15);
    color:rgba(255,255,255,.66);
    font-size:.82rem;
}

.footer-legal{
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}

.footer-legal a{
    color:rgba(255,255,255,.72);
}


/* =========================
   DARK MODE
========================= */

body.it-dark .about-client,
body.it-dark .client-initiatives{
    background:#17121c;
}

body.it-dark .factor-card,
body.it-dark .values-card,
body.it-dark .approach-step,
body.it-dark .initiative-client-card,
body.it-dark .gov-node{
    background:#211827;
    border-color:rgba(255,255,255,.08);
}

body.it-dark .mission-card,
body.it-dark .gov-model,
body.it-dark .client-approach{
    background:#1c1521;
}

body.it-dark .factor-card h3,
body.it-dark .mission-card,
body.it-dark .gov-model-heading h3,
body.it-dark .gov-node h4,
body.it-dark .initiative-client-copy h3,
body.it-dark .contact-footer .it-contact-form{
    color:#fff;
}

body.it-dark .value-chip{
    background:#251b2b;
    color:#fff;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width:980px){

    .value-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .gov-flow{
        grid-template-columns:1fr;
    }

    .gov-arrow,
    .step-arrow{
        transform:rotate(90deg);
        justify-self:center;
    }

    .approach-steps{
        grid-template-columns:1fr;
        max-width:600px;
        margin:0 auto;
    }

    .approach-step{
        min-height:190px;
    }

    .ambition-client{
        grid-template-columns:1fr;
    }

    .contact-client-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:760px){

    .about-client,
    .client-governance,
    .client-pillars,
    .client-approach,
    .client-initiatives,
    .contact-footer{
        padding-top:64px;
    }

    .client-section-head{
        display:block;
    }

    .client-section-head > p{
        margin-top:18px;
    }

    .adn-image{
        min-height:0;
        border-radius:20px;
    }

    .adn-image img{
        height:300px;
    }

    .factor-grid,
    .dna-block{
        grid-template-columns:1fr;
    }

    .values-card{
        grid-column:auto;
    }

    .value-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .vision-card p{
        font-size:1.2rem;
    }

    .dna-card,
    .values-card,
    .gov-model{
        padding:25px;
    }

    .initiative-client-card{
        grid-template-columns:1fr;
    }

    .initiative-client-image img{
        height:230px;
        min-height:230px;
    }

    .initiative-client-copy{
        padding:26px 22px;
    }

    .ambition-client{
        padding:30px 24px;
    }

    .contact-footer .form-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .contact-footer .it-contact-form,
    .contact-client-info{
        padding:24px;
    }

    .footer-lower{
        flex-direction:column;
    }
}



/* ===== CLIENT VISUAL ALIGNMENT V2 ===== */

/* Titres : réellement réduits */
section h2,
.contact-section h2{
    font-size:clamp(2rem,3vw,2.85rem) !important;
    line-height:1.08;
}

/* HERO : image puis texte, PAS de carte flottante */
.hero.hero-editorial{
    padding:0 0 70px !important;
    background:#fbf8f3 !important;
}

.hero-editorial .hero-media img{
    height:500px !important;
    object-fit:cover;
}

.hero-editorial .hero-panel{
    margin-top:0 !important;
}

.hero-editorial .hero-copy{
    width:100% !important;
    max-width:920px !important;
    padding:42px 0 0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}

.hero-editorial .hero-copy h1{
    max-width:760px !important;
    font-size:clamp(2.35rem,4vw,3.5rem) !important;
    line-height:1.07 !important;
}

.hero-editorial .hero-lead{
    max-width:700px !important;
}

/* ADN : pictos sobres, sans grosses cartes */
.factor-grid{
    max-width:900px;
    margin:36px auto 0;
    gap:0 !important;
}

.factor-card{
    padding:16px 30px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-right:1px solid rgba(84,21,133,.14) !important;
}

.factor-card:last-child{
    border-right:0 !important;
}

.factor-icon{
    width:64px !important;
    height:64px !important;
    margin-bottom:12px !important;
    background:transparent !important;
}

.factor-icon svg,
.value-chip svg,
.gov-node-icon svg,
.step-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:#541585;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.factor-card h3{
    font-size:.82rem !important;
    line-height:1.35;
}

/* Valeurs : 6 pictos propres */
.value-chip{
    background:transparent !important;
    min-height:120px !important;
}

.value-chip span{
    width:48px;
    height:48px;
    display:block;
}

.value-chip b{
    font-size:.72rem !important;
    color:#541585;
}

/* Gouvernance A : épurée */
.client-governance .leader-info{
    padding-bottom:22px;
}

.client-governance .expertise{
    display:none !important;
}

.client-governance .role{
    margin-top:10px;
    color:#D3AE38 !important;
    font-size:.76rem;
}

/* Gouvernance B */
.gov-model{
    background:#fbf8f4 !important;
}

.gov-flow{
    max-width:800px;
    margin:0 auto;
    align-items:center !important;
}

.gov-node{
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:22px !important;
    box-shadow:0 8px 24px rgba(50,25,75,.05);
}

.gov-node-icon{
    width:54px;
    height:54px;
    margin-bottom:18px;
}

.gov-node h4{
    margin:0 !important;
    color:#541585 !important;
    font-size:.84rem !important;
    line-height:1.35;
}

.gov-node p,
.gov-node-number{
    display:none !important;
}

.gov-arrow{
    color:#D3AE38 !important;
    font-size:1.6rem !important;
}

.agility-client{
    max-width:860px;
    margin:26px auto 0 !important;
    background:#f2eaf7 !important;
    color:#34243f !important;
    border:0 !important;
}

.agility-client strong{
    color:#541585 !important;
}

.agility-client p{
    color:#5f5367 !important;
}

/* APPROCHE : frise et non cartes */
.client-approach{
    background:#fff !important;
}

.approach-steps{
    max-width:950px;
    margin:0 auto;
    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr !important;
}

.approach-step{
    min-height:0 !important;
    padding:10px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

.step-number{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    margin-bottom:10px;
    border-radius:50%;
    background:#541585;
    color:#fff !important;
    font-size:.7rem;
}

.step-icon{
    width:72px !important;
    height:72px !important;
    padding:13px;
    margin-bottom:12px !important;
    background:#f2eaf7 !important;
}

.approach-step h3{
    font-size:.86rem !important;
}

.approach-step p{
    font-size:.76rem;
    font-weight:500 !important;
}

.step-arrow{
    font-size:1.4rem !important;
}

/* Initiatives : plus compact */
.initiative-list{
    max-width:980px;
}

.initiative-client-card{
    min-height:190px !important;
    grid-template-columns:38% 1fr !important;
    border-radius:18px !important;
}

.initiative-client-image img{
    min-height:190px !important;
    height:190px !important;
}

.initiative-client-copy{
    padding:24px 28px !important;
}

.initiative-client-copy h3{
    font-size:1.35rem !important;
}

.ambition-client{
    max-width:980px;
    margin:34px 0 0;
    padding:30px 34px !important;
    grid-template-columns:1fr 1fr !important;
    align-items:center !important;
    border-radius:18px !important;
}

.ambition-client > p{
    margin:0;
    color:rgba(255,255,255,.84);
    line-height:1.7;
}

.impact-number{
    font-size:clamp(2.8rem,5vw,4.4rem) !important;
}

.initiative-cta-row{
    max-width:980px;
    margin-top:10px;
}

.initiative-presentation-btn{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    padding:15px 18px;
    border:1px solid rgba(84,21,133,.18);
    border-radius:12px;
    background:#fff;
    color:#541585;
    font-weight:700;
}

.initiative-presentation-btn b{
    margin-left:auto;
    color:#541585;
}

/* CONTACT : blanc puis footer violet */
.contact-section{
    padding:90px 0 60px;
    background:#fbf8f3;
}

.contact-section .contact-heading{
    max-width:650px;
    margin-bottom:34px;
}

.contact-section .contact-heading .eyebrow{
    color:#D3AE38;
}

.contact-section .contact-heading h2{
    margin:8px 0 12px;
    color:#24152f;
}

.contact-section .contact-heading p{
    color:#5d5364;
}

.contact-section .it-contact-form{
    max-width:900px;
    padding:0 !important;
    background:transparent !important;
    color:#24152f;
}

.contact-section label{
    display:block;
    margin-bottom:20px;
}

.contact-section label > span{
    display:block;
    margin-bottom:8px;
    color:#541585;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.05em;
}

.contact-section input,
.contact-section textarea{
    width:100%;
    padding:15px 16px;
    border:1px solid #d9d0dc;
    border-radius:9px;
    background:#fff;
    color:#24152f;
}

.contact-section textarea{
    resize:vertical;
}

.contact-section .contact-submit{
    padding:14px 24px;
    border:0;
    border-radius:5px;
    background:#541585 !important;
    color:#fff !important;
    font-size:.76rem;
    letter-spacing:.05em;
}

.contact-section .contact-submit span{
    margin-left:10px;
    color:#D3AE38;
}

.site-footer{
    padding:42px 0 24px;
    background:#24104b;
    color:#fff;
}

.footer-main-logo{
    display:block;
    width:190px;
    max-width:100%;
    margin-bottom:26px;
}

.footer-contact-list{
    display:grid;
    gap:14px;
    max-width:460px;
    color:#fff;
}

.site-footer .footer-lower{
    margin-top:34px;
}

.site-footer .footer-legal a{
    color:rgba(255,255,255,.72);
}

/* Responsive */
@media (max-width:760px){

    .hero-editorial .hero-media img{
        height:300px !important;
    }

    .hero-editorial .hero-copy{
        padding-top:28px !important;
    }

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

    .factor-card{
        border-right:0 !important;
        border-bottom:1px solid rgba(84,21,133,.14) !important;
    }

    .factor-card:last-child{
        border-bottom:0 !important;
    }

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

    .step-arrow{
        transform:rotate(90deg);
        justify-self:center;
    }

    .initiative-client-card{
        grid-template-columns:1fr !important;
    }

    .initiative-client-image img{
        height:230px !important;
    }

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



/* ===== FINAL CLIENT ALIGNMENT V3 ===== */

/* ======================================================
   HEADER — fond violet comme les simulations client
====================================================== */

header{
    background:#541585 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
}

header .nav{
    min-height:86px;
}

header .brand{
    background:transparent !important;
}

header .brand img{
    display:block;
    width:auto;
    max-width:190px;
    max-height:66px;
    object-fit:contain;
}

header .menu a{
    color:#fff !important;
}

header .menu a:hover{
    color:#D3AE38 !important;
}

header .contact-pill{
    border-color:#D3AE38 !important;
    color:#fff !important;
}

header .contact-pill:hover{
    background:#D3AE38 !important;
    color:#2b1235 !important;
}

header .theme-toggle,
header .menu-toggle{
    color:#fff !important;
    border-color:rgba(211,174,56,.65) !important;
    background:rgba(255,255,255,.04) !important;
}

header .theme-toggle:hover,
header .menu-toggle:hover{
    background:#D3AE38 !important;
    color:#2b1235 !important;
}


/* ======================================================
   HERO — plus proche de la maquette client
====================================================== */

.hero.hero-editorial{
    background:#fbf8f3 !important;
    padding-bottom:56px !important;
}

.hero-editorial .hero-media img{
    height:470px !important;
}

.hero-editorial .hero-copy{
    padding-top:34px !important;
    max-width:760px !important;
}

.hero-editorial .hero-copy .eyebrow{
    font-size:.72rem !important;
    letter-spacing:.10em !important;
    color:#541585 !important;
}

.hero-editorial .hero-copy h1{
    max-width:650px !important;
    margin-bottom:16px !important;
    font-size:clamp(2.15rem,3.4vw,3rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
}

.hero-editorial .hero-lead{
    max-width:650px !important;
    font-size:1rem !important;
    line-height:1.7 !important;
}


/* ======================================================
   TITRES GLOBAUX — éviter les titres surdimensionnés
====================================================== */

section h2{
    font-size:clamp(2rem,2.8vw,2.75rem) !important;
}


/* ======================================================
   GOUVERNANCE — cartes plus sobres
====================================================== */

.client-governance .leaders{
    gap:24px !important;
}

.client-governance .leader{
    overflow:hidden;
}

.client-governance .leader-info h3{
    line-height:1.05 !important;
}

.client-governance .role{
    font-weight:900 !important;
}


/* ======================================================
   APPROCHE — alignement gauche comme la simulation
====================================================== */

.approach-heading{
    max-width:760px !important;
    margin:0 0 50px !important;
    text-align:left !important;
}

.approach-heading h2{
    margin:8px 0 16px !important;
    text-align:left !important;
}

.approach-heading p{
    max-width:680px !important;
    margin:0 !important;
    text-align:left !important;
}

.approach-steps{
    max-width:960px !important;
    margin:0 !important;
}

.approach-conclusion{
    max-width:960px !important;
    margin:30px 0 0 !important;
}

.approach-conclusion p{
    max-width:760px;
    margin:0 auto;
}


/* ======================================================
   CONTACT — exactement un champ par ligne
====================================================== */

.contact-section{
    background:#fbf8f3 !important;
}

.contact-section .contact-heading{
    max-width:700px !important;
    margin-bottom:34px !important;
}

.contact-section .contact-heading .eyebrow{
    color:#D3AE38 !important;
    font-size:.78rem !important;
    letter-spacing:.12em !important;
}

.contact-section .contact-heading p{
    max-width:650px !important;
    margin-top:12px !important;
}

.contact-section .it-contact-form{
    display:block !important;
    grid-template-columns:none !important;
    max-width:900px !important;
    width:100% !important;
}

.contact-section .it-contact-form > label{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    margin:0 0 22px !important;
    grid-column:auto !important;
}

.contact-section .it-contact-form input,
.contact-section .it-contact-form textarea{
    display:block !important;
    width:100% !important;
    box-sizing:border-box !important;
}

.contact-section .it-contact-form textarea{
    min-height:150px !important;
}

.contact-section .contact-submit{
    display:inline-flex !important;
    width:auto !important;
    min-width:125px !important;
    padding:13px 20px !important;
    justify-content:center;
    align-items:center;
    border-radius:5px !important;
}


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

.site-footer{
    background:#260d4c !important;
}

.footer-main-logo{
    width:180px !important;
}


/* ======================================================
   MOBILE — garder les compositions compactes du client
====================================================== */

@media (max-width:760px){

    header .nav{
        min-height:68px !important;
    }

    header .brand img{
        max-width:145px !important;
        max-height:50px !important;
    }

    header .menu{
        background:#541585 !important;
        border-top:1px solid rgba(255,255,255,.10) !important;
    }

    header .menu a{
        color:#fff !important;
    }

    /* Hero */
    .hero-editorial .hero-media img{
        height:280px !important;
    }

    .hero-editorial .hero-copy{
        padding-top:26px !important;
    }

    .hero-editorial .hero-copy h1{
        font-size:2.15rem !important;
        line-height:1.08 !important;
    }

    /* Deux dirigeants côte à côte comme la simulation */
    .client-governance .leaders{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    .client-governance .leader{
        display:block !important;
        min-width:0 !important;
        border-radius:16px !important;
    }

    .client-governance .leader img{
        width:100% !important;
        height:190px !important;
        object-fit:cover !important;
        object-position:top center !important;
    }

    .client-governance .leader-info{
        padding:14px 10px 16px !important;
        text-align:center !important;
    }

    .client-governance .leader-info h3{
        margin:0 0 8px !important;
        font-size:1rem !important;
    }

    .client-governance .role{
        font-size:.57rem !important;
        line-height:1.3 !important;
        letter-spacing:.04em !important;
    }

    /* Gouvernance institutionnelle sur une ligne */
    .gov-flow{
        display:grid !important;
        grid-template-columns:1fr auto 1fr auto 1fr !important;
        gap:5px !important;
        align-items:center !important;
    }

    .gov-node{
        min-height:130px !important;
        padding:12px 5px !important;
        border-radius:12px !important;
    }

    .gov-node-icon{
        width:36px !important;
        height:36px !important;
        margin-bottom:10px !important;
    }

    .gov-node h4{
        font-size:.56rem !important;
        line-height:1.25 !important;
    }

    .gov-arrow{
        transform:none !important;
        font-size:.9rem !important;
    }

    .agility-client{
        padding:18px !important;
    }

    /* Approche : 4 étapes côte à côte, pas une longue colonne */
    .approach-heading{
        margin-bottom:34px !important;
    }

    .approach-steps{
        display:grid !important;
        grid-template-columns:1fr auto 1fr auto 1fr auto 1fr !important;
        gap:3px !important;
        width:100% !important;
        overflow:visible !important;
        align-items:start !important;
    }

    .approach-step{
        min-width:0 !important;
        padding:4px 1px !important;
    }

    .step-number{
        width:18px !important;
        height:18px !important;
        margin-bottom:7px !important;
        font-size:.55rem !important;
    }

    .step-icon{
        width:46px !important;
        height:46px !important;
        padding:9px !important;
        margin-bottom:8px !important;
    }

    .approach-step h3{
        margin:5px 0 4px !important;
        font-size:.62rem !important;
    }

    .approach-step p{
        font-size:.55rem !important;
        line-height:1.25 !important;
    }

    .step-arrow{
        transform:none !important;
        align-self:center !important;
        padding-top:48px !important;
        font-size:.7rem !important;
    }

    .approach-conclusion{
        margin-top:24px !important;
    }

    /* Contact vertical */
    .contact-section{
        padding:62px 0 48px !important;
    }

    .contact-section .it-contact-form{
        display:block !important;
    }

    .contact-section .contact-submit{
        width:auto !important;
    }
}


/* ======================================================
   DARK MODE — éviter les sections blanches incohérentes
====================================================== */

body.it-dark{
    background:#120d17 !important;
    color:#f6eff8 !important;
}

body.it-dark header{
    background:#1d0d39 !important;
}

body.it-dark .hero.hero-editorial,
body.it-dark .about-client,
body.it-dark .client-governance,
body.it-dark .client-pillars,
body.it-dark .client-approach,
body.it-dark .client-initiatives,
body.it-dark .contact-section{
    background:#17121c !important;
}

body.it-dark .hero-copy h1,
body.it-dark section h2,
body.it-dark section h3,
body.it-dark .contact-section label > span,
body.it-dark .contact-section .contact-heading p,
body.it-dark .hero-lead,
body.it-dark .approach-heading p,
body.it-dark .adn-main-text p{
    color:#f6eff8 !important;
}

body.it-dark .factor-card,
body.it-dark .dna-card,
body.it-dark .values-card,
body.it-dark .value-chip,
body.it-dark .leader,
body.it-dark .gov-node,
body.it-dark .gov-model,
body.it-dark .approach-step,
body.it-dark .initiative-client-card{
    background:#211827 !important;
    border-color:rgba(255,255,255,.08) !important;
}

body.it-dark .contact-section input,
body.it-dark .contact-section textarea{
    background:#211827 !important;
    border-color:#493951 !important;
    color:#fff !important;
}

body.it-dark .contact-section input::placeholder,
body.it-dark .contact-section textarea::placeholder{
    color:#a99bad !important;
}

body.it-dark .mission-card,
body.it-dark .agility-client{
    background:#261b2d !important;
}

body.it-dark .site-footer{
    background:#160829 !important;
}



/* ===== ITINERIS FINAL POLISH V4 ===== */

/* ------------------------------------------------------
   HEADER — empêcher les libellés de casser sur deux lignes
------------------------------------------------------ */

header .menu{
    gap:24px !important;
}

header .menu a{
    white-space:nowrap !important;
}


/* ------------------------------------------------------
   HERO — proportions plus proches de la simulation
------------------------------------------------------ */

.hero-editorial .hero-media img{
    height:440px !important;
}

.hero-editorial .hero-copy{
    max-width:720px !important;
    padding-top:30px !important;
}

.hero-editorial .hero-copy h1{
    max-width:610px !important;
    font-size:clamp(2rem,3vw,2.7rem) !important;
    line-height:1.08 !important;
    margin-bottom:14px !important;
}

.hero-editorial .hero-lead{
    max-width:620px !important;
    font-size:.98rem !important;
    line-height:1.68 !important;
}


/* ------------------------------------------------------
   GOUVERNANCE 3/A
   Deux cartes verticales comme dans la maquette client
------------------------------------------------------ */

.client-governance .leaders{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px !important;

    width:100% !important;
    max-width:860px !important;

    margin:0 auto 60px !important;
}

.client-governance .leader{
    display:block !important;
    min-width:0 !important;

    overflow:hidden !important;

    border:1px solid rgba(84,21,133,.10) !important;
    border-radius:18px !important;

    background:#fbf8f3 !important;

    box-shadow:
        0 10px 28px rgba(50,25,75,.06) !important;
}

.client-governance .leader img{
    display:block !important;

    width:100% !important;
    height:390px !important;

    object-fit:cover !important;
    object-position:top center !important;

    border-radius:0 !important;
}

.client-governance .leader-info{
    display:block !important;

    padding:20px 22px 22px !important;

    text-align:left !important;
}

.client-governance .leader-info h3{
    margin:0 0 10px !important;

    color:#541585 !important;

    font-size:1.55rem !important;
    line-height:1.08 !important;
}

.client-governance .role{
    margin:0 !important;

    color:#D3AE38 !important;

    font-size:.72rem !important;
    font-weight:900 !important;

    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}


/* ------------------------------------------------------
   CONTACT — largeur plus proche de la simulation
------------------------------------------------------ */

.contact-section .contact-heading{
    max-width:660px !important;
}

.contact-section .it-contact-form{
    width:100% !important;
    max-width:760px !important;
}

.contact-section .it-contact-form > label{
    margin-bottom:18px !important;
}

.contact-section input,
.contact-section textarea{
    padding:13px 15px !important;
}

.contact-section textarea{
    min-height:135px !important;
}

.contact-section .contact-submit{
    min-width:115px !important;
    padding:12px 18px !important;
}


/* ------------------------------------------------------
   DARK MODE — conserver les cartes dirigeants propres
------------------------------------------------------ */

body.it-dark .client-governance .leader{
    background:#211827 !important;
    border-color:rgba(255,255,255,.08) !important;
}

body.it-dark .client-governance .leader-info h3{
    color:#f6eff8 !important;
}


/* ------------------------------------------------------
   TABLETTE
------------------------------------------------------ */

@media (max-width:980px){

    header .menu{
        gap:14px !important;
    }

    header .menu a{
        font-size:.82rem !important;
    }

    .hero-editorial .hero-media img{
        height:380px !important;
    }

    .client-governance .leaders{
        max-width:720px !important;
    }

    .client-governance .leader img{
        height:330px !important;
    }
}


/* ------------------------------------------------------
   MOBILE
------------------------------------------------------ */

@media (max-width:760px){

    .hero-editorial .hero-media img{
        height:270px !important;
    }

    .hero-editorial .hero-copy h1{
        font-size:2rem !important;
    }

    /* Le client conserve bien les deux dirigeants côte à côte */
    .client-governance .leaders{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:9px !important;

        margin-bottom:40px !important;
    }

    .client-governance .leader{
        border-radius:12px !important;
    }

    .client-governance .leader img{
        height:185px !important;
    }

    .client-governance .leader-info{
        padding:12px 8px 14px !important;

        text-align:center !important;
    }

    .client-governance .leader-info h3{
        margin-bottom:7px !important;

        font-size:.92rem !important;
        line-height:1.08 !important;
    }

    .client-governance .role{
        font-size:.52rem !important;
        line-height:1.3 !important;

        letter-spacing:.035em !important;
    }

    .contact-section .it-contact-form{
        max-width:100% !important;
    }
}



/* ===== ITINERIS LANGUAGE SWITCH V1 ===== */

.lang-switch{
    position:relative;

    width:78px;
    height:36px;

    flex:0 0 78px;

    display:grid;
    grid-template-columns:1fr 1fr;

    margin-left:10px;
    padding:3px;

    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;

    background:rgba(255,255,255,.08);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06);

    isolation:isolate;

    transition:
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}

.lang-switch::before{
    content:"";

    position:absolute;
    z-index:0;

    top:3px;
    left:3px;

    width:calc(50% - 3px);
    height:calc(100% - 6px);

    border-radius:999px;

    background:#D3AE38;

    box-shadow:
        0 5px 16px rgba(20,8,35,.22);

    transition:
        transform .32s cubic-bezier(.22,.75,.25,1),
        box-shadow .32s ease;
}

.lang-switch.is-en::before{
    transform:translateX(100%);
}

.lang-switch:hover{
    border-color:rgba(211,174,56,.72);
    background:rgba(255,255,255,.12);
}

.lang-option{
    position:relative;
    z-index:1;

    display:grid;
    place-items:center;

    min-width:0;

    padding:0;

    border:0;
    outline:0;

    background:transparent;

    color:rgba(255,255,255,.72);

    font:inherit;
    font-size:.68rem;
    font-weight:800;

    letter-spacing:.055em;

    cursor:pointer;

    transition:
        color .25s ease,
        transform .25s ease,
        opacity .25s ease;
}

.lang-option:hover{
    color:#fff;
}

.lang-option.is-active{
    color:#2b1235;
}

.lang-option:focus-visible{
    outline:2px solid #fff;
    outline-offset:4px;
    border-radius:999px;
}

/* Transition douce du contenu pendant le changement de langue */
body main,
body .menu,
body .contact-section,
body .site-footer{
    transition:
        opacity .16s ease,
        transform .16s ease;
}

body.lang-switching main,
body.lang-switching .contact-section,
body.lang-switching .site-footer{
    opacity:.76;
    transform:translateY(2px);
}

/* L’anglais peut légèrement élargir certains textes */
body.lang-en .menu{
    gap:18px !important;
}

body.lang-en .menu a{
    font-size:.82rem !important;
}


/* Mobile */
@media (max-width:760px){

    .lang-switch{
        width:72px;
        height:34px;

        flex-basis:72px;

        margin-left:7px;
    }

    .lang-option{
        font-size:.64rem;
    }
}


/* ===== LANGUAGE HEADER FIT V2 ===== */

header .nav{
    gap:16px !important;
}

header .brand img{
    max-width:170px !important;
}

header .menu{
    gap:18px !important;
    flex:1 1 auto !important;
    justify-content:center !important;
}

header .menu a{
    font-size:.78rem !important;
}

header .contact-pill{
    padding-left:20px !important;
    padding-right:20px !important;
}

.lang-switch{
    margin-left:0 !important;
    flex:0 0 76px !important;
    width:76px !important;
}

@media (max-width:1150px){

    header .brand img{
        max-width:150px !important;
    }

    header .menu{
        gap:12px !important;
    }

    header .menu a{
        font-size:.72rem !important;
    }

    header .contact-pill{
        padding-left:15px !important;
        padding-right:15px !important;
    }
}


/* ===== FIX CONTACT HOVER CONTRAST ===== */

header .contact-pill:hover,
header .contact-pill:focus-visible{
    background:#D3AE38 !important;
    border-color:#D3AE38 !important;
    color:#171019 !important;
}


/* ===== FIX CONTACT HOVER CONTRAST V2 ===== */

header .menu a.contact-pill:hover,
header .menu a.contact-pill:focus-visible{
    background:#D3AE38 !important;
    border-color:#D3AE38 !important;
    color:#171019 !important;
}



/* ===== CLIENT AMENDMENTS FINAL LOCK V5 ===== */


/* ==========================================================
   1. HERO DESKTOP
   Titre moins massif et plus large pour se rapprocher
   de la simulation client.
========================================================== */

.hero-editorial .hero-copy{
    width:100% !important;
    max-width:850px !important;
}

.hero-editorial .hero-copy h1{
    width:100% !important;
    max-width:800px !important;

    font-size:clamp(2rem,2.8vw,2.55rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;

    margin-bottom:15px !important;
}

.hero-editorial .hero-lead{
    max-width:700px !important;
}


/* ==========================================================
   MOBILE / PETITES TABLETTES
========================================================== */

@media (max-width:760px){

    /* ------------------------------------------------------
       HERO
    ------------------------------------------------------ */

    .hero-editorial .hero-copy{
        max-width:100% !important;
    }

    .hero-editorial .hero-copy h1{
        max-width:100% !important;
        font-size:1.95rem !important;
        line-height:1.08 !important;
    }


    /* ------------------------------------------------------
       2. NOTRE ADN
       Garder les 3 facteurs côte à côte comme la simulation.
    ------------------------------------------------------ */

    .factor-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;

        width:100% !important;
        max-width:100% !important;

        gap:0 !important;

        margin-top:28px !important;
    }

    .factor-card{
        min-width:0 !important;

        padding:12px 7px !important;

        border-right:1px solid rgba(84,21,133,.14) !important;
        border-bottom:0 !important;

        background:transparent !important;
        box-shadow:none !important;

        text-align:center !important;
    }

    .factor-card:last-child{
        border-right:0 !important;
    }

    .factor-icon{
        width:42px !important;
        height:42px !important;

        margin:0 auto 10px !important;
    }

    .factor-card h3{
        margin:0 !important;

        font-size:.58rem !important;
        line-height:1.25 !important;

        letter-spacing:.015em !important;

        overflow-wrap:normal !important;
        word-break:normal !important;
        hyphens:auto;
    }


    /* ------------------------------------------------------
       3. VALEURS
       6 valeurs = 3 colonnes x 2 lignes.
    ------------------------------------------------------ */

    .value-grid{
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;

        gap:8px !important;
    }

    .value-chip{
        min-width:0 !important;
        min-height:96px !important;

        padding:10px 4px !important;

        gap:7px !important;
    }

    .value-chip span{
        width:40px !important;
        height:40px !important;
    }

    .value-chip b{
        font-size:.57rem !important;
        line-height:1.2 !important;

        letter-spacing:.01em !important;

        overflow-wrap:normal !important;
        word-break:normal !important;
    }


    /* ------------------------------------------------------
       4. INITIATIVES
       Conserver image gauche / texte droite en mobile.
    ------------------------------------------------------ */

    .initiative-list{
        gap:12px !important;
    }

    .initiative-client-card{
        display:grid !important;

        grid-template-columns:40% minmax(0,60%) !important;

        min-height:145px !important;
        height:auto !important;

        overflow:hidden !important;

        border-radius:14px !important;
    }

    .initiative-client-image{
        min-width:0 !important;
        height:100% !important;
    }

    .initiative-client-image img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        min-height:145px !important;
        max-height:none !important;

        object-fit:cover !important;
        object-position:center !important;
    }

    .initiative-client-copy{
        min-width:0 !important;

        padding:14px 12px !important;

        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
    }

    .initiative-index{
        margin-bottom:6px !important;

        font-size:.65rem !important;
    }

    .initiative-client-copy h3{
        margin:0 0 7px !important;

        font-size:.88rem !important;
        line-height:1.18 !important;

        overflow-wrap:anywhere;
    }

    .initiative-client-copy p{
        margin:0 !important;

        font-size:.67rem !important;
        line-height:1.35 !important;

        overflow-wrap:anywhere;
    }


    /* Bloc ambition compact également */
    .ambition-client{
        margin-top:26px !important;
    }

}


/* ==========================================================
   TRÈS PETITS ÉCRANS
   On conserve volontairement les compositions horizontales.
========================================================== */

@media (max-width:380px){

    .factor-card{
        padding-left:4px !important;
        padding-right:4px !important;
    }

    .factor-icon{
        width:37px !important;
        height:37px !important;
    }

    .factor-card h3{
        font-size:.53rem !important;
    }

    .value-chip b{
        font-size:.52rem !important;
    }

    .initiative-client-card{
        grid-template-columns:38% minmax(0,62%) !important;
    }

    .initiative-client-copy{
        padding:11px 9px !important;
    }

    .initiative-client-copy h3{
        font-size:.80rem !important;
    }

    .initiative-client-copy p{
        font-size:.62rem !important;
    }
}



/* ===== ITINERIS FOOTER LAYOUT V2 ===== */

.site-footer .footer-top{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:60px !important;
    width:100% !important;
}

.site-footer .footer-identity{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:22px !important;
}

.site-footer .footer-main-logo{
    display:block !important;
    max-width:190px !important;
    height:auto !important;
}

.site-footer .footer-contact-list{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
}

.site-footer .footer-email{
    color:inherit !important;
    text-decoration:none !important;
    transition:opacity .2s ease !important;
}

.site-footer .footer-email:hover{
    opacity:.72 !important;
}

.site-footer .footer-socials{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    text-align:right !important;
    gap:14px !important;
    padding-top:8px !important;
}

.site-footer .footer-social-title{
    font-size:.7rem !important;
    font-weight:700 !important;
    letter-spacing:.14em !important;
    opacity:.72 !important;
}

.site-footer .footer-social-links{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    gap:10px !important;
}

.site-footer .footer-social-links a{
    color:inherit !important;
    text-decoration:none !important;
    transition:opacity .2s ease, transform .2s ease !important;
}

.site-footer .footer-social-links a:hover{
    opacity:.75 !important;
    transform:translateX(-2px) !important;
}

.site-footer .footer-lower{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:30px !important;

    margin-top:44px !important;
    padding-top:22px !important;

    border-top:1px solid rgba(255,255,255,.18) !important;
}

.site-footer .footer-legal{
    display:flex !important;
    align-items:center !important;
    gap:22px !important;
}

.site-footer .footer-legal a{
    color:inherit !important;
    text-decoration:none !important;
}


/* MOBILE */

@media (max-width:760px){

    .site-footer .footer-top{
        flex-direction:column !important;
        align-items:center !important;
        gap:34px !important;
    }

    .site-footer .footer-identity{
        align-items:center !important;
        text-align:center !important;
    }

    .site-footer .footer-contact-list{
        align-items:center !important;
    }

    .site-footer .footer-socials{
        align-items:center !important;
        text-align:center !important;
        padding-top:0 !important;
    }

    .site-footer .footer-social-links{
        flex-direction:row !important;
        align-items:center !important;
        justify-content:center !important;
        gap:22px !important;
    }

    .site-footer .footer-social-links a:hover{
        transform:none !important;
    }

    .site-footer .footer-lower{
        flex-direction:column !important;
        text-align:center !important;
        gap:14px !important;
        margin-top:34px !important;
    }

    .site-footer .footer-legal{
        justify-content:center !important;
        flex-wrap:wrap !important;
        gap:10px 18px !important;
    }
}



/* ===== ITINERIS NAV + HERO FINAL POLISH V6 ===== */


/* ==========================================================
   NAVIGATION DESKTOP
   Tous les liens ont exactement le même comportement.
========================================================== */

header .menu > a,
header .menu a.contact-pill{
    position:relative !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:auto !important;
    min-width:0 !important;
    height:auto !important;

    margin:0 !important;
    padding:8px 0 !important;

    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;

    color:#ffffff !important;

    font-size:.78rem !important;
    font-weight:600 !important;
    line-height:1.2 !important;

    text-decoration:none !important;

    transition:
        color .25s ease,
        opacity .25s ease !important;
}


/* On neutralise complètement l'ancien style "bouton Contact". */

header .menu a.contact-pill:hover,
header .menu a.contact-pill:focus,
header .menu a.contact-pill:focus-visible{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    color:#ffffff !important;
}


/* ==========================================================
   ANIMATION COMMUNE DES LIENS
========================================================== */

header .menu > a::after,
header .menu a.contact-pill::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    right:auto !important;
    bottom:1px !important;

    width:100% !important;
    height:2px !important;

    background:#D3AE38 !important;

    border:0 !important;
    border-radius:999px !important;

    transform:scaleX(0) !important;
    transform-origin:right center !important;

    opacity:1 !important;

    transition:
        transform .28s cubic-bezier(.4,0,.2,1) !important;
}

header .menu > a:hover::after,
header .menu > a:focus-visible::after,
header .menu a.contact-pill:hover::after,
header .menu a.contact-pill:focus-visible::after{
    transform:scaleX(1) !important;
    transform-origin:left center !important;
}

header .menu > a:hover,
header .menu > a:focus-visible,
header .menu a.contact-pill:hover,
header .menu a.contact-pill:focus-visible{
    color:#D3AE38 !important;
}


/* ==========================================================
   HERO
========================================================== */

/* Suppression du trait décoratif placé avant le premier surtitre. */

#accueil .eyebrow::before,
.hero-editorial .eyebrow::before,
.hero-copy .eyebrow::before{
    content:none !important;
    display:none !important;
}


/* THINK & DO TANK... = OR */

#accueil .eyebrow,
.hero-editorial .eyebrow,
.hero-copy .eyebrow{
    color:#D3AE38 !important;
}


/* Titre principal = VIOLET */

#accueil h1,
.hero-editorial .hero-copy h1{
    color:#541585 !important;
}


/* ==========================================================
   HAMBURGER
========================================================== */

@media (max-width:900px){

    header .menu-toggle{
        position:relative !important;

        width:44px !important;
        height:44px !important;
        min-width:44px !important;

        margin:0 !important;
        padding:0 !important;

        border:1px solid rgba(255,255,255,.28) !important;
        border-radius:12px !important;

        background:rgba(255,255,255,.06) !important;

        box-shadow:none !important;

        color:transparent !important;
        font-size:0 !important;

        align-items:center !important;
        justify-content:center !important;

        overflow:hidden !important;

        transition:
            background .25s ease,
            border-color .25s ease,
            transform .25s ease !important;
    }

    header .menu-toggle:hover,
    header .menu-toggle:focus-visible{
        background:rgba(211,174,56,.14) !important;
        border-color:#D3AE38 !important;
    }


    /* On masque les anciens éléments graphiques éventuels du bouton. */

    header .menu-toggle > *{
        opacity:0 !important;
        visibility:hidden !important;
    }


    /* Ligne du haut */

    header .menu-toggle::before{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        top:14px !important;

        width:20px !important;
        height:2px !important;

        background:#ffffff !important;
        border-radius:10px !important;

        transform:translateX(-50%) !important;

        box-shadow:0 7px 0 #ffffff !important;

        transition:
            top .25s ease,
            transform .25s ease,
            box-shadow .2s ease,
            background .25s ease !important;
    }


    /* Ligne du bas */

    header .menu-toggle::after{
        content:"" !important;

        position:absolute !important;

        left:50% !important;
        top:28px !important;

        width:20px !important;
        height:2px !important;

        background:#ffffff !important;
        border-radius:10px !important;

        transform:translateX(-50%) !important;

        transition:
            top .25s ease,
            transform .25s ease,
            background .25s ease !important;
    }


    /* Quand le menu est ouvert : hamburger → X */

    header .menu-toggle[aria-expanded="true"]::before{
        top:21px !important;

        box-shadow:none !important;

        background:#D3AE38 !important;

        transform:
            translateX(-50%)
            rotate(45deg) !important;
    }

    header .menu-toggle[aria-expanded="true"]::after{
        top:21px !important;

        background:#D3AE38 !important;

        transform:
            translateX(-50%)
            rotate(-45deg) !important;
    }


    /* ======================================================
       MENU MOBILE
       Contact ne doit plus être un bouton indépendant.
    ====================================================== */

    header .menu a,
    header .menu a.contact-pill{
        display:flex !important;

        width:100% !important;

        margin:0 !important;
        padding:13px 0 !important;

        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;

        color:#ffffff !important;

        text-align:left !important;
        justify-content:flex-start !important;

        font-size:.92rem !important;
        font-weight:600 !important;
    }

    header .menu a.contact-pill{
        margin-left:0 !important;
        margin-right:0 !important;
    }

    header .menu a::after,
    header .menu a.contact-pill::after{
        left:0 !important;
        bottom:6px !important;

        width:32px !important;

        transform:scaleX(0) !important;
        transform-origin:left center !important;
    }

    header .menu a:hover::after,
    header .menu a:focus-visible::after,
    header .menu a.contact-pill:hover::after,
    header .menu a.contact-pill:focus-visible::after{
        transform:scaleX(1) !important;
    }

}


/* Très petit mobile */

@media (max-width:480px){

    header .menu-toggle{
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
    }

}



/* ===== ITINERIS TITLE SCALE HARMONY V7 ===== */

/*
   Même hiérarchie pour :
   - Hero
   - Comprendre avant d’agir
   - Gouvernance
   - Piliers
   - Approche
   - Initiatives
   et les autres grands titres utilisant .section-head
*/

.hero-editorial .hero-copy h1,
.hero-copy h1,
.section-head h2,
.client-section-head h2{
    font-size:clamp(2rem,2.8vw,2.55rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em !important;
}


/* Tablettes */

@media (max-width:980px){

    .hero-editorial .hero-copy h1,
    .hero-copy h1,
    .section-head h2,
    .client-section-head h2{
        font-size:2.2rem !important;
    }

}


/* Mobile */

@media (max-width:650px){

    .hero-editorial .hero-copy h1,
    .hero-copy h1,
    .section-head h2,
    .client-section-head h2{
        font-size:1.95rem !important;
        line-height:1.1 !important;
    }

}


/* ===== ADN TEXT / FACTORS SPACING V8 ===== */

.about-client .adn-main-text{
    margin-top:28px !important;
}

.about-client .factor-grid{
    margin-top:28px !important;
}

.about-client .adn-main-text-after{
    margin-top:26px !important;
    margin-bottom:34px !important;
}

.about-client .adn-main-text p{
    margin:0 !important;
}


/* ===== MOBILE TEXT JUSTIFY V9 ===== */

@media (max-width:760px){

    .hero-lead,
    .section-head p,
    .adn-main-text p,
    .dna-card p,
    .values-card p,
    .governance p,
    .leader-info p,
    .agility p,
    .pillar p,
    .approach p,
    .initiative-client-copy p,
    .ambition-client p,
    .contact-client p{
        text-align:left !important;
        text-justify:auto !important;
        hyphens:none !important;
        -webkit-hyphens:none !important;
    }

}



/* ===== MOBILE HAMBURGER CLEAN V10 ===== */

@media (max-width:980px){

    /*
     * Bouton hamburger :
     * simple, sans capsule ni carré inutile.
     */
    header .menu-toggle{
        position:relative !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        width:38px !important;
        height:38px !important;
        min-width:38px !important;

        margin:0 !important;
        padding:0 !important;

        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;
        box-shadow:none !important;

        cursor:pointer !important;
        overflow:visible !important;

        font-size:0 !important;
        color:transparent !important;
    }


    /* On supprime complètement le faux hamburger du V6 */

    header .menu-toggle::before,
    header .menu-toggle::after{
        content:none !important;
        display:none !important;
    }


    /* Les 3 vraies lignes HTML */

    header .menu-toggle > span{
        position:absolute !important;

        left:50% !important;

        display:block !important;

        width:23px !important;
        height:2px !important;

        margin:0 !important;
        padding:0 !important;

        background:#ffffff !important;
        border:0 !important;
        border-radius:2px !important;

        opacity:1 !important;
        visibility:visible !important;

        transform-origin:center !important;

        transition:
            transform .25s ease,
            top .25s ease,
            opacity .18s ease,
            background .25s ease !important;
    }


    /* Ligne supérieure */

    header .menu-toggle > span:nth-child(1){
        top:11px !important;
        transform:translateX(-50%) !important;
    }


    /* Ligne centrale */

    header .menu-toggle > span:nth-child(2){
        top:18px !important;
        transform:translateX(-50%) !important;
    }


    /* Ligne inférieure */

    header .menu-toggle > span:nth-child(3){
        top:25px !important;
        transform:translateX(-50%) !important;
    }


    /*
     * MENU OUVERT
     * Les lignes 1 et 3 forment le X.
     */

    header .menu-toggle[aria-expanded="true"] > span:nth-child(1){
        top:18px !important;
        background:#D3AE38 !important;

        transform:
            translateX(-50%)
            rotate(45deg) !important;
    }

    header .menu-toggle[aria-expanded="true"] > span:nth-child(2){
        opacity:0 !important;
        transform:
            translateX(-50%)
            scaleX(0) !important;
    }

    header .menu-toggle[aria-expanded="true"] > span:nth-child(3){
        top:18px !important;
        background:#D3AE38 !important;

        transform:
            translateX(-50%)
            rotate(-45deg) !important;
    }


    /*
     * Alignement du header mobile.
     */

    header .nav{
        display:flex !important;
        align-items:center !important;
    }

    header .brand{
        flex:0 0 auto !important;
    }

    header .lang-switch{
        margin-left:auto !important;
        flex:0 0 auto !important;
    }

    header .menu-toggle{
        margin-left:12px !important;
        flex:0 0 auto !important;
    }

}


/* Petit téléphone */

@media (max-width:480px){

    header .menu-toggle{
        width:34px !important;
        height:36px !important;
        min-width:34px !important;
        margin-left:8px !important;
    }

    header .menu-toggle > span{
        width:21px !important;
    }

}



/* ===== ITINERIS UNIFORM SECTION RHYTHM V11 ===== */

:root{
    --itineris-section-space: 84px;
    --itineris-section-space-mobile: 58px;
}


/*
 * Toutes les grandes sections après le Hero
 * utilisent exactement le même espacement vertical.
 */

body > section:not(#accueil){
    padding-top:var(--itineris-section-space) !important;
    padding-bottom:var(--itineris-section-space) !important;
}


/*
 * On évite que des marges externes ajoutées aux sections
 * créent des écarts différents entre deux blocs.
 */

body > section:not(#accueil){
    margin-top:0 !important;
    margin-bottom:0 !important;
}


/* MOBILE */

@media (max-width:760px){

    body > section:not(#accueil){
        padding-top:var(--itineris-section-space-mobile) !important;
        padding-bottom:var(--itineris-section-space-mobile) !important;
        margin-top:0 !important;
        margin-bottom:0 !important;
    }

}



/* ==========================================================
   ITINERIS MOBILE NAVIGATION CONSOLIDATED V12
   ========================================================== */

@media (max-width:980px){

    /* -------------------------------------------------------
       ANCRES
       Header mobile ≈ 72px + respiration
       ------------------------------------------------------- */

    html{
        scroll-padding-top:0 !important;
    }

    main > section[id]{
        scroll-margin-top:16px !important;
    }


    /* -------------------------------------------------------
       HEADER
       ------------------------------------------------------- */

    header .nav{
        height:72px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;

        gap:0 !important;

        position:relative !important;
    }


    /* Logo */

    header .brand{
        order:1 !important;

        flex:0 0 auto !important;

        display:flex !important;
        align-items:center !important;

        margin:0 !important;
        padding:0 !important;
    }

    header .brand img{
        display:block !important;

        width:132px !important;
        max-width:132px !important;
        height:auto !important;
    }


    /* -------------------------------------------------------
       SÉLECTEUR DE LANGUE
       ------------------------------------------------------- */

    header .lang-switch{
        order:2 !important;

        margin-left:auto !important;
        margin-right:8px !important;

        padding:0 !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        gap:2px !important;

        width:auto !important;
        min-width:0 !important;
        height:44px !important;

        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;

        box-shadow:none !important;
        overflow:visible !important;
    }


    /*
     * On désactive le curseur/capsule graphique
     * provenant des anciennes versions.
     */

    header .lang-switch::before{
        content:none !important;
        display:none !important;
    }


    header .lang-option{
        position:relative !important;
        z-index:1 !important;

        width:44px !important;
        min-width:44px !important;
        height:44px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        margin:0 !important;
        padding:0 !important;

        border:0 !important;
        border-radius:999px !important;

        background:transparent !important;
        box-shadow:none !important;

        color:#ffffff !important;

        font-size:12px !important;
        font-weight:800 !important;
        line-height:1 !important;

        cursor:pointer !important;
    }


    header .lang-option.is-active{
        background:#D3AE38 !important;
        color:#291231 !important;
    }


    header .lang-option:focus-visible{
        outline:2px solid #ffffff !important;
        outline-offset:2px !important;
    }


    /* -------------------------------------------------------
       HAMBURGER
       ------------------------------------------------------- */

    header .menu-toggle{
        order:3 !important;

        position:relative !important;

        display:block !important;

        flex:0 0 44px !important;

        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;

        height:44px !important;
        min-height:44px !important;
        max-height:44px !important;

        margin:0 !important;
        padding:0 !important;

        background:transparent !important;

        border:0 !important;
        border-radius:8px !important;

        box-shadow:none !important;

        overflow:hidden !important;

        cursor:pointer !important;

        font-size:0 !important;
        color:transparent !important;
    }


    header .menu-toggle:hover{
        background:rgba(255,255,255,.08) !important;
    }


    header .menu-toggle:focus-visible{
        outline:2px solid #D3AE38 !important;
        outline-offset:2px !important;
    }


    /*
     * Suppression totale des faux traits
     * créés par V6.
     */

    header .menu-toggle::before,
    header .menu-toggle::after{
        content:none !important;
        display:none !important;
    }


    /*
     * Les trois vrais <span> du HTML.
     */

    header .menu-toggle > span{
        position:absolute !important;

        left:50% !important;

        display:block !important;
        visibility:visible !important;
        opacity:1 !important;

        width:24px !important;
        height:2px !important;

        margin:0 !important;
        padding:0 !important;

        background:#ffffff !important;
        border:0 !important;
        border-radius:99px !important;

        transform-origin:center center !important;

        transition:
            transform .24s ease,
            top .24s ease,
            opacity .18s ease,
            background-color .24s ease !important;
    }


    header .menu-toggle > span:nth-child(1){
        top:14px !important;
        transform:translateX(-50%) !important;
    }

    header .menu-toggle > span:nth-child(2){
        top:21px !important;
        transform:translateX(-50%) !important;
    }

    header .menu-toggle > span:nth-child(3){
        top:28px !important;
        transform:translateX(-50%) !important;
    }


    /*
     * Compatible avec les deux états possibles :
     * aria-expanded=true
     * OU ancienne classe .is-active
     */

    header .menu-toggle[aria-expanded="true"] > span:nth-child(1),
    header .menu-toggle.is-active > span:nth-child(1){
        top:21px !important;

        background:#D3AE38 !important;

        transform:
            translateX(-50%)
            rotate(45deg) !important;
    }


    header .menu-toggle[aria-expanded="true"] > span:nth-child(2),
    header .menu-toggle.is-active > span:nth-child(2){
        opacity:0 !important;

        transform:
            translateX(-50%)
            scaleX(0) !important;
    }


    header .menu-toggle[aria-expanded="true"] > span:nth-child(3),
    header .menu-toggle.is-active > span:nth-child(3){
        top:21px !important;

        background:#D3AE38 !important;

        transform:
            translateX(-50%)
            rotate(-45deg) !important;
    }


    /* -------------------------------------------------------
       MENU DÉROULANT
       ------------------------------------------------------- */

    header .menu{
        order:4 !important;

        position:fixed !important;

        left:0 !important;
        right:0 !important;
        top:72px !important;

        width:100% !important;
        max-width:none !important;

        max-height:calc(100dvh - 72px) !important;

        margin:0 !important;
        padding:18px 24px 24px !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;

        gap:0 !important;

        overflow-y:auto !important;
        overscroll-behavior:contain !important;

        background:#541585 !important;

        border:0 !important;
        border-top:1px solid rgba(255,255,255,.10) !important;

        box-shadow:0 18px 30px rgba(22,8,32,.18) !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;

        transform:translateY(-8px) !important;

        transition:
            opacity .22s ease,
            transform .22s ease,
            visibility .22s ease !important;

        z-index:999 !important;
    }


    header .menu.is-open{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;

        transform:translateY(0) !important;
    }


    /* Liens */

    header .menu > a,
    header .menu > a.contact-pill{
        position:relative !important;

        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;

        width:100% !important;
        min-height:48px !important;

        margin:0 !important;
        padding:0 !important;

        background:transparent !important;

        border:0 !important;
        border-radius:0 !important;

        box-shadow:none !important;

        color:#ffffff !important;

        font-size:14px !important;
        font-weight:700 !important;
        line-height:1.2 !important;

        letter-spacing:.04em !important;

        text-align:left !important;
        text-decoration:none !important;
    }


    /*
     * Contact = exactement comme les autres.
     */

    header .menu > a.contact-pill{
        color:#ffffff !important;
    }


    /* Animation commune */

    header .menu > a::after,
    header .menu > a.contact-pill::after{
        content:"" !important;

        position:absolute !important;

        left:0 !important;
        bottom:6px !important;

        width:30px !important;
        height:2px !important;

        background:#D3AE38 !important;

        border-radius:99px !important;

        transform:scaleX(0) !important;
        transform-origin:left center !important;

        transition:transform .22s ease !important;
    }


    header .menu > a:hover,
    header .menu > a:focus-visible,
    header .menu > a.contact-pill:hover,
    header .menu > a.contact-pill:focus-visible{
        color:#D3AE38 !important;
    }


    header .menu > a:hover::after,
    header .menu > a:focus-visible::after,
    header .menu > a.contact-pill:hover::after,
    header .menu > a.contact-pill:focus-visible::after{
        transform:scaleX(1) !important;
    }


    /* -------------------------------------------------------
       BLOCAGE DU SCROLL DERRIÈRE LE MENU
       ------------------------------------------------------- */

    body.it-menu-open{
        overflow:hidden !important;
        overscroll-behavior:none !important;
    }

}


/* ==========================================================
   TRÈS PETITS ÉCRANS
   ========================================================== */

@media (max-width:360px){

    header .brand img{
        width:116px !important;
        max-width:116px !important;
    }

    header .lang-switch{
        margin-right:4px !important;
    }

    header .lang-option{
        width:40px !important;
        min-width:40px !important;
    }

}



/* ==========================================================
   ITINERIS MOBILE CONTENT CONSOLIDATION V13
   Audit 320 / 375 / 390 / 430
   ========================================================== */

@media (max-width:767px){

    :root{
        --it-mobile-header:72px;
        --it-mobile-section-space:56px;
        --it-gold-readable:#8A6500;
    }


    /* -------------------------------------------------------
       RYTHME GLOBAL
       Même respiration pour toutes les grandes sections.
       ------------------------------------------------------- */

    html{
        scroll-padding-top:0 !important;
    }

    main > section[id]:not(#accueil){
        padding-top:var(--it-mobile-section-space) !important;
        padding-bottom:var(--it-mobile-section-space) !important;

        margin-top:0 !important;
        margin-bottom:0 !important;

        min-height:0 !important;
        height:auto !important;

        /*
         * 56px de padding interne + 16px = hauteur header 72px.
         * Le titre arrive donc juste sous le header.
         */
        scroll-margin-top:16px !important;
    }


    /* -------------------------------------------------------
       TYPOGRAPHIE MOBILE
       ------------------------------------------------------- */

    main p{
        text-align:left !important;
        text-justify:auto !important;

        hyphens:none !important;
        -webkit-hyphens:none !important;

        font-size:16px !important;
        line-height:1.6 !important;
    }


    .client-section-head,
    .approach-heading,
    .initiatives-heading,
    .contact-heading{
        margin-bottom:30px !important;
    }


    .client-section-head{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }


    .client-section-head > div{
        margin:0 !important;
    }


    /*
     * Doré lisible pour les PETITS TEXTES sur fond clair.
     * Le doré de marque #D3AE38 reste disponible pour
     * les éléments décoratifs et les fonds violets.
     */

    .hero-copy > .eyebrow,
    .client-section-head .eyebrow,
    .gov-model-heading .eyebrow,
    .approach-heading > .eyebrow,
    .initiatives-heading > .eyebrow,
    .contact-heading > .eyebrow,
    .client-governance .role,
    .initiative-index{
        color:var(--it-gold-readable) !important;
    }


    .eyebrow{
        font-size:12px !important;
        line-height:1.35 !important;
    }


    .client-governance .role{
        font-size:12px !important;
        line-height:1.4 !important;
    }


    .gov-node h4{
        font-size:13px !important;
        line-height:1.35 !important;

        overflow-wrap:normal !important;
        word-break:normal !important;
    }


    .approach-step h3{
        font-size:14px !important;
        line-height:1.3 !important;
    }


    .approach-step p{
        font-size:14px !important;
        line-height:1.45 !important;
    }


    .initiative-client-copy h3{
        font-size:19px !important;
        line-height:1.3 !important;
    }


    .initiative-client-copy p{
        font-size:15px !important;
        line-height:1.55 !important;
    }


    .factor-card h3{
        font-size:11.5px !important;
        line-height:1.35 !important;
    }


    .dna-label{
        font-size:12px !important;
    }


    /* -------------------------------------------------------
       CONTACT
       ------------------------------------------------------- */

    .contact-section .contact-heading h2.eyebrow{
        margin:0 0 12px !important;

        font-family:var(--sans) !important;
        font-size:12px !important;
        font-weight:800 !important;

        line-height:1.35 !important;

        letter-spacing:.18em !important;
        text-transform:uppercase !important;

        color:var(--it-gold-readable) !important;
    }


    .contact-section input,
    .contact-section textarea{
        font-size:16px !important;
        line-height:1.4 !important;
    }


    .contact-section input{
        min-height:48px !important;
    }


    .contact-section .contact-submit{
        min-height:48px !important;

        padding:12px 20px !important;

        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
    }


    /* -------------------------------------------------------
       PRESENTATION DESACTIVEE
       ------------------------------------------------------- */

    .initiative-presentation-btn.is-disabled{
        pointer-events:none !important;
        cursor:default !important;
        opacity:.72 !important;
    }


    /* -------------------------------------------------------
       FOOTER : ZONES TACTILES
       ------------------------------------------------------- */

    .site-footer .footer-email,
    .site-footer .footer-social-links a,
    .site-footer .footer-legal a,
    .site-footer .footer-legal-placeholder{
        min-height:44px !important;

        display:inline-flex !important;
        align-items:center !important;
    }


    .site-footer .footer-legal-placeholder{
        color:inherit !important;
        font-size:inherit !important;
    }

}



/* ==========================================================
   PETITS MOBILES : 320 -> 480
   ========================================================== */

@media (max-width:480px){


    /* -------------------------------------------------------
       GOUVERNANCE : PORTRAITS
       ------------------------------------------------------- */

    .client-governance .leaders{
        display:grid !important;
        grid-template-columns:1fr !important;

        gap:18px !important;
    }


    .client-governance .leader{
        display:grid !important;
        grid-template-columns:1fr !important;

        min-height:0 !important;

        overflow:hidden !important;
    }


    .client-governance .leader img{
        width:100% !important;
        height:auto !important;

        max-height:300px !important;

        aspect-ratio:4 / 3 !important;

        object-fit:cover !important;
        object-position:top center !important;
    }


    .client-governance .leader-info{
        padding:18px 20px 20px !important;
    }


    .client-governance .leader-info h3{
        font-size:22px !important;
        line-height:1.2 !important;
    }


    /* -------------------------------------------------------
       GOUVERNANCE : MODELE
       3 colonnes -> flux vertical
       ------------------------------------------------------- */

    .gov-flow{
        display:grid !important;
        grid-template-columns:1fr !important;

        gap:8px !important;

        width:100% !important;
    }


    .gov-node{
        display:grid !important;

        grid-template-columns:52px minmax(0,1fr) !important;

        align-items:center !important;

        gap:14px !important;

        width:100% !important;
        min-width:0 !important;
        min-height:0 !important;

        padding:16px 18px !important;
    }


    .gov-node-icon{
        width:44px !important;
        height:44px !important;

        margin:0 !important;
    }


    .gov-node h4{
        margin:0 !important;

        font-size:14px !important;

        text-align:left !important;
    }


    .gov-arrow{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        height:24px !important;

        margin:0 !important;

        transform:rotate(90deg) !important;
    }


    .agility-client p{
        font-size:15px !important;
    }


    /* -------------------------------------------------------
       APPROCHE : 4 colonnes -> 2 x 2
       ------------------------------------------------------- */

    .approach-steps{
        display:grid !important;

        grid-template-columns:repeat(2,minmax(0,1fr)) !important;

        gap:14px !important;

        width:100% !important;
    }


    .approach-step{
        width:100% !important;
        min-width:0 !important;

        padding:18px 14px !important;
    }


    .approach-step p{
        font-size:14px !important;
    }


    .step-arrow{
        display:none !important;
    }


    /* -------------------------------------------------------
       INITIATIVES : image + texte -> carte verticale
       ------------------------------------------------------- */

    .initiative-client-card{
        display:grid !important;

        grid-template-columns:1fr !important;

        width:100% !important;

        overflow:hidden !important;
    }


    .initiative-client-image{
        width:100% !important;
        height:190px !important;
    }


    .initiative-client-image img{
        display:block !important;

        width:100% !important;
        height:100% !important;

        object-fit:cover !important;
    }


    .initiative-client-copy{
        width:100% !important;

        padding:20px !important;
    }


    .initiative-client-copy h3{
        font-size:19px !important;
    }


    .initiative-client-copy p{
        font-size:15px !important;
    }


    .ambition-client{
        grid-template-columns:1fr !important;

        gap:20px !important;

        padding:28px 24px !important;
    }


    /* -------------------------------------------------------
       FOOTER
       ------------------------------------------------------- */

    .site-footer .footer-legal{
        align-items:center !important;
        justify-content:center !important;

        gap:4px 18px !important;
    }

}



/* ==========================================================
   320px : APPROCHE EN UNE COLONNE
   ========================================================== */

@media (max-width:340px){

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

}



/* ===== MOBILE HEADER ALIGNMENT FINAL V14 ===== */

@media (max-width:980px){

    header .nav{
        min-height:64px !important;
        height:64px !important;

        display:flex !important;
        align-items:center !important;

        padding-top:0 !important;
        padding-bottom:0 !important;
    }


    header .brand,
    header .lang-switch,
    header .menu-toggle{
        align-self:center !important;
    }


    /* Reset complet des vieux positionnements du hamburger */

    header .menu-toggle{
        position:relative !important;

        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;

        transform:none !important;

        width:44px !important;
        height:44px !important;
        min-width:44px !important;
        min-height:44px !important;

        margin:0 0 0 6px !important;
        padding:0 !important;

        background:transparent !important;
        border:0 !important;
        border-radius:0 !important;

        box-shadow:none !important;

        overflow:visible !important;
    }


    header .menu-toggle:hover,
    header .menu-toggle:active,
    header .menu-toggle:focus{
        background:transparent !important;
        box-shadow:none !important;
    }


    /*
     * Les 3 lignes restent centrées
     * dans le carré tactile invisible de 44px.
     */

    header .menu-toggle > span{
        left:50% !important;

        width:24px !important;
        height:2px !important;

        background:#ffffff !important;

        border-radius:99px !important;
    }


    header .menu-toggle > span:nth-child(1){
        top:14px !important;
    }

    header .menu-toggle > span:nth-child(2){
        top:21px !important;
    }

    header .menu-toggle > span:nth-child(3){
        top:28px !important;
    }


    header .lang-switch{
        height:44px !important;

        margin-left:auto !important;
        margin-right:2px !important;
    }

}


/* Sur écran tactile, aucun fond gris persistant après un tap */

@media (max-width:980px) and (hover:none){

    header .menu-toggle:hover,
    header .menu-toggle:focus,
    header .menu-toggle:active{
        background:transparent !important;
    }

}



/* ===== ITINERIS CLIENT PICTOS V1 ===== */


/* ADN */

.factor-icon img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:contain !important;
}


/* Valeurs */

.value-chip .value-icon img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:contain !important;
}


/* Gouvernance */

.gov-node-icon img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:contain !important;
}


/* Think / Do / Connect / Amplify */

.step-icon img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    object-fit:contain !important;
}


/* Sécurité générale */

.factor-icon,
.value-chip .value-icon,
.gov-node-icon,
.step-icon{
    overflow:visible !important;
}



/* ===== ITINERIS FOOTER SOCIAL ICONS V3 ===== */

.site-footer .footer-email{
    display:inline-flex !important;
    align-items:center !important;

    min-height:44px !important;

    padding:0 !important;

    color:#ffffff !important;
    text-decoration:none !important;

    font-size:14px !important;
    font-weight:500 !important;
}


.site-footer .footer-social-links{
    display:flex !important;
    flex-direction:row !important;

    align-items:center !important;
    justify-content:flex-end !important;

    gap:12px !important;
}


.site-footer .footer-social-icon{
    width:44px !important;
    height:44px !important;

    min-width:44px !important;
    min-height:44px !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    padding:0 !important;

    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:50% !important;

    background:rgba(255,255,255,.07) !important;

    color:#ffffff !important;

    text-decoration:none !important;

    transition:
        background .22s ease,
        border-color .22s ease,
        transform .22s ease,
        color .22s ease !important;
}


.site-footer .footer-social-icon svg{
    width:21px !important;
    height:21px !important;

    display:block !important;

    fill:currentColor !important;
}


.site-footer .footer-social-icon:hover,
.site-footer .footer-social-icon:focus-visible{
    background:#D3AE38 !important;
    border-color:#D3AE38 !important;

    color:#541585 !important;

    transform:translateY(-2px) !important;
}


.site-footer .footer-social-icon:focus-visible{
    outline:2px solid #ffffff !important;
    outline-offset:3px !important;
}


@media (max-width:760px){

    .site-footer .footer-social-links{
        justify-content:center !important;
    }

}



/* ===== ITINERIS FOOTER EMAIL POLISH V4 ===== */

.site-footer .footer-contact-list{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;

    gap:7px !important;
}


.site-footer .footer-contact-title{
    color:rgba(255,255,255,.68) !important;

    font-size:11px !important;
    font-weight:700 !important;

    line-height:1 !important;

    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}


.site-footer .footer-email{
    position:relative !important;

    width:max-content !important;
    max-width:100% !important;

    min-height:44px !important;

    display:inline-flex !important;
    align-items:center !important;

    padding:0 !important;

    color:#ffffff !important;

    font-size:15px !important;
    font-weight:500 !important;

    line-height:1.4 !important;

    text-decoration:none !important;

    transition:color .22s ease !important;
}


.site-footer .footer-email::after{
    content:"" !important;

    position:absolute !important;

    left:0 !important;
    bottom:6px !important;

    width:100% !important;
    height:1px !important;

    background:#D3AE38 !important;

    transform:scaleX(0) !important;
    transform-origin:right center !important;

    transition:transform .25s ease !important;
}


.site-footer .footer-email:hover,
.site-footer .footer-email:focus-visible{
    color:#D3AE38 !important;
}


.site-footer .footer-email:hover::after,
.site-footer .footer-email:focus-visible::after{
    transform:scaleX(1) !important;
    transform-origin:left center !important;
}


@media (max-width:760px){

    .site-footer .footer-contact-list{
        align-items:center !important;
        text-align:center !important;
    }

}



/* ==========================================================
   ITINERIS PICTOS & FACTORS POLISH V15
   ========================================================== */


/* ----------------------------------------------------------
   CONTRASTE DES PICTOS CLIENT
   On ne touche PAS aux pictos Think / Do / Connect / Amplify.
   ---------------------------------------------------------- */

.factor-icon,
.value-chip .value-icon,
.gov-node-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    background:linear-gradient(
        145deg,
        #ffffff,
        #fbf7f0
    ) !important;

    border:1px solid rgba(84,21,133,.16) !important;

    box-shadow:
        0 0 0 3px rgba(211,174,56,.09),
        0 10px 26px rgba(53,20,75,.09) !important;
}


/* ADN */

.factor-icon{
    width:60px !important;
    height:60px !important;

    padding:10px !important;

    border-radius:18px !important;
}

.factor-icon img{
    width:100% !important;
    height:100% !important;

    object-fit:contain !important;

    filter:
        saturate(1.08)
        contrast(1.08) !important;
}


/* VALEURS */

.value-chip .value-icon{
    width:46px !important;
    height:46px !important;

    flex:0 0 46px !important;

    padding:7px !important;

    border-radius:14px !important;
}

.value-chip .value-icon img{
    width:100% !important;
    height:100% !important;

    object-fit:contain !important;

    filter:
        saturate(1.08)
        contrast(1.08) !important;
}


/* GOUVERNANCE */

.gov-node-icon{
    width:58px !important;
    height:58px !important;

    padding:9px !important;

    border-radius:18px !important;
}

.gov-node-icon img{
    width:100% !important;
    height:100% !important;

    object-fit:contain !important;

    filter:
        saturate(1.08)
        contrast(1.08) !important;
}


/* ==========================================================
   MOBILE — FACTEURS ADN
   ========================================================== */

@media (max-width:767px){

    /*
     * On annule définitivement les anciennes règles
     * qui forçaient 3 petites colonnes.
     */

    .about-client .factor-grid,
    .factor-grid{
        display:grid !important;

        grid-template-columns:1fr !important;

        gap:12px !important;

        width:100% !important;

        margin-top:26px !important;
        margin-bottom:26px !important;
    }


    .factor-card{
        display:flex !important;

        flex-direction:column !important;
        align-items:center !important;
        justify-content:center !important;

        width:100% !important;
        min-width:0 !important;
        min-height:0 !important;

        gap:11px !important;

        padding:16px 14px !important;

        border:1px solid rgba(84,21,133,.10) !important;
        border-radius:18px !important;

        background:rgba(255,255,255,.66) !important;

        text-align:center !important;
    }


    .factor-card .factor-icon{
        width:54px !important;
        height:54px !important;

        flex:0 0 54px !important;

        margin:0 !important;
    }


    /*
     * Une seule ligne.
     * Comme la carte fait toute la largeur,
     * pas besoin de massacrer la taille du texte.
     */

    .factor-card h3{
        width:100% !important;

        margin:0 !important;

        color:#541585 !important;

        font-size:12px !important;
        font-weight:800 !important;

        line-height:1.3 !important;

        letter-spacing:.025em !important;

        white-space:nowrap !important;

        text-align:center !important;
    }

}


/* Très petit mobile */

@media (max-width:340px){

    .factor-card h3{
        font-size:11px !important;
        letter-spacing:0 !important;
    }

}



/* ===== ITINERIS GOVERNANCE TITLE HARMONY V16 ===== */

/*
 * Les deux messages structurants du modèle de gouvernance
 * partagent désormais la même identité typographique.
 */

.gov-model-heading h3,
.agility-client h3{
    color:#541585 !important;

    font-size:clamp(1.7rem,2.5vw,2.35rem) !important;
    font-weight:700 !important;

    line-height:1.12 !important;

    letter-spacing:-.025em !important;
}


/* Titre d'introduction */

.gov-model-heading h3{
    margin:8px 0 0 !important;
}


/* Bloc Agilité */

.agility-client h3{
    margin:0 0 14px !important;
}


/*
 * Le paragraphe reste secondaire par rapport au titre.
 */

.agility-client p{
    margin:0 !important;

    font-size:15px !important;
    line-height:1.7 !important;

    color:#5f5367 !important;
}


/* Mobile */

@media(max-width:767px){

    .gov-model-heading h3,
    .agility-client h3{
        font-size:1.65rem !important;
        line-height:1.15 !important;
    }

    .agility-client h3{
        margin-bottom:12px !important;
    }

}

