
:root{
  --cream:#FFF6EC;
  --coral:#FF6B4A;
  --coral-dark:#E8532F;
  --teal:#0FA3A3;
  --teal-dark:#0B7E7E;
  --yellow:#FFC145;
  --purple:#7C6FF0;
  --ink:#2D2233;
  --ink-soft:#5C5266;
  --white:#FFFFFF;
  --radius:20px;
  --shadow:0 10px 30px rgba(45,34,51,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:'Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
}
/* Language toggle logic */

img{max-width:100%}
a{color:inherit}
.container{max-width:1140px;margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,246,236,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(45,34,51,.06);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1140px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem;text-decoration:none}
.logo-mark{
  width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
}
.logo-mark svg{width:100%;height:100%}
.logo span em{font-style:normal;color:var(--coral)}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.nav-links a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink-soft);transition:color .2s}
.nav-links a:hover{color:var(--coral)}
.lang-switch{
  display:flex;border:2px solid var(--ink);border-radius:99px;overflow:hidden;font-size:.8rem;font-weight:700;
}
.lang-switch button{
  border:none;background:transparent;padding:5px 12px;cursor:pointer;font-weight:700;color:var(--ink);
}
.lang-switch button.active{background:var(--ink);color:var(--cream)}
.btn{
  display:inline-block;text-decoration:none;font-weight:700;
  padding:14px 28px;border-radius:99px;transition:transform .15s,box-shadow .15s;
}
.btn-primary{
  background:var(--coral);color:#fff;box-shadow:0 6px 18px rgba(255,107,74,.35);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(255,107,74,.45)}
.btn-ghost{border:2px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-sm{padding:9px 20px;font-size:.9rem}

/* ---------- Hero ---------- */
.hero{padding:70px 0 30px;text-align:center;position:relative}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,193,69,.25), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(15,163,163,.18), transparent 32%),
    radial-gradient(circle at 80% 78%, rgba(124,111,240,.14), transparent 30%);
}
.badge{
  display:inline-block;background:rgba(15,163,163,.12);color:var(--teal-dark);
  font-weight:700;font-size:.85rem;padding:7px 16px;border-radius:99px;margin-bottom:20px;
}
h1{
  font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.15;font-weight:900;letter-spacing:-.5px;
  max-width:850px;margin:0 auto 18px;
}
h1 .hl{color:var(--coral);position:relative;white-space:nowrap}
h1 .hl::after{
  content:"";position:absolute;left:0;right:0;bottom:4px;height:.35em;
  background:rgba(255,193,69,.5);z-index:-1;border-radius:4px;
}
.hero p.sub{max-width:640px;margin:0 auto 32px;font-size:1.15rem;color:var(--ink-soft)}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}

/* ---------- Hero illustration ---------- */
.hero-art{max-width:820px;margin:10px auto -10px;position:relative}
.hero-art svg{width:100%;height:auto;display:block}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-art .float{animation:floaty 4s ease-in-out infinite}
.hero-art .float.d1{animation-delay:.5s}
.hero-art .float.d2{animation-delay:1s}
.hero-art .float.d3{animation-delay:1.5s}
.hero-art .float.d4{animation-delay:2s}
.hero-art .float.d5{animation-delay:2.5s}

/* ---------- Sections ---------- */
section{padding:80px 0}
.section-head{text-align:center;max-width:640px;margin:0 auto 50px}
.section-head h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:900;letter-spacing:-.4px;margin-bottom:12px}
.section-head p{color:var(--ink-soft);font-size:1.05rem}
.kicker{color:var(--coral);font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:2px;display:block;margin-bottom:10px}

/* Services */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card{
  background:var(--white);border-radius:var(--radius);padding:34px 28px;
  box-shadow:var(--shadow);transition:transform .2s;border-top:6px solid transparent;
}
.card:hover{transform:translateY(-6px)}
.card.c1{border-top-color:var(--coral)}
.card.c2{border-top-color:var(--teal)}
.card.c3{border-top-color:var(--yellow)}
.card .icon{
  width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;margin-bottom:18px;
}
.card.c1 .icon{background:rgba(255,107,74,.14)}
.card.c2 .icon{background:rgba(15,163,163,.14)}
.card.c3 .icon{background:rgba(255,193,69,.22)}
.card h3{font-size:1.25rem;font-weight:800;margin-bottom:10px}
.card p{color:var(--ink-soft);font-size:.98rem}
.card ul{margin-top:14px;list-style:none}
.card ul li{padding-left:26px;position:relative;margin-bottom:8px;color:var(--ink-soft);font-size:.95rem}
.card ul li::before{content:"✓";position:absolute;left:0;font-weight:900;color:var(--teal)}

