/* ============================================
   C2T EXPERTISE ET CONSEIL – SHARED STYLES
   Theme: Bleu Corporate & Blanc
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Nunito+Sans:wght@300;400;600;700&display=swap');

:root {
  --bleu: #1B3F6B;
  --bleu-mid: #254E82;
  --bleu-light: #2E6099;
  --bleu-pale: #EAF1F9;
  --bleu-xpale: #F4F8FC;
  --accent: #E8A020;
  --accent-pale: rgba(232,160,32,0.12);
  --blanc: #FFFFFF;
  --fond: #F7F9FC;
  --texte: #1A2433;
  --gris: #6B7A8D;
  --border: #DDE4EE;
  --ombre: 0 4px 20px rgba(27,63,107,0.08);
  --ombre-lg: 0 12px 48px rgba(27,63,107,0.14);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito Sans',sans-serif; background:var(--blanc); color:var(--texte); line-height:1.65; }

/* NAV */
nav { position:sticky; top:0; z-index:100; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); padding:0 40px; height:68px; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { font-family:'Libre Baskerville',serif; font-size:1.2rem; font-weight:700; color:var(--bleu); text-decoration:none; }
.nav-logo span { color:var(--accent); }
.nav-links { display:flex; gap:4px; align-items:center; }
.nav-links a { text-decoration:none; color:var(--gris); font-size:.87rem; padding:8px 14px; border-radius:8px; transition:all .2s; font-weight:600; }
.nav-links a:hover, .nav-links a.active { background:var(--bleu-pale); color:var(--bleu); }
.nav-cta { background:var(--bleu)!important; color:white!important; font-weight:700!important; }
.nav-cta:hover { background:var(--bleu-mid)!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--bleu); border-radius:2px; }

/* FOOTER */
footer { background:var(--bleu); color:rgba(255,255,255,.7); padding:56px 40px 32px; }
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.1); }
.logo-foot { font-family:'Libre Baskerville',serif; font-size:1.15rem; font-weight:700; color:white; margin-bottom:12px; }
.logo-foot span { color:var(--accent); }
footer h5 { color:var(--accent); font-size:.72rem; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; font-weight:700; }
footer ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
footer ul li a { color:rgba(255,255,255,.65); text-decoration:none; font-size:.86rem; transition:color .2s; }
footer ul li a:hover { color:white; }
.footer-bottom { max-width:1100px; margin:24px auto 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:.77rem; }
.footer-bottom a { color:rgba(255,255,255,.5); text-decoration:none; }
.footer-bottom a:hover { color:white; }
.badge-foot { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.7); padding:3px 10px; border-radius:50px; font-size:.71rem; display:inline-block; margin-right:6px; }

/* UTILS */
.container { max-width:1100px; margin:0 auto; padding:0 32px; }
.section { padding:80px 0; }
.section-alt { background:var(--fond); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.label { display:inline-block; font-size:.68rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent); font-weight:700; margin-bottom:12px; }
h1,h2,h3 { font-family:'Libre Baskerville',serif; }
.section-title { font-size:clamp(1.8rem,3.5vw,2.5rem); font-weight:700; color:var(--bleu); line-height:1.2; margin-bottom:14px; }
.section-sub { color:var(--gris); font-size:1rem; font-weight:300; margin-bottom:50px; max-width:520px; }
.page-hero { background:linear-gradient(135deg,var(--bleu) 0%,var(--bleu-light) 100%); padding:64px 0 56px; color:white; }
.page-hero .section-title { color:white; }
.page-hero .section-sub { color:rgba(255,255,255,.75); margin-bottom:0; }
.breadcrumb { font-size:.78rem; color:rgba(255,255,255,.6); margin-bottom:16px; }
.breadcrumb a { color:var(--accent); text-decoration:none; }

/* BUTTONS */
.btn { display:inline-block; text-decoration:none; padding:13px 28px; border-radius:8px; font-size:.9rem; font-weight:700; transition:all .22s; cursor:pointer; border:none; font-family:'Nunito Sans',sans-serif; }
.btn-bleu { background:var(--bleu); color:white; }
.btn-bleu:hover { background:var(--bleu-mid); transform:translateY(-2px); box-shadow:var(--ombre-lg); }
.btn-accent { background:var(--accent); color:white; }
.btn-accent:hover { background:#d4911c; transform:translateY(-2px); }
.btn-outline { border:2px solid var(--bleu); color:var(--bleu); background:transparent; }
.btn-outline:hover { background:var(--bleu); color:white; }

.divider { border:none; border-top:1px solid var(--border); margin:20px 0; }
.feat-list { list-style:none; display:flex; flex-direction:column; gap:10px; }
.feat-list li { font-size:.87rem; color:var(--gris); display:flex; gap:10px; align-items:flex-start; }
.feat-list li::before { content:'✓'; color:var(--accent); font-weight:700; flex-shrink:0; margin-top:1px; }

@keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
.fade-up { animation:fadeUp .65s ease forwards; }
.d1{animation-delay:.1s;opacity:0} .d2{animation-delay:.22s;opacity:0} .d3{animation-delay:.34s;opacity:0} .d4{animation-delay:.46s;opacity:0}

@media(max-width:768px){
  nav{padding:0 20px;}
  .nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:white;flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--border);gap:4px;box-shadow:var(--ombre);}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  .footer-inner{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .container{padding:0 20px;}
  .section{padding:56px 0;}
}
