/* ============================================================
   EuporIA Factory — Landing page « Arrive bientôt »
   Système de design EuporIA Factory (web). Police Manrope
   (chargée via <link> dans le <head>), palette navy/violet,
   tiret violet, blocs sombres pour les moments forts.
   Aucune icône, aucun gradient, aucune couleur hors palette.
   ============================================================ */
/* ============================================================
   EuporIA Factory — Landing page
   Système de design EuporIA Factory (web). Police Manrope,
   palette navy/violet, tiret violet, blocs sombres pour les
   moments forts. Aucune icône, aucun gradient, aucune couleur
   hors palette — la hiérarchie se fait par la typographie,
   la couleur et l'espace.
   ============================================================ */

:root{
  --navy:#061B31; --navy-deep:#0E131E; --header:#273951;
  --slate:#64748D; --slate-light:#98A6BD;
  --purple:#3904E7; --purple-soft:#E9E2FE; --purple-faint:#F3F0FE;
  --line:#E5EDF5; --bg-light:#F7F9FC; --white:#FFFFFF;
  --on-dark-accent:#B19CFF; --maxw:780px;
}

*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;}
body{margin:0;font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--navy);background:var(--white);font-size:17px;line-height:1.6;}

.ef-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- Bandeau « en construction » ---------- */
.ef-construction{background:var(--navy-deep);color:#fff;text-align:center;font-size:.84rem;letter-spacing:.02em;padding:11px 24px;line-height:1.4;}
.ef-construction strong{color:var(--on-dark-accent);font-weight:700;}

/* ---------- En-tête de marque (page d'annonce) ---------- */
.ef-nav{border-bottom:1px solid var(--line);}
.ef-topbar{display:flex;align-items:center;gap:11px;padding:18px 0;}
.ef-topbar .ef-logo{width:27px;height:27px;display:block;flex:none;}
.ef-brand{font-size:.82rem;font-weight:700;letter-spacing:.18em;color:var(--header);text-transform:uppercase;}

/* ---------- Sections & rythme ---------- */
.ef-section{padding:60px 0;border-top:1px solid var(--line);}
.ef-section:first-of-type{border-top:none;}
.ef-hero{padding:74px 0 64px;}

/* ---------- Eyebrow ---------- */
.ef-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.22em;color:var(--purple);text-transform:uppercase;margin:0 0 14px;}

/* ---------- Titres ---------- */
.ef-hero-title{font-size:3.4rem;font-weight:300;letter-spacing:-.03em;line-height:1.02;color:var(--navy);margin:0 0 22px;}
h1,.ef-h1{font-size:2rem;font-weight:400;letter-spacing:-.015em;line-height:1.15;color:var(--navy);margin:0 0 8px;}
h2.ef-h1{margin-top:0;}
h2,.ef-h2{font-size:1.25rem;font-weight:700;letter-spacing:-.005em;color:var(--navy);margin:2.2em 0 .6em;}
h3,.ef-h3{font-size:.82rem;font-weight:700;letter-spacing:.15em;color:var(--purple);text-transform:uppercase;margin:1.8em 0 .5em;}

/* ---------- Barre décorative ---------- */
.ef-bar{width:44px;height:4px;background:var(--purple);border-radius:2px;margin:0 0 22px;}

/* ---------- Lead ---------- */
.ef-lead{font-size:1.2rem;font-style:italic;color:var(--slate);line-height:1.5;margin:0 0 28px;}
.ef-hero .ef-lead{font-size:1.32rem;color:var(--header);font-style:normal;max-width:30em;}
.ef-hero .ef-lead em{color:var(--purple);font-style:normal;font-weight:700;}

/* ---------- Corps ---------- */
p{margin:0 0 1em;color:var(--navy);}
p.ef-muted{color:var(--slate);}
strong,.ef-b{font-weight:700;color:var(--navy);}
em{font-style:italic;}
.ef-accent{color:var(--purple);font-weight:700;}
a{color:var(--purple);text-decoration:none;border-bottom:1px solid rgba(57,4,231,.25);}
a:hover{border-bottom-color:var(--purple);}
code,.ef-code{font-family:inherit;color:var(--purple);font-weight:600;font-size:.95em;}

/* ---------- Listes à tiret violet ---------- */
ul.ef-list{list-style:none;padding:0;margin:0 0 1.4em;}
ul.ef-list li{position:relative;padding-left:1.5em;margin-bottom:.6em;color:var(--header);line-height:1.55;}
ul.ef-list li::before{content:"—";position:absolute;left:0;color:var(--purple);font-weight:700;}
ul.ef-list strong{color:var(--navy);}

/* ---------- Lignes teaser du bloc de clôture ---------- */
.ef-dark .ef-cta span{display:block;color:var(--on-dark-accent);font-weight:600;font-size:1.1rem;margin:11px 0;}

/* ---------- Capsule ---------- */
.ef-capsule{display:inline-block;background:var(--purple-soft);color:var(--purple);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:4px 12px;border-radius:999px;}

