
:root{
  --navy:#041528;
  --navy-2:#0a2744;
  --ink:#132033;
  --muted:#4c5f75;
  --line:#dce5ef;
  --soft:#f7fbff;
  --soft-2:#f0f6fb;
  --white:#fff;
  --cyan:#24c4df;
  --cyan-dark:#0f6f86;
  --gold:#d7b45a;
  --shadow:0 20px 60px rgba(6,26,47,.12);
  --radius:26px;
  --radius-sm:16px;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#031020 0%,#041528 340px,#ffffff 341px,#ffffff 100%);color:var(--ink);line-height:1.6;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:20px;top:20px;width:auto;height:auto;background:#fff;color:#000;padding:10px 14px;border-radius:8px;z-index:9999}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}

/* Header */
.site-header{position:relative;z-index:1000;background:transparent;padding:18px 0 14px}
.header-combined{background:linear-gradient(90deg,#031226 0%,#082244 100%);border:1px solid rgba(163,188,220,.22);border-radius:34px;overflow:hidden;box-shadow:0 18px 34px rgba(0,0,0,.18)}
.header-top{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:center;padding:22px 28px 18px}
.brand-inline{display:flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;min-width:0}
.brand-inline img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.24));flex:0 0 auto}
.brand-inline-text{display:flex;flex-direction:column;justify-content:center;min-width:0}
.brand-inline-text strong{display:block;font-size:1.95rem;line-height:1.05;font-weight:900;letter-spacing:-.04em;color:#fff}
.header-top-main{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:18px;min-width:0}
.header-title{font-size:clamp(2rem,3.3vw,3.6rem);font-weight:900;line-height:1.05;letter-spacing:-.05em;color:#f7fbff;white-space:normal;overflow:visible;text-overflow:clip}
.header-socials{display:flex;align-items:center;justify-content:flex-start;gap:22px;flex-wrap:wrap}
.header-socials a{font-size:1rem;font-weight:800;color:#dcecf7}
.header-socials a:hover{color:#24c4df;text-decoration:none}
.header-nav-row{padding:16px 24px 20px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#04172c,#031222)}
.main-nav{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;justify-content:flex-start}
.nav-link{font-weight:800;font-size:1.08rem;color:#e6eef8;padding:12px 18px;border-radius:999px;transition:background .15s ease,color .15s ease,transform .15s ease}
.nav-link:hover,.nav-link.active{background:rgba(8,113,138,.42);color:#fff;text-decoration:none}
.menu-toggle{display:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);border-radius:16px;padding:10px;width:54px;height:50px;align-items:center;justify-content:center;flex-direction:column;gap:5px;margin-left:auto}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;border-radius:2px}
/* Common */
.banner-wrap{padding:0 0 30px}.banner{margin:0;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}
.banner img{width:100%;height:auto;display:block}
.hero,.page-hero{padding:52px 0 48px;background:transparent;color:var(--ink)}.page-hero .container,.hero .container{background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border:1px solid var(--line);border-radius:32px;padding:40px 42px;box-shadow:0 16px 36px rgba(6,26,47,.08)}.page-hero h1,.hero-copy h1,.page-hero h1{color:#0a1b31}.page-hero p,.lead{font-size:1.15rem;max-width:880px;color:var(--muted)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:center}
.hero-copy h1,.page-hero h1{font-size:clamp(2.4rem,6vw,5.2rem);line-height:.95;margin:12px 0 18px;letter-spacing:-.07em}
.eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.22em;color:var(--cyan);font-size:.82rem;display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:"";display:inline-block;width:48px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--gold))}
.hero-actions,.card-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 22px;font-weight:900;border:1px solid transparent;min-height:48px;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--cyan);color:#001526;box-shadow:0 12px 28px rgba(0,185,214,.24)}.btn-primary:hover{background:#12cbe8}
.btn-dark{background:var(--navy);color:#fff}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-warning{background:#f3b83c;color:#132033;border-color:#f3b83c}
.btn-light{background:#fff;color:var(--navy)}
.btn-sm{padding:10px 15px;min-height:38px;font-size:.88rem}
.section{padding:84px 0}.section-muted{background:var(--soft)}
.section-head{max-width:850px;margin-bottom:36px}.section-head h2,.split-layout h2,.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:10px 0 12px;letter-spacing:-.05em}.section-head p,.large-text,.section-lead{font-size:1.12rem;color:var(--muted)}
.section h2,.section h3,.section h4{color:#0d2038}
.section p, .split-layout p, .contact-layout p{color:var(--muted)}
.grid{display:grid;gap:22px}.grid-2{grid-template-columns:1fr 1fr}.grid-3,.feature-grid,.program-grid,.phase-grid{grid-template-columns:repeat(3,1fr)}
.align-start{align-items:start}.split-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;align-items:start}
.feature-card,.value-card,.doc-card,.phase-card,.form-card,.side-card,.news-card,.doc-focus{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 30px rgba(6,26,47,.06)}
.feature-card h3,.value-card h2,.doc-card h3,.phase-card h3{font-size:1.35rem;line-height:1.15;margin:12px 0}.feature-card p,.value-card p,.doc-card p,.phase-card p,.side-card p,.news-card p{color:var(--muted)}
.doc-card h3,.feature-card h3,.phase-card h3,.value-card h2{color:#10223a}
.feature-icon,.phase-card>span{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;border-radius:999px;font-weight:900;padding:8px 12px;min-width:44px}
.program-grid article{background:#fff;border-left:5px solid var(--cyan);padding:26px;border-radius:18px;box-shadow:0 10px 28px rgba(6,26,47,.06)}.program-grid h3{margin-top:0}
.pill{display:inline-flex;width:max-content;background:#e9f8fb;color:#027b90;border:1px solid #c8eef5;padding:7px 10px;border-radius:999px;font-weight:900;font-size:.78rem}
.doc-format{font-weight:900;color:#6d7b89;font-size:.78rem}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.doc-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tag-row span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-weight:800;font-size:.8rem;color:#405068}
.doc-toolbar{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:end;margin-bottom:28px}.professional-toolbar{background:#f7fbff;border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 10px 30px rgba(6,26,47,.05)}
.toolbar-field{display:block}.toolbar-field span{display:block;font-size:.9rem;font-weight:900;color:#30445c;margin:0 0 8px}
.search-input,.select-input{width:100%;border:1px solid var(--line);border-radius:20px;padding:17px 20px;font-size:1rem;background:#fff;color:#0f2744;box-shadow:0 10px 26px rgba(6,26,47,.05)}
.search-input::placeholder{color:#75869c}
.library-meta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0;color:var(--muted);font-weight:800}.library-meta span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:8px 12px}
.viewer-shell{padding-bottom:60px}.viewer-top{background:var(--navy);color:#fff;padding:22px 0;position:sticky;top:0;z-index:50}.viewer-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.viewer-status{padding-top:14px;color:#d7e6f3;font-weight:700}
.viewer-canvas-wrap{background:#f4f8fb;padding:24px}.viewer-pages{max-width:1000px;margin:0 auto}.viewer-page-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(6,26,47,.06)}.viewer-page-card canvas{width:100%;height:auto;display:block}
.contact-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-weight:900;color:#10223a}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font:inherit;color:#10223a;background:#fff}.field textarea{min-height:180px;resize:vertical}.form-status{font-weight:800;margin:10px 0;color:var(--cyan-dark)}
.footer{background:#020814;color:#d9e3ee;padding:64px 0 24px}.footer-main{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:34px}.footer img{max-width:64px}.footer h2,.footer h3{color:#fff}.footer p{color:#aebdca}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer a{color:#e7f4ff;text-decoration:underline}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;color:#8291a2;font-weight:700;font-size:.9rem}

@media (max-width:1100px){
  .header-top{grid-template-columns:1fr;justify-items:center;text-align:center;padding:22px 22px 18px}
  .brand-inline{justify-content:center}
  .brand-inline img{width:100px;height:100px}
  .brand-inline-text strong{font-size:1.7rem}
  .header-top-main{align-items:center;text-align:center}
  .header-title{font-size:1.95rem}
  .header-socials{gap:18px;justify-content:center}
  .header-nav-row{padding:14px 18px 18px}
  .menu-toggle{display:flex;margin-bottom:14px}
  .main-nav{display:none;flex-direction:column;align-items:stretch;gap:10px}
  .main-nav.open{display:flex}
  .nav-link{width:100%}
  .hero-grid,.split-layout,.contact-layout{grid-template-columns:1fr}
  .grid-3,.feature-grid,.program-grid,.phase-grid,.doc-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1fr 1fr}
  .doc-toolbar{grid-template-columns:1fr}
}
@media (max-width:700px){
  .container{width:min(100% - 28px,var(--max))}
  body{background:linear-gradient(180deg,#031020 0%,#041528 300px,#ffffff 301px,#ffffff 100%)}
  .site-header{padding:14px 0 10px}
  .header-combined{border-radius:28px}
  .header-top{padding:16px 16px 14px;gap:12px}
  .brand-inline{gap:12px}
  .brand-inline img{width:82px;height:82px}
  .brand-inline-text strong{font-size:1.25rem;line-height:1.1}
  .header-title{font-size:1.48rem}
  .header-socials{justify-content:center;gap:14px}
  .header-socials a{font-size:.95rem}
  .hero,.page-hero{padding:34px 0 32px}
  .grid-3,.feature-grid,.program-grid,.phase-grid,.doc-grid,.grid-2{grid-template-columns:1fr}
  .footer-main,.footer-bottom{grid-template-columns:1fr;display:grid}
  .viewer-controls{align-items:stretch}.viewer-controls>*{width:100%}
  .section{padding:58px 0}
  .page-hero .container,.hero .container{padding:26px 22px;border-radius:24px}
}

/* Harmonisation v9 */
.notice-box{background:#fff;border:1px solid var(--line);border-left:5px solid var(--cyan);border-radius:18px;padding:20px 22px;color:#22354d;box-shadow:0 10px 28px rgba(6,26,47,.06)}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-span{grid-column:1/-1}.form-card h2,.side-card h3{color:#10223a}.form-card p,.side-card p,.process-list{color:var(--muted)}
.team-grid{display:grid;gap:28px}.member-card{display:grid;grid-template-columns:320px 1fr;gap:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px rgba(6,26,47,.06)}.member-photo-wrap{background:#eef6fb;min-height:340px}.member-photo{width:100%;height:100%;object-fit:cover;object-position:center}.placeholder .member-photo{object-fit:contain;padding:34px}.member-content{padding:40px}.member-content h2{color:#10223a;margin:.4rem 0}.member-location{font-weight:900;color:#4c5f75}
.phase-card span,.feature-icon{background:#041528;color:#fff}.side-card ol{padding-left:22px}.side-card li{margin-bottom:10px}.page-hero .container p{color:#3f5268}.section-lead{color:#4c5f75}.doc-card p{color:#4c5f75}.footer li a{line-height:1.6}
@media(max-width:800px){.form-grid-2,.member-card{grid-template-columns:1fr}.member-photo-wrap{min-height:280px}.member-content{padding:28px}.form-grid-span{grid-column:auto}}


/* Correctifs formulaires v10 */
.form-section-head{margin:30px 0 14px}.form-section-head h2{margin:.35rem 0 .4rem;color:#10223a}.form-help{margin:.35rem 0 0;color:#4c5f75;font-size:.98rem}.check-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0 24px}.professional-checks label,.consent-line label{display:flex;align-items:flex-start;gap:12px;background:#f8fbff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;color:#10223a;font-weight:750;line-height:1.45}.professional-checks input,.consent-line input{width:18px;height:18px;min-width:18px;margin-top:3px;accent-color:#24c4df}.professional-checks span,.consent-line span{display:block}.nova-online-form .notice-box{margin:14px 0 18px}.nova-online-form textarea[hidden]{display:none!important}.nova-online-form .btn{margin-top:0}.sticky-side{position:sticky;top:24px}.form-card .field span{font-weight:900;color:#10223a}.form-card .field input,.form-card .field textarea,.form-card .field select{color:#10223a;background:#fff}.form-status{min-height:1.4em;color:#0f6f86}.contact-layout{align-items:start}
@media(max-width:800px){.professional-checks label,.consent-line label{padding:13px 14px}.sticky-side{position:static}.contact-layout{gap:22px}}


/* Finition AAA - Projet Nova */
:root{
  --deep:#020b18;
  --focus:#10d7f0;
}
body{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
:focus-visible{outline:4px solid rgba(36,196,223,.35);outline-offset:3px;border-radius:10px;}
::selection{background:rgba(36,196,223,.25);color:#06172a;}
.site-header{padding-top:16px;}
.header-combined{max-width:1280px;margin-inline:auto;}
.header-top{min-height:132px;}
.brand-inline img{width:128px;height:128px;}
.brand-inline-text strong{font-size:2.05rem;}
.header-title{letter-spacing:-.045em;text-wrap:balance;}
.header-socials a{opacity:.92;}
.header-socials a:focus-visible,.header-socials a:hover{opacity:1;}
.header-nav-row{min-height:82px;display:flex;align-items:center;}
.main-nav{width:100%;}
.nav-link{line-height:1.1;}
.nav-link.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);}
.banner{border:1px solid rgba(4,21,40,.08);}
.page-hero .container,.hero .container{position:relative;overflow:hidden;}
.page-hero .container:after,.hero .container:after{content:"";position:absolute;right:-120px;top:-120px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(36,196,223,.14),rgba(36,196,223,0) 68%);pointer-events:none;}
.page-hero h1,.hero-copy h1{text-wrap:balance;}
.page-hero p,.hero-copy p,.section-head p,.large-text,.section-lead{line-height:1.75;}
.section{position:relative;}
.feature-card,.value-card,.doc-card,.phase-card,.form-card,.side-card,.news-card,.doc-focus{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.feature-card:hover,.value-card:hover,.doc-card:hover,.phase-card:hover,.news-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(6,26,47,.10);border-color:#c8d8e7;}
.btn{white-space:nowrap;letter-spacing:-.01em;}
.btn-primary{background:linear-gradient(135deg,#20d5e4,#32a8ff);}
.btn-outline:hover{background:#f2f8fc;border-color:#b7c8da;}
.notice-box{line-height:1.65;}
.form-card{position:relative;}
.form-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--cyan),var(--gold));}
.form-section-head{padding-top:8px;border-top:1px solid rgba(11,36,63,.08);}
.form-section-head:first-of-type{border-top:0;padding-top:0;}
.form-section-head h2{font-size:1.6rem;letter-spacing:-.035em;}
.form-help{line-height:1.65;}
.check-grid.professional-checks{gap:12px;}
.professional-checks label,.consent-line label{min-height:54px;background:linear-gradient(180deg,#ffffff,#f7fbff);border-color:#d5e3ef;box-shadow:0 6px 18px rgba(6,26,47,.035);}
.professional-checks label:hover,.consent-line label:hover{border-color:#9fc7d5;box-shadow:0 10px 24px rgba(6,26,47,.065);}
.professional-checks span,.consent-line span{color:#182d46;font-weight:760;}
.professional-checks input,.consent-line input{transform:translateY(1px);}
.field input,.field select,.field textarea,.search-input,.select-input{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;}
.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus,.select-input:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(36,196,223,.13);outline:none;}
.field textarea{line-height:1.6;}
.form-status{font-weight:900;background:#f2fbfd;border-radius:14px;padding:0 0;}
.side-card.sticky-side{top:28px;}
.footer{border-top:1px solid rgba(255,255,255,.08);}
.footer img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.28));}
.footer a:hover{color:#24c4df;text-decoration:none;}
.viewer-page-card{margin-bottom:24px;}
.viewer-top .btn{min-height:42px;}
@media (min-width:1101px){
  .contact-layout{grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);}
  .professional-checks{grid-template-columns:1fr;}
  .main-nav{justify-content:flex-start;}
}
@media (max-width:1100px){
  .header-top{min-height:auto;}
  .brand-inline img{width:96px;height:96px;}
  .header-title{text-align:center;}
  .header-nav-row{display:block;min-height:auto;}
}
@media (max-width:700px){
  .page-hero .container,.hero .container{padding:28px 22px;}
  .hero-copy h1,.page-hero h1{font-size:clamp(2.05rem,13vw,3.2rem);}
  .btn{width:100%;}
  .card-actions .btn,.hero-actions .btn{width:100%;}
  .form-card,.side-card,.doc-card,.feature-card,.value-card,.phase-card{padding:22px;}
  .professional-checks label,.consent-line label{padding:14px 13px;}
  .footer{padding-top:46px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}


/* Correctif v12 — alignement AAA des cases à cocher et photo équipe */
.form-card .check-grid,
.form-card .check-grid.professional-checks{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  align-items:stretch !important;
  width:100% !important;
}
.form-card .professional-checks label,
.form-card .consent-line label{
  display:grid !important;
  grid-template-columns:22px minmax(0,1fr) !important;
  column-gap:14px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
  padding:15px 16px !important;
  min-height:auto !important;
  line-height:1.5 !important;
  text-align:left !important;
}
.form-card .professional-checks input[type=checkbox],
.form-card .consent-line input[type=checkbox]{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  margin:3px 0 0 0 !important;
  padding:0 !important;
  align-self:start !important;
  justify-self:start !important;
  transform:none !important;
  flex:none !important;
  accent-color:#24c4df;
}
.form-card .professional-checks label span,
.form-card .consent-line label span{
  display:block !important;
  min-width:0 !important;
  color:#182d46 !important;
  font-weight:760 !important;
  overflow-wrap:anywhere !important;
}
.form-card .professional-checks label + label{margin-top:0 !important;}
.form-card .consent-line{display:block !important;}
.form-card .consent-line label{margin-top:10px !important;}
.member-photo-wrap{display:flex;align-items:center;justify-content:center;}
.member-photo-contain{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  padding:18px !important;
  background:#eef6fb;
}
@media(max-width:700px){
  .form-card .professional-checks label,
  .form-card .consent-line label{
    grid-template-columns:22px minmax(0,1fr) !important;
    padding:14px 13px !important;
    column-gap:12px !important;
  }
  .member-photo-contain{padding:12px !important;}
}


/* Nova AAA+ cleanup additions */
.status-banner{background:#0f1b2d;color:#fff;border-bottom:1px solid rgba(255,255,255,.18);font-size:.95rem;line-height:1.45}
.status-banner .container{padding:.7rem 1rem}.status-banner strong{color:#fff}.brand-inline-text small{display:block;font-size:.78rem;font-weight:600;opacity:.78}.legal-warning{background:#fff7e6;border-top:1px solid #f2d48a;border-bottom:1px solid #f2d48a;color:#2b2110}.legal-warning .container{padding:.85rem 1rem}.strong-notice{border-left:6px solid #173f73}.content-card,.stat-card{background:#fff;border:1px solid rgba(15,27,45,.12);border-radius:18px;padding:1.3rem;box-shadow:0 10px 26px rgba(15,27,45,.06)}.narrow{max-width:920px}.clean-list{padding-left:1.2rem}.clean-list li{margin:.45rem 0}.table-wrap{width:100%;overflow-x:auto;border-radius:14px;border:1px solid rgba(15,27,45,.12)}table{width:100%;border-collapse:collapse;background:#fff}caption{text-align:left;font-weight:700;padding:1rem;border-bottom:1px solid rgba(15,27,45,.12)}th,td{padding:.85rem;border-bottom:1px solid rgba(15,27,45,.1);text-align:left;vertical-align:top}th{background:#f4f7fb;color:#0f1b2d}.transparency-stats{margin:1rem 0 1.4rem}.stat-card span,.stat-card small{display:block}.stat-card strong{display:block;font-size:1.8rem;margin:.3rem 0}.consent-line{display:flex;gap:.65rem;align-items:flex-start;padding:1rem;margin:1rem 0;border:1px solid rgba(15,27,45,.14);border-radius:14px;background:#f7fafc}.consent-line input{margin-top:.2rem;min-width:1.1rem;min-height:1.1rem}.doc-tools{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;margin:1.2rem 0}.doc-tools label{font-weight:700}.doc-tools input,.doc-tools select{width:100%;padding:.85rem;border:1px solid rgba(15,27,45,.25);border-radius:12px;background:#fff}.main-nav .nav-link:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}.banner img{height:auto;max-width:100%}@media(max-width:760px){.doc-tools{grid-template-columns:1fr}.status-banner .container,.legal-warning .container{font-size:.9rem}.content-card,.stat-card{padding:1rem}th,td{padding:.7rem}.main-nav.open{max-height:80vh;overflow:auto}}

/* Correctif v3 — lisibilité du sous-titre dans l'en-tête */
.header-combined,
.header-combined a,
.header-combined .brand-inline,
.header-combined .brand-inline:hover,
.header-combined .brand-inline:focus{
  color:#f7fbff;
}
.brand-inline-text small{
  color:#cfe9f7 !important;
  opacity:1 !important;
  background:transparent !important;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.brand-inline:hover .brand-inline-text small,
.brand-inline:focus .brand-inline-text small{
  color:#ffffff !important;
}
.nav-link{
  color:#f1f7ff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}
.nav-link:hover,
.nav-link.active,
.nav-link[aria-current="page"]{
  background:#074d61 !important;
  color:#ffffff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 8px 18px rgba(0,0,0,.18);
}
.header-socials a{
  color:#eaf6ff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.header-title{
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
::selection{
  background:#24c4df;
  color:#001526;
}


/* Correctif v4 — lisibilité du sous-titre Projet Nova */
.brand-inline .brand-inline-text small,
.brand-inline-text small{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:800 !important;
  text-shadow:0 2px 6px rgba(0,0,0,.55) !important;
}
.brand-inline:visited .brand-inline-text small,
.brand-inline:hover .brand-inline-text small,
.brand-inline:focus .brand-inline-text small{
  color:#ffffff !important;
}


/* v13 — En-tête professionnel type bannière, inspiré de l’image 2 */
.site-header{padding:14px 0 8px;}
.header-combined{border-radius:34px;background:linear-gradient(90deg,#031020 0%,#07203f 100%);border:1px solid rgba(153,183,214,.22);box-shadow:0 18px 42px rgba(1,10,20,.28);}
.header-top{display:block !important;padding:20px 26px 12px !important;min-height:auto !important;}
.header-hero{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr) minmax(96px,150px);align-items:center;gap:18px;min-height:215px;}
.header-side-logo{display:flex;align-items:center;justify-content:center;min-width:0;text-decoration:none;}
.header-side-logo img{width:min(11vw,150px);height:auto;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.28));}
.header-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;}
.header-title-pro{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.35rem,4.5vw,5rem);line-height:1.08;font-weight:700;letter-spacing:-.03em;color:#f7fbff;text-wrap:balance;text-shadow:0 3px 16px rgba(0,0,0,.16);}
.header-title-pro::after{content:"";display:block;width:min(100%,980px);height:2px;margin:14px auto 0;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.88),rgba(36,196,223,.95),rgba(255,255,255,.88),rgba(255,255,255,.04));box-shadow:0 0 18px rgba(36,196,223,.35);}
.header-project-pro{margin-top:14px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(1.9rem,3.9vw,4rem);line-height:1.05;font-weight:700;color:#34d8f1;letter-spacing:-.02em;text-shadow:0 0 18px rgba(36,196,223,.15);}
.header-project-pro::after{content:"";display:block;width:min(100%,480px);height:1px;margin:12px auto 0;background:linear-gradient(90deg,rgba(36,196,223,0),rgba(36,196,223,.95),rgba(36,196,223,0));}
.header-tagline-wrap{display:flex;align-items:center;gap:22px;margin-top:16px;}
.header-tagline-wrap::before,.header-tagline-wrap::after{content:"";display:block;width:80px;max-width:12vw;height:1px;background:linear-gradient(90deg,rgba(36,196,223,0),rgba(36,196,223,.95));}
.header-tagline-wrap::after{background:linear-gradient(90deg,rgba(36,196,223,.95),rgba(36,196,223,0));}
.header-tagline-pro{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(1.15rem,2.15vw,2.15rem);line-height:1.2;color:#39d8f0;text-shadow:0 1px 10px rgba(0,0,0,.12);}
.header-socials-pro{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;margin-top:22px;}
.social-brand{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;color:#fff !important;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.13);box-shadow:0 10px 20px rgba(0,0,0,.14);font-size:1.08rem;font-weight:800;line-height:1.1;text-decoration:none !important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;}
.social-brand:hover,.social-brand:focus-visible{transform:translateY(-1px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);box-shadow:0 14px 28px rgba(0,0,0,.18);}
.social-icon-svg{width:26px;height:26px;display:block;flex:0 0 auto;}
.social-facebook span{color:#eaf3ff;}
.social-youtube span{color:#fff2f2;}
.social-tiktok span{color:#f7fbff;}
.header-nav-row{min-height:auto;display:block;padding:14px 24px 18px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.02));}
.main-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;}
.nav-link{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);font-weight:850;letter-spacing:-.01em;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;}
.nav-link:hover,.nav-link:focus-visible{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.12);}
.nav-link.active{background:linear-gradient(135deg,rgba(32,213,228,.34),rgba(50,168,255,.22));border-color:rgba(36,196,223,.5);box-shadow:0 8px 18px rgba(7,44,77,.2);}
.status-banner{margin-top:10px;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(4,21,40,.08);font-size:1.02rem;}
.banner-wrap{padding:16px 0 8px;}
.banner{max-width:1100px;margin:0 auto;border-radius:28px;overflow:hidden;box-shadow:0 18px 42px rgba(6,26,47,.14);}
.banner img{width:100%;height:330px;object-fit:cover;object-position:center center;}
.page-hero{padding-top:34px;}
@media (max-width:1100px){
  .header-top{padding:18px 18px 12px !important;}
  .header-hero{grid-template-columns:100px 1fr 100px;min-height:190px;gap:14px;}
  .header-side-logo img{width:min(13vw,110px);}
  .header-socials-pro{gap:12px 14px;}
  .social-brand{font-size:1rem;padding:9px 12px;}
  .banner img{height:290px;}
}
@media (max-width:800px){
  .header-hero{grid-template-columns:1fr;gap:12px;min-height:auto;}
  .header-side-logo:last-child{display:none;}
  .header-side-logo img{width:90px;}
  .header-title-pro{font-size:clamp(2rem,8vw,3.2rem);}
  .header-project-pro{font-size:clamp(1.7rem,7vw,2.8rem);}
  .header-tagline-wrap{gap:12px;margin-top:12px;}
  .header-tagline-wrap::before,.header-tagline-wrap::after{width:42px;}
  .header-socials-pro{gap:10px 12px;margin-top:16px;}
  .social-brand{font-size:.96rem;padding:8px 11px;}
  .header-nav-row{padding:12px 14px 16px;}
  .main-nav{gap:10px 10px;}
  .nav-link{padding:12px 14px;font-size:1rem;}
  .banner img{height:240px;}
}
@media (max-width:560px){
  .header-top{padding:16px 12px 10px !important;}
  .header-side-logo img{width:76px;}
  .header-tagline-wrap::before,.header-tagline-wrap::after{display:none;}
  .header-socials-pro{flex-direction:column;align-items:center;}
  .social-brand{width:min(100%,270px);justify-content:center;}
  .banner{border-radius:22px;}
  .banner img{height:190px;}
}


/* v14 — fond photo premium dans l’en-tête, sans carré bleu sous l’image */
body{background:linear-gradient(180deg,#041224 0%,#09192e 250px,#f7fbff 251px,#ffffff 100%);}
.site-header{padding:12px 0 8px;}
.header-combined{position:relative;overflow:hidden;background-image:linear-gradient(180deg,rgba(2,10,21,.60),rgba(3,12,24,.66)),linear-gradient(90deg,rgba(3,16,32,.85) 0%,rgba(5,20,38,.45) 38%,rgba(8,27,52,.28) 100%),url('header-bg-nova.webp');background-size:cover,cover,cover;background-position:center,center,center;border:1px solid rgba(216,232,248,.24);box-shadow:0 24px 50px rgba(1,9,18,.24);}
.header-combined::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.12),rgba(255,255,255,0) 32%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18));pointer-events:none;}
.header-combined > *{position:relative;z-index:1;}
.header-top{padding:26px 26px 12px !important;background:transparent !important;}
.header-hero{min-height:295px;grid-template-columns:120px minmax(0,1fr) 120px;}
.header-side-logo img{width:min(9vw,118px);filter:drop-shadow(0 12px 18px rgba(0,0,0,.28));}
.header-center{max-width:1100px;margin:0 auto;}
.header-title-pro{font-size:clamp(2.8rem,5.2vw,5.4rem);text-shadow:0 2px 20px rgba(0,0,0,.30);}
.header-title-pro::after{margin-top:20px;width:min(100%,1120px);}
.header-project-pro{margin-top:18px;font-size:clamp(2.1rem,4.2vw,4.4rem);}
.header-tagline-wrap{margin-top:18px;}
.header-tagline-pro{font-size:clamp(1.2rem,2.2vw,2.2rem);font-weight:500;}
.header-socials-pro{margin-top:28px;gap:16px 18px;}
.social-brand{background:rgba(10,28,52,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 26px rgba(0,0,0,.16);}
.header-nav-row{padding:18px 26px 22px;border-top:1px solid rgba(255,255,255,.12);background:transparent !important;}
.main-nav{justify-content:center;gap:18px 20px;}
.nav-link{background:rgba(10,28,52,.46);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 18px rgba(0,0,0,.10);padding:16px 24px;}
.nav-link:hover,.nav-link:focus-visible{background:rgba(15,36,66,.64);}
.nav-link.active{background:linear-gradient(135deg,rgba(37,211,229,.52),rgba(34,110,171,.34));}
.status-banner{margin-top:14px;background:#ffffff;border:1px solid rgba(10,31,57,.08);box-shadow:0 12px 28px rgba(10,31,57,.06);border-radius:18px;}
.status-banner .container{padding:14px 18px;color:#18314c;}
.banner-wrap{display:none !important;}
.page-hero{padding-top:28px;}
.page-hero .container{box-shadow:0 16px 34px rgba(6,26,47,.08);}
@media (max-width:1100px){
  .header-hero{grid-template-columns:100px minmax(0,1fr) 100px;min-height:255px;}
  .header-side-logo img{width:min(12vw,96px);}
  .header-title-pro{font-size:clamp(2.2rem,5.8vw,4.2rem);}
  .header-project-pro{font-size:clamp(1.8rem,4.5vw,3.4rem);}
}
@media (max-width:800px){
  body{background:linear-gradient(180deg,#041224 0%,#09192e 180px,#f7fbff 181px,#ffffff 100%);}
  .header-top{padding:18px 16px 10px !important;}
  .header-hero{grid-template-columns:1fr;min-height:auto;}
  .header-side-logo:first-child{margin-bottom:4px;}
  .header-side-logo:last-child{display:none;}
  .header-title-pro{font-size:clamp(2rem,8vw,3.2rem);}
  .header-project-pro{font-size:clamp(1.7rem,7vw,2.8rem);}
  .header-socials-pro{gap:12px;}.social-brand{padding:9px 12px;}
  .header-nav-row{padding:14px 14px 18px;}
  .main-nav{gap:12px;}
  .nav-link{padding:14px 18px;}
}
@media (max-width:560px){
  .header-title-pro::after{margin-top:14px;}
  .social-brand{width:min(100%,290px);}
}


/* v15 — en-tête plus haut avec image de fond davantage visible */
.header-combined{background-position:center center,center center,center 38%;}
.header-top{padding:34px 28px 14px !important;}
.header-hero{min-height:420px !important;grid-template-columns:130px minmax(0,1fr) 130px;}
.header-center{padding-top:10px;padding-bottom:10px;}
.header-side-logo img{width:min(10vw,132px);}
.header-title-pro{font-size:clamp(3rem,5.6vw,5.8rem);}
.header-title-pro::after{margin-top:24px;}
.header-project-pro{margin-top:22px;font-size:clamp(2.2rem,4.4vw,4.6rem);}
.header-tagline-wrap{margin-top:22px;}
.header-socials-pro{margin-top:32px;}
.header-nav-row{padding:20px 28px 24px;}
.status-banner{margin-top:16px;}
@media (max-width:1100px){
  .header-top{padding:26px 22px 12px !important;}
  .header-hero{min-height:360px !important;grid-template-columns:110px minmax(0,1fr) 110px;}
  .header-side-logo img{width:min(12vw,108px);}
}
@media (max-width:800px){
  .header-top{padding:20px 16px 10px !important;}
  .header-hero{min-height:300px !important;}
  .header-center{padding-top:0;padding-bottom:0;}
}
@media (max-width:560px){
  .header-hero{min-height:260px !important;}
  .header-title-pro{font-size:clamp(2rem,9vw,3rem);}
  .header-project-pro{font-size:clamp(1.75rem,7.4vw,2.7rem);}
}


/* v16 — remettre l’image 2 sous l’image 1 sur l’accueil */
.banner-wrap-return{display:block !important;padding:18px 0 6px;}
.banner-wrap-return .banner{max-width:1260px;margin:0 auto;border-radius:30px;overflow:hidden;border:1px solid rgba(8,31,57,.08);box-shadow:0 18px 38px rgba(6,26,47,.12);background:#061224;}
.banner-wrap-return .banner img{width:100%;height:auto;max-height:420px;display:block;object-fit:cover;object-position:center center;}
.page-hero{padding-top:26px;}
@media (max-width:1100px){
  .banner-wrap-return .banner img{max-height:360px;}
}
@media (max-width:800px){
  .banner-wrap-return{padding:14px 0 4px;}
  .banner-wrap-return .banner{border-radius:24px;}
  .banner-wrap-return .banner img{max-height:300px;}
}
@media (max-width:560px){
  .banner-wrap-return .banner{border-radius:20px;}
  .banner-wrap-return .banner img{max-height:220px;}
}


/* Version AAA+ finale — finition professionnelle */
:root{
  --max:1320px;
}
body{
  background:linear-gradient(180deg,#020b16 0%,#041325 380px,#f4f8fc 381px,#ffffff 640px,#ffffff 100%);
}
.container{width:min(var(--max),calc(100% - 42px));}
.site-header{padding:22px 0 12px;}
.header-combined{
  border-radius:38px;
  border:1px solid rgba(228,240,252,.22);
  box-shadow:0 28px 58px rgba(1,10,20,.26);
}
.header-top{padding:38px 34px 28px;}
.header-hero{gap:22px;}
.header-side-logo img{width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.30));}
.header-center{max-width:980px;margin-inline:auto;}
.header-title-pro{font-size:clamp(3.15rem,5.6vw,6rem);line-height:1.02;letter-spacing:-.04em;}
.header-project-pro{font-size:clamp(1.7rem,3.4vw,3.2rem);margin-top:18px;}
.header-tagline-wrap{margin-top:18px;}
.header-tagline-pro{font-size:clamp(1.1rem,2vw,1.55rem);letter-spacing:.01em;}
.header-socials-pro{gap:14px 16px;margin-top:24px;}
.social-brand{
  background:rgba(7,27,48,.44);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 12px 26px rgba(0,0,0,.14);
  padding:14px 24px;
}
.social-brand span{font-size:1.04rem;}
.header-nav-row{padding:16px 26px 24px;}
.main-nav{gap:14px 14px;}
.nav-link{padding:15px 22px;min-height:56px;font-size:1.06rem;}
.nav-link.active,.nav-link[aria-current="page"]{
  background:linear-gradient(135deg,rgba(37,211,229,.56),rgba(34,110,171,.36));
  border-color:rgba(36,196,223,.55);
}
.status-banner{
  position:relative;
  margin-top:16px;
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);
  border:1px solid rgba(10,31,57,.10);
  box-shadow:0 16px 34px rgba(10,31,57,.07);
}
.status-banner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#24c4df,#32a8ff);}
.status-banner .container{padding:16px 20px 16px 24px;color:#17324d;line-height:1.65;}
.status-banner strong{color:#0d2038;}
.banner-wrap-return{padding:18px 0 4px;}
.banner-wrap-return .banner{
  max-width:1280px;
  border-radius:28px;
  border:1px solid rgba(8,31,57,.08);
  box-shadow:0 22px 46px rgba(6,26,47,.11);
}
.banner-wrap-return .banner img{max-height:430px;}
.page-hero-home{padding:24px 0 10px;}
.page-hero-home .container{background:transparent;border:0;padding:0;box-shadow:none;overflow:visible;}
.page-hero-home .container::after{display:none;}
.hero-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px;align-items:stretch;}
.hero-home-main,.hero-side-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(10,31,57,.10);
  border-radius:30px;
  box-shadow:0 18px 38px rgba(6,26,47,.08);
}
.hero-home-main{padding:40px 42px;}
.hero-home-main h1{margin-top:14px;margin-bottom:18px;}
.hero-home-main p{max-width:100%;font-size:1.08rem;color:#3d5168;}
.hero-note-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.hero-note-list span{display:inline-flex;align-items:center;gap:8px;background:#eef8fc;border:1px solid #d4edf5;color:#0f5870;border-radius:999px;padding:9px 14px;font-weight:800;font-size:.9rem;line-height:1.35;}
.hero-side-card{padding:28px 26px;}
.hero-side-card h2{margin:2px 0 16px;color:#10223a;font-size:1.45rem;line-height:1.15;}
.hero-side-links{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.hero-side-links li{margin:0;}
.hero-side-links a{display:block;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(10,31,57,.10);box-shadow:0 8px 18px rgba(6,26,47,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.hero-side-links a:hover,.hero-side-links a:focus-visible{background:#f8fbff;border-color:#99cfe0;box-shadow:0 14px 24px rgba(6,26,47,.08);text-decoration:none;transform:translateY(-1px);}
.hero-side-links strong{display:block;color:#10223a;font-size:1rem;margin-bottom:4px;}
.hero-side-links span{display:block;color:#4c5f75;font-size:.95rem;line-height:1.55;}
.section-tight{padding-top:52px;}
.section-head{margin-bottom:28px;}
.doc-card,.feature-card,.value-card,.phase-card,.form-card,.side-card,.news-card,.doc-focus{border-radius:24px;}
.footer{padding-top:72px;}
@media (max-width:1100px){
  .container{width:min(var(--max),calc(100% - 32px));}
  .header-top{padding:28px 22px 20px;}
  .header-side-logo img{width:104px;height:104px;}
  .header-title-pro{font-size:clamp(2.35rem,6.8vw,4.2rem);}
  .header-project-pro{font-size:clamp(1.45rem,4vw,2.3rem);margin-top:14px;}
  .hero-home-grid{grid-template-columns:1fr;}
  .hero-home-main,.hero-side-card{padding:30px 26px;}
}
@media (max-width:760px){
  body{background:linear-gradient(180deg,#020b16 0%,#041325 270px,#f4f8fc 271px,#ffffff 520px,#ffffff 100%);}
  .container{width:min(100% - 24px,var(--max));}
  .header-combined{border-radius:26px;}
  .header-top{padding:22px 16px 16px;}
  .header-side-logo img{width:74px;height:74px;}
  .header-title-pro{font-size:clamp(2rem,10vw,3rem);}
  .header-project-pro{font-size:clamp(1.15rem,6vw,1.7rem);}
  .header-socials-pro{gap:10px;}
  .social-brand{width:100%;justify-content:center;padding:13px 16px;}
  .header-nav-row{padding:12px 14px 16px;}
  .status-banner .container{padding:14px 16px 14px 20px;font-size:.96rem;}
  .banner-wrap-return{padding:14px 0 4px;}
  .banner-wrap-return .banner{border-radius:20px;}
  .banner-wrap-return .banner img{max-height:240px;}
  .page-hero-home{padding-top:18px;}
  .hero-home-main,.hero-side-card{border-radius:24px;padding:24px 20px;}
  .hero-note-list{gap:8px;}
  .hero-note-list span{width:100%;justify-content:flex-start;padding:10px 12px;border-radius:16px;}
  .hero-home-main h1{font-size:clamp(2.1rem,12vw,3rem);line-height:1.02;}
  .section-tight{padding-top:40px;}
}


/* v11 — finition concepteur web / correcteur : image 2 réduite de moitié + polissage AAA++ */
:root{--max:1320px;}
html{scroll-padding-top:20px;}
body{background:linear-gradient(180deg,#020b16 0%,#041325 360px,#f4f8fc 361px,#ffffff 620px,#ffffff 100%);}
.container{width:min(var(--max),calc(100% - 42px));}
.site-header{padding:22px 0 12px;}
.header-combined{border-radius:38px;border:1px solid rgba(228,240,252,.22);box-shadow:0 28px 58px rgba(1,10,20,.24);}
.header-top{padding:34px 32px 24px !important;}
.header-hero{min-height:380px !important;gap:22px;}
.header-side-logo img{width:132px !important;height:132px;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.30));}
.header-center{max-width:980px;margin-inline:auto;}
.header-title-pro{font-size:clamp(3rem,5.2vw,5.65rem);line-height:1.02;letter-spacing:-.04em;}
.header-project-pro{font-size:clamp(1.75rem,3.25vw,3.05rem);margin-top:18px;}
.header-tagline-wrap{margin-top:18px;}
.header-tagline-pro{font-size:clamp(1.1rem,1.9vw,1.5rem);letter-spacing:.01em;}
.header-socials-pro{gap:14px 16px;margin-top:24px;}
.social-brand{background:rgba(7,27,48,.46);border-color:rgba(255,255,255,.14);box-shadow:0 12px 26px rgba(0,0,0,.14);padding:13px 22px;}
.social-brand span{font-size:1.02rem;}
.header-nav-row{padding:16px 26px 24px;}
.main-nav{gap:14px;justify-content:center;}
.nav-link{padding:15px 22px;min-height:56px;font-size:1.05rem;}
.nav-link.active,.nav-link[aria-current="page"]{background:linear-gradient(135deg,rgba(37,211,229,.56),rgba(34,110,171,.36));border-color:rgba(36,196,223,.55);}
.status-banner{position:relative;margin-top:14px;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%) !important;border:1px solid rgba(10,31,57,.10);box-shadow:0 16px 34px rgba(10,31,57,.07);}
.status-banner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#24c4df,#32a8ff);}
.status-banner .container{padding:14px 20px 14px 24px;color:#17324d !important;line-height:1.62;font-size:.98rem;}
.status-banner strong{color:#0d2038 !important;}
/* Image 2 : taille réduite de moitié, centrée et plus élégante */
.banner-wrap-return{display:block !important;padding:18px 0 6px !important;}
.banner-wrap-return .container{display:flex;justify-content:center;}
.banner-wrap-return .banner{width:min(640px,100%);max-width:640px;margin:0 auto;border-radius:22px;overflow:hidden;border:1px solid rgba(8,31,57,.09);box-shadow:0 18px 36px rgba(6,26,47,.10);background:#061224;}
.banner-wrap-return .banner img{width:100%;height:210px;max-height:210px;display:block;object-fit:cover;object-position:center center;}
.page-hero-home{padding:24px 0 10px;}
.page-hero-home .container{background:transparent;border:0;padding:0;box-shadow:none;overflow:visible;}
.page-hero-home .container::after{display:none;}
.hero-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:24px;align-items:stretch;}
.hero-home-main,.hero-side-card{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid rgba(10,31,57,.10);border-radius:30px;box-shadow:0 18px 38px rgba(6,26,47,.08);}
.hero-home-main{padding:40px 42px;}
.hero-home-main h1{margin-top:14px;margin-bottom:18px;}
.hero-home-main p{max-width:100%;font-size:1.08rem;color:#3d5168;}
.hero-note-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.hero-note-list span{display:inline-flex;align-items:center;gap:8px;background:#eef8fc;border:1px solid #d4edf5;color:#0f5870;border-radius:999px;padding:9px 14px;font-weight:800;font-size:.9rem;line-height:1.35;}
.hero-side-card{padding:28px 26px;}
.hero-side-card h2{margin:2px 0 16px;color:#10223a;font-size:1.45rem;line-height:1.15;}
.hero-side-links{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.hero-side-links li{margin:0;}
.hero-side-links a{display:block;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid rgba(10,31,57,.10);box-shadow:0 8px 18px rgba(6,26,47,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.hero-side-links a:hover,.hero-side-links a:focus-visible{background:#f8fbff;border-color:#99cfe0;box-shadow:0 14px 24px rgba(6,26,47,.08);text-decoration:none;transform:translateY(-1px);}
.hero-side-links strong{display:block;color:#10223a;font-size:1rem;margin-bottom:4px;}
.hero-side-links span{display:block;color:#4c5f75;font-size:.95rem;line-height:1.55;}
.section-tight{padding-top:52px;}
.section-head{margin-bottom:28px;}
.doc-card,.feature-card,.value-card,.phase-card,.form-card,.side-card,.news-card,.doc-focus{border-radius:24px;}
.footer{padding-top:72px;}
.footer-main{align-items:start;}
@media (max-width:1100px){
  .container{width:min(var(--max),calc(100% - 32px));}
  .header-top{padding:26px 22px 18px !important;}
  .header-hero{min-height:320px !important;grid-template-columns:96px minmax(0,1fr) 96px;}
  .header-side-logo img{width:96px !important;height:96px;}
  .header-title-pro{font-size:clamp(2.2rem,6.5vw,4rem);}
  .header-project-pro{font-size:clamp(1.45rem,4vw,2.25rem);margin-top:14px;}
  .hero-home-grid{grid-template-columns:1fr;}
  .hero-home-main,.hero-side-card{padding:30px 26px;}
}
@media (max-width:760px){
  body{background:linear-gradient(180deg,#020b16 0%,#041325 260px,#f4f8fc 261px,#ffffff 520px,#ffffff 100%);}
  .container{width:min(100% - 24px,var(--max));}
  .header-combined{border-radius:26px;}
  .header-top{padding:20px 16px 16px !important;}
  .header-hero{min-height:0 !important;grid-template-columns:1fr;}
  .header-side-logo:first-child{margin-bottom:6px;}
  .header-side-logo img{width:74px !important;height:74px;}
  .header-title-pro{font-size:clamp(2rem,10vw,3rem);}
  .header-project-pro{font-size:clamp(1.15rem,6vw,1.7rem);}
  .header-socials-pro{gap:10px;}
  .social-brand{width:100%;justify-content:center;padding:13px 16px;}
  .header-nav-row{padding:12px 14px 16px;}
  .status-banner .container{padding:13px 16px 13px 20px;font-size:.94rem;}
  .banner-wrap-return{padding:14px 0 4px !important;}
  .banner-wrap-return .banner{width:min(360px,100%);border-radius:18px;}
  .banner-wrap-return .banner img{height:118px;max-height:118px;}
  .page-hero-home{padding-top:18px;}
  .hero-home-main,.hero-side-card{border-radius:24px;padding:24px 20px;}
  .hero-note-list{gap:8px;}
  .hero-note-list span{width:100%;justify-content:flex-start;padding:10px 12px;border-radius:16px;}
  .hero-home-main h1{font-size:clamp(2.1rem,12vw,3rem);line-height:1.02;}
  .section-tight{padding-top:40px;}
}


/* v12 — correctif final concepteur web : image 2 encore réduite + déploiement propre */
.banner-wrap-return{padding:14px 0 4px !important;}
.banner-wrap-return .container{display:flex !important;justify-content:center !important;}
.banner-wrap-return .banner{width:min(420px,100%) !important;max-width:420px !important;border-radius:18px !important;box-shadow:0 14px 28px rgba(6,26,47,.09) !important;}
.banner-wrap-return .banner img{height:138px !important;max-height:138px !important;object-fit:cover !important;object-position:center center !important;}
.page-hero-home{padding-top:20px !important;}
.status-banner{margin-top:12px !important;}
.status-banner .container{font-size:.96rem !important;}
@media (max-width:760px){
  .banner-wrap-return .banner{width:min(280px,100%) !important;border-radius:16px !important;}
  .banner-wrap-return .banner img{height:92px !important;max-height:92px !important;}
}


/* v13 AAA++ — restructuration professionnelle finale */
:root{
  --site-max:1320px;
  --ink-strong:#0f2239;
  --ink-soft:#485d73;
  --surface:#ffffff;
  --surface-alt:#f6fbff;
  --border-soft:rgba(12,36,63,.10);
  --shadow-soft:0 18px 40px rgba(8,28,52,.08);
}
html{scroll-behavior:smooth;}
body{background:linear-gradient(180deg,#041120 0%,#06192d 300px,#eef4fa 301px,#f8fbfd 100%);color:var(--ink-strong);}
a:focus-visible,button:focus-visible{outline:3px solid rgba(36,196,223,.5);outline-offset:3px;border-radius:12px;}
.container{width:min(var(--site-max),calc(100% - 40px));}
.site-header{padding:24px 0 10px;}
.header-combined{border-radius:34px;box-shadow:0 28px 56px rgba(3,15,29,.22);overflow:hidden;}
.header-top{padding:28px 32px 22px !important;}
.header-hero{min-height:unset !important;}
.header-title-pro{font-size:clamp(2.95rem,5vw,5.45rem);line-height:1.03;max-width:980px;margin:0 auto;}
.header-project-pro{font-size:clamp(1.7rem,3vw,3rem);}
.header-tagline-pro{font-size:clamp(1.15rem,1.85vw,1.75rem);}
.header-side-logo img{width:min(9vw,116px);height:auto;}
.header-socials-pro{margin-top:24px;gap:14px;}
.social-brand{padding:12px 22px;background:rgba(11,30,55,.56);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.header-nav-row{padding:16px 22px 20px;background:rgba(3,15,29,.18) !important;border-top:1px solid rgba(255,255,255,.08);}
.main-nav{gap:12px 12px;justify-content:center;}
.nav-link{padding:13px 20px;min-height:52px;background:rgba(8,27,50,.5);border:1px solid rgba(255,255,255,.10);}
.nav-link:hover,.nav-link:focus-visible{background:rgba(10,33,59,.72);}
.nav-link.active,.nav-link[aria-current="page"]{background:linear-gradient(135deg,rgba(37,211,229,.45),rgba(23,119,183,.34));border-color:rgba(69,208,228,.5);}
.banner-wrap-return{padding:18px 0 0;}
.banner-home-secondary{max-width:1180px;margin:0 auto;border-radius:30px;overflow:hidden;border:1px solid rgba(12,36,63,.08);box-shadow:0 22px 44px rgba(8,28,52,.10);}
.banner-home-secondary img{display:block;width:100%;height:auto;max-height:300px;object-fit:cover;object-position:center center;}
.status-banner-home{margin-top:14px;background:transparent;border:0;box-shadow:none;}
.status-banner-home .container{max-width:1180px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid var(--border-soft);border-radius:18px;padding:14px 18px 14px 22px;box-shadow:0 14px 30px rgba(8,28,52,.06);position:relative;color:#27435f;line-height:1.62;font-size:.98rem;}
.status-banner-home .container::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:18px 0 0 18px;background:linear-gradient(180deg,#24c4df,#3aa9ff);}
.page-hero-home{padding:24px 0 8px;}
.page-hero-home .container{padding:0;background:transparent;border:0;box-shadow:none;max-width:1180px;}
.hero-home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.82fr);gap:24px;align-items:start;}
.hero-home-main,.hero-side-card,.feature-card-home,.transparency-panel,.doc-card{background:linear-gradient(180deg,#ffffff 0%,#f9fcff 100%);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);}
.hero-home-main{padding:36px 38px;border-radius:28px;}
.hero-home-main h1{font-size:clamp(2.4rem,4.4vw,4.2rem);line-height:1.02;margin:10px 0 16px;letter-spacing:-.03em;}
.hero-home-main p{font-size:1.06rem;line-height:1.8;color:var(--ink-soft);max-width:58ch;}
.hero-note-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.hero-note-list span{display:inline-flex;align-items:center;background:#eef8fd;border:1px solid #d6edf8;color:#135b75;border-radius:999px;padding:10px 14px;font-size:.9rem;font-weight:800;}
.hero-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap;}
.hero-side-card{padding:26px;border-radius:28px;}
.hero-side-card h2{margin:0 0 14px;font-size:1.55rem;line-height:1.12;}
.hero-side-links{display:grid;gap:12px;list-style:none;margin:0;padding:0;}
.hero-side-links a{display:block;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid rgba(12,36,63,.08);transition:.18s ease;box-shadow:0 8px 18px rgba(8,28,52,.04);}
.hero-side-links a:hover,.hero-side-links a:focus-visible{text-decoration:none;transform:translateY(-1px);border-color:#9bd8e6;box-shadow:0 14px 24px rgba(8,28,52,.08);background:#fbfdff;}
.hero-side-links strong{display:block;color:var(--ink-strong);margin-bottom:4px;}
.hero-side-links span{display:block;color:var(--ink-soft);line-height:1.55;}
.section{padding:52px 0;}
.section-home-overview{padding-top:34px;padding-bottom:18px;}
.section-home-transparency{padding-top:26px;padding-bottom:12px;}
.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.section h2{letter-spacing:-.03em;}
.grid.grid-3{gap:22px;}
.feature-card-home{padding:28px;border-radius:26px;}
.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#d9f8fb,#eef5ff);border:1px solid #ccecf2;color:#0f6b86;font-weight:900;margin-bottom:16px;}
.feature-card-home h3{margin:0 0 10px;font-size:1.32rem;}
.feature-card-home p{margin:0;color:var(--ink-soft);line-height:1.72;}
.transparency-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:32px 34px;border-radius:28px;background:linear-gradient(135deg,#0a2140 0%,#10345f 55%,#0f2646 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 36px rgba(6,26,47,.16);}
.transparency-panel .eyebrow,.transparency-panel h2,.transparency-panel p{color:#fff;}
.transparency-panel p{max-width:72ch;color:rgba(244,249,255,.84);margin:10px 0 0;}
.transparency-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
.transparency-panel .btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;}
.transparency-panel .btn-outline:hover,.transparency-panel .btn-outline:focus-visible{background:rgba(255,255,255,.14);}
.section-tight{padding-top:32px;padding-bottom:66px;}
.doc-card{border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:10px;}
.doc-card p{color:var(--ink-soft);line-height:1.7;flex:1;}
.card-actions{display:flex;flex-wrap:wrap;gap:10px;}
.btn{border-radius:999px;font-weight:800;}
.footer{padding-top:70px;background:linear-gradient(180deg,#07172b 0%,#04101f 100%);}
.footer-main{gap:28px;}
.footer h2,.footer h3,.footer p,.footer a,.footer span{color:#f5f8fc;}
.footer p,.footer li a{color:rgba(245,248,252,.82);}
.footer a:hover,.footer a:focus-visible{color:#8fe8f4;}
@media (max-width:1100px){
  .container{width:min(var(--site-max),calc(100% - 28px));}
  .header-top{padding:24px 20px 18px !important;}
  .header-title-pro{font-size:clamp(2.35rem,6.6vw,4.2rem);}
  .header-side-logo img{width:min(12vw,92px);}
  .hero-home-grid{grid-template-columns:1fr;}
  .transparency-panel{grid-template-columns:1fr;}
  .transparency-actions{justify-content:flex-start;}
}
@media (max-width:760px){
  body{background:linear-gradient(180deg,#041120 0%,#06192d 220px,#eef4fa 221px,#f8fbfd 100%);}
  .container{width:min(calc(100% - 20px),var(--site-max));}
  .site-header{padding-top:16px;}
  .header-combined{border-radius:24px;}
  .header-top{padding:20px 14px 16px !important;}
  .header-side-logo img{width:72px;}
  .header-title-pro{font-size:clamp(2.05rem,10vw,3.1rem);}
  .header-project-pro{font-size:clamp(1.28rem,6vw,1.8rem);}
  .header-tagline-pro{font-size:clamp(1rem,5vw,1.25rem);}
  .header-socials-pro{gap:10px;}
  .social-brand{width:100%;justify-content:center;padding:12px 14px;}
  .header-nav-row{padding:12px 12px 16px;}
  .nav-link{padding:12px 14px;min-height:48px;}
  .banner-home-secondary{border-radius:22px;}
  .banner-home-secondary img{max-height:220px;}
  .status-banner-home .container{font-size:.94rem;padding:13px 14px 13px 18px;border-radius:16px;}
  .hero-home-main,.hero-side-card,.feature-card-home,.transparency-panel,.doc-card{border-radius:22px;}
  .hero-home-main{padding:24px 20px;}
  .hero-home-main h1{font-size:clamp(2rem,11vw,3rem);}
  .hero-home-main p{font-size:1rem;line-height:1.72;}
  .hero-note-list span{width:100%;justify-content:flex-start;border-radius:14px;}
  .hero-side-card{padding:22px 18px;}
  .feature-card-home{padding:22px;}
  .transparency-panel{padding:24px 20px;}
  .section{padding:40px 0;}
  .section-home-overview{padding-top:22px;}
  .section-tight{padding-top:22px;padding-bottom:48px;}
  .doc-card{padding:20px;}
}


/* v14 AAA++ — suppression du doublon visuel et amélioration de la bannière secondaire */
.header-combined{
  background-image: radial-gradient(circle at 50% 16%, rgba(54,192,230,.16), rgba(54,192,230,0) 28%), linear-gradient(135deg,#031021 0%,#09213f 46%,#0b2a4d 100%) !important;
  background-size: cover !important;
  background-position: center center !important;
  border:1px solid rgba(214,231,247,.20) !important;
  box-shadow:0 30px 64px rgba(3,15,29,.24) !important;
}
.header-combined::before{
  background: radial-gradient(circle at 50% 18%, rgba(255,255,255,.08), rgba(255,255,255,0) 36%), linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.16)) !important;
}
.header-top{padding:30px 34px 24px !important;}
.header-center{max-width:980px;margin-inline:auto;}
.header-title-pro{max-width:980px;text-wrap:balance;}
.header-socials-pro{margin-top:26px;}
.banner-wrap-return{padding:24px 0 0 !important;}
.banner-home-secondary{
  max-width:1320px !important;
  border-radius:32px !important;
  border:1px solid rgba(12,36,63,.10) !important;
  box-shadow:0 24px 48px rgba(8,28,52,.12) !important;
  background:#08172a;
}
.banner-home-secondary img{
  max-height:420px !important;
  min-height:280px;
  object-fit:cover;
  object-position:center center;
  filter:saturate(1.02) contrast(1.02);
}
.status-banner-home{margin-top:18px !important;}
.status-banner-home .container{max-width:1320px !important;}
.page-hero-home .container{max-width:1320px !important;}
.section-home-overview .container,.section-home-transparency .container,.section-tight .container{max-width:1320px !important;}
.hero-home-main h1{max-width:16ch;}
@media (max-width:1100px){
  .header-top{padding:24px 20px 18px !important;}
  .banner-home-secondary{max-width:100% !important;}
  .banner-home-secondary img{max-height:360px !important;min-height:240px;}
}
@media (max-width:760px){
  .header-top{padding:20px 14px 16px !important;}
  .banner-wrap-return{padding-top:18px !important;}
  .banner-home-secondary{border-radius:22px !important;}
  .banner-home-secondary img{max-height:240px !important;min-height:180px;}
  .status-banner-home{margin-top:14px !important;}
}


/* v15 AAA++ — image panorama intégrée dans l’en-tête et suppression du doublon sous l’en-tête */
.header-combined{overflow:hidden;}
.header-top{padding-bottom:18px !important;}
.social-brand{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(11,30,55,.92) !important;}
.nav-link{background:rgba(8,27,50,.92) !important;}
.header-nav-row{padding-bottom:18px !important;}
.header-media-band{padding:0 24px 24px;}
.header-media-band .banner-home-secondary{max-width:none !important;margin:0;border-radius:24px !important;box-shadow:0 18px 32px rgba(6,24,44,.18) !important;border:1px solid rgba(255,255,255,.10) !important;}
.header-media-band .banner-home-secondary img{display:block;width:100%;max-height:330px !important;min-height:220px !important;object-fit:cover;object-position:center center;border-radius:24px;}
.banner-wrap-return{display:none !important;}
.status-banner-home{margin-top:20px !important;}
.status-banner-home .container{max-width:1320px !important;}
.page-hero-home{padding-top:28px !important;}
@media (max-width:1100px){
  .header-media-band{padding:0 18px 18px;}
  .header-media-band .banner-home-secondary img{max-height:280px !important;min-height:200px !important;}
}
@media (max-width:760px){
  .header-top{padding-bottom:14px !important;}
  .header-nav-row{padding-bottom:14px !important;}
  .header-media-band{padding:0 12px 14px;}
  .header-media-band .banner-home-secondary{border-radius:18px !important;}
  .header-media-band .banner-home-secondary img{max-height:210px !important;min-height:150px !important;border-radius:18px;}
  .status-banner-home{margin-top:14px !important;}
}


/* v16 AAA++ — bannière fusionnée directement dans l'en-tête */
.header-combined{
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(180deg, rgba(2,10,23,.88) 0%, rgba(3,16,33,.68) 30%, rgba(3,16,33,.52) 56%, rgba(3,16,33,.72) 82%, rgba(3,16,33,.88) 100%),
    url("assets/header-bg-nova.webp"),
    linear-gradient(135deg,#041120 0%,#0a2341 48%,#0b2a4d 100%) !important;
  background-size:cover, cover, cover !important;
  background-position:center center, center 70%, center center !important;
  background-repeat:no-repeat !important;
}
.header-combined::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 50% 14%, rgba(93,203,233,.16), rgba(93,203,233,0) 28%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 24%, rgba(255,255,255,0) 76%, rgba(255,255,255,.04) 100%);
  pointer-events:none;
}
.header-top,.header-nav-row{position:relative;z-index:1;}
.header-top{padding:34px 34px 28px !important;}
.header-center{max-width:980px;}
.header-title-pro{font-size:clamp(3rem,5.6vw,5.5rem);text-shadow:0 3px 18px rgba(0,0,0,.24);}
.header-project-pro,.header-tagline-pro{ text-shadow:0 2px 12px rgba(0,0,0,.28); }
.header-socials-pro{margin-top:30px;gap:16px;}
.social-brand{
  background:rgba(7,22,43,.56) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.social-brand:hover,.social-brand:focus-visible{background:rgba(10,29,55,.74) !important;}
.header-nav-row{
  margin-top:22px;
  padding:22px 26px 28px !important;
  background:linear-gradient(180deg, rgba(4,17,32,0) 0%, rgba(4,17,32,.18) 18%, rgba(4,17,32,.36) 100%) !important;
  border-top:1px solid rgba(255,255,255,.08);
}
.main-nav{gap:14px 14px;}
.nav-link{
  background:rgba(4,18,35,.64) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.nav-link:hover,.nav-link:focus-visible{background:rgba(7,26,49,.8) !important;}
.nav-link.active,.nav-link[aria-current="page"]{background:linear-gradient(135deg,rgba(37,211,229,.45),rgba(23,119,183,.34)) !important;}
.banner-wrap-return,.header-media-band{display:none !important;}
.status-banner-home{margin-top:18px !important;}
.status-banner-home .container{max-width:1320px !important;}
.page-hero-home{padding-top:26px !important;}
@media (max-width:1100px){
  .header-top{padding:26px 20px 22px !important;}
  .header-nav-row{padding:18px 18px 22px !important;}
}
@media (max-width:760px){
  .header-top{padding:20px 14px 18px !important;}
  .header-title-pro{font-size:clamp(2.1rem,10vw,3.2rem);}
  .header-socials-pro{gap:10px;margin-top:20px;}
  .social-brand{background:rgba(7,22,43,.72) !important;}
  .header-nav-row{margin-top:14px;padding:14px 12px 16px !important;}
}


/* v17 AAA++ — en-tête compact et adapté au navigateur */
:root{
  --header-max: 1280px;
}
body{
  background:linear-gradient(180deg,#041120 0%,#06192d 230px,#eef4fa 231px,#f8fbfd 100%) !important;
}
.site-header{
  padding:16px 0 8px !important;
}
.site-header .container{
  width:min(var(--header-max),calc(100% - 36px)) !important;
}
.header-combined{
  border-radius:28px !important;
  min-height:0 !important;
  box-shadow:0 20px 42px rgba(3,15,29,.22) !important;
  background-image:
    linear-gradient(180deg, rgba(2,10,23,.91) 0%, rgba(3,16,33,.72) 34%, rgba(3,16,33,.58) 58%, rgba(3,16,33,.76) 82%, rgba(3,16,33,.91) 100%),
    url("header-bg-nova.webp"),
    linear-gradient(135deg,#041120 0%,#0a2341 48%,#0b2a4d 100%) !important;
  background-size:cover, cover, cover !important;
  background-position:center center, center 58%, center center !important;
  background-repeat:no-repeat !important;
}
.header-top{
  padding:22px 26px 16px !important;
  min-height:0 !important;
}
.header-hero{
  min-height:0 !important;
  grid-template-columns:92px minmax(0,1fr) 92px !important;
  gap:18px !important;
}
.header-side-logo img{
  width:78px !important;
  height:auto !important;
}
.header-title-pro{
  font-size:clamp(2.15rem,4.1vw,4.4rem) !important;
  line-height:1.02 !important;
  max-width:820px !important;
  letter-spacing:-.035em !important;
}
.header-title-pro::after{
  margin-top:12px !important;
  width:min(100%,820px) !important;
}
.header-project-pro{
  margin-top:10px !important;
  font-size:clamp(1.35rem,2.7vw,2.45rem) !important;
  line-height:1.02 !important;
}
.header-project-pro::after{
  margin-top:8px !important;
  width:min(100%,330px) !important;
}
.header-tagline-wrap{
  margin-top:10px !important;
  gap:14px !important;
}
.header-tagline-wrap::before,
.header-tagline-wrap::after{
  width:58px !important;
}
.header-tagline-pro{
  font-size:clamp(1rem,1.65vw,1.36rem) !important;
  line-height:1.18 !important;
}
.header-socials-pro{
  margin-top:16px !important;
  gap:10px 12px !important;
}
.social-brand{
  padding:8px 14px !important;
  min-height:42px !important;
  gap:8px !important;
  border-radius:999px !important;
  background:rgba(7,22,43,.72) !important;
}
.social-brand span{
  font-size:.92rem !important;
}
.social-icon-svg{
  width:22px !important;
  height:22px !important;
}
.header-nav-row{
  margin-top:10px !important;
  padding:12px 18px 16px !important;
  min-height:0 !important;
}
.main-nav{
  gap:10px 10px !important;
}
.nav-link{
  padding:10px 16px !important;
  min-height:42px !important;
  font-size:.95rem !important;
  line-height:1.08 !important;
  background:rgba(4,18,35,.72) !important;
}
.banner-wrap-return,
.header-media-band{
  display:none !important;
}
.status-banner-home,
.status-banner{
  margin-top:12px !important;
}
.status-banner-home .container,
.status-banner .container{
  max-width:1280px !important;
  padding:12px 16px 12px 20px !important;
  font-size:.92rem !important;
  line-height:1.55 !important;
}
.page-hero-home{
  padding-top:18px !important;
}
.hero-home-main{
  padding:30px 32px !important;
}
.hero-home-main h1{
  font-size:clamp(2.15rem,3.7vw,3.7rem) !important;
}
.hero-side-card{
  padding:24px !important;
}
.section{
  padding:46px 0 !important;
}
.section-home-overview{
  padding-top:26px !important;
  padding-bottom:14px !important;
}
.section-home-transparency{
  padding-top:22px !important;
  padding-bottom:10px !important;
}
.section-tight{
  padding-top:28px !important;
}
@media (min-width:1500px){
  .site-header .container{width:min(1260px,calc(100% - 48px)) !important;}
  .header-title-pro{font-size:4.35rem !important;}
}
@media (max-width:1100px){
  body{background:linear-gradient(180deg,#041120 0%,#06192d 210px,#eef4fa 211px,#f8fbfd 100%) !important;}
  .site-header .container{width:min(100% - 28px,var(--header-max)) !important;}
  .header-top{padding:18px 18px 14px !important;}
  .header-hero{grid-template-columns:76px minmax(0,1fr) 76px !important;gap:12px !important;}
  .header-side-logo img{width:68px !important;}
  .header-title-pro{font-size:clamp(2rem,6vw,3.35rem) !important;}
  .header-project-pro{font-size:clamp(1.25rem,4.2vw,2rem) !important;}
  .header-nav-row{padding:10px 14px 14px !important;}
  .nav-link{font-size:.92rem !important;padding:10px 14px !important;}
}
@media (max-width:760px){
  body{background:linear-gradient(180deg,#041120 0%,#06192d 160px,#eef4fa 161px,#f8fbfd 100%) !important;}
  .site-header{padding:10px 0 6px !important;}
  .site-header .container{width:min(100% - 16px,var(--header-max)) !important;}
  .header-combined{border-radius:20px !important;}
  .header-top{padding:14px 12px 10px !important;}
  .header-hero{grid-template-columns:1fr !important;gap:6px !important;}
  .header-side-logo:first-child{display:flex !important;}
  .header-side-logo:last-child{display:none !important;}
  .header-side-logo img{width:48px !important;}
  .header-title-pro{font-size:clamp(1.45rem,8vw,2.2rem) !important;line-height:1.02 !important;}
  .header-title-pro::after{margin-top:8px !important;}
  .header-project-pro{font-size:clamp(1.05rem,5.4vw,1.45rem) !important;margin-top:8px !important;}
  .header-tagline-wrap{margin-top:8px !important;}
  .header-tagline-wrap::before,.header-tagline-wrap::after{display:none !important;}
  .header-tagline-pro{font-size:.95rem !important;}
  .header-socials-pro{margin-top:10px !important;display:grid !important;grid-template-columns:repeat(3,1fr) !important;width:100% !important;gap:6px !important;}
  .social-brand{width:100% !important;min-height:36px !important;padding:6px 8px !important;justify-content:center !important;}
  .social-brand span{font-size:.72rem !important;}
  .social-icon-svg{width:18px !important;height:18px !important;}
  .header-nav-row{margin-top:8px !important;padding:8px 10px 10px !important;}
  .menu-toggle{width:42px !important;height:38px !important;padding:7px !important;border-radius:12px !important;margin-bottom:8px !important;}
  .main-nav.open{max-height:55vh !important;overflow:auto !important;}
  .main-nav{gap:5px !important;}
  .nav-link{min-height:34px !important;padding:8px 10px !important;font-size:.78rem !important;border-radius:12px !important;}
  .status-banner-home .container,.status-banner .container{font-size:.82rem !important;padding:10px 12px 10px 16px !important;}
  .page-hero-home{padding-top:12px !important;}
  .hero-home-main,.hero-side-card{padding:20px 16px !important;border-radius:18px !important;}
  .hero-home-main h1{font-size:clamp(1.75rem,9vw,2.35rem) !important;}
  .hero-home-main p{font-size:.94rem !important;line-height:1.62 !important;}
  .hero-note-list span{font-size:.78rem !important;padding:8px 10px !important;}
  .section{padding:32px 0 !important;}
  .section h2{font-size:clamp(1.55rem,7vw,2rem) !important;}
}


/* Integrated in benoitcantin.com — v18 */
html{scroll-padding-top:120px}body{overflow-x:hidden}.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}.site-header-pro .container{width:min(1320px,calc(100% - 28px))}.header-side-logo img{object-fit:contain}.header-title-pro{font-size:clamp(1.45rem,3.4vw,2.75rem);line-height:1.04}.header-project-pro{font-size:clamp(1.02rem,2vw,1.45rem)}.header-hero{gap:clamp(14px,3vw,34px)}.header-side-logo{width:clamp(86px,10vw,132px);height:clamp(86px,10vw,132px)}.header-side-logo img{width:100%;height:100%}.page-hero h1{font-size:clamp(2.35rem,5.4vw,4.75rem);line-height:1.02}.hero-home-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(24px,4vw,54px)}.hero-home-main>p{max-width:760px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.feature-card,.doc-card{min-width:0}.footer-main{gap:30px}.nova-official-banner+main .status-banner-home{margin-top:18px}@media(max-width:980px){.hero-home-grid{grid-template-columns:1fr}.header-side-logo:last-child{display:none}.grid-3{grid-template-columns:1fr 1fr}}@media(max-width:700px){.container{width:min(100% - 24px,1180px)}.header-top{padding-block:14px}.header-side-logo{width:76px;height:76px}.header-title-pro{font-size:1.35rem}.header-project-pro{font-size:1rem}.header-socials-pro{gap:6px}.social-brand span{display:none}.page-hero{padding-block:44px}.page-hero h1{font-size:clamp(2.15rem,11vw,3.25rem)}.grid-3{grid-template-columns:1fr}.hero-note-list{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr 1fr}.card-actions,.hero-actions{align-items:stretch}.card-actions .btn,.hero-actions .btn{width:100%}}@media(max-width:480px){.footer-main{grid-template-columns:1fr}.header-side-logo{width:64px;height:64px}.header-title-pro{font-size:1.1rem}.header-project-pro{font-size:.9rem}.header-tagline-pro{font-size:.75rem}}
