/* ════════════════════════════════════════════════
   Fini l'eau verte — Système éditorial premium partagé
   Blanc #FFFFFF · Bleu profond #0A2540 · Aqua #00B4D8 · Or #E8A020
   Playfair Display (titres) + Inter (corps)
   ════════════════════════════════════════════════ */

:root{
  --paper:#FFFFFF;
  --ink:#0A2540;
  --ink-85:rgba(10,37,64,0.85);
  --ink-65:rgba(10,37,64,0.62);
  --ink-45:rgba(10,37,64,0.45);
  --ink-30:rgba(10,37,64,0.3);
  --ink-12:rgba(10,37,64,0.12);
  --aqua:#00B4D8;
  --gold:#E8A020;
  --hair:rgba(10,37,64,0.12);
  --hair-soft:rgba(10,37,64,0.07);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%}

/* ── TYPE ── */
.display{font-family:'Playfair Display',serif;font-weight:800;line-height:1.04;letter-spacing:-0.01em}
.it{font-style:italic;font-weight:500;color:var(--aqua)}
.kicker{
  font-family:'Inter',sans-serif;
  font-size:12px;font-weight:600;
  letter-spacing:0.24em;text-transform:uppercase;
  color:var(--aqua);
}

/* ── LAYOUT ── */
.wrap{max-width:1120px;margin:0 auto;padding:0 40px}
.col{max-width:780px;margin:0 auto;padding:0 40px}
section{position:relative}
.hairline{height:1px;background:var(--hair);max-width:1120px;margin:0 auto}

/* watermark filigrane number */
.section-num{
  position:absolute;
  font-family:'Playfair Display',serif;
  font-weight:800;font-style:italic;
  font-size:clamp(180px,30vw,420px);
  line-height:0.7;
  color:var(--ink);
  opacity:0.035;
  z-index:0;pointer-events:none;user-select:none;
  top:-0.18em;left:-0.04em;
}
.section-inner{position:relative;z-index:1}

/* ── REVEAL (progressive enhancement) ── */
.js .rv{opacity:0;transform:translateY(30px);transition:opacity 0.9s cubic-bezier(0.22,1,0.36,1),transform 0.9s cubic-bezier(0.22,1,0.36,1)}
.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ── SECTION HEADS ── */
.lead-head{margin-bottom:18px}
.lead-head .kicker{margin-bottom:18px;display:block}
.section-title{
  font-family:'Playfair Display',serif;font-weight:800;
  font-size:clamp(32px,4.6vw,54px);line-height:1.08;letter-spacing:-0.01em;
  color:var(--ink);
}
.section-title .it{font-style:italic;font-weight:500;color:var(--aqua)}
.lead-text{font-size:20px;line-height:1.75;color:var(--ink-65);max-width:620px;margin-top:24px}
.lead-text strong{color:var(--ink);font-weight:600}

/* ── CTA ── */
.cta{
  display:inline-flex;flex-direction:column;align-items:center;
  background:var(--gold);color:var(--ink);
  font-family:'Inter',sans-serif;font-weight:700;font-size:16px;letter-spacing:0.01em;
  padding:19px 40px;border-radius:2px;border:none;cursor:pointer;
  transition:transform 0.3s cubic-bezier(0.22,1,0.36,1),box-shadow 0.3s;
  text-align:center;line-height:1.3;
}
.cta:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(232,160,32,0.6)}
.cta .sub{font-size:12px;font-weight:500;opacity:0.72;margin-top:5px;letter-spacing:0.02em}
.cta-note{font-size:12.5px;color:var(--ink-45);margin-top:16px;letter-spacing:0.02em}
/* decline link (Oui/Non merci tunnels) */
.cta-decline{
  display:inline-block;margin-top:18px;
  font-size:13px;color:var(--ink-45);letter-spacing:0.01em;
  text-decoration:underline;text-decoration-color:var(--hair);text-underline-offset:3px;
  transition:color 0.2s;
}
.cta-decline:hover{color:var(--ink-65)}
.cta-decline.on-dark{color:rgba(255,255,255,0.4);text-decoration-color:rgba(255,255,255,0.18)}
.cta-decline.on-dark:hover{color:rgba(255,255,255,0.7)}

/* ── TUNNEL NAV (breadcrumb funnel) ── */
.tunnel{
  display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  padding:16px 40px;border-bottom:1px solid var(--hair);background:var(--paper);
}
.tunnel-step{font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase}
.tunnel-step.done{color:var(--aqua)}
.tunnel-step.current{color:var(--ink)}
.tunnel-step.next{color:var(--ink-30)}
.tunnel-sep{color:var(--ink-30);font-size:11px}

/* ── SITE HEADER ── */
.site-header{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,0.88);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hair);
  padding:16px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.site-brand{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;font-size:20px;color:var(--ink)}
.site-brand b{font-style:normal;font-weight:800}
.header-cta{
  background:var(--gold);color:var(--ink);
  font-size:13px;font-weight:700;letter-spacing:0.01em;
  padding:11px 22px;border-radius:2px;white-space:nowrap;
  transition:transform 0.3s,box-shadow 0.3s;
}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px -10px rgba(232,160,32,0.6)}

/* ── FAQ (elegant accordion) ── */
.faq-list{border-top:1px solid var(--hair)}
.faq-item{border-bottom:1px solid var(--hair)}
.faq-q{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;cursor:pointer}
.faq-q span:first-child{font-family:'Playfair Display',serif;font-weight:600;font-size:21px;color:var(--ink);line-height:1.3}
.faq-arrow{flex-shrink:0;width:22px;height:22px;position:relative}
.faq-arrow::before,.faq-arrow::after{content:'';position:absolute;background:var(--aqua);transition:transform 0.3s}
.faq-arrow::before{top:10px;left:0;width:22px;height:1.5px}
.faq-arrow::after{top:0;left:10px;width:1.5px;height:22px}
.faq-item.open .faq-arrow::after{transform:scaleY(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1)}
.faq-a-inner{padding:0 0 30px;font-size:16.5px;line-height:1.8;color:var(--ink-65);max-width:660px}

/* ── FOOTER ── */
.fev-footer{background:var(--ink);color:rgba(255,255,255,0.4);text-align:center;padding:56px 40px;font-size:13px;line-height:2.1}
.fev-footer .f-brand{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;color:#fff;margin-bottom:14px}
.fev-footer a{color:rgba(255,255,255,0.45);transition:color 0.2s}
.fev-footer a:hover{color:var(--aqua)}
.fev-footer .f-fine{margin-top:14px;font-size:12px;color:rgba(255,255,255,0.28)}

/* ── DEEP-BLUE SECTION ── */
.ink-section{background:var(--ink);color:#fff;overflow:hidden}
.ink-section .section-num{color:#fff;opacity:0.05}
.ink-section .section-title{color:#fff}
.ink-section .kicker{color:var(--aqua)}

@media(max-width:600px){
  .wrap,.col{padding:0 24px}
  body{font-size:16px}
  .site-header,.tunnel{padding-left:24px;padding-right:24px}
}
