/* ══════════════════════════════════════════════════════════
   L'ATELIER JMX · DESIGN SYSTEM EBOOKS
   Tokens repris de app.latelierjmx.com
   ══════════════════════════════════════════════════════════ */
:root{
  --blanc:#FFFFFF;
  --dark:#1A1A1A;
  --nude:#9C7E6B;        /* couleur exacte du logo */
  --nude-deep:#8A6E5C;   /* variante foncée pour les survols */
  --nude-light:#F0E8DC;
  --nude-xlight:#FAF7F3;
  --gris:#6B6B6B;
  --border:#E4DACC;

  --font:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r:6px;
  --shadow:0 8px 40px rgba(26,26,26,.10);
  --shadow-lg:0 24px 70px rgba(26,26,26,.18);
  --maxw:1180px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--blanc);
  color:var(--dark);
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit;cursor:pointer;border:0}

/* ── LAYOUT ───────────────────────────────────────────── */
.wrap{position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;padding:40px 24px 64px}
.split{display:grid;grid-template-columns:1.06fr .94fr;gap:72px;align-items:center;min-height:calc(100vh - 208px)}

/* ── MARQUE ───────────────────────────────────────────── */
.brand{display:inline-block;margin-bottom:52px;line-height:0}
.brand img{
  height:26px;width:auto;display:block;
  transition:opacity .2s;
}
a.brand:hover img{opacity:.7}

/* Surtitre : plus de pastille, juste une ligne d'appel au-dessus du titre */
.badge{
  display:inline-block;
  font-size:13.5px;font-weight:700;line-height:1.3;
  color:var(--nude-deep);
}

h1{
  font-size:clamp(32px,4.1vw,52px);
  font-weight:900;line-height:1.06;letter-spacing:-.015em;
  text-transform:uppercase;
  text-wrap:balance;
}
h1 em{font-style:normal;color:var(--nude)}

.promise{
  margin-top:20px;max-width:30em;
  font-size:clamp(15.5px,1.35vw,18px);font-weight:300;color:var(--gris);line-height:1.65;
}

.benefits{list-style:none;margin-top:38px;display:flex;flex-direction:column;gap:17px}
.benefits li{display:flex;gap:15px;align-items:flex-start;font-size:15px;line-height:1.5;max-width:33em}
.benefits .num{
  flex:none;width:25px;height:25px;border-radius:50%;
  background:var(--nude-light);border:1px solid var(--border);
  display:grid;place-items:center;
  font-size:10.5px;font-weight:900;color:var(--nude-deep);margin-top:1px;
}

/* ── COLONNE DROITE ───────────────────────────────────── */
.right{display:flex;flex-direction:column;align-items:center;gap:34px}

/* Couverture : affichée seulement si une vraie image est fournie */
.cover{width:100%;max-width:452px}
.cover img{width:100%;border-radius:var(--r);box-shadow:var(--shadow)}

/* Carte formulaire */
.card{
  width:100%;max-width:452px;
  background:var(--dark);color:var(--blanc);
  border-radius:10px;padding:40px 38px 34px;
  box-shadow:var(--shadow-lg);
}
.card h2{font-size:23px;font-weight:900;line-height:1.2;letter-spacing:-.01em}
.card .sub{margin-top:9px;font-size:13px;font-weight:300;color:rgba(255,255,255,.58);line-height:1.5}

