/**
 * Funnel — layout : conteneur, rythme vertical, fonds de sections, footer.
 * Portage de funnel.css : .wrap, section{}, .sec-*, .sec-head, footer, media queries.
 */
.wrap {
  max-width: var(--fnl-maxw);
  margin: 0 auto;
  padding: 0 var(--fnl-pad);
}

section { padding: var(--fnl-section) 0; }

/* Fonds de section — gradients purs (aucun url() dans la source d'origine). */
.sec-dark {
  background: linear-gradient(180deg, #20262c 0%, #161a1f 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}
.sec-paper { background: var(--fnl-paper); }
.sec-light { background: var(--fnl-surface); }
.sec-demo {
  background:
    radial-gradient(760px 420px at 50% -8%, rgba(61, 163, 200, .14), transparent 60%),
    var(--fnl-ink);
  color: #fff;
}

.sec-head { max-width: 680px; }
.sec-head.center { margin: 0 auto; text-align: center; }
.sec-head h2 {
  font-size: clamp(27px, 3.3vw, 38px);
  line-height: 1.14;
  font-weight: var(--fnl-fw-head);
  letter-spacing: -.02em;
  margin: 16px 0 0;
}
.sec-dark .sec-head h2 { white-space: nowrap; }
.sec-head .lead { font-size: 17px; font-weight: 400; margin: 14px 0 0; }
.sec-dark .lead { color: #cfd3d9; }
.sec-paper .lead, .sec-light .lead { color: var(--fnl-muted); }
.sec-demo .lead { color: #cfd3d9; }

.cta-band { text-align: center; margin-top: 40px; }

/* Header minimal (le funnel n'a pas de nav catalogue). */
.fnl-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(28, 35, 41, .92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.fnl-nav .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: var(--header-height, 64px);
  padding-block: 10px;
}
/* Le logo est large (ratio ~3:2) : le borner en HAUTEUR le réduit à ~67px de large,
   illisible. On pilote par la LARGEUR et on laisse la hauteur suivre le ratio ;
   le header s'adapte (height:auto + min-height) au lieu d'écraser le logo. */
.fnl-nav-logo {
  height: auto;
  width: 116px;
  max-width: 38vw;
  display: block;
}
.fnl-nav .btn { font-size: 14px; padding: 12px 20px; }

footer {
  background: var(--fnl-ink);
  color: #aab0b8;
  padding: 40px 0 34px;
}
footer .wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
}
footer .f-meta { font-size: 13px; color: #7d838c; }
footer .partner { font-size: 13px; }
footer a:hover { color: #fff; }
.footer-logo { height: 56px; width: auto; display: block; }
.partner-logo {
  height: 30px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
  margin-inline-start: 5px;
}

/* Les media queries du theme vivent dans assets/css/responsive.css, charge en
   DERNIER : ici elles seraient ecrasees par les regles de base de pages.css
   (charge apres layout.css), ce qui neutralisait tout le responsive. */
