 :root{--navy:#082f4e;--pink:#e70b64;--teal:#10a8a8;--muted:#667c90;--line:#dbe6ee;--soft:#f4f8fb}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--navy)}.shell{width:min(1180px,calc(100% - 40px));margin:auto}header{border-bottom:1px solid var(--line);background:white;position:sticky;top:0;z-index:20}.nav{min-height:78px;display:flex;align-items:center;gap:26px}.brand img{width:265px;display:block;height:auto}.nav nav{margin-left:auto;display:flex;gap:22px}.nav a{text-decoration:none;font-weight:750}.nav nav a{color:var(--navy);transition:color .18s ease}.nav nav a:hover{color:var(--pink)}.actions{display:flex;gap:10px}.btn{display:inline-flex;border-radius:10px;padding:11px 18px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer}.pink{background:var(--pink);color:#fff}.ghost{background:#fff;border-color:#b9d0dd}.big{padding:14px 22px}.hero{background:linear-gradient(100deg,#fff8fb,#fff 48%,#eef8f7);padding:60px 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.hero h1{font-size:clamp(3rem,5vw,5rem);line-height:.95;margin:.2em 0}.hero p,.section p{font-size:1.08rem;line-height:1.65;color:var(--muted)}.hero-art img{width:100%;border-radius:28px;box-shadow:0 20px 50px #082f4e20}.hero-art blockquote{text-align:center;color:#527087;font-style:italic}.eyebrow{display:block;color:var(--pink);font-weight:900;font-size:.78rem;letter-spacing:.08em}.hero-actions{display:flex;gap:12px}.feature{margin-top:-22px}.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px #082f4e12;padding:22px}.feature-grid div{text-align:center;font-size:1.5rem;color:var(--pink)}.feature-grid b{display:block;font-size:.9rem;color:var(--navy);margin-top:6px}.section,.page{padding:65px 0}.soft{background:var(--soft)}.modules{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 10px 25px #082f4e0d}.card{text-decoration:none}.card span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffe8f1;color:var(--pink);font-weight:900}.card p{color:var(--muted);font-size:.9rem;line-height:1.45}.auth{min-height:75vh;background:var(--soft);display:grid;place-items:center;padding:40px}.auth .panel{width:min(520px,100%)}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:750}input,textarea{padding:12px;border:1px solid #cadbe5;border-radius:9px;font:inherit}.demo{margin-top:20px;background:#f7fafc;padding:15px;border-radius:10px;display:grid;gap:5px}.head{display:flex;justify-content:space-between;align-items:center}.progress{height:10px;background:#eaf0f4;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--teal)}.lesson{display:grid;grid-template-columns:1fr 320px;gap:22px}.video{min-height:340px;background:linear-gradient(135deg,#0b3250,#175477);color:white;display:grid;place-items:center;text-align:center}.video small{color:#d7e8f1}.note{border-left:4px solid var(--pink);background:#fff6f9;padding:14px;margin:10px 0}.answer{display:flex;grid-template-columns:auto 1fr;gap:8px;border:1px solid var(--line);padding:10px;border-radius:9px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #e7eef2}footer{background:var(--navy);color:#fff;padding:35px 0}.footer-logo{width:270px;display:block;height:auto}footer small{color:#c8d8e4}@media(max-width:900px){.nav nav{display:none}.hero-grid,.lesson{grid-template-columns:1fr}.modules{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.shell{width:calc(100% - 24px)}.brand img{width:225px}.modules,.feature-grid{grid-template-columns:1fr}.actions .ghost{display:none}}

/* ==========================================================
   FUTURESITE V1 — ACCÈSALLAITEMENT
   ========================================================== */

.future-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 72px;
  background:
    radial-gradient(circle at 6% 55%,#fff3f7 0,transparent 35%),
    radial-gradient(circle at 90% 25%,#f0fbfa 0,transparent 33%),
    #fff;
}

.future-hero-grid{
  display:grid;
  grid-template-columns:1fr 1.08fr;
  gap:56px;
  align-items:center;
}

.future-copy{
  position:relative;
  z-index:2;
}

.future-copy h1{
  margin:22px 0 20px;
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:.98;
  letter-spacing:-.045em;
  color:var(--navy);
}

.future-copy h1 span{
  color:var(--pink);
}

.future-copy > p{
  max-width:640px;
  margin:0 0 28px;
  font-size:1.08rem;
  line-height:1.65;
  color:var(--muted);
}

.future-visual{
  min-height:475px;
  position:relative;
  display:flex;
  align-items:center;
}

.future-photo{
  position:relative;
  z-index:3;
  width:76%;
  margin-left:2%;
  border-radius:46% 44% 42% 46% / 36% 42% 38% 45%;
  overflow:hidden;
  box-shadow:0 30px 70px #082f4e1d;
  background:#fff;
}

.future-photo img{
  display:block;
  width:100%;
  aspect-ratio:1.35 / 1;
  object-fit:cover;
}

.future-message{
  position:absolute;
  z-index:4;
  right:-1%;
  top:9%;
  width:190px;
  min-height:245px;
  padding:38px 28px;
  border-radius:48% 52% 46% 54% / 42% 45% 55% 58%;
  background:linear-gradient(145deg,#fff3f7,#ffe7ee);
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 15px 40px #e70b6410;
}

.future-message .heart{
  color:var(--pink);
  font-size:2rem;
  line-height:1;
  margin-bottom:18px;
}

.future-message p{
  margin:0;
  color:var(--navy);
  font-size:1.03rem;
  line-height:1.48;
  font-weight:650;
}

.blob{
  position:absolute;
  z-index:1;
  pointer-events:none;
}

.blob-pink{
  width:220px;
  height:180px;
  right:2%;
  bottom:2%;
  border-radius:60% 40% 55% 45%;
  background:#fff0f5;
}

.blob-mint{
  width:170px;
  height:130px;
  left:-1%;
  bottom:4%;
  border-radius:45% 55% 60% 40%;
  background:#e1f8f5;
}


.future-features{
  position:relative;
  margin-top:-20px;
  z-index:5;
}

.future-feature-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 22px 55px #082f4e12;
  overflow:hidden;
}

.future-feature{
  position:relative;
  padding:28px 18px 25px;
  text-align:center;
}

.future-feature + .future-feature:before{
  content:"";
  position:absolute;
  left:0;
  top:25%;
  height:50%;
  width:1px;
  background:var(--line);
}

.future-feature b{
  display:block;
  margin-top:14px;
  color:var(--navy);
  font-size:.92rem;
}

.feature-icon{
  margin:auto;
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  color:var(--navy);
}

.pink-soft{
  background:#ffe8f0;
  color:var(--pink);
}

.mint-soft{
  background:#dff7f5;
  color:var(--navy);
}


/* HEADER FUTURESITE */

header{
  box-shadow:0 2px 16px #082f4e08;
}

.nav{
  min-height:86px;
}

.nav nav{
  gap:30px;
}

.nav nav a{
  color:var(--navy);
}

.nav nav a:hover{
  color:var(--pink);
}


/* FOOTER FUTURESITE */

footer{
  position:relative;
  overflow:hidden;
  padding:48px 0;
  background:
    radial-gradient(circle at 0% 120%,#24597d 0 16%,transparent 16.2%),
    radial-gradient(circle at 100% 120%,#24597d 0 16%,transparent 16.2%),
    linear-gradient(120deg,#073454,#0b466b);
}

footer .shell{
  position:relative;
  z-index:2;
}

footer p{
  max-width:520px;
  line-height:1.55;
}

footer small{
  display:block;
  margin-top:8px;
  color:#c8d8e4;
}


/* RESPONSIVE */

@media(max-width:900px){

  .future-hero{
    padding:48px 0 55px;
  }

  .future-hero-grid{
    grid-template-columns:1fr;
    gap:40px;
  }

  .future-visual{
    min-height:400px;
  }

  .future-photo{
    width:78%;
  }

  .future-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .future-feature + .future-feature:before{
    display:none;
  }
}

@media(max-width:560px){

  .future-copy h1{
    font-size:3.1rem;
  }

  .future-visual{
    min-height:340px;
  }

  .future-photo{
    width:82%;
  }

  .future-message{
    width:145px;
    min-height:195px;
    padding:22px 18px;
  }

  .future-message p{
    font-size:.86rem;
  }

  .future-feature-grid{
    grid-template-columns:1fr;
  }

  .hero-actions{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* FUTURESITE PHOTO V2 */

.future-visual{
  min-height:500px;
}

.future-photo{
  width:82%;
  margin-left:0;
  border-radius:46% 44% 44% 48% / 42% 46% 42% 48%;
}

.future-photo img{
  width:100%;
  height:410px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:50% 50%;
}

.future-message{
  right:-2%;
  top:8%;
  width:185px;
  min-height:245px;
}

.blob-mint{
  left:-3%;
  bottom:6%;
}

.blob-pink{
  right:-1%;
  bottom:0;
}

@media(max-width:900px){
  .future-photo{
    width:84%;
  }

  .future-photo img{
    height:380px;
  }
}

@media(max-width:560px){
  .future-photo{
    width:88%;
  }

  .future-photo img{
    height:300px;
  }
}

/* FUTURESITE PHOTO FINALE */

.future-photo{
  width:84%;
  margin-left:0;
  border-radius:45% 46% 44% 47% / 40% 44% 43% 48%;
}

.future-photo img{
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:50% 44%;
}

.future-message{
  right:-1%;
  top:9%;
}

@media(max-width:900px){
  .future-photo img{
    height:390px;
    object-position:50% 44%;
  }
}

@media(max-width:560px){
  .future-photo img{
    height:310px;
    object-position:50% 42%;
  }
}
