
:root{
  --encre:#14213D;      /* bleu nuit d'encre */
  --ciel:#EDF1F6;       /* ciel de papier */
  --flamme:#E4572E;     /* rouge montgolfière */
  --or:#F4B942;         /* or des cordages */
  --nuage:#FFFFFF;
  --brume:#8C97A8;
  --radius:14px;
  --maxw:1080px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Archivo',system-ui,sans-serif;
  background:var(--ciel);
  color:var(--encre);
  line-height:1.6;
  font-size:17px;
}
h1,h2,h3{font-family:'Fraunces',serif;line-height:1.15}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ---------- Nav ---------- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(237,241,246,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(20,33,61,.08);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:var(--maxw);margin:0 auto}
.logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.25rem;text-decoration:none;display:flex;align-items:center;gap:10px}
.logo svg{width:26px;height:26px}
.nav-links{display:flex;gap:26px;list-style:none;font-size:.95rem}
.nav-links a{text-decoration:none;font-weight:500;opacity:.8;transition:opacity .2s}
.nav-links a:hover,.nav-links a:focus-visible{opacity:1}
.btn{
  display:inline-block;background:var(--flamme);color:#fff;
  padding:13px 26px;border-radius:999px;text-decoration:none;
  font-weight:600;font-size:1rem;border:none;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 8px 22px rgba(228,87,46,.35)}
.btn.ghost{background:transparent;color:var(--encre);border:1.5px solid var(--encre)}
.btn.ghost:hover{box-shadow:0 8px 22px rgba(20,33,61,.18)}
.nav-cta{padding:9px 20px;font-size:.9rem}

/* ---------- Hero ---------- */
header.hero{padding:90px 0 70px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.eyebrow{
  display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--flamme);margin-bottom:18px;
}
.hero h1{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:700;margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--flamme)}
.hero p.lead{font-size:1.15rem;max-width:34rem;margin-bottom:34px;color:#3a4763}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}

/* Balloon */
.balloon-stage{display:flex;justify-content:center}
.balloon{width:min(300px,70vw);height:auto}
@media (prefers-reduced-motion:no-preference){
  .balloon{animation:float 7s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
}

/* ---------- Sections ---------- */
section{padding:80px 0}
.section-head{max-width:40rem;margin-bottom:48px}
.section-head h2{font-size:clamp(1.7rem,3.5vw,2.4rem);margin-bottom:14px}
.section-head p{color:#3a4763}

/* ---------- Offres ---------- */
#offres{background:var(--nuage)}
.offres-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.offre{
  background:var(--ciel);border-radius:var(--radius);padding:32px 28px;
  display:flex;flex-direction:column;gap:14px;
  border:1px solid rgba(20,33,61,.07);
  transition:transform .2s ease, box-shadow .2s ease;
}
.offre:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(20,33,61,.10)}
.offre .tag{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--flamme)}
.offre h3{font-size:1.35rem}
.offre p.pitch{color:#3a4763;font-size:.98rem;flex-grow:1}
.tiers{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:6px}
.tiers li{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:11px 14px;background:var(--nuage);border-radius:10px;font-size:.93rem;
  border:1px solid rgba(20,33,61,.06);
}
.tiers .alt{font-weight:600}
.tiers .prix{font-family:'Fraunces',serif;font-weight:700;color:var(--flamme);white-space:nowrap;font-size:1.05rem}
.offre .btn{margin-top:18px;text-align:center}
.reco{position:relative;border:2px solid var(--or)}
.reco::after{
  content:"Formule phare";position:absolute;top:-13px;right:18px;
  background:var(--or);color:var(--encre);font-size:.72rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;
}

/* ---------- Méthode ---------- */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:var(--nuage);border-radius:var(--radius);padding:30px 26px;border:1px solid rgba(20,33,61,.07)}
.step .num{
  font-family:'Fraunces',serif;font-size:2rem;font-weight:700;color:var(--or);
  display:block;margin-bottom:10px;
}
.step h3{font-size:1.15rem;margin-bottom:8px}
.step p{font-size:.95rem;color:#3a4763}

/* ---------- IA transparence ---------- */
#ia{background:var(--encre);color:#fff}
#ia .section-head h2{color:#fff}
#ia .section-head p{color:#c4cddd}
.ia-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ia-points div{border-left:3px solid var(--or);padding-left:18px}
.ia-points h3{font-size:1.05rem;margin-bottom:8px;color:var(--or)}
.ia-points p{font-size:.93rem;color:#c4cddd}

/* ---------- Contact ---------- */
#contact{text-align:center}
#contact h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:16px}
#contact p{max-width:32rem;margin:0 auto 32px;color:#3a4763}
.contact-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ---------- Footer ---------- */
footer{border-top:1px solid rgba(20,33,61,.1);padding:34px 0;font-size:.85rem;color:var(--brume)}
.foot-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ---------- Focus & responsive ---------- */
a:focus-visible,.btn:focus-visible{outline:3px solid var(--or);outline-offset:3px}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero p.lead{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .balloon-stage{order:-1}
  .balloon{width:min(200px,55vw)}
  .offres-grid,.method-grid,.ia-points{grid-template-columns:1fr}
  .nav-links{display:none}
}

/* ---------- Pages internes ---------- */
.page{padding:70px 0;min-height:55vh}
.page h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:18px}
.page .lead{font-size:1.1rem;color:#3a4763;max-width:38rem;margin-bottom:40px}
.prose{max-width:44rem}
.prose h2{font-size:1.4rem;margin:36px 0 12px}
.prose p{margin-bottom:16px;color:#2c3a58}
.prose ul{margin:0 0 16px 22px;color:#2c3a58}
.faq details{background:var(--nuage);border:1px solid rgba(20,33,61,.08);border-radius:12px;padding:18px 22px;margin-bottom:12px}
.faq summary{font-weight:600;cursor:pointer;font-family:'Fraunces',serif;font-size:1.05rem}
.faq details p{margin-top:12px;color:#3a4763;font-size:.96rem}
.form{max-width:34rem;display:flex;flex-direction:column;gap:18px}
.form label{font-weight:600;font-size:.92rem;display:block;margin-bottom:6px}
.form input,.form select,.form textarea{
  width:100%;padding:13px 16px;border-radius:10px;border:1.5px solid rgba(20,33,61,.18);
  font-family:'Archivo',sans-serif;font-size:1rem;background:var(--nuage);color:var(--encre);
}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--or);outline-offset:1px;border-color:var(--encre)}
.legal{font-size:.95rem}
.legal h2{font-size:1.15rem}