/* Vision */
.vision{background:var(--ink);color:var(--cream);border-radius:32px;margin:0 24px}
.vision .inner{max-width:820px;margin:0 auto;text-align:center;padding:0 24px}
.vision h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:900;margin-bottom:18px}
.vision h2 .hl{color:var(--yellow)}
.vision p{font-size:1.15rem;color:rgba(255,246,236,.85)}
.vision .stats{display:flex;justify-content:center;gap:50px;flex-wrap:wrap;margin-top:44px}
.vision .stat b{display:block;font-size:2.2rem;color:var(--coral)}
.vision .stat span{font-size:.9rem;color:rgba(255,246,236,.7)}

/* Tools */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;max-width:920px;margin:0 auto}
.tool{
  background:var(--white);border-radius:16px;padding:22px 12px;text-align:center;
  box-shadow:var(--shadow);font-weight:700;font-size:.95rem;transition:transform .2s;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.tool:hover{transform:translateY(-4px)}
.tool svg{width:40px;height:40px}
.tool img{width:40px;height:40px;object-fit:contain}

/* Sergio */
.sergio{background:linear-gradient(180deg,rgba(255,193,69,.14),transparent)}
.sergio-card{
  display:flex;gap:44px;align-items:center;background:var(--white);
  border-radius:28px;padding:44px;box-shadow:var(--shadow);flex-wrap:wrap;justify-content:center;
}
.sergio-photo{
  width:220px;height:220px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--teal),var(--purple));
  display:flex;align-items:center;justify-content:center;position:relative;
  border:6px solid var(--yellow);overflow:hidden;
}
.sergio-photo img{width:100%;height:100%;object-fit:cover}
.sergio-photo .ph{color:#fff;text-align:center;font-size:.85rem;font-weight:700;padding:0 20px}
.sergio-photo .ph b{display:block;font-size:3rem}
.sergio-text{flex:1;min-width:280px}
.sergio-text h3{font-size:1.6rem;font-weight:900;margin-bottom:4px}
.sergio-text .role{color:var(--coral);font-weight:700;margin-bottom:16px}
.sergio-text blockquote{
  font-size:1.12rem;color:var(--ink-soft);border-left:4px solid var(--yellow);
  padding-left:18px;font-style:italic;
}
.sergio-text .sig{margin-top:14px;font-weight:800}

/* CTA final */
.cta-final{text-align:center}
.cta-box{
  background:linear-gradient(135deg,var(--coral),#FF8E53);
  border-radius:32px;color:#fff;padding:70px 30px;margin:0 24px;
}
.cta-box h2{font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:900;margin-bottom:14px}
.cta-box p{max-width:560px;margin:0 auto 30px;font-size:1.1rem;opacity:.95}
.cta-box .btn{background:#fff;color:var(--coral-dark)}

/* Footer */
footer{padding:44px 0;text-align:center;color:var(--ink-soft);font-size:.9rem}
footer .logo{justify-content:center;margin-bottom:12px}
footer a{color:var(--teal-dark)}

@media(max-width:720px){
  .nav-links{display:none}
  section{padding:56px 0}
  .sergio-card{padding:30px 22px}
  .nav{padding:10px 14px;gap:8px}
  .nav > div{gap:8px !important}
  .logo{font-size:1.05rem;gap:7px}
  .logo-mark{width:32px;height:32px}
  .btn-sm{padding:8px 14px;font-size:.8rem;white-space:nowrap}
  .lang-switch button{padding:4px 9px;font-size:.75rem}
  .hero{padding:44px 0 20px}
  h1 .hl{white-space:normal}
}
@media(max-width:460px){
  /* iPhone : dans le header on garde seulement le monogramme pour que tout tienne */
  header .logo > span:last-child{display:none}
  .vision .stats{gap:24px}
  .cta-box{padding:50px 20px;margin:0 14px}
  .vision{margin:0 14px}
}

/* ---------- multi-pages ---------- */
.lang-link{border:2px solid var(--ink);border-radius:99px;padding:5px 14px;font-size:.8rem;font-weight:700;text-decoration:none;color:var(--ink)}
.lang-link:hover{background:var(--ink);color:var(--cream)}
.card .more{display:inline-block;margin-top:16px;font-weight:700;color:var(--coral);text-decoration:none}
.card .more:hover{text-decoration:underline}
.footer-nav{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:16px 0 4px}
.footer-nav a{color:var(--teal-dark);text-decoration:none;font-weight:600}
.footer-nav a:hover{text-decoration:underline}
/* pages internes */
.page-hero{padding:64px 0 30px;text-align:center}
.page-hero h1{font-size:clamp(1.9rem,4.5vw,2.9rem)}
.page-hero p.sub{max-width:640px;margin:14px auto 28px;font-size:1.12rem;color:var(--ink-soft)}
.content-block{max-width:820px;margin:0 auto 44px;background:var(--white);border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow)}
.content-block h2{font-size:1.4rem;font-weight:800;margin-bottom:12px}
.content-block p{color:var(--ink-soft);margin-bottom:12px}
.content-block ul{list-style:none;margin-top:8px}
.content-block ul li{padding-left:26px;position:relative;margin-bottom:9px;color:var(--ink-soft)}
.content-block ul li::before{content:"\2713";position:absolute;left:0;font-weight:900;color:var(--teal)}
.faq details{background:var(--white);border-radius:14px;box-shadow:var(--shadow);padding:18px 22px;margin-bottom:12px}
.faq summary{font-weight:700;cursor:pointer}
.faq p{margin-top:10px;color:var(--ink-soft)}
.calendly-inline-widget{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}

/* ---------- Avis clients ---------- */
.avis-cta{text-align:center;margin-top:34px}
.avis-cta a{font-weight:700;color:var(--teal-dark);text-decoration:none;border-bottom:2px solid var(--yellow);padding-bottom:2px}
.avis-cta a:hover{color:var(--coral)}
/* formulaire */
.form-card{max-width:640px;margin:0 auto;background:var(--white);border-radius:var(--radius);padding:36px 32px;box-shadow:var(--shadow)}
.form-card label{display:block;font-weight:700;margin:18px 0 7px;font-size:.95rem}
.form-card input,.form-card textarea,.form-card select{
  width:100%;padding:13px 15px;border:2px solid #EADFD5;border-radius:12px;
  font-family:inherit;font-size:1rem;background:var(--cream);color:var(--ink);
}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus{outline:none;border-color:var(--coral)}
.form-card textarea{min-height:130px;resize:vertical}
.form-card .hint{font-size:.85rem;color:var(--ink-soft);margin-top:6px}
.form-card button{width:100%;margin-top:26px;border:none;cursor:pointer;font-size:1rem}
.form-note{max-width:640px;margin:22px auto 0;text-align:center;font-size:.9rem;color:var(--ink-soft)}

/* ---------- Trustpilot ---------- */
.review-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:760px;margin:0 auto}
.review-card{background:var(--white);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .2s}
.review-card:hover{transform:translateY(-4px)}
.review-card .plat{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.1rem;margin-bottom:10px}
.review-card p{color:var(--ink-soft);font-size:.94rem;flex:1;margin-bottom:20px}
.review-card .btn{width:100%}
.btn-tp{background:#00B67A;color:#fff;box-shadow:0 6px 18px rgba(0,182,122,.3)}
.btn-tp:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,182,122,.4)}
.btn-google{background:#fff;color:var(--ink);border:2px solid #EADFD5}
.btn-google:hover{border-color:var(--ink)}

/* ---------- Cartes d'avis (verbatim + lien Trustpilot) ---------- */
.avis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:1100px;margin:0 auto}
.avis-grid.solo{max-width:620px}
.avis-card{
  display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius);
  padding:30px 28px;box-shadow:var(--shadow);text-decoration:none;color:inherit;
  transition:transform .2s,box-shadow .2s;border-top:5px solid #00B67A;
}
.avis-card:hover{transform:translateY(-5px);box-shadow:0 16px 38px rgba(45,34,51,.16)}
.avis-card .stars{display:flex;gap:3px;margin-bottom:16px}
.avis-card .stars span{
  width:26px;height:26px;background:#00B67A;display:inline-flex;
  align-items:center;justify-content:center;color:#fff;font-size:15px;line-height:1;border-radius:2px;
}
.avis-card blockquote{font-size:1.02rem;color:var(--ink);font-style:italic;flex:1;border:0;padding:0;margin:0 0 22px;line-height:1.65}
.avis-card .meta{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.avis-card .avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;color:#fff;font-weight:800;font-size:.95rem;
}
.avis-card .meta b{display:block;font-size:.97rem;color:var(--ink)}
.avis-card .meta span{font-size:.84rem;color:var(--ink-soft)}
.avis-card .verified{
  display:flex;align-items:center;gap:7px;font-size:.82rem;color:var(--ink-soft);
  font-weight:600;padding-top:14px;border-top:1px solid #F0E7DD;
}
.avis-card .verified .tp-star{color:#00B67A;font-size:1rem}
.avis-card:hover .verified{color:#00B67A}