/* ---------- Stat tiles ---------- */
.ef-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 6px;}
.ef-stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 22px;box-shadow:0 1px 6px rgba(0,0,0,.03);}
.ef-stat .ef-stat-value{font-size:2.1rem;font-weight:700;color:var(--purple);line-height:1.05;letter-spacing:-.02em;}
.ef-stat .ef-stat-label{font-size:.68rem;font-weight:700;color:var(--header);letter-spacing:.14em;text-transform:uppercase;margin:10px 0 0;}
.ef-stat .ef-stat-desc{font-size:.82rem;color:var(--slate);margin-top:6px;line-height:1.4;}
@media(max-width:640px){.ef-stat-grid{grid-template-columns:1fr;}}

/* ---------- Callout (bandeau navy) ---------- */
.ef-callout{background:var(--navy);color:#fff;border-radius:10px;padding:28px 32px;margin:30px 0;}
.ef-callout .ef-callout-title{font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-accent);margin:0 0 10px;}
.ef-callout p{color:#fff;font-size:1.2rem;line-height:1.38;margin:0;}
.ef-callout strong{color:#fff;}

/* ---------- Cartes ---------- */
.ef-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 28px;box-shadow:0 1px 6px rgba(0,0,0,.03);}
.ef-card-purple{background:var(--purple-faint);border:none;border-left:3px solid var(--purple);border-radius:0 8px 8px 0;padding:24px 28px;margin:22px 0;}
.ef-card-purple strong,.ef-card-purple em{color:var(--navy);}
.ef-offer-title{font-size:1.35rem;font-weight:600;color:var(--navy);margin:14px 0 .5em;}

/* ---------- Grille offre (2 moteurs) ---------- */
.ef-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;}
.ef-grid-2 .ef-card p:last-child{margin-bottom:0;}
@media(max-width:640px){.ef-grid-2{grid-template-columns:1fr;}}

/* ---------- Conviction (bloc signature) ---------- */
.ef-conviction{background:var(--purple-faint);border-left:3px solid var(--purple);border-radius:0 10px 10px 0;padding:26px 30px;margin:20px 0;}
.ef-conviction .ef-conv-title{font-size:1.5rem;font-weight:600;color:var(--navy);letter-spacing:-.01em;margin:0 0 .5em;}
.ef-conviction .ef-conv-body{color:var(--header);line-height:1.6;margin:0 0 .8em;}
.ef-conviction .ef-conv-body strong{color:var(--navy);}
.ef-conviction .ef-conv-note{font-size:.92rem;font-style:italic;color:var(--slate);line-height:1.55;margin:0;padding-top:14px;border-top:1px solid rgba(57,4,231,.14);}

/* ---------- Tableau ---------- */
.ef-table-wrap{overflow-x:auto;margin:22px 0;}
table.ef-table{width:100%;border-collapse:collapse;font-size:.96rem;min-width:480px;}
table.ef-table th{text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);padding:11px 14px;border-bottom:2px solid var(--purple);vertical-align:bottom;}
table.ef-table td{padding:14px;border-bottom:1px solid var(--line);color:var(--header);vertical-align:top;line-height:1.5;}
table.ef-table td.ef-b{color:var(--navy);font-weight:700;}
table.ef-table tr:last-child td{border-bottom:none;}

/* ---------- Section sombre / clôture ---------- */
.ef-dark{background:var(--navy-deep);color:#fff;border-radius:14px;padding:60px 48px;margin:8px 0 0;}
.ef-dark .ef-dark-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-accent);margin:0 0 14px;}
.ef-dark .ef-bar{margin:0 0 22px;}
.ef-dark .ef-dark-title{font-size:2.5rem;font-weight:400;letter-spacing:-.015em;color:#fff;margin:0 0 16px;line-height:1.1;}
.ef-dark .ef-dark-desc{color:var(--slate-light);font-size:1.1rem;max-width:34em;margin:0 0 22px;line-height:1.55;}
.ef-dark .ef-cta a{display:block;color:var(--on-dark-accent);font-weight:600;font-size:1.12rem;margin:11px 0;border:none;}
.ef-dark .ef-cta a:hover{color:#fff;}
.ef-dark .ef-mail{margin:24px 0 0;font-size:.98rem;color:var(--slate-light);}
.ef-dark .ef-mail a{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.3);}
.ef-dark .ef-sign{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-style:italic;color:#fff;font-weight:500;font-size:1.12rem;}

/* ---------- Filets, pied ---------- */
.ef-footnote{font-size:.8rem;color:var(--slate);font-style:italic;border-top:1px solid var(--line);padding-top:16px;margin-top:34px;line-height:1.5;}
.ef-foot{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--slate-light);padding:36px 0 56px;}

/* ---------- Révélation au défilement ---------- */
.ef-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.ef-reveal.ef-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.ef-reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

@media(max-width:600px){
  body{font-size:16px;}
  .ef-hero-title{font-size:2.5rem;}
  .ef-hero .ef-lead{font-size:1.15rem;}
  .ef-dark{padding:40px 28px;}
  .ef-dark .ef-dark-title{font-size:2rem;}
  .ef-section{padding:48px 0;}
}
