/* Styles des pages publiques marketing (landing, inscription, diagnostic) */
.pub{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 24px}
.pub-nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.pub-nav .brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.pub-nav .brand svg{width:30px;height:30px}
.pub-nav .brand .nm{font-size:16px;font-weight:700;color:var(--ink)}
.pub-nav .links{display:flex;align-items:center;gap:24px}
.pub-nav .links a{font-size:13.5px;font-weight:500;color:var(--slate);text-decoration:none}
.pub-nav .links a:hover{color:var(--ink)}
.pub-nav .links a.strong{color:var(--ink);font-weight:600}

.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.16);color:var(--blue);font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:99px}
.pill .d{width:7px;height:7px;border-radius:50%;background:var(--blue)}

.hero{padding:48px 0 16px;max-width:680px}
.hero h1{font-size:42px;line-height:1.12;font-weight:700;color:var(--ink);margin:18px 0 0}
.hero p.sub{font-size:16px;line-height:1.6;color:var(--slate);margin:18px 0 0;max-width:560px}
.hero .cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.hero .trust{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:13px;color:var(--slate)}
.hero .trust .d{width:7px;height:7px;border-radius:50%;background:var(--green2)}

.section-title{text-align:center;font-size:24px;font-weight:700;color:var(--ink);margin:56px 0 28px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 18px 40px -24px rgba(15,23,42,.18)}
.step-card .n{width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.step-card h4{margin:14px 0 6px;font-size:15px;font-weight:700;color:var(--ink)}
.step-card p{margin:0;font-size:13px;line-height:1.5;color:var(--slate)}

.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.pack-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 18px 44px -24px rgba(15,23,42,.18);display:flex;flex-direction:column;gap:14px}
.pack-card.popular{border:2px solid var(--blue);box-shadow:0 22px 54px -22px rgba(37,99,235,.40)}
.pack-card .ph{display:flex;align-items:center;justify-content:space-between}
.pack-card .pname{font-size:14px;font-weight:700;color:var(--blue)}
.pack-card .tag{font-size:11px;font-weight:700;color:#fff;background:var(--blue);border-radius:99px;padding:4px 10px}
.pack-card .price{font-size:34px;font-weight:700;color:var(--ink)}
.pack-card .price span{font-size:13px;font-weight:500;color:var(--slate)}
.pack-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pack-card li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink)}
.pack-card li .c{width:18px;height:18px;border-radius:50%;background:rgba(22,163,74,.12);color:var(--green2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:0 0 18px}

.pub-foot{text-align:center;font-size:12px;color:var(--slate2);padding:48px 0 40px}
.pub-foot a{color:var(--slate);text-decoration:none}

@media (max-width:860px){
  .steps{grid-template-columns:repeat(2,1fr)}
  .pricing{grid-template-columns:1fr}
  .hero h1{font-size:32px}
}
