:root{
--navy:#0a1f44;
--navy-2:#142a5c;
--gold:#c9a24b;
--gold-2:#e8c874;
--beige:#e9e2d3;
}
*{scroll-behavior:smooth}
body{
font-family:'Segoe UI', Roboto, sans-serif;
background:#fff;
color:#1a1a1a;
overflow-x:hidden;
min-width:0;
}

img, svg, iframe {
  max-width: 100%;
}
.font-serif-display{font-family:'Playfair Display', Georgia, serif;}

/* NAV */
.nav-link{position:relative;transition:color .3s}
.nav-link::after{content:"";position:absolute;left:50%;bottom:-6px;width:0;height:2px;background:var(--gold);transition:all .35s;transform:translateX(-50%)}
.nav-link:hover::after{width:100%}
.nav-link:hover{color:var(--gold-2)}

/* HERO */
.hero
{
position:relative;
overflow:hidden;
}
.hero.french{
background: url("assets/ChatGPT Image 30 mai 2026, 10_07_48.png") center/cover no-repeat;}
.hero.malagasy{background: url(./assets/formation_malagasy2.png) top/cover;}
.hero.china {background: url(./assets/hero-chinois.png) top/cover;}

.hero::before{
content:"";
position:absolute;inset:0;
background: linear-gradient(135deg, rgba(10, 31, 68, 0.425) 0%, rgba(20, 42, 92, 0.39) 45%, rgba(10, 31, 68, 0.342) 100%);
}
.gold-ring{
position:absolute;
border-radius:50%;
filter:blur(.5px);
}
.golden-ring.french-ring{border:2px solid rgba(201,162,75,.45);}
.gomden-ring.malagasy-ring{border:2px solid rgba(10, 61, 3, 0.45);}

