/* Pages « fonction » (site public). Peu de texte : titre, démo, trois bénéfices,
 * l'offre, trois questions, un appel. Tout l'aspect vient de tokens.css et
 * kit.css ; ce fichier n'ajoute que la mise en page. Pas d'hex (un test le
 * vérifie) : uniquement des variables. */
.fn-hero{padding-block:36px 8px;display:flex;flex-direction:column;gap:22px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--mut)}
.crumbs li+li::before{content:"\203A";margin-right:8px;color:var(--mut)}
.crumbs a{color:var(--sub)}
.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--ink);font-weight:600}
.fn-head{display:flex;gap:22px;align-items:flex-start}
.fn-head .icon-tile{width:76px;height:76px;border-radius:22px;flex:none}
.fn-head-copy{display:flex;flex-direction:column;gap:12px;min-width:0}
.fn-tags{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fn-head-copy .lede{max-width:620px}
.fn-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fn-note{font-size:13px;color:var(--mut)}

/* Cadre de démo : une fenêtre de navigateur autour de la console. */
.fn-demo{padding-block:26px 8px}
.fn-frame{border:1px solid var(--line2);border-radius:var(--r-xl);overflow:hidden;background:var(--panel);
  box-shadow:0 30px 70px -44px rgba(23,20,42,.55)}
.fn-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface);
  border-bottom:1px solid var(--line)}
.fn-dots{display:flex;gap:6px;flex:none}
.fn-dots i{display:block;width:10px;height:10px;border-radius:50%;background:var(--line2)}
.fn-url{flex:1;min-width:0;font-family:var(--font-mono);font-size:12px;color:var(--sub);
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 10px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-iframe{display:block;width:100%;height:clamp(600px,82vh,800px);border:0;background:var(--bg)}

/* Trois bénéfices : une icône, trois mots, une ligne. */
.fn-gains{padding-block:48px 8px}
.fn-gains ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fn-gains li{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:22px}
.fn-gains b{font-size:17px}
.fn-gains li>span:last-child{font-size:14px;line-height:1.55;color:var(--sub)}
.fn-gico{width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-tint);color:var(--accent-text);
  display:flex;align-items:center;justify-content:center}

/* Offre : quelle formule inclut quoi (lu depuis features.py). */
.fn-offer{padding-block:48px 8px;display:flex;flex-direction:column;gap:14px}
.fn-offer h2,.fn-faq h2{font-size:clamp(22px,3.5vw,28px)}
.fn-offer-list{list-style:none;margin:0;padding:0}
.fn-offer-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;
  border-bottom:1px solid var(--line-soft);font-size:15px}
.fn-more{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600}

.fn-faq{padding-block:48px 8px;display:flex;flex-direction:column;gap:16px}
/* Lecture confortable : la colonne se limite à 760 px mais reste alignée à gauche
   avec le reste de la page (le max-width est sur les enfants, pas sur .wrap). */
.fn-offer>*,.fn-faq>*{max-width:760px;width:100%}
.fn-faq .faq-accordion{grid-template-columns:1fr}

.fn-final{padding-block:56px 80px}
.fn-final-box{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--panel);border:1px solid var(--accent);border-radius:var(--r-xl);padding:30px 32px}
.fn-final-box h2{font-size:clamp(22px,3.5vw,30px);margin-bottom:8px}

@media (max-width:900px){
  .fn-hero{padding-block:22px 4px}
  .fn-head{flex-direction:column;gap:16px}
  .fn-head .icon-tile{width:60px;height:60px;border-radius:18px}
  .fn-gains ul{grid-template-columns:1fr}
  .fn-gains li{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px}
  .fn-gains li>span:last-child{flex-basis:100%}
  .fn-iframe{height:clamp(560px,86vh,760px)}
  .fn-final-box{padding:24px 20px}
}
@media (max-width:560px){
  .fn-dots{display:none}
}
.fn-offer>.fn-more{width:auto}
