:root{
  --navy:#071f3d;
  --navy-2:#062a53;
  --deep:#03172d;
  --cyan:#05aeea;
  --cyan-2:#08c1d8;
  --ink:#06234a;
  --text:#32435a;
  --muted:#6d7b8f;
  --line:#dfe8f3;
  --soft:#f5f9fd;
  --white:#fff;
  --shadow:0 22px 55px rgba(6,31,61,.14);
  --radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1240px,calc(100% - 56px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid #dce5ef;backdrop-filter:blur(14px)}.nav-wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:54px;height:54px}.brand-text{display:flex;flex-direction:column;letter-spacing:.22em;color:var(--ink);line-height:1}.brand-text strong{font-size:26px;font-weight:800}.brand-text small{font-size:10px;font-weight:700;letter-spacing:.20em;text-transform:uppercase;margin-top:8px;color:#59677a}.main-nav{display:flex;align-items:center;gap:31px;font-weight:800;font-size:13px;text-transform:uppercase;color:var(--ink)}.main-nav a{position:relative;padding:34px 0}.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:20px;height:3px;border-radius:99px;background:var(--cyan);opacity:0;transform:scaleX(.5);transition:.2s}.main-nav a:hover::after,.main-nav a.active::after{opacity:1;transform:scaleX(1)}.nav-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:10px;padding:10px 12px;font-size:21px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 74% 45%,rgba(4,174,234,.24),transparent 25%),linear-gradient(118deg,#03172f 0%,#082a53 50%,#03172d 100%);color:#fff}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(circle at 75% 60%,#000 0,transparent 55%);opacity:.8}.hero:before{content:"";position:absolute;right:-5%;bottom:-16%;width:58%;height:55%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='400' viewBox='0 0 900 400'%3E%3Cg fill='none' stroke='%2309bdf5' stroke-opacity='.45'%3E%3Cpath d='M0 300 C160 120 270 360 430 210 S720 60 900 210'/%3E%3Cpath d='M50 360 C240 180 310 320 500 180 S680 40 850 120'/%3E%3Cpath d='M120 260 C280 80 360 240 520 130 S710 40 880 80'/%3E%3C/g%3E%3Cg fill='%2309bdf5'%3E%3Ccircle cx='110' cy='260' r='3'/%3E%3Ccircle cx='260' cy='160' r='3'/%3E%3Ccircle cx='420' cy='230' r='3'/%3E%3Ccircle cx='590' cy='115' r='3'/%3E%3Ccircle cx='750' cy='65' r='3'/%3E%3Ccircle cx='830' cy='130' r='3'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;opacity:.72}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:.95fr 1.2fr;gap:58px;align-items:center;min-height:520px;padding:54px 0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--cyan);font-size:14px;margin:0 0 20px}.hero h1{font-size:clamp(38px,4.2vw,62px);line-height:1.08;margin:0 0 24px;letter-spacing:-.04em;max-width:690px}.lead{font-size:19px;line-height:1.75;margin:0 0 28px;color:#d9e8f6;max-width:650px}.hero-badges{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:32px}.hero-badges span{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.05);color:#eaf6ff}.hero-badges b{color:#20d1ff}.actions{display:flex;gap:18px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:17px 25px;border-radius:8px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;transition:.18s}.btn.primary{background:linear-gradient(135deg,var(--cyan),#087fda);color:#fff;box-shadow:0 12px 28px rgba(5,174,234,.28)}.btn.primary:hover{transform:translateY(-2px)}.btn.secondary{border:1px solid rgba(255,255,255,.58);color:#fff;background:rgba(255,255,255,.04)}.btn.ghost{border:1px solid #0e58a2;color:var(--ink);background:#fff}.product-visual{filter:drop-shadow(0 32px 55px rgba(0,0,0,.35))}.app-shell{display:grid;grid-template-columns:160px 1fr;background:#fff;border:3px solid rgba(255,255,255,.38);border-radius:19px;overflow:hidden;min-height:340px;box-shadow:inset 0 0 0 1px rgba(7,31,61,.14)}.app-shell aside{background:linear-gradient(180deg,#082b52,#041b35);padding:24px 14px;color:#c6d8ec;font-size:12px}.mini-brand{font-weight:800;letter-spacing:.06em;color:#fff;margin-bottom:22px}.app-shell aside span{display:block;padding:10px 10px;border-radius:8px;margin-bottom:3px}.app-shell aside span.selected{background:linear-gradient(135deg,#049fe0,#0956a8);color:#fff}.screen{background:#f7fbff;padding:24px;color:#173052}.screen-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.screen-head div{display:flex;gap:10px}.screen-head i{width:12px;height:12px;border-radius:50%;background:#a9bed4}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpis article,.dashboard-grid article{background:#fff;border:1px solid #e6eef6;border-radius:10px;padding:14px;box-shadow:0 5px 20px rgba(20,60,100,.05)}.kpis small{display:block;color:#718096;font-weight:700;font-size:11px}.kpis b{display:block;font-size:20px;margin:7px 0;color:#0b2345}.kpis em{font-size:11px;color:#10a56d;font-style:normal;font-weight:800}.dashboard-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:12px}.dashboard-grid h4{margin:0 0 11px;font-size:13px}.dashboard-grid p{font-size:12px;display:flex;justify-content:space-between;gap:12px;margin:9px 0}.list-card span{width:8px;height:8px;background:var(--cyan);border-radius:50%;display:inline-block}.chart-line{height:92px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='92' viewBox='0 0 250 92'%3E%3Cpath d='M8 68 L38 45 L68 58 L100 30 L132 48 L160 22 L196 36 L236 12' fill='none' stroke='%2305aeea' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cg stroke='%23dde8f4'%3E%3Cpath d='M0 75h250M0 50h250M0 25h250'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}.red{color:#cf3b4b}.orange{color:#db8a0f}.blue{color:#087fda}.quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:16px}.quick-actions span{text-align:center;background:#fff;border:1px solid #e6eef6;border-radius:8px;padding:13px 8px;font-size:11px;font-weight:800;color:#2c4770}.feature-strip{background:#fff;border-bottom:1px solid var(--line)}.strip-grid{display:grid;grid-template-columns:repeat(8,1fr);padding:34px 0}.strip-grid article{text-align:center;padding:4px 20px;border-right:1px solid var(--line)}.strip-grid article:last-child{border-right:0}.icon{font-size:46px;line-height:1;color:#0074d9;margin-bottom:13px}.strip-grid h3{margin:0 0 10px;font-size:15px;color:var(--ink)}.strip-grid p{margin:0;font-size:13px;line-height:1.55;color:#53647b}.highlight-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:44px 0 58px}.big-card{min-height:310px;background:linear-gradient(145deg,#fff,#f1f7fd);border:1px solid #e2ebf4;border-radius:16px;padding:34px 34px 28px;box-shadow:0 16px 40px rgba(11,55,95,.08)}.big-card h2{font-size:27px;line-height:1.12;color:var(--ink);letter-spacing:-.03em;margin:0 0 18px}.big-card p{font-size:15px;line-height:1.7;margin:0 0 20px}.big-card a{color:#006fbf;font-weight:800;text-transform:uppercase;font-size:13px}.round-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#062b58;color:#fff;font-size:34px;margin-bottom:20px}.big-card.accent .round-icon{background:linear-gradient(135deg,var(--cyan),#0d7fb4)}.tech-logos{display:flex;align-items:center;gap:24px;margin:18px 0 20px}.tech-logos strong:first-child{color:#e02323;font-size:24px;letter-spacing:.02em}.tech-logos strong:last-child{font-size:17px;line-height:1.05;color:#333}.why{background:linear-gradient(180deg,#f7fbff,#fff);border-top:1px solid var(--line);padding:52px 0}.why-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px;align-items:start}.why-intro h2,.innovation h2{font-size:34px;line-height:1.16;color:var(--ink);letter-spacing:-.035em;margin:0 0 18px}.why-intro p,.innovation p{line-height:1.75;margin:0 0 26px}.why-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line)}.why-list article{display:flex;gap:16px;padding:0 28px 28px;border-right:1px solid var(--line)}.why-list article:nth-child(n+4){padding-top:22px}.why-list span{font-size:32px;color:#047fdb;line-height:1}.why-list h3{margin:0 0 8px;color:var(--ink);font-size:16px}.why-list p{margin:0;line-height:1.55;font-size:13px}.innovation{padding:58px 0;background:#fff}.innovation-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.flow{background:linear-gradient(135deg,#f8fbff,#edf6ff);border:1px solid #deebf7;border-radius:18px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative}.flow span{border-radius:12px;background:#fff;border:1px solid #dbe7f3;padding:18px;font-weight:800;color:var(--ink);box-shadow:0 8px 18px rgba(9,45,85,.06)}.flow span:first-child{grid-column:1/-1;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.contact-band{background:radial-gradient(circle at 80% 30%,rgba(5,174,234,.24),transparent 25%),linear-gradient(118deg,#03172f,#082a53);color:#fff;padding:40px 0}.contact-grid{display:grid;grid-template-columns:110px 1fr auto;gap:34px;align-items:center}.chat-bubble{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),#08b7c8);font-size:30px;box-shadow:0 18px 38px rgba(0,0,0,.22)}.contact-band h2{font-size:30px;margin:0 0 10px}.contact-band p{margin:0;color:#d8e8f7;line-height:1.6}.site-footer{background:#03172d;color:#d9e8f7;padding:36px 0 18px}.footer-grid{display:grid;grid-template-columns:1.6fr .8fr .8fr 1fr;gap:50px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-brand img{width:48px;height:48px}.footer-brand .brand-text strong,.footer-brand .brand-text small{color:#fff}.site-footer p{line-height:1.65;color:#bfd0e3}.site-footer h4{margin:0 0 15px;text-transform:uppercase;font-size:13px;letter-spacing:.06em}.site-footer a{display:block;color:#d9e8f7;margin:10px 0}.legal{display:flex;justify-content:space-between;gap:18px;padding-top:18px;color:#aabbd0;font-size:13px}@media (max-width:1050px){.hero-grid,.why-grid,.innovation-grid{grid-template-columns:1fr}.strip-grid{grid-template-columns:repeat(4,1fr)}.strip-grid article:nth-child(4){border-right:0}.highlight-cards{grid-template-columns:1fr}.why-list{grid-template-columns:1fr 1fr}.app-shell{max-width:850px}.main-nav{gap:18px;font-size:12px}.quick-actions{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.container{width:min(100% - 32px,1240px)}.nav-wrap{height:72px}.brand img{width:42px;height:42px}.brand-text strong{font-size:18px}.brand-text small{font-size:8px}.nav-toggle{display:block}.main-nav{position:absolute;left:16px;right:16px;top:72px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px;display:none;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:14px 12px}.main-nav a::after{display:none}.hero-grid{padding:38px 0}.lead{font-size:16px}.app-shell{grid-template-columns:1fr}.app-shell aside{display:none}.kpis,.dashboard-grid,.quick-actions,.strip-grid,.why-list,.contact-grid,.footer-grid{grid-template-columns:1fr}.strip-grid article{border-right:0;border-bottom:1px solid var(--line);padding:20px}.contact-grid{text-align:left}.legal{flex-direction:column}.hero h1{font-size:36px}}

/* Sections ajoutées pour reprendre le contenu du site actuel */
.intro-section{padding:64px 0;background:#fff;border-top:1px solid var(--line)}
.split-grid{display:grid;grid-template-columns:1.1fr .8fr;gap:70px;align-items:center}.intro-section h2,.services h2,.clients-section h2{font-size:38px;line-height:1.12;color:var(--ink);letter-spacing:-.035em;margin:0 0 18px}.section-lead{font-size:19px;line-height:1.75;color:#263e5e}.intro-section p{line-height:1.75}.quote-card{border-radius:var(--radius);background:linear-gradient(145deg,#06244a,#0a4b78);color:#fff;padding:38px;box-shadow:var(--shadow);position:relative;overflow:hidden}.quote-card:after{content:"";position:absolute;right:-50px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:rgba(5,174,234,.23)}.quote-card strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#48d3ff;margin-bottom:18px}.quote-card p{font-size:22px;line-height:1.5;margin:0;color:#edf8ff}.services{padding:64px 0;background:linear-gradient(180deg,#f7fbff,#fff);border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}.service-grid article{background:#fff;border:1px solid #dde9f4;border-radius:18px;padding:30px;box-shadow:0 14px 35px rgba(7,31,61,.07)}.service-grid span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e6f7ff;color:#006fbf;font-weight:800;margin-bottom:20px}.service-grid h3{font-size:23px;color:var(--ink);margin:0 0 12px}.service-grid p{line-height:1.7;margin:0}.clients-section{padding:62px 0;background:#fff;border-top:1px solid var(--line)}.clients-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center}.clients-grid p{line-height:1.7}.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.logo-wall span{height:88px;border-radius:16px;border:1px dashed #b8cce0;background:linear-gradient(145deg,#fff,#f3f8fd);display:grid;place-items:center;color:#7890aa;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}@media (max-width:1050px){.split-grid,.clients-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.logo-wall{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.intro-section h2,.services h2,.clients-section h2{font-size:30px}.quote-card{padding:28px}.quote-card p{font-size:18px}.logo-wall{grid-template-columns:1fr}}


/* Ajustements V6 : logo officiel TeamSoft intégré et retour Accueil fiable */
.brand{min-width:210px}
.brand img{width:210px;height:70px;object-fit:contain;display:block}
.footer-brand img{width:210px;height:70px;object-fit:contain}
#accueil{scroll-margin-top:86px}
@media (max-width:760px){
  .brand{min-width:160px}
  .brand img{width:160px;height:52px}
  .footer-brand img{width:160px;height:52px}
}


/* V8 : logo PNG détouré fourni par le client + cartouche blanc dans le footer */
.brand{min-width:250px}
.brand img{width:250px;height:74px;object-fit:contain;display:block}
.footer-brand-card{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:12px 18px;box-shadow:0 10px 24px rgba(0,0,0,.18);margin-bottom:16px;min-width:270px}
.footer-brand-card img{width:250px;height:74px;object-fit:contain;display:block}
@media (max-width:760px){.brand{min-width:180px}.brand img{width:180px;height:54px}.footer-brand-card{min-width:190px;padding:10px 14px}.footer-brand-card img{width:180px;height:54px}}


/* V9 : finitions footer + alignement des cadres innovation */
.flow{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.flow span{display:flex;align-items:center;justify-content:center;min-height:76px;text-align:center;line-height:1.35}
.flow span:first-child{min-height:84px}
.footer-brand-card{padding:8px 12px;min-width:0;width:auto;border-radius:12px}
.footer-brand-card img{width:210px;height:62px}
@media (max-width:760px){.footer-brand-card{padding:8px 10px}.footer-brand-card img{width:170px;height:50px}}


/* V10 : correction définitive de la grille Innovation */
.flow{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-flow:row;
  align-items:stretch;
}
.flow i{
  display:none;
}
.flow span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:76px;
  text-align:center;
  line-height:1.35;
}
.flow span:first-child{
  grid-column:1 / -1;
  min-height:84px;
}
@media (max-width:760px){
  .flow{
    grid-template-columns:1fr;
  }
  .flow span:first-child{
    grid-column:auto;
  }
}


/* V11 : logo footer inversé, sans cartouche blanc */
.footer-brand{display:inline-flex;align-items:center;justify-content:flex-start;margin-bottom:16px;min-width:0;background:transparent;padding:0;border-radius:0;box-shadow:none}
.footer-brand img{width:210px;height:62px;object-fit:contain;display:block}
.footer-brand-card{background:transparent;padding:0;min-width:0;box-shadow:none;border-radius:0}
@media (max-width:760px){.footer-brand img{width:170px;height:50px}}


/* V12 : références clients avec logos réels */
.client-logo-wall{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.client-logo-wall a{
  min-height:118px;
  border-radius:18px;
  border:1px solid #dbe7f3;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-shadow:0 12px 30px rgba(7,31,61,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.client-logo-wall a:hover{
  transform:translateY(-2px);
  border-color:#bcd3e9;
  box-shadow:0 18px 38px rgba(7,31,61,.10);
}
.client-logo-wall img{
  display:block;
  max-width:100%;
  max-height:68px;
  object-fit:contain;
}
.client-logo-wall a[aria-label="SIGI"] img{
  max-height:86px;
}
.client-logo-wall a[aria-label="BG Fund Management Luxembourg"] img{
  max-height:74px;
}
@media (max-width:1050px){
  .client-logo-wall{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .client-logo-wall{
    grid-template-columns:1fr;
  }
  .client-logo-wall a{
    min-height:104px;
  }
}


/* V13 : fonds spécifiques pour certains logos clients */
.client-logo-wall a.client-docaposte{
  background:#0b5cab;
  border-color:#0b5cab;
}
.client-logo-wall a.client-valorlux{
  background:#4f8f1e;
  border-color:#4f8f1e;
}
.client-logo-wall a.client-docaposte:hover,
.client-logo-wall a.client-valorlux:hover{
  border-color:inherit;
}
.client-logo-wall a.client-docaposte img,
.client-logo-wall a.client-valorlux img{
  max-height:62px;
}


/* V14 : nouveau logo Baloise JPG */
.client-logo-wall a[aria-label="Baloise"] img{
  max-height:54px;
}


/* V16 : page Mentions légales */
.legal a{
  display:inline;
  margin:0;
}
.legal-hero{
  background:radial-gradient(circle at 82% 40%,rgba(5,174,234,.18),transparent 26%),linear-gradient(118deg,#03172f,#082a53);
  color:#fff;
  padding:72px 0 58px;
}
.legal-hero h1{
  font-size:clamp(38px,4vw,58px);
  line-height:1.05;
  margin:0 0 16px;
  letter-spacing:-.04em;
}
.legal-hero p{
  max-width:760px;
  color:#d8e8f7;
  line-height:1.7;
  margin:0;
}
.legal-page{
  background:#f7fbff;
  padding:58px 0 72px;
}
.legal-layout{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:34px;
  align-items:start;
}
.legal-summary{
  position:sticky;
  top:112px;
  background:#fff;
  border:1px solid #dbe7f3;
  border-radius:18px;
  padding:28px;
  box-shadow:0 14px 35px rgba(7,31,61,.07);
}
.legal-summary strong{
  display:block;
  color:var(--ink);
  font-size:21px;
  margin-bottom:16px;
}
.legal-summary span,
.legal-summary a{
  display:block;
  color:#53647b;
  line-height:1.7;
  margin:0;
}
.legal-content{
  background:#fff;
  border:1px solid #dbe7f3;
  border-radius:18px;
  padding:42px;
  box-shadow:0 14px 35px rgba(7,31,61,.07);
}
.legal-content h2{
  color:var(--ink);
  font-size:26px;
  margin:0 0 16px;
  letter-spacing:-.02em;
}
.legal-content h2:not(:first-child){
  margin-top:36px;
}
.legal-content p{
  line-height:1.75;
  margin:0 0 16px;
}
.legal-content a{
  color:#006fbf;
  font-weight:700;
}
.legal-back{
  margin-top:34px;
}
@media (max-width:900px){
  .legal-layout{
    grid-template-columns:1fr;
  }
  .legal-summary{
    position:static;
  }
  .legal-nav{
    display:none;
  }
}
@media (max-width:760px){
  .legal-content{
    padding:28px;
  }
}
