/* Accelerer.club — pages publiques (accueil /club/, invitation). Palette casquette JB : navy #232933, corail #E8505B (accent),
   orange #F28C28, jaune #F5C518, violet #7B4BC4, cyan #2EC4D6, blanc cassé #EDEBE4. Police : Manrope (OFL). */
@font-face { font-family: "Manrope"; src: url("/club/assets/fonts/Manrope-wght.ttf") format("truetype"); font-weight: 200 800; font-display: swap; }
:root { --navy: #232933; --coral: #E8505B; --coral-text: #C73A45; --orange: #F28C28; --yellow: #F5C518; --violet: #7B4BC4; --cyan: #2EC4D6; --off: #EDEBE4; --ink: #232933; --muted: #5b6270; }
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink); background: var(--off); line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: var(--coral-text); }
.acc-wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
.acc-top { display: flex; align-items: center; justify-content: space-between; padding: 22px 0; }
.acc-top img { height: 44px; width: auto; display: block; }
.acc-top a.acc-login { color: var(--navy); font-weight: 700; text-decoration: none; padding: 10px 16px; border-radius: 999px; border: 2px solid var(--navy); }
.acc-top a.acc-login:hover { background: var(--navy); color: var(--off); }
.acc-hero { background: var(--navy); color: var(--off); border-radius: 28px; padding: 64px 48px; margin: 8px 0 56px; position: relative; overflow: hidden; }
.acc-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px; background: linear-gradient(90deg, var(--coral) 0 20%, var(--orange) 20% 40%, var(--yellow) 40% 60%, var(--violet) 60% 80%, var(--cyan) 80% 100%); }
.acc-eyebrow { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--yellow); font-size: 14px; margin: 0 0 14px; }
.acc-hero h1 { font-size: clamp(34px, 5.2vw, 58px); line-height: 1.06; margin: 0 0 20px; font-weight: 800; max-width: 15em; }
.acc-hero h1 em { font-style: normal; color: var(--coral); }
.acc-hero p.acc-lead { font-size: 20px; max-width: 34em; margin: 0 0 32px; color: #d9d6cd; }
.acc-cta { display: inline-block; background: var(--coral); color: #fff; font-weight: 800; font-size: 18px; text-decoration: none; padding: 16px 28px; border-radius: 999px; box-shadow: 0 6px 0 #b33a44; }
.acc-cta:hover { transform: translateY(1px); box-shadow: 0 5px 0 #b33a44; }
.acc-note { font-size: 14px; margin: 16px 0 0; color: #b9b6ad; }
.acc-section { margin: 0 0 56px; }
.acc-section h2 { font-size: 30px; margin: 0 0 22px; font-weight: 800; }
.acc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.acc-card { background: #fff; border-radius: 20px; padding: 24px; border-top: 6px solid var(--c, var(--coral)); }
.acc-card h3 { margin: 0 0 8px; font-size: 19px; }
.acc-card p { margin: 0; color: var(--muted); font-size: 15.5px; }
.acc-c1 { --c: var(--coral); } .acc-c2 { --c: var(--orange); } .acc-c3 { --c: var(--violet); } .acc-c4 { --c: var(--cyan); }
.acc-steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.acc-steps li { background: #fff; border-radius: 20px; padding: 24px 24px 24px 72px; position: relative; }
.acc-steps li::before { counter-increment: s; content: counter(s); position: absolute; left: 22px; top: 20px; width: 36px; height: 36px; border-radius: 50%; background: var(--navy); color: var(--yellow); font-weight: 800; display: grid; place-items: center; }
.acc-band { background: #fff; border-radius: 24px; padding: 32px; display: flex; gap: 28px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.acc-band p { margin: 0; font-size: 18px; max-width: 36em; }
.acc-foot { border-top: 1px solid #d6d2c7; padding: 24px 0 40px; font-size: 14px; color: var(--muted); display: flex; gap: 18px; flex-wrap: wrap; }
.acc-foot a { color: var(--muted); }
.acc-invite { max-width: 640px; margin: 24px auto 56px; background: #fff; border-radius: 28px; padding: 44px 40px; text-align: center; border-top: 10px solid var(--coral); }
.acc-invite h1 { font-size: 34px; line-height: 1.15; margin: 0 0 16px; }
.acc-invite ul { text-align: left; margin: 24px auto 28px; padding-left: 1.2em; max-width: 30em; color: var(--muted); }
.acc-invite .acc-note { color: var(--muted); }
@media (max-width: 860px) { .acc-grid { grid-template-columns: 1fr 1fr; } .acc-steps { grid-template-columns: 1fr; } .acc-hero { padding: 44px 26px 52px; } }
@media (max-width: 520px) { .acc-grid { grid-template-columns: 1fr; } .acc-top img { height: 36px; } .acc-invite { padding: 32px 22px; } }
