
:root{
 --navy:#06284b; --blue:#0b4f9c; --green:#068a50; --green2:#0da468; --gold:#f3bd14;
 --bg:#f4f7f9; --ink:#0b2440; --muted:#62717f; --line:#dfe7ec; --white:#fff;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
a{text-decoration:none;color:inherit}.topbar{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);height:78px;display:flex;align-items:center;justify-content:flex-start;gap:20px;padding:0 2.2vw}
.header-mark img{height:56px;width:auto;display:block}.topbar nav{display:flex;gap:24px;align-items:center;font-size:13px;font-weight:700;margin-left:0}.topbar nav a:hover{color:var(--green)}
.portal{background:var(--green);color:#fff;padding:11px 16px;border-radius:4px}.menu{display:none;border:0;background:none;font-size:25px}
.hero{min-height:0;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;padding:28px 5vw;background:
linear-gradient(90deg,rgba(4,30,58,.97),rgba(7,65,99,.88)),
radial-gradient(circle at 78% 35%,rgba(255,255,255,.13),transparent 25%);color:#fff;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;right:-80px;bottom:-180px;width:600px;height:600px;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.hero h1{font-size:clamp(46px,6vw,78px);line-height:1.02;margin:.2em 0;font-weight:800;letter-spacing:-.03em}

.hero .lead{font-size:19px;max-width:700px;color:#dbe6ef}.hero .tagline{display:flex;gap:18px;flex-wrap:wrap;margin:26px 0;font-size:12px;letter-spacing:.17em;color:#dce8ef}

.hero-logo-panel{position:relative;z-index:2;text-align:center;transform:translateY(-10px)}.hero-logo-panel img{max-width:min(560px,90%);filter:drop-shadow(0 15px 30px rgba(0,0,0,.2))}
.hero-logo-panel h3{margin-top:18px;font-size:16px;letter-spacing:.32em;font-weight:600}
.btn{display:inline-block;padding:14px 21px;font-size:13px;font-weight:800;border-radius:4px}.btn-primary{background:var(--green);color:#fff}.btn-outline{border:1px solid rgba(255,255,255,.55);color:#fff;margin-left:10px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--line);box-shadow:0 8px 25px rgba(0,25,50,.04)}
.stat{padding:28px 3vw;border-right:1px solid var(--line)}.stat strong{font-size:32px;color:var(--blue);display:block}.stat span{font-size:12px;color:var(--muted);letter-spacing:.04em}
.section{padding:82px 5vw}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--green);font-weight:800;text-transform:uppercase}.section h2{font-size:clamp(34px,4.3vw,58px);line-height:1.08;margin:.25em 0 .45em}.section-intro{max-width:800px;color:var(--muted);font-size:18px}
.units-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.unit-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px rgba(10,40,70,.045);transition:.25s}
.unit-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(10,40,70,.09)}.unit-photo{height:120px;background:linear-gradient(135deg,#dfeee7,#d8e6f4);display:flex;align-items:center;justify-content:center;position:relative}
.unit-photo:after{content:"";width:80%;height:60%;background:linear-gradient(90deg,rgba(6,138,80,.12),rgba(11,79,156,.12));border-radius:60px;filter:blur(10px)}
.unit-body{padding:24px}.unit-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}.unit-brand img{height:40px}.unit-brand span{font-size:13px;font-weight:900;letter-spacing:.13em;color:var(--green)}
.unit-card h3{font-size:24px;margin:0 0 8px}.unit-card p{color:var(--muted);font-size:14px}.unit-card .link{display:flex;justify-content:space-between;color:var(--green);font-size:13px;font-weight:800;margin-top:20px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}.about-box{background:#fff;border:1px solid var(--line);padding:30px;border-radius:8px}.about-box h3{font-size:24px;margin-top:0}
.vision{background:linear-gradient(135deg,#0b3f31,#0a7250);color:#fff}.vision h2{color:#fff}.vision .section-intro{color:#dce9e4}.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}.vision-grid article{padding:26px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:6px}.vision-grid strong{color:#f3cf54}
.references{background:#fff}.logos{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.placeholder{height:110px;border:1px dashed #aebcc5;background:#f7fafb;display:grid;place-items:center;text-align:center;color:#82919c;font-size:11px;letter-spacing:.08em}
.quote-section{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote{background:#fff;border-top:3px solid var(--green);padding:30px;font-size:19px}.quote small{display:block;margin-top:18px;color:var(--muted);font-size:12px}
.future{background:linear-gradient(135deg,#092c4d,#0b7451);color:#fff;border-radius:10px;padding:44px}.future h2{color:#fff}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.future-grid div{padding:20px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:5vw}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact label{font-size:12px;font-weight:800}.contact input,.contact select,.contact textarea{width:100%;padding:13px;border:1px solid #cbd6dc;margin-top:6px;font:inherit;background:#fff}.full{grid-column:1/-1}
.footer{background:#061827;color:#aab9c4;padding:35px 5vw;display:flex;align-items:center;justify-content:space-between;font-size:12px}.footer img{height:44px;filter:brightness(0) invert(1);opacity:.9}
.subhero{min-height:410px;padding:80px 5vw;display:grid;grid-template-columns:1.1fr .8fr;align-items:center;background:linear-gradient(110deg,#06284b,#08704e);color:#fff}.subhero h1{font-size:clamp(48px,7vw,82px);margin:.1em 0}.subhero p{font-size:19px;color:#dce7e1;max-width:800px}.sublogo{text-align:center}.sublogo img{max-width:340px;width:90%}
.breadcrumbs{font-size:12px;color:#b9c9d3;margin-bottom:22px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}.service{background:#fff;border:1px solid var(--line);padding:26px;border-radius:6px}.service h3{font-size:23px;margin:.2em 0}.service p{color:var(--muted)}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px}.process div{background:#fff;border-top:3px solid var(--green);border-right:1px solid var(--line);padding:22px}.process strong{display:block;color:var(--green);font-size:30px}.process small{color:var(--muted)}
.synergy{background:#0b253f;color:#fff}.synergy h2{color:#fff}.synergy-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.synergy-list div{border:1px solid rgba(255,255,255,.15);padding:20px;background:rgba(255,255,255,.04)}
.callout{padding:55px 5vw;background:#e8f1ed;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.callout h2{font-size:38px;margin:0}.callout p{color:var(--muted)}
@media(max-width:980px){.topbar nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:22px;flex-direction:column;align-items:flex-start}.topbar nav.open{display:flex}.menu{display:block}.hero,.subhero,.about,.contact{grid-template-columns:1fr}.hero-logo-panel{margin-top:35px}.units-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.vision-grid,.future-grid,.synergy-list{grid-template-columns:1fr}.logos{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.quote-section{grid-template-columns:1fr}}
@media(max-width:640px){.units-grid,.stats,.logos,.service-grid,.process,.contact form{grid-template-columns:1fr}.section{padding:60px 6vw}.hero{padding:50px 6vw}.topbar{padding:0 5vw}.btn-outline{margin-left:0;margin-top:10px}.callout{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start;gap:16px}}

/* Corrections demandées - 15/09/2026 : uniquement espacement */
.hero-signature span{display:block;white-space:nowrap}
.hero-logo-panel h3.hero-signature{line-height:1.55;margin-top:12px}
@media(max-width:980px){.topbar{gap:16px;padding-left:3vw;padding-right:3vw}.hero{padding-top:34px;padding-bottom:34px}}
@media(max-width:640px){.hero-signature span{white-space:normal}.hero{padding-top:38px;padding-bottom:38px}}

/* Logo Accueil dans la navigation */
.topbar nav .nav-home {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    line-height: 1;
    position: relative;
    top: -4px;
}

.topbar nav .nav-home img {
    display: block;
    width: 90px;
    height: auto;
    max-width: 90px;
    object-fit: contain;
}

.sublogo {
    text-align: center;
}

.sublogo img {
    width: 85px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.sublogo-name {
    margin-top: 8px;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .20em;
}
