
:root{
  --bg:#ffffff; --text:#0c1b2e; --muted:#5b6f86; --line:#e6edf6;
  --brand:#005fbd; --brand-2:#00a8ff; --overlay: rgba(2,12,25,.72);
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial; color:var(--text); background:var(--bg); line-height:1.6}
.container{max-width:1140px;margin:0 auto;padding:0 16px}
/* Header */
.site-header{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--line);background:#fff}
.topbar-inner{display:flex;align-items:center;height:68px;gap:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.logo{height:38px;width:auto}.brand-name{font-weight:800}.spacer{flex:1}
.phone,.btn.cta{display:none}@media(min-width:980px){.phone,.btn.cta{display:inline-block}}
/* Hamburger */
.hamburger{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.hamburger span{display:block;width:26px;height:2px;background:var(--text);margin:4px 0;transition:transform .2s,opacity .2s}
.nav-open .hamburger span:nth-child(1){transform: translateY(6px) rotate(45deg)}
.nav-open .hamburger span:nth-child(2){opacity:0}
.nav-open .hamburger span:nth-child(3){transform: translateY(-6px) rotate(-45deg)}
/* Overlay menu (mobile) */
.nav-overlay{position:fixed;inset:0;transform:translateX(100%);transition:transform .28s ease;background:linear-gradient(180deg,#001225,#002a57);color:#fff}
.nav-open .nav-overlay{transform:none}
.overlay-inner{padding-top:88px;padding-bottom:28px}
.menu{list-style:none;margin:0;padding:0}
.menu li{border-bottom:1px solid rgba(255,255,255,.12)}
.menu a{display:flex;justify-content:space-between;align-items:center;padding:16px 6px;text-decoration:none;color:#fff;font-weight:700;font-size:18px}
.menu .sub-menu{display:none;list-style:none;margin:0;padding:0 0 12px 0;background:rgba(255,255,255,.04)}
.menu .sub-menu li a{font-weight:600;font-size:16px;padding-left:14px}
.menu .menu-item-has-children>a::after{content:'▸';transform:rotate(0);transition:transform .2s}
.menu .menu-item-has-children.open>a::after{transform:rotate(90deg)}
.menu .menu-item-has-children.open>.sub-menu{display:block}
.overlay-contacts{margin-top:18px;color:#e5f2ff}.overlay-contacts a{color:#e5f2ff}
/* Desktop nav */
@media(min-width:980px){
  .nav-overlay{position:static;transform:none;background:transparent;color:var(--text);border-top:1px solid var(--line)}
  .overlay-inner{padding:0}.menu{display:flex;gap:8px;align-items:center}
  .menu li{border:0;position:relative}.menu a{color:var(--text);padding:12px 10px;font-size:16px}
  .hamburger{display:none}
  .menu .sub-menu{position:absolute;top:110%;left:0;min-width:260px;border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
  .menu .sub-menu li a{padding:10px 12px}
}
/* Hero */
.hero{border-bottom:1px solid var(--line);background: radial-gradient(1200px 600px at 10% -20%, #e8f2ff, transparent), linear-gradient(180deg,#fff,#f7fbff)}
.hero-inner{padding:56px 0}.hero h1{font-size: clamp(30px,6vw,56px);line-height:1.05;margin:0 0 8px}.hero p{color:var(--muted);margin:0 0 16px}
/* Sections */
.section{padding:30px 0}.grid-3{display:grid;grid-template-columns:1fr;gap:12px}.card{border:1px solid var(--line);border-radius:16px;padding:16px}
@media(min-width:760px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid var(--brand);color:#fff;background:linear-gradient(180deg,var(--brand),var(--brand-2));text-decoration:none;font-weight:800}
.btn.ghost {
  background: transparent;
  color: #ffffff;          /* texte blanc */
  border: 2px solid #ffffff;
}
.btn.ghost:hover {
  background: #ffffff;
  color: #005fbd;          /* bleu foncé au survol */
}
.band{background:linear-gradient(180deg,#f7fbff,#fff);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 0}
/* Footer */
.site-footer{border-top:1px solid var(--line);background:#fbfdff;padding:28px 0}.footer-inner{display:grid;grid-template-columns:1fr;gap:16px}
.footer-menu{list-style:none;margin:0;padding:0}.footer-menu a{text-decoration:none;color:var(--text)}
.copyright{text-align:center;color:var(--muted);font-size:14px;padding-top:8px}
@media(min-width:780px){.footer-inner{grid-template-columns:repeat(3,1fr)}}
/* Posts */
.page-title,.post-title{margin-top:0}.post-card{border-bottom:1px solid var(--line);padding:14px 0}.meta{color:var(--muted);font-size:14px}
.site-footer{
  background: linear-gradient(180deg, #005fbd, #00a8ff);
  border-top: none;
  color: #fff;
}
.site-footer h4,
.site-footer .copyright{
  color: #fff;
}
.site-footer a{
  color: #eaf6ff;
  text-decoration: none;
}
.site-footer a:hover{
  text-decoration: underline;
}
.footer-menu a{
  color: #ffffff;
}

.hero-inner h1 {
  color: #ffffff;          /* blanc pur */
  text-shadow: 0 2px 4px rgba(0,0,0,0.4); /* petite ombre pour contraste */
}

.hero-inner p {
  color: #f0f6ff;          /* blanc légèrement bleuté */
  text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