.field{margin-top:22px}
.field label{
  display:block;font-size:13px;font-weight:500;
  color:rgba(255,255,255,.6);margin-bottom:8px;
}
.field input{
  width:100%;padding:15px 17px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.13);border-radius:var(--r);
  color:var(--blanc);font-size:15px;font-family:inherit;
  transition:border-color .2s,background .2s;
}
.field input::placeholder{color:rgba(255,255,255,.3);font-weight:300}
.field input:focus{outline:none;border-color:var(--nude);background:rgba(255,255,255,.08)}
.field input:-webkit-autofill{-webkit-text-fill-color:var(--blanc);-webkit-box-shadow:0 0 0 60px #262626 inset}


/* Cases de consentement */
.checks{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.check{
  display:flex;gap:12px;align-items:flex-start;
  cursor:pointer;
}
.check input{
  appearance:none;-webkit-appearance:none;
  flex:none;width:22px;height:22px;margin:0;
  border:1px solid rgba(255,255,255,.28);border-radius:4px;
  background:rgba(255,255,255,.05);cursor:pointer;
  transition:background .15s,border-color .15s;
}
.check input:hover{border-color:rgba(255,255,255,.5)}
.check input:checked{background:var(--nude);border-color:var(--nude)}
.check input:checked::after{
  content:"";display:block;width:5px;height:10px;margin:3px auto 0;
  border:solid var(--blanc);border-width:0 2px 2px 0;transform:rotate(45deg);
}
.check input:focus-visible{outline:2px solid var(--nude);outline-offset:2px}
.check span{font-size:13px;font-weight:300;color:rgba(255,255,255,.68);line-height:1.5}

.submit{
  width:100%;margin-top:22px;padding:18px 22px;
  background:var(--nude);color:var(--blanc);border-radius:var(--r);
  font-size:13px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:10px;
  transition:background .2s,transform .12s;
}
.submit:hover:not(:disabled){background:var(--nude-deep)}
.submit:active:not(:disabled){transform:translateY(1px)}
.submit:disabled{opacity:.55;cursor:not-allowed}

.legal{
  margin-top:17px;text-align:center;
  font-size:11px;font-weight:300;color:rgba(255,255,255,.42);line-height:1.5;
}
/* ── PAGE MERCI ───────────────────────────────────────── */
.thanks{max-width:620px;margin:0 auto;text-align:center;padding-top:16px}
.thanks h1{font-size:clamp(29px,3.6vw,44px)}
.thanks .promise{margin:20px auto 0;text-align:center}

.download{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  margin-top:38px;padding:19px 40px;
  background:var(--dark);color:var(--blanc);border-radius:var(--r);text-decoration:none;
  font-size:13px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  box-shadow:var(--shadow);transition:background .2s,transform .12s;
}
.download:hover{background:#000}
.download:active{transform:translateY(1px)}
.mailnote{margin-top:20px;font-size:12.5px;font-weight:300;color:var(--gris);line-height:1.6}

/* Bloc Académie */
.academie{
  max-width:880px;margin:76px auto 0;background:var(--dark);color:var(--blanc);
  border-radius:10px;padding:52px 44px;text-align:center;box-shadow:var(--shadow-lg);
}
.academie .kicker{font-size:13.5px;font-weight:700;color:var(--nude)}
.academie h2{margin-top:16px;font-size:clamp(23px,2.7vw,32px);font-weight:900;line-height:1.16;text-transform:uppercase;letter-spacing:-.01em}
.academie h2 em{font-style:normal;color:var(--nude)}
.academie p{margin:18px auto 0;max-width:44em;font-size:14.5px;font-weight:300;color:rgba(255,255,255,.66);line-height:1.7}
.academie .cta{
  display:inline-flex;align-items:center;gap:10px;margin-top:32px;padding:17px 36px;
  background:var(--nude);color:var(--blanc);border-radius:var(--r);text-decoration:none;
  font-size:12.5px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;transition:background .2s;
}
.academie .cta:hover{background:var(--nude-deep)}


/* ── HUB : TOUTES LES RESSOURCES ──────────────────────── */
.hub-head{max-width:920px;padding:0}
.hub-head h1{margin-top:2px}
.hub-head .promise{margin-top:4px;max-width:none;line-height:1.5;text-wrap:balance}

.grid{
  list-style:none;margin-top:56px;
  display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
}
.ebook-card{
  display:flex;flex-direction:column;height:100%;
  background:var(--blanc);border:1px solid var(--border);border-radius:10px;
  padding:32px 30px 28px;text-decoration:none;color:inherit;
  box-shadow:0 2px 14px rgba(26,26,26,.04);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.ebook-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--nude)}
.ebook-card h2{
  margin-top:16px;font-size:21px;font-weight:900;line-height:1.14;
  text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance;
}
.ebook-card h2 em{font-style:normal;color:var(--nude)}
.ebook-card p{
  margin-top:14px;flex:1;
  font-size:14px;font-weight:300;color:var(--gris);line-height:1.6;
}
.card-cta{
  margin-top:26px;padding-top:18px;border-top:1px solid var(--border);
  font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--dark);
  display:inline-flex;align-items:center;gap:9px;
}
.ebook-card:hover .card-cta{color:var(--nude-deep)}


/* Carte pleine largeur : évite la carte orpheline en fin de grille */
.grid > .pleine{grid-column:1 / -1}
.ebook-card.large{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:44px;
  padding:38px 40px;
}
.ebook-card.large h3{font-size:25px;max-width:22ch}
.ebook-card.large p{margin-top:12px;max-width:56ch;flex:none}
.ebook-card.large .card-cta{
  margin-top:0;padding-top:0;border-top:0;white-space:nowrap;
}

/* Retour au hub depuis la page merci */
.back{
  display:inline-flex;align-items:center;gap:9px;margin-top:44px;
  font-size:13.5px;font-weight:500;
  color:var(--gris);text-decoration:none;
  border-bottom:1px solid var(--border);padding-bottom:5px;
}
.back:hover{color:var(--dark);border-color:var(--nude)}

/* ── PIED DE PAGE ─────────────────────────────────────── */
.foot{
  position:relative;z-index:1;max-width:var(--maxw);margin:0 auto;
  padding:34px 24px 44px;border-top:1px solid var(--border);
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;
  font-size:11px;font-weight:300;color:var(--gris);
}
.foot .tag{font-style:italic;font-weight:300}
.foot a{color:var(--gris);text-decoration:none}
.foot a:hover{color:var(--dark)}


/* ── LIEN D'ÉVITEMENT CLAVIER ─────────────────────────── */
.skip{
  position:absolute;left:-9999px;top:12px;z-index:10;
  background:var(--dark);color:var(--blanc);
  padding:12px 20px;border-radius:var(--r);text-decoration:none;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.skip:focus{left:24px}

/* ── SECTIONS DE L'ACCUEIL ────────────────────────────── */
.section{margin-top:64px}
.section:first-of-type{margin-top:44px}
.section-head{display:flex;flex-direction:column;gap:6px}
.section-head h2{
  font-size:clamp(20px,2.1vw,26px);font-weight:900;line-height:1.15;
  text-transform:uppercase;letter-spacing:-.01em;
}
.section-head p{font-size:15px;font-weight:300;color:var(--gris);max-width:38em}
.section .grid{margin-top:24px}
.ebook-card h3{font-size:21px;font-weight:900;line-height:1.14;
  text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance;
}
.ebook-card h3 em{font-style:normal;color:var(--nude)}


/* ── ACCUEIL CENTRÉ ───────────────────────────────────── */
.wrap.hub{text-align:center}
/* Le logo reste calé à gauche, comme sur les autres pages */
.wrap.hub .brand{display:block;width:fit-content;margin-left:0;margin-right:auto}
.wrap.hub .hub-head{align-items:center;margin-left:auto;margin-right:auto}
.wrap.hub .promise{margin-left:auto;margin-right:auto}
.wrap.hub .section-head{align-items:center}
.wrap.hub .section-head p{margin-left:auto;margin-right:auto}
/* Le texte des cartes reste aligné à gauche : plus lisible sur plusieurs lignes */
.wrap.hub .ebook-card{text-align:left}

/* ── BANDEAU COOKIES ──────────────────────────────────── */
.cookies{
  position:fixed;left:24px;right:24px;bottom:24px;z-index:20;
  max-width:760px;margin:0 auto;
  background:var(--dark);color:var(--blanc);
  border-radius:10px;padding:22px 26px;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;
  box-shadow:var(--shadow-lg);
}
.cookies p{flex:1;min-width:260px;font-size:13px;font-weight:300;line-height:1.55;color:rgba(255,255,255,.72)}
.cookies a{color:var(--nude)}
.cookies-actions{display:flex;gap:10px;flex:none}
.cookies button{
  padding:12px 22px;border-radius:var(--r);
  background:var(--nude);color:var(--blanc);
  font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;
  transition:filter .2s;
}
.cookies button:hover{filter:brightness(.92)}
.cookies button.ghost{
  background:transparent;color:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.22);
}
.cookies button.ghost:hover{color:var(--blanc);border-color:var(--blanc);filter:none}

/* ── PAGE DE TEXTE (mentions légales) ─────────────────── */
.doc{max-width:44em}
.doc h1{margin-bottom:14px}
.doc h1 em{font-style:normal;color:var(--nude)}
.doc h2{
  margin-top:44px;font-size:15px;font-weight:900;line-height:1.35;
  text-transform:uppercase;letter-spacing:.05em;
}
.doc p{margin-top:14px;font-size:15px;font-weight:300;color:var(--gris);line-height:1.75}
.doc a{color:var(--nude-deep)}
.doc .todo{
  background:var(--nude-light);color:var(--nude-deep);
  padding:1px 8px;border-radius:3px;
  font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
}
.doc .back{display:inline-flex;margin-top:52px}

/* ── PIED DE PAGE : LIENS ─────────────────────────────── */
.foot-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.foot-links a{text-decoration:none;border-bottom:1px solid transparent}
.foot-links a:hover{border-color:var(--nude)}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media (max-width:980px){
  .split{grid-template-columns:1fr;gap:44px;min-height:0}
  .wrap{padding:30px 22px 52px}
  .brand{margin-bottom:34px}
  .cover{width:132px;transform:rotate(-3deg)}
  .academie{padding:42px 26px}
  .grid{gap:18px;margin-top:42px}
  .hub-head{padding-top:0}
  .section{margin-top:56px}
}
@media (max-width:560px){
  h1{font-size:31px}
  .card{padding:32px 24px 28px}
  .benefits li{font-size:14.5px}
  .foot{justify-content:center;text-align:center}
  .grid{grid-template-columns:1fr}
  .ebook-card{padding:28px 24px 24px}
  .ebook-card.large{grid-template-columns:1fr;gap:0;padding:28px 24px 24px}
  .ebook-card.large h3,.ebook-card.large p{max-width:none}
  .ebook-card.large .card-cta{margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}
  .ebook-card h2,.ebook-card h3{font-size:19px}
  .cookies{left:12px;right:12px;bottom:12px;padding:20px}
  .cookies-actions{width:100%}
  .cookies button{flex:1}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
