/* Démo coach Pilates — Léa Moreau — bleu/blanc, noir, aéré */
:root{
  --blue:#2F6FED; --blue-dark:#1E4FB8; --blue-soft:#EAF1FE; --blue-tint:#F5F8FF;
  --ink:#101827; --text:#3B4557; --muted:#8A93A6; --white:#fff;
  --radius:22px; --shadow:0 20px 60px rgba(47,111,237,.12); --maxw:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--white);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{color:var(--ink);font-weight:700;line-height:1.15;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.95rem 1.8rem;border-radius:50px;font-weight:600;font-size:.98rem;transition:.25s;border:1.5px solid transparent;cursor:pointer}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 30px rgba(47,111,237,.28)}
.btn-primary:hover{background:var(--blue-dark);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--ink);border-color:#E3E9F2}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.section{padding:110px 0}
.section-tint{background:var(--blue-tint)}
.center{text-align:center}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid #EEF2F8}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{font-weight:800;font-size:1.25rem;color:var(--ink);letter-spacing:-.02em}
.brand span{color:var(--blue)}
.nav-links{display:flex;gap:2rem;align-items:center}
.nav-links a{font-size:.95rem;font-weight:500;color:var(--text)}
.nav-links a:hover{color:var(--blue)}
.nav-cta{padding:.6rem 1.3rem;border-radius:50px;background:var(--blue);color:#fff!important;font-weight:600}
.burger{display:none}

/* Hero */
.hero{padding:80px 0 90px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(2.3rem,5vw,3.6rem)}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero p.lead{font-size:1.18rem;margin:1.5rem 0 2.2rem;max-width:34ch}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-media{position:relative}
.hero-media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover}
.hero-chip{position:absolute;left:-18px;bottom:28px;background:#fff;border-radius:16px;padding:.9rem 1.2rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:.7rem}
.hero-chip .dot{width:38px;height:38px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.hero-chip b{color:var(--ink);font-size:.95rem}
.hero-chip small{display:block;color:var(--muted);font-size:.8rem}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:70px}
.stat{background:#fff;border:1px solid #EEF2F8;border-radius:18px;padding:1.6rem;text-align:center}
.stat b{display:block;font-size:2rem;color:var(--blue);font-weight:800}
.stat span{color:var(--muted);font-size:.9rem}

/* About */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.about-media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:4/5;object-fit:cover}
.about h2{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:1.2rem}
.about p+p{margin-top:1rem}
.badges{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.badge{background:var(--blue-soft);color:var(--blue-dark);padding:.5rem 1rem;border-radius:50px;font-size:.85rem;font-weight:600}

/* Services */
.sec-head{max-width:640px;margin:0 auto 3.5rem}
.sec-head h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid #EEF2F8;border-radius:var(--radius);padding:2.2rem;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.card .ic{width:56px;height:56px;border-radius:16px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1.3rem}
.card h3{font-size:1.2rem;margin-bottom:.6rem}
.card p{font-size:.96rem}

/* Split feature */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.feature-media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;aspect-ratio:3/2;object-fit:cover}
.feature ul{list-style:none;margin-top:1.5rem;display:grid;gap:.9rem}
.feature li{display:flex;gap:.8rem;align-items:flex-start;font-weight:500;color:var(--ink)}
.feature li i{color:var(--blue);margin-top:.15rem}

/* CTA */
.cta{background:linear-gradient(135deg,var(--blue),var(--blue-dark));border-radius:32px;padding:64px;text-align:center;color:#fff;box-shadow:var(--shadow)}
.cta h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.4rem)}
.cta p{color:rgba(255,255,255,.85);max-width:46ch;margin:1rem auto 2rem}
.cta .btn-primary{background:#fff;color:var(--blue-dark)}
.cta .btn-primary:hover{background:#eef}

/* Footer */
.footer{padding:56px 0 32px;border-top:1px solid #EEF2F8;color:var(--muted);font-size:.9rem}
.footer .brand{font-size:1.1rem}
.footer-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.2rem}

/* Reveal */
.reveal{opacity:0;transform:translateY(20px);transition:.7s}
.reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .hero-grid,.about-grid,.feature-grid{grid-template-columns:1fr;gap:36px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:1fr}
  .nav-links{display:none}
  .section{padding:72px 0}
  .cta{padding:40px 24px}
  .about-media{order:-1}
}

/* Blog */
.page-hero{padding:120px 0 56px;background:var(--blue-tint);text-align:center}
.page-hero h1{font-size:clamp(2rem,4vw,2.8rem)}
.page-hero p{max-width:52ch;margin:1rem auto 0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{background:#fff;border:1px solid #EEF2F8;border-radius:var(--radius);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.post img{width:100%;height:200px;object-fit:cover}
.post .body{padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.post .meta{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.post h3{font-size:1.15rem}
.post p{font-size:.94rem}
.post .more{margin-top:auto;color:var(--blue);font-weight:600;font-size:.9rem}
.article{max-width:760px;margin:0 auto}
.article-cover{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:2.5rem;aspect-ratio:16/9;object-fit:cover}
.article .prose{font-size:1.05rem;color:var(--text)}
.article .prose h2{font-size:1.5rem;margin:2rem 0 .8rem}
.article .prose p{margin-bottom:1.1rem}
.article .prose ul{margin:0 0 1.1rem 1.2rem}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.contact-info{display:grid;gap:1.3rem}
.ci-item{display:flex;gap:1rem;align-items:flex-start}
.ci-ic{width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.contact-card{background:#fff;border:1px solid #EEF2F8;border-radius:var(--radius);padding:2.2rem;box-shadow:var(--shadow)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fg{margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.4rem}
.fg label{font-size:.9rem;font-weight:600;color:var(--ink)}
.fg input,.fg textarea{border:1.5px solid #E3E9F2;border-radius:12px;padding:.8rem 1rem;font:inherit;color:var(--ink);background:#fff;transition:.2s}
.fg input:focus,.fg textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,111,237,.12)}
.captcha input{max-width:120px}
.alert{padding:.9rem 1.1rem;border-radius:12px;margin-bottom:1.2rem;font-size:.95rem;display:flex;gap:.5rem;align-items:center}
.alert.ok{background:#E7F7EE;color:#137a43}
.alert.err{background:#FDEBEC;color:#b3261e}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr;gap:32px}.frow{grid-template-columns:1fr}}
