
:root{--nav:#020817;--nav2:#071a36;--blue:#0f66c8;--blue2:#2b8cff;--ink:#111d2c;--text:#26384d;--line:#dbe6f3;--shadow:0 16px 38px rgba(22,48,82,.12);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.65;background:#fff}a{color:inherit}.wrap{width:min(1220px,92%);margin:0 auto}
.topbar{background:radial-gradient(circle at 20% 0%,rgba(57,144,255,.26),transparent 28%),linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;border-bottom:1px solid rgba(146,201,255,.36);box-shadow:0 12px 30px rgba(0,0,0,.24)}
.nav{min-height:112px;display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center;padding:16px 0}.brand img{display:block;width:300px;height:92px;object-fit:contain;max-width:100%;filter:drop-shadow(0 0 16px rgba(113,183,255,.42))}.links{display:flex;justify-content:flex-end;gap:22px;flex-wrap:wrap;font-weight:700;color:#edf7ff}.links a{text-decoration:none;opacity:.95}.links a.active,.links a:hover{color:#fff;text-decoration:underline;text-decoration-color:#73beff;text-underline-offset:8px}
.hero{background:linear-gradient(180deg,#f7fbff,#fff);padding:72px 0;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:46px;align-items:center}.hero-logo{width:min(460px,95%);border-radius:16px;box-shadow:var(--shadow);margin-bottom:18px}.badge{display:inline-block;background:#eaf4ff;color:#0d5cb5;border:1px solid #c4ddfb;border-radius:999px;padding:8px 14px;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:800}h1{font-family:Georgia,'Times New Roman',serif;color:var(--ink);font-size:clamp(2.15rem,4.6vw,4.8rem);line-height:1.05;text-transform:uppercase;letter-spacing:.025em;margin:18px 0}.lead{font-size:1.18rem;color:#344a62;max-width:760px}.hero-visual{background:#fff;border:1px solid var(--line);border-radius:32px;padding:16px;box-shadow:var(--shadow)}.hero-visual img{display:block;width:100%;border-radius:24px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:10px;text-decoration:none;background:linear-gradient(135deg,#0f56aa,#2b8cff);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;box-shadow:0 14px 26px rgba(43,140,255,.22)}.btn.secondary{background:#fff;color:#0f56aa;border:1px solid #bdd9f8;box-shadow:none}
.section{padding:64px 0;border-bottom:1px solid var(--line)}.section.alt{background:#f7fbff}h2{font-family:Georgia,'Times New Roman',serif;color:var(--ink);font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.12;margin:0 0 18px}.center{text-align:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}.card,.quick-term,.term-card,.example,.notice{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.card h3,.quick-term h3,.term-card h3{font-family:Georgia,'Times New Roman',serif;color:var(--ink);text-transform:uppercase;letter-spacing:.045em;margin:0 0 10px}.quick-term a{color:#0f66c8;text-decoration:none;font-weight:800}.example{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.bad{border-left:5px solid #c84a4a;padding-left:18px}.good{border-left:5px solid #0f66c8;padding-left:18px}
.searchbar{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:18px 0;z-index:20}.search-inner input{width:100%;padding:16px 18px;border:1px solid #bdd9f8;border-radius:14px;font-size:1rem;box-shadow:var(--shadow)}.dictionary{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.term-card{scroll-margin-top:120px}.term-card .definition{font-size:1.05rem;color:#344a62}.ready{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#eef6ff;border:1px solid #cde2fb;border-radius:14px;padding:10px 12px;margin:14px 0 8px;color:#0f56aa;font-weight:800}.copy{border:0;background:#0f66c8;color:#fff;border-radius:9px;padding:8px 12px;font-weight:800;cursor:pointer}.prompt{font-weight:700;color:#132238;background:#f8fbff;border-radius:12px;padding:12px;border:1px solid #e0ebf7}
.footer{background:linear-gradient(180deg,#071a36,#020817);color:#eaf5ff;padding:34px 0}.footer-grid{display:grid;grid-template-columns:310px 1fr auto;gap:24px;align-items:center}.footer img{width:300px}.small{color:#c9ddf3}
@media(max-width:1050px){.nav{grid-template-columns:1fr;justify-items:center;text-align:center}.links{justify-content:center}.hero-grid,.example{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.dictionary{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:700px){.grid-3,.grid-4{grid-template-columns:1fr}.brand img{width:300px;height:92px}.hero{padding:48px 0}.section{padding:46px 0}}

.az-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding:16px;background:#f7fbff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.az-nav a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid #cfe2f7;color:#0f66c8;text-decoration:none;font-weight:800}
.letter{margin-top:34px!important;padding-top:8px;border-top:1px solid var(--line)}

.search-inner{position:relative}
.search-inner::before{content:"🔎";position:absolute;left:18px;top:28px;transform:translateY(-50%);font-size:1.25rem;z-index:2;opacity:.85}
.search-inner input{padding-left:54px!important}
.search-help{margin:10px 0 0;color:#61758c;font-size:.95rem}
.az-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding:16px;background:#f7fbff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.az-nav a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid #cfe2f7;color:#0f66c8;text-decoration:none;font-weight:800}
.letter{margin-top:34px!important;padding-top:8px;border-top:1px solid var(--line)}

/* Correction accueil v5 */
.home-hero-clean{
  text-align:center;
  padding:70px 0 62px;
}
.home-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.centered-logo{
  margin:0 auto 28px auto;
  display:block;
}
.home-hero-clean h1{
  text-align:center;
  max-width:1050px;
  margin-left:auto;
  margin-right:auto;
}
.one-line-subtitle{
  text-align:center;
  max-width:1180px;
  white-space:nowrap;
  margin-left:auto;
  margin-right:auto;
}
.centered-actions{
  justify-content:center;
  width:100%;
}
@media(max-width:1100px){
  .one-line-subtitle{
    white-space:normal;
    max-width:900px;
  }
}

.search-inner{position:relative}
.search-inner::before{content:"🔎";position:absolute;left:18px;top:28px;transform:translateY(-50%);font-size:1.25rem;z-index:2;opacity:.85}
.search-inner input{padding-left:54px!important}
.search-help{margin:10px 0 0;color:#61758c;font-size:.95rem}
.az-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding:16px;background:#f7fbff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.az-nav a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid #cfe2f7;color:#0f66c8;text-decoration:none;font-weight:800}
.letter{margin-top:34px!important;padding-top:8px;border-top:1px solid var(--line)}
.no-results{display:none;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;color:#344a62}

.models-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:18px 0 34px;
}
.model-group h2{
  margin-top:34px;
  border-top:1px solid var(--line);
  padding-top:24px;
}
.model-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px;
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:14px;
  align-items:center;
}
.model-number{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#eef6ff;
  color:#0f66c8;
  display:grid;
  place-items:center;
  font-weight:800;
}
.model-card p{margin:0;color:#26384d;font-weight:700}
@media(max-width:850px){
  .models-grid{grid-template-columns:1fr}
  .model-card{grid-template-columns:42px 1fr}
  .model-card .copy{grid-column:1 / -1}
}

/* Correction page lexique v8 */
.lexique-hero-clean{
  text-align:center;
  padding:66px 0 56px;
}
.lexique-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.lexique-hero-clean .centered-logo{
  display:block;
  margin:0 auto 28px auto;
}
.lexique-hero-clean h1{
  text-align:center;
  white-space:nowrap;
  margin-left:auto;
  margin-right:auto;
}
.lexique-subtitle{
  text-align:center;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.lexique-count{
  text-align:center;
  max-width:1050px;
  margin-left:auto;
  margin-right:auto;
  font-size:1.05rem;
  color:#5a6e84;
}
@media(max-width:700px){
  .lexique-hero-clean h1{
    white-space:normal;
  }
}

/* Correction v10 : lexique lisible sans cases A...V */
.lexique-direct-info{
  text-align:center;
  max-width:980px;
  margin:0 auto 32px auto;
  font-size:1.08rem;
  color:#344a62;
  background:#f7fbff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 22px;
  box-shadow:var(--shadow);
}
.letter{
  font-size:2.2rem!important;
  color:#0f66c8!important;
}

/* Correction accueil v14 : titre en deux lignes centrées */
.home-title-split{
  text-align:center;
}
.home-title-split span{
  display:block;
}
.home-title-split span:first-child{
  white-space:nowrap;
}
@media(max-width:700px){
  .home-title-split span:first-child{
    white-space:normal;
  }
}

/* Correction page 100 façons v17 */
.facons-hero-clean{
  text-align:center;
  padding:62px 0 52px;
}
.facons-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.facons-heads-logo{
  display:block;
  width:min(520px,92%);
  max-height:280px;
  object-fit:contain;
  margin:0 auto 28px auto;
  border-radius:26px;
  box-shadow:var(--shadow);
}
.facons-hero-clean h1{
  text-align:center;
  white-space:nowrap;
  max-width:1220px;
  margin-left:auto;
  margin-right:auto;
}
.facons-subtitle{
  text-align:center;
  white-space:nowrap;
  max-width:1220px;
  margin-left:auto;
  margin-right:auto;
}
.facons-category-nav{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:0 0 34px;
  padding:18px;
  background:#f7fbff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}
.facons-category-nav a{
  display:flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px 12px;
  border-radius:12px;
  background:#fff;
  border:1px solid #cfe2f7;
  color:#0f66c8;
  text-decoration:none;
  font-weight:800;
  line-height:1.2;
}
.facons-category-nav a:hover{
  background:#eef6ff;
}
@media(max-width:1100px){
  .facons-hero-clean h1,
  .facons-subtitle{
    white-space:normal;
  }
}
@media(max-width:760px){
  .facons-category-nav{
    grid-template-columns:1fr;
  }
}

/* Page contact v18 */
.contact-hero-clean{
  text-align:center;
  padding:66px 0 54px;
}
.contact-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.contact-center .centered-logo{
  display:block;
  margin:0 auto 28px auto;
}
.contact-hero-clean h1{
  text-align:center;
  white-space:nowrap;
  margin-left:auto;
  margin-right:auto;
}
.contact-subtitle{
  text-align:center;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.contact-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:26px;
}
.contact-card h2{
  font-size:1.65rem;
  margin-bottom:12px;
}
.contact-help{
  text-align:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:32px;
}
.contact-help p{
  font-size:1.15rem;
  font-weight:700;
  color:#26384d;
}
.contact-help .btn{
  margin-top:10px;
}
@media(max-width:850px){
  .contact-grid{
    grid-template-columns:1fr;
  }
}

/* v19 présentation + SEO accueil */
.presentation-hero{
  text-align:center;
  padding:58px 0 50px;
  background:linear-gradient(180deg,#f7fbff,#fff);
}
.presentation-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.presentation-logo{
  display:block;
  margin:0 auto 24px auto;
  width:min(470px,92%);
}
.presentation-hero h1{
  text-align:center;
  margin:8px auto 18px auto;
  font-size:clamp(2rem,4vw,3.4rem);
}
.presentation-text{
  text-align:center;
  max-width:1120px;
  margin:4px auto;
}
.presentation-heads{
  display:block;
  width:min(440px,88%);
  max-height:240px;
  object-fit:contain;
  margin:26px auto 0 auto;
  border-radius:26px;
  box-shadow:var(--shadow);
}
.home-hero-clean{
  border-top:1px solid var(--line);
}
.home-hero-clean h2{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--ink);
  font-size:clamp(2rem,4.4vw,4.2rem);
  line-height:1.05;
  text-transform:uppercase;
  letter-spacing:.025em;
  margin:0 0 18px;
}
@media(max-width:900px){
  .presentation-text,
  .one-line-subtitle{
    white-space:normal;
  }
}

/* v21 espace membre sécurisé */
.member-public-hero,
.member-hero{
  text-align:center;
  padding:66px 0 56px;
}
.member-public-center,
.member-center{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.member-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.member-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:26px;
}
.member-card h2{
  font-size:1.55rem;
  margin-bottom:12px;
}
.public-example{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow);
  padding:32px;
  text-align:center;
}
.public-example h2{
  font-size:clamp(2rem,3vw,3rem);
  margin-bottom:10px;
}
.example-intro{
  max-width:900px;
  margin:0 auto 22px;
  color:#38506a;
  font-weight:700;
}
.example-compare{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  text-align:left;
  margin:24px 0;
}
.example-compare article{
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  background:#f8fbff;
}
.example-compare h3{
  margin-bottom:10px;
  color:#0f66c8;
}
.example-compare p{
  font-weight:800;
  color:#26384d;
}
@media(max-width:900px){
  .member-grid,
  .example-compare{
    grid-template-columns:1fr;
  }
}
