/* ============================================================
   Invenne — One Pager — feuille de style
   Police : Avenir (native Apple) + repli auto-hébergé (Mulish)
   ============================================================ */

/* ---------- Repli auto-hébergé proche d'Avenir (Mulish) ---------- */
@font-face{font-family:'Mulish';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/mulish-latin-300-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:300;font-display:swap;src:url('../assets/fonts/mulish-latin-ext-300-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/mulish-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/mulish-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:italic;font-weight:400;font-display:swap;src:url('../assets/fonts/mulish-latin-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:italic;font-weight:400;font-display:swap;src:url('../assets/fonts/mulish-latin-ext-400-italic.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/mulish-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/mulish-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/mulish-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/mulish-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url('../assets/fonts/mulish-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url('../assets/fonts/mulish-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---------- Variables ---------- */
:root{
  --navy:#16294a;
  --navy-deep:#122139;
  --navy-card:#1d3157;
  --navy-card-2:#213862;
  --orange:#bc5434;      /* terracotta officiel charte */
  --orange-2:#c96a4a;
  --blue:#3f5f96;
  --cream:#f4ede3;
  --cream-2:#efe7db;
  --white:#ffffff;
  --text-navy:#16294a;
  --text-body:#5a6472;
  --text-muted-on-dark:#9aa6bb;
  --border-soft:#e9e9ee;
  --radius:22px;
  --radius-sm:14px;
  --container:1240px;
  --grad:linear-gradient(90deg,var(--orange) 0%,var(--blue) 100%);
  --shadow-card:0 18px 40px rgba(18,33,57,.08);
  --font:'Avenir Next','Avenir','Mulish','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:90px;}
body{
  font-family:var(--font);
  color:var(--text-navy);
  background:var(--navy);
  line-height:1.6;font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;}

/* ---------- Utilitaires ---------- */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 28px;}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.section{padding:92px 0;}
.section-head{max-width:720px;margin-bottom:52px;}
.section-head.wide{max-width:1000px;}
h1,h2,h3{line-height:1.14;font-weight:700;letter-spacing:-.005em;}
h2.section-title{font-size:clamp(1.9rem,3.1vw,2.6rem);font-weight:600;}
.lead{font-size:1.02rem;color:var(--text-body);margin-top:18px;font-weight:400;}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;font-weight:700;font-size:.95rem;padding:15px 28px;border-radius:40px;transition:transform .18s ease,box-shadow .18s ease,background .2s ease;white-space:nowrap;}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 10px 24px rgba(217,96,58,.28);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(217,96,58,.38);}
.btn-terracotta{background:var(--orange);color:#fff;box-shadow:0 10px 24px rgba(217,96,58,.26);}
.btn-terracotta:hover{transform:translateY(-2px);background:#cf572f;}
.btn-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:#fff;}
.btn .arrow{transition:transform .18s ease;}
.btn:hover .arrow{transform:translateX(4px);}

/* ---------- Logo ---------- */
.logo{display:inline-block;}
.logo img{height:32px;width:auto;display:block;}
.footer-logo{margin-bottom:16px;}
.footer-logo img{height:30px;}

/* ============================================================ HEADER ============ */
.site-header{position:sticky;top:0;z-index:100;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.05);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:86px;}
.nav-links{display:flex;align-items:center;gap:32px;}
.nav-links a{color:#e7ebf2;font-size:.92rem;font-weight:500;transition:color .18s;}
.nav-links a:hover{color:var(--orange-2);}
.nav-cta{display:flex;align-items:center;gap:14px;}
/* --- Sélecteur de langue --- */
.lang-switch{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px;}
.lang-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:none;border:none;cursor:pointer;color:#c8d1e0;font-size:.8rem;font-weight:600;letter-spacing:.3px;line-height:1;transition:background .18s,color .18s,opacity .18s;opacity:.6;}
.lang-btn:hover{opacity:1;color:#fff;}
.lang-btn.is-active{background:#fff;color:var(--navy);opacity:1;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.lang-btn .flag{width:20px;height:14px;border-radius:2px;display:block;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.08);object-fit:cover;}
.burger{display:none;flex-direction:column;gap:5px;background:none;padding:8px;}
.burger span{width:26px;height:2px;background:#fff;border-radius:2px;transition:.25s;}

/* ============================================================ HERO ============ */
.hero{position:relative;padding:64px 0 84px;}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center;}
.hero h1{color:#fff;font-size:clamp(2.05rem,3.7vw,3.25rem);font-weight:700;letter-spacing:-.01em;line-height:1.1;}
.hero h1 .accent{color:var(--orange);}
.hero .lead{color:#eef1f7;max-width:520px;font-size:1.06rem;}
.hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;}

.hero-visual{position:relative;}
.hero-visual .photo{width:100%;border-radius:var(--radius);overflow:hidden;aspect-ratio:19/18;background:#22355a;box-shadow:0 30px 60px rgba(0,0,0,.35);}
.hero-visual .photo img{width:100%;height:100%;object-fit:cover;object-position:center;}
.float-card{position:absolute;background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 20px 45px rgba(0,0,0,.22);width:232px;}
.float-card .fc-label{font-size:.76rem;color:#8a93a5;margin-bottom:10px;font-weight:500;}
.float-card .fc-title{font-size:.96rem;font-weight:700;color:var(--navy);line-height:1.3;}
/* stickers repositionnés : dégager le visage et le poignet */
.float-card.top{top:-30px;right:-46px;}
.float-card.bottom{bottom:-30px;left:-40px;width:250px;}
.fc-trend{width:100%;height:44px;margin-bottom:8px;display:block;}
.fc-bars{display:flex;align-items:flex-end;gap:7px;height:52px;margin-bottom:12px;}
.fc-bars span{flex:1;border-radius:5px 5px 0 0;}
.fc-bars span:nth-child(1){height:46%;background:#dfe3e8;}
.fc-bars span:nth-child(2){height:70%;background:#cbcfd7;}
.fc-bars span:nth-child(3){height:58%;background:#aab0bb;}
.fc-bars span:nth-child(4){height:90%;background:#949bab;}
.fc-bars span:nth-child(5){height:74%;background:#7e8698;}
.fc-bars span:nth-child(6){height:84%;background:#bc5434;}

/* ---------- Bandeau confiance (blanc, descendu) ---------- */
.trust{padding-top:34px;margin-top:40px;}
.trust-title{text-align:center;color:var(--orange);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px;}
.trust-strip{background:#fff;border-radius:var(--radius);padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px 26px;flex-wrap:wrap;box-shadow:var(--shadow-card);}
.trust-strip img.client-logo{flex:0 0 auto;width:auto;object-fit:contain;object-position:center;opacity:1;}
.trust-strip img.client-logo:nth-child(1){height:42px;}   /* Jacky Perrenot */
.trust-strip img.client-logo:nth-child(2){height:66px;}   /* Aluminium Dunkerque */
.trust-strip img.client-logo:nth-child(3){height:56px;}   /* ibg */
.trust-strip img.client-logo:nth-child(4){height:60px;}   /* Iliad */
.trust-strip img.client-logo:nth-child(5){height:44px;}   /* Genfit */
.trust-strip img.client-logo:nth-child(6){height:23px;}   /* Viridien (réduit) */
.trust-strip .client{color:#4a5262;font-weight:700;font-size:1.02rem;letter-spacing:.01em;flex:1;text-align:center;min-width:110px;opacity:.55;}

/* ============================================================ FONDS ============ */
.bg-cream{background:var(--cream);color:var(--text-navy);}
.bg-white{background:#fff;color:var(--text-navy);}
.bg-cream .section-title,.bg-white .section-title{color:var(--navy);}
.bg-navy{background:var(--navy);color:#fff;}
.bg-navy .section-title{color:#fff;}
.bg-navy .lead{color:#eef1f7;}

/* ---------- Expertises ---------- */
.exp-list{display:flex;flex-direction:column;gap:26px;}
.exp-card{display:grid;grid-template-columns:360px 1fr;gap:36px;align-items:center;background:var(--cream);border:1px solid var(--border-soft);border-radius:var(--radius);padding:26px;}
.bg-white .exp-card{background:#f4ede3;border:none;}
.exp-card .exp-img{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:13/9;background:#dfe3ea;}
.exp-card .exp-img img{width:100%;height:100%;object-fit:cover;object-position:center;}
.exp-card h3{color:var(--orange);font-size:1.28rem;margin-bottom:12px;font-weight:600;}
.exp-card p{color:#16294a;font-size:.98rem;max-width:640px;}

/* ---------- Convictions ---------- */
.conv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.conv-card{background:#fff;border-radius:var(--radius);padding:40px 32px;text-align:center;box-shadow:var(--shadow-card);}
.conv-num{width:74px;height:74px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;color:var(--orange);font-weight:700;font-size:1.45rem;}
.conv-card h3{color:var(--navy);font-size:1.18rem;margin-bottom:14px;font-weight:600;}
.conv-card p{color:var(--text-body);font-size:.96rem;}
.center-cta{text-align:center;margin-top:48px;}

/* ---------- Pourquoi Invenne ---------- */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.why-card{background:#0f1d37;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius);padding:22px;transition:transform .2s ease,background .2s ease;}
.why-card:hover{transform:translateY(-4px);background:#12213e;}
.why-card .why-img{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:14/8;margin-bottom:22px;background:#22355a;}
.why-card .why-img img{width:100%;height:100%;object-fit:cover;object-position:center;}
.why-card h3{color:#fff;font-size:1.22rem;margin-bottom:12px;padding:0 4px;font-weight:600;}
.why-card p{color:#f0f3f9;font-size:.96rem;padding:0 4px 8px;}

/* ---------- Témoignages (carrousel) ---------- */
.tst-track{display:flex;gap:26px;overflow-x:auto;padding:6px 4px 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.tst-track::-webkit-scrollbar{height:8px;}
.tst-track::-webkit-scrollbar-thumb{background:#d8cbb8;border-radius:8px;}
.tst-card{flex:0 0 clamp(300px,30%,380px);scroll-snap-align:start;background:#fff;border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;}
.tst-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.tst-quote{width:46px;height:46px;display:block;flex:0 0 auto;}
.tst-stars{color:var(--orange);letter-spacing:3px;font-size:1.55rem;}
.tst-card blockquote{color:#16294a;font-size:1.15rem;line-height:1.7;flex:1;margin-bottom:24px;font-weight:400;}
.tst-author{border-top:1px solid #ececec;padding-top:18px;}
.tst-author .name{font-weight:700;color:var(--navy);font-size:.86rem;}
.tst-author .role{color:#8a93a5;font-size:.76rem;line-height:1.4;}
.tst-author .role .company{color:var(--orange);font-weight:700;}
.tst-hint{text-align:center;color:var(--text-body);font-size:.82rem;margin-top:8px;opacity:.7;}

/* ---------- Contact ---------- */
.contact-head{text-align:center;max-width:780px;margin:0 auto 30px;}
.contact-head .section-title{margin-bottom:0;}
.contact-form{max-width:740px;margin:34px auto 0;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.contact-form input,.contact-form textarea{width:100%;background:#fff;border:none;border-radius:10px;padding:16px 18px;font-family:inherit;font-size:1rem;color:var(--navy);}
.contact-form>input{margin-bottom:20px;}
.contact-form textarea{min-height:150px;resize:vertical;margin-bottom:16px;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9aa1ad;}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;}
.form-submit{text-align:center;margin-top:8px;}
.form-submit .btn{min-width:220px;}
.form-note{margin-top:18px;text-align:center;font-size:.92rem;min-height:22px;}
.form-note.ok{color:#7ee0a0;}
.form-note.err{color:#ff9a8a;}

/* ---------- Rejoignez-nous (fond blanc) ---------- */
.join-card{position:relative;overflow:hidden;background:#f6f3ec;border:1px solid #ece4d6;border-radius:28px;padding:60px 56px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;box-shadow:var(--shadow-card);}
.join-card .join-text{position:relative;z-index:2;max-width:520px;}
.join-card .eyebrow{color:var(--orange);}
.join-card h2{color:var(--navy);font-size:clamp(1.7rem,2.7vw,2.4rem);font-weight:600;}
.join-card p{color:var(--text-body);margin:18px 0 28px;}
.join-visual{position:absolute;right:0;top:0;bottom:0;width:50%;overflow:hidden;border-radius:0 28px 28px 0;}
.join-visual img{position:absolute;right:-9%;bottom:-12%;top:auto;left:auto;transform:none;width:auto;height:150%;min-height:0;max-width:none;object-fit:contain;}

/* ============================================================ FOOTER ============ */
.site-footer{background:#16294a;padding:62px 0 38px;color:#cdd4e0;}
.footer-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;margin-bottom:38px;}
.footer-brand{max-width:460px;}
.footer-brand p{color:#eef1f7;font-size:.9rem;}
.footer-links{display:flex;gap:30px;flex-wrap:wrap;align-items:flex-start;}
.footer-links a{color:#cdd4e0;font-size:.9rem;font-weight:500;transition:color .18s;}
.footer-links a:hover{color:var(--orange-2);}
.footer-partners{margin:24px 0 20px;}
.footer-partners .pl{color:#c4cbd8;font-size:.82rem;letter-spacing:.02em;margin-bottom:14px;}
.footer-partners .plist{display:flex;align-items:center;gap:22px;color:#e7ebf2;font-weight:700;flex-wrap:nowrap;}
.footer-partners .plist img{height:24px;width:auto;object-fit:contain;}
.footer-partners .plist .sep{color:#3c4c68;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid rgba(255,255,255,.07);padding-top:22px;flex-wrap:wrap;}
.footer-bottom .copy{color:#dfe3ec;font-size:.85rem;}
.footer-social{display:flex;align-items:center;gap:12px;color:#dfe3ec;font-size:.85rem;}
.footer-social a{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;}

/* ============================================================ RESPONSIVE ============ */
@media(max-width:1024px){
  .nav-links,.nav-cta .btn{display:none;}
  .burger{display:flex;}
  .nav-links.open{display:flex;position:absolute;top:86px;left:0;right:0;background:var(--navy);flex-direction:column;gap:0;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-links.open a{padding:14px 24px;width:100%;}
  .hero{padding:50px 0 76px;}
  .hero-grid{grid-template-columns:1fr;gap:58px;}
  .hero-text{text-align:center;}
  .hero .lead{margin-left:auto;margin-right:auto;}
  .hero-actions{justify-content:center;}
  .hero-visual{max-width:560px;margin:0 auto;}
  .float-card{width:210px;}
  .float-card.top{top:-40px;right:-8px;}
  .float-card.bottom{left:-8px;bottom:-22px;width:222px;}
  .exp-card{grid-template-columns:1fr;gap:22px;}
  .exp-card .exp-img{width:100%;max-width:540px;margin:0 auto;}
  .join-card{grid-template-columns:1fr;padding:44px 34px;}
  .join-visual{display:none;}
  .footer-top{flex-direction:column;}
}
@media(max-width:820px){
  .conv-grid,.why-grid{grid-template-columns:1fr;}
  .conv-card,.why-card{max-width:540px;margin:0 auto;}
  .section{padding:72px 0;}
  .tst-card{flex-basis:82%;}
}
@media(max-width:560px){
  .section{padding:58px 0;}
  .form-row{grid-template-columns:1fr;}
  .trust-strip{gap:18px 14px;padding:24px 20px;}
  .trust-strip .client{min-width:42%;}
  .hero h1{font-size:2.05rem;}
  .float-card{width:180px;padding:13px 15px;}
  .float-card .fc-title{font-size:.9rem;}
  .float-card.top{top:-50px;right:-4px;width:150px;padding:12px 14px;}
  .float-card.bottom{left:0;bottom:-18px;width:186px;}
  .tst-card{flex-basis:88%;}
}
@media(max-width:380px){
  .float-card{display:none;}
}