.hero-title{
font-family:'Playfair Display', Georgia, serif;
letter-spacing:1px;
}
.hero-title .line1{
  display:inline-block;
  font-weight:800;
  font-size:clamp(2.5rem,6vw,5rem);
  /* golden color for the main word */
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.hero-title .line1.line-malagasy
{
background:linear-gradient(90deg,red,#fff,#fff,#096504);
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}
.line-china {
background:linear-gradient(90deg,red,rgb(255, 17, 17),red,rgb(248, 248, 79));
-webkit-background-clip:text;
background-clip:text;
color:transparent;
}
.hero-title .line2{
display:inline-block;
font-style:italic;
font-weight:600;
font-size:clamp(2rem,4.5vw,3.8rem);
color:#fff;
margin-top:.2em;
}
.tagline{
font-family:'Playfair Display', Georgia, serif;
font-style:italic;

font-size:clamp(1.1rem,2vw,1.6rem);
line-height:1.4;
}
.tagline-french {  color:#e8c874;}
.tagline-malagasy {  color:#7dff52;}
.btn-primary{
font-weight:700;
letter-spacing:2px;
padding:14px 42px;
border-radius:999px;
display:inline-flex;align-items:center;gap:10px;
transition:transform .3s, box-shadow .3s;
background: #F6DA90;
border-radius: 30px;
align-items: center;
gap: 0.5rem;
font-weight: 500;
color: #001032;
&:hover
{
  background: #eec658;
  transform: scale(1.05);
  color: #001032;
  transition: all 0.3s ease;
}

}
.btn-primary:hover{transform:translateY(-3px);}

/* Floating fairy */
.fairy-float{animation:float 6s ease-in-out infinite}
@keyframes float{
0%,100%{transform:translateY(0) rotate(-2deg)}
50%{transform:translateY(-18px) rotate(2deg)}
}

/* Section titles */
.section-title{
font-family:'Playfair Display', Georgia, serif;
font-size:clamp(2rem,4vw,3.2rem);
color:var(--navy);
font-weight:800;
position:relative;
display:inline-block;
}
.section-title::after{content:"";position:absolute;left:0;bottom:-10px;width:80px;height:4px;border-radius:2px;}
.section-title-french::after{
background:linear-gradient(90deg,var(--gold),transparent);
}
.section-title-malagasy::after{
background:linear-gradient(90deg,red,transparent);
}
.section-title.gold{color:var(--gold)}

/* Levels cards */
.level-card{
background:linear-gradient(160deg,#e9e2d3,#d9cfb8);
border-radius:30px 30px 30px 80px;
padding:30px 24px 40px;
position:relative;
transition:transform .4s ease, box-shadow .4s;
overflow:hidden;
box-shadow:0 10px 30px rgba(10,31,68,.15);
}
.level-card:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:0 20px 40px rgba(10,31,68,.25)}
.level-badge{
position:absolute;top:20px;left:-10px;
background:linear-gradient(135deg,#c9a24b,#e8c874);
color:#fff;font-weight:700;letter-spacing:1px;
padding:6px 22px;clip-path:polygon(0 0,100% 0,92% 100%,0 100%);
}
.level-icon-wrap{
width:100%;aspect-ratio:1/1;
background:linear-gradient(160deg,var(--navy),var(--navy-2));
border-radius:24px;
display:flex;align-items:center;justify-content:center;
margin-top:30px;margin-bottom:18px;
color:var(--gold);
position:relative;overflow:hidden;
}
.level-icon-wrap svg{width:55%;height:55%}
.level-title{
font-family:'Playfair Display', Georgia, serif;
color:var(--navy);font-size:1.4rem;font-weight:700;text-align:center;
}

/* Timeline section */
.timeline-wrap{
background:var(--navy);
border-radius:0 0 60px 60px;
padding:50px 20px 60px;
position:relative;
overflow:hidden;
min-height:380px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:flex-start;
}
.price-formation-card{
width:100%;
max-width:1080px;
background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.24));
border:1px solid rgba(232,200,116,.45);
border-radius:42px;
padding:46px 42px;
box-shadow:0 36px 100px rgba(0,0,0,.26);
backdrop-filter:blur(18px);
}
.price-card-header{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
margin-bottom:34px;
}
.price-card-title{
font-family:'Playfair Display', Georgia, serif;
font-size:clamp(2.3rem,3.2vw,3.2rem);
color:#fff;
font-weight:800;
}
.price-card-subtitle{
color:rgba(232,200,116,.98);
letter-spacing:.06em;
margin-top:10px;
font-size:1rem;
}
.price-symbol{
font-size:4.25rem;
color:rgba(232,200,116,.95);
font-weight:900;
}
.price-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:28px;
margin-bottom:34px;
}
.price-item{
min-height:180px;
background:rgba(255,255,255,.12);
border:1.5px solid rgba(232,200,116,.3);
border-radius:30px;
padding:28px 24px;
text-align:left;
}
.price-label{
color:rgba(255,255,255,.85);
text-transform:uppercase;
font-size:.92rem;
letter-spacing:.18em;
margin-bottom:12px;
font-weight:600;
}
.price-value{
color:#fff;
font-size:1.75rem;
font-weight:900;
letter-spacing:.02em;
}
.price-details{
display:flex;
flex-wrap:wrap;
gap:16px;
align-items:center;
}
.detail-chip{
background:rgba(201,162,75,.18);
color:#f8e4a1;
padding:10px 18px;
border-radius:999px;
font-weight:700;
letter-spacing:.08em;
}
.detail-text{
color:#e8e8e8;
font-size:1rem;
}
.time-badge{
background:#d9d5cc;
padding:12px 28px;
border-radius:999px;
display:inline-flex;align-items:center;justify-content:center;
font-family:'Playfair Display',Georgia,serif;
font-weight:700;color:#1a1a1a;
font-size:clamp(1.1rem,2vw,1.5rem);
transition:all .4s cubic-bezier(.34,1.56,.64,1);
cursor:pointer;
box-shadow:0 4px 14px rgba(0,0,0,.3);
opacity:0;
transform:translateY(25px) scale(.85);
}
.time-badge.visible{
opacity:1;
transform:translateY(0) scale(1);
}
.time-badge:hover{transform:scale(1.12);background:var(--gold);color:#fff}
.time-badge.gold{background:linear-gradient(135deg,#c9a24b,#e8c874);color:#fff}
.time-center{
font-family:'Playfair Display',Georgia,serif;
font-style:italic;
font-size:clamp(3.5rem,9vw,6rem);
color:#fff;
opacity:0;
transform:scale(.4);
transition:all .7s cubic-bezier(.34,1.56,.64,1);
position:absolute;
left:50%;top:42%;
transform:translate(-50%,-50%) scale(.4);
}
.time-center.visible{
opacity:1;
transform:translate(-50%,-50%) scale(1);
}
.timeline-arc{
position:relative;
width:100%;
max-width:800px;
min-height:300px;
display:flex;
align-items:flex-start;
justify-content:center;
padding-top:10px;
}
.timeline-left, .timeline-right{
display:flex;
flex-direction:column;
gap:22px;
width:35%;
}
.timeline-left{align-items:flex-start;padding-left:10px;}
.timeline-right{align-items:flex-end;padding-right:10px;}
.tl-1{margin-left:0;}
.tl-2{margin-left:45px;}
.tl-3{margin-left:90px;}
.tr-1{margin-right:0;}
.tr-2{margin-right:45px;}
.tr-3{margin-right:90px;}
.timeline-bottom{
position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
}
@media(max-width:768px){
.timeline-wrap{padding:35px 16px 50px;min-height:320px;}
.timeline-arc{min-height:240px;max-width:100%;}
.timeline-left{padding-left:0;}
.timeline-right{padding-right:0;}
.tl-2{margin-left:20px;}
.tl-3{margin-left:40px;}
.tr-2{margin-right:20px;}
.tr-3{margin-right:40px;}
.time-badge{padding:10px 18px;font-size:1rem;}
.time-center{top:40%;}
.price-formation-card{
  padding:28px 24px;
}
.price-card-title{
  font-size:2.2rem;
}
.price-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.price-item{
  min-height:120px;
}
.detail-text{
  font-size:0.98rem;
}
.price-details{
  flex-direction:column;
  align-items:flex-start;
}
.price-symbol{
  font-size:2.5rem;
}
}

/* CTA card */
.cta-card{
background:var(--navy);
border-radius:0 80px 0 0;
padding:60px 50px;
color:#fff;
position:relative;
overflow:hidden;
}
.cta-card::before{
content:"";position:absolute;right:-60px;bottom:-60px;
width:240px;height:240px;border-radius:50%;
background:radial-gradient(circle,rgba(201,162,75,.25),transparent 70%);
}

/* ========== CTA SPLIT — style original droite/gauche ========== */
.cta-split{
position:relative;
min-height:520px;
display:flex;
overflow:hidden;
border-radius:0;
}
.cta-split-left{
  position:relative;
  flex:1;
  background:url('./assets/fee.png') center/cover no-repeat;
  min-height:520px;
}
.cta-split-left::before{
content:"";
position:absolute;inset:0;
background:linear-gradient(90deg,
  rgba(10,31,68,.2) 0%,
  rgba(10,31,68,.35) 80%,
  rgba(10,31,68,.95) 100%);
}
.cta-split-left-badge{
position:absolute;
left:40px;
top:40px;
background:rgba(10,31,68,.85);
border:1px solid rgba(201,162,75,.5);
color:var(--gold-2);
padding:8px 18px;
border-radius:999px;
font-size:.75rem;
letter-spacing:2px;
font-weight:700;
z-index:2;
}
.cta-split-left-logo{
position:absolute;
right:30px;
bottom:30px;
width:90px;height:90px;
border-radius:50%;
overflow:hidden;
border:3px solid var(--gold-2);
box-shadow:0 8px 25px rgba(0,0,0,.4);
z-index:2;
}
.cta-split-left-logo img{
width:100%;height:100%;object-fit:cover;
}
.cta-split-right{
flex:1.1;
background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
padding:70px 60px;
display:flex;
flex-direction:column;
justify-content:center;
position:relative;
overflow:hidden;
}
.cta-split-right::before{
content:"";
position:absolute;
top:-80px;right:-80px;
width:280px;height:280px;
border-radius:50%;
background:radial-gradient(circle,rgba(201,162,75,.25),transparent 70%);
}
.cta-split-right::after{
content:"";
position:absolute;
bottom:-60px;left:30px;
width:140px;height:140px;
border:2px dashed rgba(201,162,75,.35);
border-radius:50%;
}
.cta-split-chinois .cta-split-left{
background:
  linear-gradient(90deg, rgba(20,3,3,.78) 0%, rgba(20,3,3,.42) 55%, rgba(20,3,3,.78) 100%),
  url('./assets/fee.png') center/cover no-repeat;
background-blend-mode:normal, normal;
min-height:520px;
}
.cta-split-chinois .cta-split-left::before{
content:"";
position:absolute;inset:0;
background:linear-gradient(90deg,
  rgba(69,9,9,.18) 0%,
  rgba(17,3,3,.5) 70%,
  rgba(0,0,0,.85) 100%);
}
.cta-split-chinois .cta-split-left::after{
content:"";
position:absolute;
right:20px;
bottom:20px;
width:140px;
height:140px;
border-radius:50%;
border:2px solid rgba(232,200,116,.35);
box-shadow:0 0 0 8px rgba(232,200,116,.08);
}
.cta-split-chinois .cta-split-left-badge{
background:rgba(255,241,190,.95);
border-color:rgba(201,162,75,.55);
color:#831414;
}
.cta-split-chinois .cta-split-right{
background:linear-gradient(135deg, #190509 0%, #3f0d0d 100%);
padding:80px 70px;
}
.cta-split-chinois .cta-split-right::before{
content:"";
position:absolute;
top:-70px;right:-70px;
width:250px;height:250px;
border-radius:50%;
background:radial-gradient(circle, rgba(255,230,170,.22), transparent 65%);
}
.cta-split-chinois .cta-split-right::after{
content:"中";
position:absolute;
bottom:20px;left:30px;
font-size:6rem;
color:rgba(255,255,255,.05);
font-weight:900;
font-family:serif;
}
.cta-split-chinois .cta-split-eyebrow::before{
content:"";
width:28px;height:2px;
background:#e8c874;
}
.cta-split-chinois .cta-split-title{
color:#fff;
}
.cta-split-chinois .cta-split-features li{
color:rgba(255,255,255,.88);
}
.cta-split-malagasy .cta-split-left{
background:
  linear-gradient(90deg, rgba(3,30,16,.78) 0%, rgba(3,30,16,.38) 55%, rgba(3,30,16,.82) 100%),
  url('./assets/fee.png') center/cover no-repeat;
min-height:520px;
}
.cta-split-malagasy .cta-split-left::before{
content:"";
position:absolute;inset:0;
background:linear-gradient(90deg,
  rgba(18,57,34,.18) 0%,
  rgba(0,0,0,.28) 70%,
  rgba(0,0,0,.75) 100%);
}
.cta-split-malagasy .cta-split-left::after{
content:"";
position:absolute;
right:20px;
bottom:20px;
width:140px;
height:140px;
border-radius:50%;
border:2px solid rgba(232,200,116,.28);
box-shadow:0 0 0 8px rgba(232,200,116,.05);
}
.cta-split-malagasy .cta-split-left-badge{
background:rgba(255,245,220,.92);
border-color:rgba(201,162,75,.55);
color:#1f322a;
}
.cta-split-malagasy .cta-split-right{
background:linear-gradient(135deg, #16412d 0%, #1a2b1d 100%);
padding:80px 70px;
}
.cta-split-malagasy .cta-split-right::before{
content:"";
position:absolute;
top:-70px;right:-70px;
width:250px;height:250px;
border-radius:50%;
background:radial-gradient(circle, rgba(255,255,220,.16), transparent 68%);
}
.cta-split-malagasy .cta-split-right::after{
content:"MG";
position:absolute;
bottom:20px;left:30px;
font-size:5rem;
color:rgba(255,255,255,.05);
font-weight:900;
font-family:serif;
}
.cta-split-malagasy .cta-split-eyebrow::before{
content:"";
width:28px;height:2px;
background:#e8c874;
}
.cta-split-eyebrow{
  color:var(--gold-2);
  font-weight:700;
  letter-spacing:1px;
  display:inline-block;
  text-transform:uppercase;
  font-size:0.9rem;
}
.cta-split-malagasy .cta-split-title{
color:#fff;
}
.cta-split-malagasy .cta-split-features li{
color:rgba(255,255,255,.92);
}
@media(max-width:900px){
.cta-split.cta-split-chinois{flex-direction:column;min-height:auto;}
.cta-split.cta-split-chinois .cta-split-right{padding:50px 30px;}
}
.cta-split-eyebrow::before{
content:"";
width:28px;height:2px;
background:var(--gold-2);
}
.cta-split-title{
font-family:'Playfair Display', Georgia, serif;
font-style:italic;
color:#fff;
font-size:clamp(1.8rem,3.5vw,2.8rem);
line-height:1.45;
margin:0 0 30px;
}
.cta-split-title .gold{
color:var(--gold-2);
font-style:normal;
font-weight:800;
}
.cta-split-features{
list-style:none;
padding:0;
margin:0 0 32px;
}
.cta-split-features li{
color:rgba(255,255,255,.85);
padding:8px 0 8px 30px;
position:relative;
font-size:1rem;
}
.cta-split-features li::before{
content:"✓";
position:absolute;
left:0;
top:8px;
color:var(--gold-2);
font-weight:700;
font-size:1rem;
}
@media(max-width:900px){
.cta-split{flex-direction:column;min-height:auto;}
.cta-split-left{min-height:280px;}
.cta-split-right{padding:50px 30px;}
.cta-split-left-badge{left:20px;top:20px;}
.cta-split-left-logo{width:70px;height:70px;right:20px;bottom:20px;}
}
@media(max-width:480px){
.cta-split-right{padding:40px 22px;}
.cta-split-left{min-height:220px;}
.price-grid{
  grid-template-columns:1fr;
}
.price-item{
  min-height:auto;
}
.price-card-title{
  font-size:1.95rem;
}
.price-card-header{
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.price-symbol{
  font-size:2.2rem;
}
}

/* Footer */
footer{background:#07152f;color:#c9c9c9}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(30px);transition:all .9s ease}
.reveal.show{opacity:1;transform:translateY(0)}

/* Marquee */
.marquee{
display:flex;gap:60px;animation:scroll 28s linear infinite;
white-space:nowrap;
}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Blobs */
.blob{
position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none;
}
