/* ==========================================================================
   F2IN 2026 · Rubrique « Secteurs d'investissement »
   Feuille unique · préfixe f2in-sec- · BEM · propriétés logiques (RTL ready)
   Polices attendues (déjà chargées par le thème ou à ajouter) :
   Montserrat 500/600/700/800 · Lato 300/400/700
   ========================================================================== */

:root {
  /* Charte */
  --f2in-sec-green: #005c45;
  --f2in-sec-green-dark: #00402f;
  --f2in-sec-yellow: #f6b91e;
  --f2in-sec-yellow-dark: #e9a800;
  --f2in-sec-orange: #ea5323;
  --f2in-sec-blue: #3169b1;
  --f2in-sec-bright: #00993c;
  --f2in-sec-red: #da392f;
  --f2in-sec-brown: #8c6239;
  --f2in-sec-text: #1a1a2e;
  --f2in-sec-bg: #f4f7fb;
  --f2in-sec-white: #ffffff;
  /* Dérivés (lisibilité AA) */
  --f2in-sec-muted: #545a6b;
  --f2in-sec-line: #dce3ec;
  --f2in-sec-ink-on-yellow: #00402f;
  --f2in-sec-green-50: #e5f0ec;
  --f2in-sec-bright-50: #e1f3e7;
  --f2in-sec-yellow-50: #fef5db;
  --f2in-sec-blue-50: #e6eef8;
  --f2in-sec-brown-50: #f3ebe2;
  --f2in-sec-grey-50: #eceef2;
  --f2in-sec-grey: #8a909c;
  /* Typo */
  --f2in-sec-font-head: "Montserrat", system-ui, sans-serif;
  --f2in-sec-font-body: "Lato", system-ui, sans-serif;
  --f2in-sec-measure: 75ch;
  /* Espacements */
  --f2in-sec-space-1: 4px;
  --f2in-sec-space-2: 8px;
  --f2in-sec-space-3: 12px;
  --f2in-sec-space-4: 16px;
  --f2in-sec-space-5: 24px;
  --f2in-sec-space-6: 32px;
  --f2in-sec-space-7: 48px;
  --f2in-sec-space-8: 64px;
  --f2in-sec-space-9: 96px;
  /* Rayons, ombres, mise en page */
  --f2in-sec-radius: 14px;
  --f2in-sec-radius-sm: 8px;
  --f2in-sec-radius-xs: 6px;
  --f2in-sec-radius-pill: 999px;
  --f2in-sec-shadow: 0 6px 24px rgba(16, 40, 60, .08);
  --f2in-sec-shadow-hover: 0 12px 32px rgba(16, 40, 60, .14);
  --f2in-sec-wrap: 92%;
  --f2in-sec-sticky-top: 0px; /* hauteur de l'en-tête collant du thème, le cas échéant */
}

/* ---------- Base ---------- */
.f2in-sec { font-family: var(--f2in-sec-font-body); font-size: 1.0625rem; line-height: 1.6; color: var(--f2in-sec-text); background: var(--f2in-sec-white); overflow-wrap: break-word; }
.f2in-sec *, .f2in-sec *::before, .f2in-sec *::after { box-sizing: border-box; }
.f2in-sec h1, .f2in-sec h2, .f2in-sec h3, .f2in-sec h4 { font-family: var(--f2in-sec-font-head); margin: 0; line-height: 1.2; color: inherit; text-wrap: balance; }
.f2in-sec p, .f2in-sec figure, .f2in-sec blockquote, .f2in-sec dl, .f2in-sec dd { margin: 0; }
.f2in-sec p { text-wrap: pretty; }
.f2in-sec img { display: block; max-width: 100%; }
.f2in-sec a { color: var(--f2in-sec-green); text-underline-offset: .18em; text-decoration-thickness: 1px; }
.f2in-sec a:hover { color: var(--f2in-sec-green-dark); text-decoration-color: var(--f2in-sec-orange); text-decoration-thickness: 2px; }
.f2in-sec :focus-visible, .f2in-sec .is-focus { outline: 3px solid var(--f2in-sec-orange); outline-offset: 3px; }
.f2in-sec-on-dark :focus-visible, .f2in-sec-on-dark .is-focus { outline-color: var(--f2in-sec-yellow); }
.f2in-sec [hidden] { display: none; }
.f2in-sec-visually-hidden { position: absolute !important; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.f2in-sec-ico { inline-size: 1.15em; block-size: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[dir="rtl"] .f2in-sec-ico--dir { transform: scaleX(-1); }

.f2in-sec-wrap { inline-size: var(--f2in-sec-wrap); margin-inline: auto; }
.f2in-sec-section { padding-block: var(--f2in-sec-space-9); }
.f2in-sec-section--tint { background: var(--f2in-sec-bg); }
.f2in-sec-section--tight { padding-block: var(--f2in-sec-space-8); }
.f2in-sec-section + .f2in-sec-section:not(.f2in-sec-section--tint) { border-block-start: 1px solid var(--f2in-sec-line); }
.f2in-sec-section--tint + .f2in-sec-section, .f2in-sec-section + .f2in-sec-section--tint { border-block-start: 0; }
.f2in-sec-head { display: grid; gap: var(--f2in-sec-space-4); max-inline-size: var(--f2in-sec-measure); margin-block-end: var(--f2in-sec-space-7); }
.f2in-sec-eyebrow { display: inline-flex; align-items: center; gap: var(--f2in-sec-space-3); font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--f2in-sec-green); }
.f2in-sec-eyebrow::before { content: ""; inline-size: 24px; block-size: 3px; background: var(--f2in-sec-yellow); border-radius: 2px; }
.f2in-sec-eyebrow--plain::before { display: none; }
.f2in-sec-h1 { font-weight: 800; font-size: clamp(2rem, 1.2rem + 2.4vw, 3.25rem); line-height: 1.1; color: var(--f2in-sec-green); }
.f2in-sec-h2 { font-weight: 800; font-size: clamp(1.625rem, 1.1rem + 1.5vw, 2.375rem); color: var(--f2in-sec-green); }
.f2in-sec-h3 { font-weight: 600; font-size: 1.25rem; color: var(--f2in-sec-green); }
.f2in-sec-lead { font-size: 1.1875rem; line-height: 1.55; color: #33384a; max-inline-size: var(--f2in-sec-measure); }
.f2in-sec-prose { max-inline-size: var(--f2in-sec-measure); display: grid; gap: var(--f2in-sec-space-4); }
.f2in-sec-source { font-weight: 300; font-size: .8125rem; line-height: 1.45; color: var(--f2in-sec-muted); }
.f2in-sec-mark { color: var(--f2in-sec-yellow); }

/* ---------- Boutons & liens ---------- */
.f2in-sec-btn { display: inline-flex; align-items: center; gap: 10px; min-block-size: 48px; padding: 12px 24px; border: 2px solid transparent; border-radius: var(--f2in-sec-radius-pill); font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .9375rem; line-height: 1.2; text-align: start; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s; }
.f2in-sec-btn .f2in-sec-ico { inline-size: 18px; block-size: 18px; }
.f2in-sec a.f2in-sec-btn { text-decoration: none; }
.f2in-sec-btn--primary, .f2in-sec a.f2in-sec-btn--primary { background: var(--f2in-sec-yellow); color: var(--f2in-sec-ink-on-yellow); }
.f2in-sec-btn--primary:hover, .f2in-sec a.f2in-sec-btn--primary:hover, .f2in-sec-btn--primary.is-hover { background: var(--f2in-sec-yellow-dark); border-color: var(--f2in-sec-orange); color: var(--f2in-sec-ink-on-yellow); }
.f2in-sec-btn--secondary, .f2in-sec a.f2in-sec-btn--secondary { background: var(--f2in-sec-green); color: var(--f2in-sec-white); }
.f2in-sec-btn--secondary:hover, .f2in-sec a.f2in-sec-btn--secondary:hover, .f2in-sec-btn--secondary.is-hover { background: var(--f2in-sec-green-dark); border-color: var(--f2in-sec-orange); color: var(--f2in-sec-white); }
.f2in-sec-btn--outline, .f2in-sec a.f2in-sec-btn--outline { background: transparent; border-color: var(--f2in-sec-green); color: var(--f2in-sec-green); }
.f2in-sec-btn--outline:hover, .f2in-sec a.f2in-sec-btn--outline:hover, .f2in-sec-btn--outline.is-hover { background: var(--f2in-sec-green-50); border-color: var(--f2in-sec-orange); color: var(--f2in-sec-green-dark); }
.f2in-sec-btn--light, .f2in-sec a.f2in-sec-btn--light { background: transparent; border-color: rgba(255,255,255,.7); color: var(--f2in-sec-white); }
.f2in-sec-btn--light:hover, .f2in-sec a.f2in-sec-btn--light:hover, .f2in-sec-btn--light.is-hover { background: rgba(255,255,255,.12); border-color: var(--f2in-sec-yellow); color: var(--f2in-sec-white); }
.f2in-sec-btn--sm { min-block-size: 40px; padding: 8px 18px; font-size: .875rem; }
.f2in-sec-btn:disabled, .f2in-sec-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.f2in-sec-actions { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-3); align-items: center; }
.f2in-sec-more { display: inline-flex; align-items: center; gap: 8px; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .9375rem; }

/* ---------- Pastilles (horizons & statuts) ---------- */
.f2in-sec-pill { --dot: var(--f2in-sec-grey); display: inline-flex; align-items: center; gap: 7px; padding: 4px 12px 4px 10px; border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-grey-50); color: #373b47; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; line-height: 1.4; white-space: nowrap; }
.f2in-sec-pill::before { content: ""; inline-size: 9px; block-size: 9px; border-radius: 50%; background: var(--dot); flex: none; }
.f2in-sec-pill--immediat, .f2in-sec-pill--mise-en-oeuvre { --dot: var(--f2in-sec-bright); background: var(--f2in-sec-bright-50); color: var(--f2in-sec-green); }
.f2in-sec-pill--court, .f2in-sec-pill--prefaisabilite { --dot: var(--f2in-sec-yellow); background: var(--f2in-sec-yellow-50); color: #5a4200; }
.f2in-sec-pill--moyen, .f2in-sec-pill--planification { --dot: var(--f2in-sec-blue); background: var(--f2in-sec-blue-50); color: #1e4678; }
.f2in-sec-pill--long { --dot: var(--f2in-sec-brown); background: var(--f2in-sec-brown-50); color: #5b3f24; }
.f2in-sec-pill--piste { --dot: var(--f2in-sec-grey); }
.f2in-sec-legend { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-3) var(--f2in-sec-space-5); align-items: center; list-style: none; margin: 0 0 var(--f2in-sec-space-6); padding: 0; font-size: .875rem; color: var(--f2in-sec-muted); }
.f2in-sec-legend li { display: flex; gap: var(--f2in-sec-space-2); align-items: center; }

/* ---------- Code secteur & étiquettes ---------- */
.f2in-sec-code { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--f2in-sec-radius-xs); background: var(--f2in-sec-green); color: var(--f2in-sec-white); font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: .875rem; letter-spacing: .04em; line-height: 1.4; }
.f2in-sec-code--inverse { background: var(--f2in-sec-green-dark); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.55); }
.f2in-sec-tags { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-2); list-style: none; margin: 0; padding: 0; }
.f2in-sec-tag { display: inline-block; padding: 6px 14px; border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-white); color: var(--f2in-sec-green); font-family: var(--f2in-sec-font-head); font-weight: 500; font-size: .8125rem; }
.f2in-sec-on-dark .f2in-sec-tag { background: transparent; border-color: rgba(255,255,255,.45); color: var(--f2in-sec-white); }
.f2in-sec-badge { display: inline-block; padding: 4px 12px; border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-yellow); color: var(--f2in-sec-ink-on-yellow); font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; }

/* ---------- Fil d'Ariane ---------- */
.f2in-sec-breadcrumb { padding-block: var(--f2in-sec-space-4); font-size: .875rem; }
.f2in-sec-breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-2); list-style: none; margin: 0; padding: 0; }
.f2in-sec-breadcrumb li + li::before { content: "›"; margin-inline-end: var(--f2in-sec-space-2); color: var(--f2in-sec-muted); }
[dir="rtl"] .f2in-sec-breadcrumb li + li::before { content: "‹"; }
.f2in-sec-breadcrumb [aria-current] { color: var(--f2in-sec-muted); }

/* ---------- En-tête secteur ---------- */
.f2in-sec-hero { background: var(--f2in-sec-green); color: var(--f2in-sec-white); padding-block: var(--f2in-sec-space-8) 136px; }
.f2in-sec-hero a:not(.f2in-sec-btn) { color: var(--f2in-sec-white); }
.f2in-sec-hero a:not(.f2in-sec-btn):hover { color: var(--f2in-sec-white); text-decoration-color: var(--f2in-sec-yellow); }
.f2in-sec-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--f2in-sec-space-8); align-items: start; }
.f2in-sec-hero__text { display: grid; gap: var(--f2in-sec-space-5); justify-items: start; }
.f2in-sec-hero__meta { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-3); align-items: center; }
.f2in-sec-hero__meta .f2in-sec-eyebrow { color: var(--f2in-sec-yellow); }
.f2in-sec-hero__meta .f2in-sec-eyebrow::before { display: none; }
.f2in-sec-hero__sector { font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: 1.25rem; }
.f2in-sec-hero__title { font-weight: 800; font-size: clamp(2.125rem, 1.1rem + 2.8vw, 3.5rem); line-height: 1.08; max-inline-size: 22ch; }
.f2in-sec-hero__chapo { font-size: 1.125rem; line-height: 1.6; max-inline-size: 64ch; color: rgba(255,255,255,.92); }
.f2in-sec-hero__jump { display: inline-flex; align-items: center; gap: 6px; font-size: .9375rem; }
.f2in-sec-hero__figure { display: grid; gap: var(--f2in-sec-space-4); max-inline-size: 600px; justify-self: end; inline-size: 100%; }
.f2in-sec-hero__caption { display: grid; gap: var(--f2in-sec-space-2); padding-inline-start: var(--f2in-sec-space-4); border-inline-start: 3px solid var(--f2in-sec-yellow); }
.f2in-sec-hero__caption strong { font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .75rem; letter-spacing: .16em; color: var(--f2in-sec-yellow); }
.f2in-sec-hero__caption span { font-size: .9375rem; color: rgba(255,255,255,.88); }

/* Cadre photo : format fixe, object-fit cover, ≤ 600 px (photos 500–950 px) */
.f2in-sec-photo { position: relative; aspect-ratio: 4 / 3; border-radius: var(--f2in-sec-radius); overflow: hidden; background: var(--f2in-sec-green-dark); }
.f2in-sec-photo img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.f2in-sec-photo--placeholder { display: grid; place-items: center; background: repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 12px, transparent 12px 24px), var(--f2in-sec-green-dark); color: rgba(255,255,255,.7); font-size: .8125rem; font-family: ui-monospace, monospace; }
.f2in-sec-photo--placeholder.f2in-sec-photo--light { background: repeating-linear-gradient(135deg, rgba(0,92,69,.06) 0 12px, transparent 12px 24px), var(--f2in-sec-green-50); color: var(--f2in-sec-green); }

/* ---------- Chiffres clés ---------- */
.f2in-sec-kpis { position: relative; margin-block-start: -88px; }
.f2in-sec-kpis__list { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--f2in-sec-space-4); list-style: none; margin: 0; padding: 0; }
.f2in-sec-kpi { display: flex; flex-direction: column; gap: var(--f2in-sec-space-2); padding: var(--f2in-sec-space-5) 20px 20px; background: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); border-block-start: 4px solid var(--f2in-sec-yellow); }
.f2in-sec-kpi__value { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: clamp(1.375rem, .9rem + 1vw, 1.875rem); line-height: 1.1; color: var(--f2in-sec-green); }
.f2in-sec-kpi__label { font-size: .9375rem; line-height: 1.4; }
.f2in-sec-kpi__source { margin-block-start: auto; padding-block-start: var(--f2in-sec-space-3); border-block-start: 1px solid var(--f2in-sec-line); }

/* ---------- Barre d'ancres (bureau) ---------- */
.f2in-sec-anchors { position: sticky; inset-block-start: var(--f2in-sec-sticky-top); z-index: 20; margin-block-start: var(--f2in-sec-space-7); background: rgba(255,255,255,.97); border-block: 1px solid var(--f2in-sec-line); }
.f2in-sec-anchors__in { display: flex; align-items: center; justify-content: space-between; gap: var(--f2in-sec-space-5); }
.f2in-sec-anchors ul { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-1); list-style: none; margin: 0; padding: 0; }
.f2in-sec-anchors ul a { display: block; padding: 18px 14px; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .875rem; color: var(--f2in-sec-text); text-decoration: none; box-shadow: inset 0 -3px 0 transparent; }
.f2in-sec-anchors ul a:hover { color: var(--f2in-sec-green); box-shadow: inset 0 -3px 0 var(--f2in-sec-orange); }
.f2in-sec-anchors ul a[aria-current="true"] { color: var(--f2in-sec-green); box-shadow: inset 0 -3px 0 var(--f2in-sec-yellow); }

/* ---------- Synthèse ---------- */
.f2in-sec-synth__intro { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--f2in-sec-space-8); align-items: start; margin-block-end: var(--f2in-sec-space-8); }
.f2in-sec-synth__intro .f2in-sec-head { margin: 0; }
.f2in-sec-blocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--f2in-sec-space-5); }
.f2in-sec-block { display: grid; gap: var(--f2in-sec-space-3); align-content: start; padding: var(--f2in-sec-space-6); background: var(--f2in-sec-bg); border-radius: var(--f2in-sec-radius); }
.f2in-sec-block__value { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: clamp(2rem, 1.4rem + 1.4vw, 2.75rem); line-height: 1.05; color: var(--f2in-sec-green); }
.f2in-sec-block__label { font-family: var(--f2in-sec-font-head); font-weight: 600; }
.f2in-sec-block__subs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--f2in-sec-space-5); margin-block-start: var(--f2in-sec-space-3); padding-block-start: var(--f2in-sec-space-5); border-block-start: 2px solid var(--f2in-sec-line); list-style: none; padding-inline: 0; margin-block-end: 0; }
.f2in-sec-block__subs li { display: grid; gap: var(--f2in-sec-space-1); align-content: start; font-size: .9375rem; line-height: 1.45; }
.f2in-sec-num { font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: 1.25rem; color: var(--f2in-sec-green); }

.f2in-sec-markers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--f2in-sec-space-6); list-style: none; margin: var(--f2in-sec-space-8) 0; padding: 0; }
.f2in-sec-marker { display: grid; gap: var(--f2in-sec-space-2); align-content: start; padding-block-start: var(--f2in-sec-space-4); border-block-start: 2px solid var(--f2in-sec-green); }
.f2in-sec-marker__value { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: 1.75rem; line-height: 1.1; color: var(--f2in-sec-green); }
.f2in-sec-marker__text { font-size: .9375rem; line-height: 1.5; }

.f2in-sec-quote { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--f2in-sec-space-7); align-items: end; padding: var(--f2in-sec-space-8) var(--f2in-sec-space-8) var(--f2in-sec-space-7); background: var(--f2in-sec-green); color: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); }
.f2in-sec-quote__main { display: grid; gap: var(--f2in-sec-space-5); }
.f2in-sec-quote .f2in-sec-eyebrow { color: var(--f2in-sec-yellow); }
.f2in-sec-quote__icon { inline-size: 40px; block-size: 40px; color: var(--f2in-sec-yellow); fill: currentColor; stroke: none; }
.f2in-sec-quote blockquote p { font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: clamp(1.25rem, .95rem + .9vw, 1.75rem); line-height: 1.35; }
.f2in-sec-quote__comment { font-size: 1rem; line-height: 1.55; color: rgba(255,255,255,.9); padding-block-start: var(--f2in-sec-space-4); border-block-start: 2px solid rgba(255,255,255,.3); }

.f2in-sec-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--f2in-sec-space-6); list-style: none; margin: var(--f2in-sec-space-8) 0; padding: 0; counter-reset: pillar; }
.f2in-sec-pillar { display: grid; gap: var(--f2in-sec-space-3); align-content: start; padding-block-start: var(--f2in-sec-space-4); border-block-start: 2px solid var(--f2in-sec-line); counter-increment: pillar; }
.f2in-sec-pillar::before { content: "0" counter(pillar); font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: .875rem; color: var(--f2in-sec-orange); }

.f2in-sec-chart { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--f2in-sec-space-7); padding: var(--f2in-sec-space-6); border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); background: var(--f2in-sec-white); }
.f2in-sec-chart__head { display: grid; gap: var(--f2in-sec-space-3); align-content: start; }
.f2in-sec-chart__bars { display: grid; gap: var(--f2in-sec-space-4); list-style: none; margin: 0; padding: 0; }
.f2in-sec-bar { display: grid; grid-template-columns: minmax(7.5rem, 9rem) minmax(0, 1fr) 4.5rem; gap: var(--f2in-sec-space-4); align-items: center; font-size: .9375rem; }
.f2in-sec-bar__track { block-size: 16px; background: var(--f2in-sec-bg); border-radius: var(--f2in-sec-radius-pill); overflow: hidden; }
.f2in-sec-bar__fill { display: block; block-size: 100%; inline-size: calc(var(--v) * 2.5%); min-inline-size: 4px; background: var(--f2in-sec-green); border-radius: var(--f2in-sec-radius-pill); }
.f2in-sec-bar__value { font-family: var(--f2in-sec-font-head); font-weight: 700; color: var(--f2in-sec-green); text-align: end; }

/* ---------- Opportunités ---------- */
.f2in-sec-opps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--f2in-sec-space-5); align-items: start; }
.f2in-sec-opp { --h: var(--f2in-sec-grey); --h-ink: var(--f2in-sec-text); display: flex; flex-direction: column; background: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); border-block-start: 6px solid var(--h); overflow: hidden; scroll-margin-block-start: 90px; }
.f2in-sec-opp--immediat { --h: var(--f2in-sec-bright); --h-ink: var(--f2in-sec-green); }
.f2in-sec-opp--court { --h: var(--f2in-sec-yellow); --h-ink: #5a4200; }
.f2in-sec-opp--moyen { --h: var(--f2in-sec-blue); --h-ink: #1e4678; }
.f2in-sec-opp--long { --h: var(--f2in-sec-brown); --h-ink: #5b3f24; }
.f2in-sec-opp__body { display: grid; gap: var(--f2in-sec-space-4); padding: var(--f2in-sec-space-5) 28px; }
.f2in-sec-opp__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--f2in-sec-space-3); }
.f2in-sec-opp__num { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: 2rem; line-height: 1; color: var(--h-ink); }
.f2in-sec-opp__title { font-weight: 700; font-size: 1.1875rem; color: var(--f2in-sec-text); }
.f2in-sec-opp__desc { font-size: .9375rem; line-height: 1.55; }
.f2in-sec-opp__facts { display: grid; gap: var(--f2in-sec-space-3); padding: var(--f2in-sec-space-4); background: var(--f2in-sec-bg); border-radius: var(--f2in-sec-radius-sm); }
.f2in-sec-opp__facts dt { font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--f2in-sec-muted); }
.f2in-sec-opp__amount { font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: 1.0625rem; line-height: 1.35; color: var(--f2in-sec-green); }
.f2in-sec-opp__scope { display: flex; gap: 6px; align-items: baseline; font-size: .9375rem; }
.f2in-sec-opp__scope .f2in-sec-ico { color: var(--f2in-sec-muted); align-self: center; inline-size: 16px; block-size: 16px; }
.f2in-sec-opp__toggle { display: flex; justify-content: space-between; align-items: center; gap: var(--f2in-sec-space-3); inline-size: 100%; min-block-size: 52px; margin-block-start: auto; padding: 14px 28px; border: 0; border-block-start: 1px solid var(--f2in-sec-line); background: none; color: var(--f2in-sec-green); font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .9375rem; text-align: start; cursor: pointer; }
.f2in-sec-opp__toggle:hover, .f2in-sec-opp__toggle.is-hover { background: var(--f2in-sec-green-50); }
.f2in-sec-opp__toggle:hover .f2in-sec-ico, .f2in-sec-opp__toggle.is-hover .f2in-sec-ico { color: var(--f2in-sec-orange); }
.f2in-sec-opp__toggle:focus-visible { outline-offset: -3px; }
.f2in-sec-opp__toggle .f2in-sec-ico { transition: transform .2s; }
.f2in-sec-opp__toggle[aria-expanded="true"] .f2in-sec-ico { transform: rotate(180deg); }
.f2in-sec-opp__panel { padding: 0 28px var(--f2in-sec-space-5); font-size: .9375rem; line-height: 1.55; background: var(--f2in-sec-green-50); }
.f2in-sec-opp__panel p { padding-block-start: var(--f2in-sec-space-1); }
/* Encadré qui complète la dernière ligne de la grille (PHP : data-count = nombre d'opportunités) */
.f2in-sec-opps[data-count="7"] > .f2in-sec-note, .f2in-sec-opps[data-count="4"] > .f2in-sec-note, .f2in-sec-opps[data-count="10"] > .f2in-sec-note { grid-column: span 2; }
.f2in-sec-opps > .f2in-sec-note { align-self: stretch; }

.f2in-sec-note { display: grid; gap: var(--f2in-sec-space-3); align-content: start; padding: var(--f2in-sec-space-6); background: var(--f2in-sec-yellow-50); border: 1px solid #f1d991; border-radius: var(--f2in-sec-radius); }
.f2in-sec-note__title { display: flex; gap: var(--f2in-sec-space-3); align-items: center; font-weight: 700; font-size: 1.0625rem; color: var(--f2in-sec-ink-on-yellow); }
.f2in-sec-note__title .f2in-sec-ico { color: var(--f2in-sec-ink-on-yellow); inline-size: 22px; block-size: 22px; }
.f2in-sec-note p { font-size: .9375rem; line-height: 1.6; max-inline-size: var(--f2in-sec-measure); }

/* ---------- Pour qui et comment ---------- */
.f2in-sec-publics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--f2in-sec-space-5); list-style: none; margin: 0 0 var(--f2in-sec-space-8); padding: 0; }
.f2in-sec-public { display: grid; gap: var(--f2in-sec-space-3); align-content: start; padding: var(--f2in-sec-space-6); background: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); }
.f2in-sec-public__icon { display: grid; place-items: center; inline-size: 44px; block-size: 44px; border-radius: 50%; background: var(--f2in-sec-yellow-50); color: var(--f2in-sec-green); }
.f2in-sec-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--f2in-sec-space-8); align-items: start; }
.f2in-sec-xlinks { display: grid; gap: var(--f2in-sec-space-4); list-style: none; margin: 0; padding: 0; }
.f2in-sec-xlink { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--f2in-sec-space-4); align-items: start; padding: 20px var(--f2in-sec-space-5); background: var(--f2in-sec-white); border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); transition: border-color .15s, box-shadow .15s; }
.f2in-sec-xlink:hover, .f2in-sec-xlink.is-hover { border-color: var(--f2in-sec-orange); box-shadow: var(--f2in-sec-shadow); }
.f2in-sec-xlink:focus-within { outline: 3px solid var(--f2in-sec-orange); outline-offset: 2px; }
.f2in-sec-xlink a { font-family: var(--f2in-sec-font-head); font-weight: 700; color: var(--f2in-sec-green); text-decoration: none; }
.f2in-sec-xlink a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.f2in-sec-xlink a:focus-visible { outline: none; }
.f2in-sec-xlink p { font-size: .9375rem; line-height: 1.5; margin-block-start: var(--f2in-sec-space-1); }
.f2in-sec-xlink > .f2in-sec-ico { color: var(--f2in-sec-green); margin-block-start: 4px; }

/* ---------- Chaîne de valeur ---------- */
.f2in-sec-chain { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--f2in-sec-space-4); list-style: none; margin: 0 0 var(--f2in-sec-space-6); padding: 0; }
.f2in-sec-chain::before { content: ""; position: absolute; inset-inline: 10%; inset-block-start: 22px; block-size: 2px; background: var(--f2in-sec-line); }
.f2in-sec-chain__step { position: relative; display: grid; grid-template-rows: auto auto 1fr; gap: var(--f2in-sec-space-4); justify-items: start; }
.f2in-sec-chain__num { position: relative; display: grid; place-items: center; inline-size: 44px; block-size: 44px; border-radius: 50%; background: var(--f2in-sec-white); border: 2px solid var(--f2in-sec-green); color: var(--f2in-sec-green); font-family: var(--f2in-sec-font-head); font-weight: 800; }
.f2in-sec-chain__card { display: grid; gap: var(--f2in-sec-space-2); align-content: start; inline-size: 100%; block-size: 100%; padding: 20px; background: var(--f2in-sec-white); border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); }
.f2in-sec-chain__card h3 { font-weight: 700; font-size: 1.0625rem; color: var(--f2in-sec-green); }
.f2in-sec-chain__card p { font-size: .9375rem; line-height: 1.5; }
.f2in-sec-chain__flag { justify-self: start; }
.f2in-sec-chain__step--priority .f2in-sec-chain__num { background: var(--f2in-sec-yellow); border-color: var(--f2in-sec-yellow); color: var(--f2in-sec-ink-on-yellow); }
.f2in-sec-chain__step--priority .f2in-sec-chain__card { background: var(--f2in-sec-green); border-color: var(--f2in-sec-green); color: var(--f2in-sec-white); }
.f2in-sec-chain__step--priority .f2in-sec-chain__card h3 { color: var(--f2in-sec-white); }
.f2in-sec-readout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: var(--f2in-sec-space-6); padding: var(--f2in-sec-space-6); background: var(--f2in-sec-bg); border-radius: var(--f2in-sec-radius); }
.f2in-sec-section--tint .f2in-sec-readout { background: var(--f2in-sec-white); }

/* ---------- Tableaux (cartes empilées sur mobile) ---------- */
.f2in-sec-table { inline-size: 100%; border-collapse: separate; border-spacing: 0; background: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); overflow: hidden; font-size: .9375rem; line-height: 1.5; }
.f2in-sec-table caption { text-align: start; padding-block-end: var(--f2in-sec-space-3); }
.f2in-sec-table th[scope="col"] { padding: 14px 20px; background: var(--f2in-sec-green); color: var(--f2in-sec-white); font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; text-align: start; vertical-align: bottom; }
.f2in-sec-table td, .f2in-sec-table th[scope="row"] { padding: 20px; text-align: start; vertical-align: top; border-block-start: 1px solid var(--f2in-sec-line); }
.f2in-sec-table tbody tr:first-child > * { border-block-start: 0; }
.f2in-sec-table th[scope="row"] { font-family: var(--f2in-sec-font-head); font-weight: 700; color: var(--f2in-sec-green); }
.f2in-sec-table tbody tr:hover > * { background: #fafbfd; }

/* ---------- Territoire ---------- */
.f2in-sec-territory { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--f2in-sec-space-6); align-items: start; }
.f2in-sec-map { display: grid; gap: var(--f2in-sec-space-3); padding: var(--f2in-sec-space-5); background: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); }
.f2in-sec-map svg { inline-size: 100%; block-size: auto; }
.f2in-sec-map__country { fill: var(--f2in-sec-green-50); stroke: var(--f2in-sec-green); stroke-width: 2; stroke-linejoin: round; }
.f2in-sec-map__pt { fill: var(--f2in-sec-bright); stroke: var(--f2in-sec-white); stroke-width: 3; }
.f2in-sec-map__cap { fill: var(--f2in-sec-green-dark); stroke: var(--f2in-sec-white); stroke-width: 3; }
.f2in-sec-map__label { font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: 15px; fill: var(--f2in-sec-text); paint-order: stroke; stroke: var(--f2in-sec-green-50); stroke-width: 4px; }
.f2in-sec-map__legend { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-2) var(--f2in-sec-space-5); list-style: none; margin: 0; padding: 0; font-size: .8125rem; color: var(--f2in-sec-muted); }
.f2in-sec-map__legend li { display: flex; gap: 6px; align-items: center; }
.f2in-sec-map__legend i { inline-size: 10px; block-size: 10px; border-radius: 50%; background: var(--f2in-sec-bright); }
.f2in-sec-map__legend i.is-cap { border-radius: 2px; background: var(--f2in-sec-green-dark); }

/* ---------- Marchés, contact, avertissement, navigation ---------- */
.f2in-sec-markets { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--f2in-sec-space-8); align-items: start; }
.f2in-sec-contact { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--f2in-sec-space-7); align-items: stretch; }
.f2in-sec-contact__box { display: grid; gap: var(--f2in-sec-space-5); align-content: start; padding: var(--f2in-sec-space-7); background: var(--f2in-sec-green); color: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); }
.f2in-sec-contact__box h3 { color: var(--f2in-sec-white); font-weight: 800; font-size: 1.5rem; }
.f2in-sec-contact__org { font-size: .9375rem; color: rgba(255,255,255,.88); }
.f2in-sec-contact__list { display: grid; gap: var(--f2in-sec-space-3); list-style: none; margin: 0; padding: 0; }
.f2in-sec-contact__list li { display: flex; gap: var(--f2in-sec-space-3); align-items: center; }
.f2in-sec-contact__list a { color: var(--f2in-sec-white); }
.f2in-sec-contact__list a:hover { color: var(--f2in-sec-white); text-decoration-color: var(--f2in-sec-yellow); }
.f2in-sec-contact__list .f2in-sec-ico { color: var(--f2in-sec-yellow); }

.f2in-sec-legal { border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); background: var(--f2in-sec-white); }
.f2in-sec-legal__toggle { display: flex; justify-content: space-between; align-items: center; gap: var(--f2in-sec-space-3); inline-size: 100%; min-block-size: 56px; padding: 16px var(--f2in-sec-space-5); border: 0; background: none; border-radius: inherit; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .9375rem; color: var(--f2in-sec-text); text-align: start; cursor: pointer; }
.f2in-sec-legal__toggle > span { display: flex; gap: var(--f2in-sec-space-3); align-items: center; }
.f2in-sec-legal__toggle:hover, .f2in-sec-legal__toggle.is-hover { background: var(--f2in-sec-bg); }
.f2in-sec-legal__toggle[aria-expanded="true"] > .f2in-sec-ico { transform: rotate(180deg); }
.f2in-sec-legal__panel { display: grid; gap: var(--f2in-sec-space-4); padding: 0 var(--f2in-sec-space-5) var(--f2in-sec-space-5); font-size: .8125rem; line-height: 1.6; color: var(--f2in-sec-muted); }
.f2in-sec-legal__panel h3 { font-size: .8125rem; font-weight: 700; color: var(--f2in-sec-text); }
.f2in-sec-legal__panel ul { margin: 0; padding-inline-start: 1.2em; columns: 2; column-gap: var(--f2in-sec-space-7); }
.f2in-sec-legal__panel p, .f2in-sec-legal__panel ul { max-inline-size: none; }

.f2in-sec-pager { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--f2in-sec-space-4); align-items: stretch; }
.f2in-sec-pager__link { display: grid; gap: var(--f2in-sec-space-1); padding: 20px var(--f2in-sec-space-5); border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); text-decoration: none; background: var(--f2in-sec-white); }
.f2in-sec a.f2in-sec-pager__link { text-decoration: none; color: var(--f2in-sec-text); }
.f2in-sec a.f2in-sec-pager__link:hover { border-color: var(--f2in-sec-orange); box-shadow: var(--f2in-sec-shadow); color: var(--f2in-sec-text); }
.f2in-sec-pager__link small { display: flex; gap: 6px; align-items: center; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--f2in-sec-muted); }
.f2in-sec-pager__link strong { font-family: var(--f2in-sec-font-head); font-weight: 700; color: var(--f2in-sec-green); }
.f2in-sec-pager__link--next { text-align: end; justify-items: end; }
.f2in-sec-pager__home { align-self: center; }

.f2in-sec-float { display: none; position: fixed; inset-inline-end: 16px; inset-block-end: 16px; z-index: 50; box-shadow: 0 8px 24px rgba(0,0,0,.22); }

/* ---------- Portail : cartes secteur ---------- */
.f2in-sec-intro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--f2in-sec-space-8); align-items: end; }
.f2in-sec-intro__text { display: grid; gap: var(--f2in-sec-space-5); justify-items: start; }
.f2in-sec-intro__aside { display: grid; gap: var(--f2in-sec-space-4); justify-items: start; }
.f2in-sec-grid { --f2in-sec-cols: 4; display: grid; grid-template-columns: repeat(var(--f2in-sec-cols), minmax(0, 1fr)); gap: var(--f2in-sec-space-5); list-style: none; margin: 0; padding: 0; }
.f2in-sec-scard { position: relative; display: flex; flex-direction: column; gap: var(--f2in-sec-space-4); block-size: 100%; padding: 28px; background: var(--f2in-sec-white); border: 1px solid transparent; border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); transition: border-color .15s, box-shadow .15s; }
.f2in-sec-scard:hover, .f2in-sec-scard.is-hover { border-color: var(--f2in-sec-orange); box-shadow: var(--f2in-sec-shadow-hover); }
.f2in-sec-scard:focus-within { outline: 3px solid var(--f2in-sec-orange); outline-offset: 3px; }
.f2in-sec-scard__top { display: flex; justify-content: space-between; align-items: center; }
.f2in-sec-scard__icon { display: grid; place-items: center; inline-size: 48px; block-size: 48px; border-radius: 50%; background: var(--f2in-sec-green-50); color: var(--f2in-sec-green); }
.f2in-sec-scard__icon .f2in-sec-ico { inline-size: 24px; block-size: 24px; stroke-width: 1.6; }
.f2in-sec-scard__name { font-weight: 700; font-size: 1.1875rem; }
.f2in-sec-scard__name a { color: var(--f2in-sec-green); text-decoration: none; }
.f2in-sec-scard__name a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.f2in-sec-scard__name a:focus-visible { outline: none; }
.f2in-sec-scard__hook { font-size: .9375rem; line-height: 1.5; }
.f2in-sec-scard__fig { display: grid; gap: 2px; margin-block-start: auto; padding-block-start: var(--f2in-sec-space-4); border-block-start: 1px solid var(--f2in-sec-line); }
.f2in-sec-scard__fig strong { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: 1.5rem; line-height: 1.15; color: var(--f2in-sec-green); }
.f2in-sec-scard__fig span { font-size: .875rem; line-height: 1.4; color: var(--f2in-sec-muted); }
.f2in-sec-scard__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--f2in-sec-space-2); font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .8125rem; }
.f2in-sec-scard__count { padding: 4px 10px; border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-yellow-50); color: #5a4200; }
.f2in-sec-scard__go { display: inline-flex; gap: 6px; align-items: center; color: var(--f2in-sec-green); }
.f2in-sec-scard:hover .f2in-sec-scard__go .f2in-sec-ico, .f2in-sec-scard.is-hover .f2in-sec-scard__go .f2in-sec-ico { color: var(--f2in-sec-orange); }
/* Tuile de clôture : comble la dernière ligne (13 cartes → 4 col : span 3 · 3 col : span 2 · 2 col : span 1) */
.f2in-sec-gridcta { --f2in-sec-span: 3; grid-column: span var(--f2in-sec-span); display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--f2in-sec-space-6); align-items: end; padding: var(--f2in-sec-space-7); background: var(--f2in-sec-green); color: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); }
.f2in-sec-gridcta h2 { font-weight: 800; font-size: clamp(1.5rem, 1rem + 1.2vw, 2.125rem); }
.f2in-sec-gridcta .f2in-sec-eyebrow { color: var(--f2in-sec-yellow); }
.f2in-sec-gridcta__icons { grid-column: 1 / -1; align-self: start; display: grid; grid-template-columns: repeat(auto-fill, 36px); grid-auto-rows: 36px; justify-content: space-between; gap: 0 var(--f2in-sec-space-4); overflow: hidden; max-block-size: 36px; box-sizing: content-box; margin-block-end: var(--f2in-sec-space-5); }
.f2in-sec-gridcta__icon { inline-size: 36px; block-size: 36px; fill: none; stroke: rgba(255,255,255,.32); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.f2in-sec-gridcta__icon.is-accent { stroke: var(--f2in-sec-yellow); }
.f2in-sec-gridcta__text { display: grid; gap: var(--f2in-sec-space-4); }
.f2in-sec-gridcta__aside { display: grid; gap: var(--f2in-sec-space-4); justify-items: start; }
.f2in-sec-gridcta a:not(.f2in-sec-btn) { color: var(--f2in-sec-white); }

.f2in-sec-cta { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--f2in-sec-space-7); align-items: center; padding: var(--f2in-sec-space-8); background: var(--f2in-sec-green); color: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); }
.f2in-sec-cta h2 { font-weight: 800; font-size: clamp(1.625rem, 1.1rem + 1.4vw, 2.375rem); }
.f2in-sec-cta__text { display: grid; gap: var(--f2in-sec-space-4); justify-items: start; }
.f2in-sec-cta__contact { display: grid; gap: var(--f2in-sec-space-4); padding-inline-start: var(--f2in-sec-space-6); border-inline-start: 2px solid rgba(255,255,255,.3); }

/* ---------- Page opportunités : filtres ---------- */
.f2in-sec-filters { position: sticky; inset-block-start: var(--f2in-sec-sticky-top); z-index: 20; background: var(--f2in-sec-white); border-block: 1px solid var(--f2in-sec-line); box-shadow: 0 4px 12px rgba(16,40,60,.04); }
.f2in-sec-filters__toggle { display: none; }
.f2in-sec-filters__panel { display: grid; gap: var(--f2in-sec-space-4); padding-block: var(--f2in-sec-space-4); }
.f2in-sec .f2in-sec-filters__panel[hidden] { display: grid; }
.f2in-sec-filters__row { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-4) var(--f2in-sec-space-6); align-items: center; }
.f2in-sec-filters__row--top { justify-content: space-between; }
.f2in-sec-filters__main { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-3); align-items: center; flex: 1 1 520px; }
.f2in-sec-filters__status { display: flex; gap: var(--f2in-sec-space-4); align-items: center; }
.f2in-sec-filters__count { font-size: .9375rem; }
.f2in-sec-filters__count strong { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: 1.125rem; color: var(--f2in-sec-green); }
.f2in-sec-search { position: relative; flex: 1 1 280px; max-inline-size: 440px; }
.f2in-sec-search .f2in-sec-ico { position: absolute; inset-inline-start: 16px; inset-block-start: 50%; translate: 0 -50%; color: var(--f2in-sec-muted); pointer-events: none; }
.f2in-sec-input { inline-size: 100%; min-block-size: 46px; padding: 10px 16px; padding-inline-start: 44px; border: 1.5px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-white); font: inherit; font-size: .9375rem; color: var(--f2in-sec-text); }
.f2in-sec-input:hover { border-color: #b9c3d1; }
.f2in-sec-input:focus-visible { outline: 3px solid var(--f2in-sec-orange); outline-offset: 1px; border-color: var(--f2in-sec-green); }
/* Le thème (input[type=search]) l'emporte sur .f2in-sec-input : sélecteur renforcé pour laisser la place à la loupe */
.f2in-sec-search input.f2in-sec-input[type] { padding: 10px 16px 10px 50px; border: 1.5px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-white); color: var(--f2in-sec-text); }
.f2in-sec-search input.f2in-sec-input[type]:hover { border-color: #b9c3d1; }
.f2in-sec-search input.f2in-sec-input[type]:focus { border-color: var(--f2in-sec-green); }
.f2in-sec-group { display: flex; flex-wrap: wrap; gap: var(--f2in-sec-space-2); align-items: center; margin: 0; padding: 0; border: 0; min-inline-size: 0; }
.f2in-sec-group legend { float: inline-start; margin-inline-end: var(--f2in-sec-space-2); padding: 0; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--f2in-sec-muted); line-height: 36px; }
.f2in-sec-chip { position: relative; display: inline-flex; }
.f2in-sec-chip input { position: absolute; opacity: 0; inline-size: 1px; block-size: 1px; }
.f2in-sec-chip span { display: inline-flex; align-items: center; gap: 7px; min-block-size: 36px; padding: 6px 14px; border: 1.5px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-white); font-family: var(--f2in-sec-font-head); font-weight: 500; font-size: .8125rem; cursor: pointer; user-select: none; }
.f2in-sec-chip span[data-dot]::before { content: ""; inline-size: 9px; block-size: 9px; border-radius: 50%; background: var(--dot); }
.f2in-sec-chip span[data-dot="immediat"] { --dot: var(--f2in-sec-bright); }
.f2in-sec-chip span[data-dot="court"] { --dot: var(--f2in-sec-yellow); }
.f2in-sec-chip span[data-dot="moyen"] { --dot: var(--f2in-sec-blue); }
.f2in-sec-chip:hover span, .f2in-sec-chip.is-hover span { border-color: var(--f2in-sec-orange); }
.f2in-sec-chip input:focus-visible + span, .f2in-sec-chip.is-focus span { outline: 3px solid var(--f2in-sec-orange); outline-offset: 2px; }
.f2in-sec-chip.is-focus { outline: 0; }
.f2in-sec-chip input:checked + span { background: var(--f2in-sec-green); border-color: var(--f2in-sec-green); color: var(--f2in-sec-white); }
.f2in-sec-chip input:checked + span::after { content: ""; inline-size: 10px; block-size: 6px; border-inline-start: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(-45deg) translate(1px, -2px); }
.f2in-sec-dd { position: relative; }
.f2in-sec-dd__btn { display: inline-flex; align-items: center; gap: 8px; min-block-size: 46px; padding: 10px 18px; border: 1.5px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius-pill); background: var(--f2in-sec-white); font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .875rem; color: var(--f2in-sec-text); cursor: pointer; }
.f2in-sec-dd__btn:hover { border-color: var(--f2in-sec-orange); }
.f2in-sec-dd__btn.is-active { border-color: var(--f2in-sec-green); background: var(--f2in-sec-green-50); color: var(--f2in-sec-green); }
.f2in-sec-dd__btn[aria-expanded="true"] .f2in-sec-ico { transform: rotate(180deg); }
.f2in-sec-dd__panel { position: absolute; inset-block-start: calc(100% + 8px); inset-inline-start: 0; z-index: 30; inline-size: min(380px, 90vw); max-block-size: 420px; overflow: auto; padding: var(--f2in-sec-space-3); background: var(--f2in-sec-white); border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow-hover); }
.f2in-sec-check { display: flex; gap: var(--f2in-sec-space-3); align-items: center; min-block-size: 44px; padding: 8px 12px; border-radius: var(--f2in-sec-radius-sm); font-size: .9375rem; cursor: pointer; }
.f2in-sec-check:hover { background: var(--f2in-sec-bg); }
.f2in-sec-check input { inline-size: 18px; block-size: 18px; accent-color: var(--f2in-sec-green); flex: none; }
.f2in-sec-check b { font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .8125rem; color: var(--f2in-sec-green); min-inline-size: 2.4em; }

.f2in-sec-section--opps { background: linear-gradient(180deg, #f7f6ef, #efeee4); }
.f2in-sec-results { display: grid; gap: 28px; max-inline-size: 1320px; margin-inline: auto; }
.f2in-sec-results__meta { display: grid; gap: 6px; justify-items: center; text-align: center; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; color: var(--f2in-sec-green); }
.f2in-sec-results__meta span + span { color: #c9971a; }
.f2in-sec-olist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 40px; list-style: none; margin: 0; padding: 0; }

/* Carte d'opportunité illustrée : photo détourée en arc, pictogramme doré, CTA en pilule */
.f2in-sec-oitem { --h: var(--f2in-sec-grey); display: grid; }
.f2in-sec-oitem--immediat { --h: var(--f2in-sec-bright); }
.f2in-sec-oitem--court { --h: var(--f2in-sec-yellow); }
.f2in-sec-oitem--moyen { --h: var(--f2in-sec-blue); }
.f2in-sec-oitem--long { --h: var(--f2in-sec-brown); }
.f2in-sec-ocard { position: relative; display: grid; grid-template-rows: 1fr auto; min-block-size: 300px; background: #fbfaf6; color: var(--f2in-sec-text); text-decoration: none; border-radius: 22px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 64, 47, .10); transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s; }
.f2in-sec-ocard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 64, 47, .18); color: var(--f2in-sec-text); text-decoration: none; }
.f2in-sec-ocard:focus-visible { outline: 3px solid var(--f2in-sec-orange); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .f2in-sec-ocard, .f2in-sec-ocard:hover { transition: none; transform: none; } }
/* Pas de fond derrière la photo (il apparaissait en rectangle pendant le zoom) ; couche isolée pour que le détourage suive le zoom */
.f2in-sec-ocard__photo { position: absolute; inset-block-start: 0; inset-inline-end: 0; inline-size: 46%; block-size: 82%; clip-path: ellipse(92% 78% at 100% 18%); overflow: hidden; isolation: isolate; will-change: transform; transform: translateZ(0); }
.f2in-sec-ocard__photo img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transform-origin: 70% 30%; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.f2in-sec-ocard:hover .f2in-sec-ocard__photo img { transform: scale(1.05); }
.f2in-sec-ocard__body { position: relative; display: grid; gap: 10px; align-content: start; padding: 24px 24px 0; max-inline-size: 60%; }
.f2in-sec-oitem__sector { display: flex; gap: 10px; align-items: center; min-inline-size: 0; font-size: .875rem; color: #33384a; }
.f2in-sec-oitem__sector .f2in-sec-code { flex: none; background: var(--f2in-sec-green); color: #fff; font-weight: 800; font-size: .8125rem; padding: 3px 10px; border-radius: 8px; }
.f2in-sec-oitem__sname { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f2in-sec-ocard .f2in-sec-oitem__title { margin: 4px 0 0; font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: 1.25rem; line-height: 1.25; text-wrap: pretty; color: var(--f2in-sec-text); }
.f2in-sec-oitem__amount { font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--f2in-sec-green); }
.f2in-sec-oitem__scope { display: flex; gap: 8px; align-items: center; font-size: .875rem; color: #33384a; }
.f2in-sec-oitem__scope .f2in-sec-ico { inline-size: 15px; block-size: 15px; flex: none; color: var(--f2in-sec-green); }
.f2in-sec-ocard__picto { display: flex; gap: 10px; align-items: flex-end; margin-block-start: 6px; color: #c9971a; }
.f2in-sec-ocard__icon { flex: none; }
.f2in-sec-ocard__rule { inline-size: 64px; block-size: 2px; background: #c9971a; margin-block-end: 6px; }
.f2in-sec-ocard__foot { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-block-start: 18px; margin-inline-end: 26px; padding: 16px 16px 18px 20px; background: #fbfaf6; border-start-end-radius: 40px; }
.f2in-sec-ocard__foot .f2in-sec-pill { padding: 7px 12px; font-weight: 700; letter-spacing: .06em; }
.f2in-sec-ocard__cta { display: inline-flex; gap: 10px; align-items: center; background: var(--f2in-sec-green); color: #fff; font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .875rem; padding: 11px 16px; border-radius: 999px; white-space: nowrap; transition: background .2s; }
.f2in-sec-ocard__cta .f2in-sec-ico { inline-size: 16px; block-size: 16px; }
.f2in-sec-ocard:hover .f2in-sec-ocard__cta { background: #00402f; }
.f2in-sec-ocard__tab { position: absolute; inset-inline-end: 0; inset-block-end: 0; inline-size: 26px; block-size: 96px; background: linear-gradient(180deg, var(--h), #00402f); border-start-start-radius: 26px; }
.f2in-sec-loadmore { display: grid; justify-items: center; gap: 8px; margin-block-start: 16px; }
.f2in-sec-loadmore[hidden] { display: none; }
/* Bouton « Voir plus » : fond vert, texte blanc, y compris au survol (le thème colore les boutons) */
.f2in-sec .f2in-sec-loadmore button.f2in-sec-btn { background: var(--f2in-sec-green); border-color: var(--f2in-sec-green); color: #fff; }
.f2in-sec .f2in-sec-loadmore button.f2in-sec-btn:hover, .f2in-sec .f2in-sec-loadmore button.f2in-sec-btn:focus { background: #00402f; border-color: #00402f; color: #fff; }
.f2in-sec-loadmore__info { font-size: .8125rem; color: var(--f2in-sec-muted); }
.f2in-sec-empty { display: grid; gap: var(--f2in-sec-space-4); justify-items: start; padding: var(--f2in-sec-space-7); border: 2px dashed var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); background: var(--f2in-sec-white); }
.f2in-sec-empty__icon { display: grid; place-items: center; inline-size: 56px; block-size: 56px; border-radius: 50%; background: var(--f2in-sec-yellow-50); color: var(--f2in-sec-green); }

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
  .f2in-sec-kpis__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .f2in-sec-grid { --f2in-sec-cols: 3; }
  .f2in-sec-gridcta { --f2in-sec-span: 2; grid-template-columns: minmax(0, 1fr); }
  .f2in-sec-markers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f2in-sec-chain { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--f2in-sec-space-6); }
  .f2in-sec-chain::before { display: none; }
}
@media (max-width: 1024px) {
  .f2in-sec-hero__grid, .f2in-sec-synth__intro, .f2in-sec-quote, .f2in-sec-chart, .f2in-sec-split, .f2in-sec-territory, .f2in-sec-markets, .f2in-sec-contact, .f2in-sec-intro, .f2in-sec-cta, .f2in-sec-readout { grid-template-columns: minmax(0, 1fr); }
  .f2in-sec-hero__figure { justify-self: start; }
  .f2in-sec-synth__intro, .f2in-sec-markets { gap: var(--f2in-sec-space-5); }
  .f2in-sec-opps, .f2in-sec-olist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .f2in-sec-olist { gap: 32px 28px; }
  .f2in-sec-opps[data-count] > .f2in-sec-note { grid-column: span 1; }
  .f2in-sec-opps[data-count="8"] > .f2in-sec-note, .f2in-sec-opps[data-count="6"] > .f2in-sec-note { grid-column: 1 / -1; }
  .f2in-sec-publics { grid-template-columns: minmax(0, 1fr); }
  .f2in-sec-pillars { grid-template-columns: minmax(0, 1fr); gap: var(--f2in-sec-space-5); }
  .f2in-sec-grid { --f2in-sec-cols: 2; }
  .f2in-sec-gridcta { --f2in-sec-span: 1; padding: var(--f2in-sec-space-6); }
  .f2in-sec-cta__contact { padding-inline-start: 0; border-inline-start: 0; padding-block-start: var(--f2in-sec-space-5); border-block-start: 2px solid rgba(255,255,255,.3); }
  .f2in-sec-anchors { display: none; }
  .f2in-sec-float { display: inline-flex; }
  .f2in-sec--has-float { padding-block-end: 72px; }
  .f2in-sec-filters { position: static; }
  .f2in-sec-filters__toggle { display: flex; justify-content: space-between; align-items: center; gap: var(--f2in-sec-space-3); inline-size: 100%; min-block-size: 56px; padding: 12px 0; border: 0; background: none; font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: 1rem; color: var(--f2in-sec-green); text-align: start; cursor: pointer; }
  .f2in-sec-filters__toggle > span { display: flex; gap: var(--f2in-sec-space-3); align-items: center; }
  .f2in-sec-filters__toggle[aria-expanded="true"] > .f2in-sec-ico { transform: rotate(180deg); }
  .f2in-sec .f2in-sec-filters__panel[hidden] { display: none; }
  .f2in-sec-filters__panel { padding-block: 0 var(--f2in-sec-space-5); }
  .f2in-sec-filters__main, .f2in-sec-search { flex: 1 1 100%; max-inline-size: none; }
  .f2in-sec-dd { inline-size: 100%; }
  .f2in-sec-dd__btn { inline-size: 100%; justify-content: space-between; }
  .f2in-sec-dd__panel { position: static; inline-size: 100%; margin-block-start: var(--f2in-sec-space-2); box-shadow: none; max-block-size: none; }
  .f2in-sec-group legend { float: none; inline-size: 100%; line-height: 1.4; margin-block-end: var(--f2in-sec-space-2); }
}
@media (max-width: 720px) {
  .f2in-sec-wrap { inline-size: auto; margin-inline: 20px; }
  .f2in-sec { font-size: 1rem; }
  .f2in-sec-section { padding-block: var(--f2in-sec-space-8); }
  .f2in-sec-hero { padding-block: var(--f2in-sec-space-6) 104px; }
  .f2in-sec-hero__actions .f2in-sec-btn { inline-size: 100%; }
  .f2in-sec-kpis { margin-block-start: -72px; }
  .f2in-sec-kpis__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--f2in-sec-space-3); }
  .f2in-sec-kpi { padding: var(--f2in-sec-space-4) 14px 14px; }
  .f2in-sec-blocks, .f2in-sec-block__subs, .f2in-sec-markers { grid-template-columns: minmax(0, 1fr); }
  .f2in-sec-block, .f2in-sec-chart, .f2in-sec-readout, .f2in-sec-note, .f2in-sec-public { padding: var(--f2in-sec-space-5); }
  .f2in-sec-markers { gap: var(--f2in-sec-space-5); margin-block: var(--f2in-sec-space-7); }
  .f2in-sec-quote { padding: var(--f2in-sec-space-6) var(--f2in-sec-space-5); gap: var(--f2in-sec-space-5); }
  .f2in-sec-bar { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
  .f2in-sec-bar__track { grid-column: 1 / -1; grid-row: 2; }
  .f2in-sec-opps, .f2in-sec-olist { grid-template-columns: minmax(0, 1fr); }
  .f2in-sec-olist { gap: 24px; }
  .f2in-sec-ocard__body { padding: 20px 18px 0; max-inline-size: 64%; }
  .f2in-sec-ocard__photo { inline-size: 40%; }
  .f2in-sec-ocard .f2in-sec-oitem__title { font-size: 1.125rem; }
  .f2in-sec-opps[data-count] > .f2in-sec-note { grid-column: auto; }
  .f2in-sec-opp__body { padding-inline: 20px; }
  .f2in-sec-opp__toggle { padding-inline: 20px; }
  .f2in-sec-opp__panel { padding-inline: 20px; }
  .f2in-sec-chain { grid-template-columns: minmax(0, 1fr); row-gap: var(--f2in-sec-space-4); }
  .f2in-sec-chain__step { grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto; column-gap: var(--f2in-sec-space-4); }
  .f2in-sec-chain__step::before { content: ""; position: absolute; inset-inline-start: 21px; inset-block: 44px -16px; inline-size: 2px; background: var(--f2in-sec-line); }
  .f2in-sec-chain__step:last-child::before { display: none; }
  .f2in-sec-chain__num { grid-row: 1 / span 2; }
  .f2in-sec-chain__flag { grid-column: 2; grid-row: 1; }
  .f2in-sec-chain__card { grid-column: 2; }
  .f2in-sec-chain__step--priority .f2in-sec-chain__card { grid-row: 2; }
  .f2in-sec-chain__step:not(.f2in-sec-chain__step--priority) .f2in-sec-chain__card { grid-row: 1 / span 2; }
  /* Tableaux → cartes empilées */
  .f2in-sec-table, .f2in-sec-table tbody, .f2in-sec-table tr, .f2in-sec-table td, .f2in-sec-table th[scope="row"] { display: block; inline-size: 100%; }
  .f2in-sec-table { background: none; box-shadow: none; border-radius: 0; overflow: visible; }
  .f2in-sec-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .f2in-sec-table tr { margin-block-end: var(--f2in-sec-space-3); padding: var(--f2in-sec-space-4) var(--f2in-sec-space-5); background: var(--f2in-sec-white); border-radius: var(--f2in-sec-radius); box-shadow: var(--f2in-sec-shadow); }
  .f2in-sec-table td, .f2in-sec-table th[scope="row"] { padding: var(--f2in-sec-space-2) 0; border: 0; }
  .f2in-sec-table th[scope="row"] { font-size: 1.0625rem; }
  .f2in-sec-table td::before { content: attr(data-label); display: block; margin-block-end: 4px; font-family: var(--f2in-sec-font-head); font-weight: 600; font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; color: var(--f2in-sec-muted); }
  .f2in-sec-table tbody tr:hover > * { background: none; }
  .f2in-sec-legal__panel ul { columns: 1; }
  .f2in-sec-pager { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .f2in-sec-pager__home { grid-column: 1 / -1; grid-row: 2; justify-self: start; }
  .f2in-sec-grid { --f2in-sec-cols: 1; }
  .f2in-sec-scard { padding: var(--f2in-sec-space-5); }
  .f2in-sec-contact__box, .f2in-sec-cta { padding: var(--f2in-sec-space-6) var(--f2in-sec-space-5); }
  .f2in-sec-empty { padding: var(--f2in-sec-space-6) var(--f2in-sec-space-5); }
}
@media (prefers-reduced-motion: reduce) { .f2in-sec * { transition: none !important; } }

/* ---------- Ajout F2IN : page Documentation ---------- */
.f2in-sec-docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--f2in-sec-space-4); list-style: none; margin: 0; padding: 0; }
.f2in-sec-doc { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--f2in-sec-space-4); align-items: center; padding: 18px var(--f2in-sec-space-5); background: var(--f2in-sec-white); border: 1px solid var(--f2in-sec-line); border-radius: var(--f2in-sec-radius); transition: border-color .15s, box-shadow .15s; }
.f2in-sec-doc:hover { border-color: var(--f2in-sec-orange); box-shadow: var(--f2in-sec-shadow); }
.f2in-sec-doc__title { font-size: 1.0625rem; font-weight: 700; color: var(--f2in-sec-green); }
.f2in-sec-doc__meta { font-size: .875rem; color: var(--f2in-sec-muted); margin-block-start: 2px; }
.f2in-sec-doc__meta--light { color: rgba(255,255,255,.85); font-weight: 600; letter-spacing: .02em; }
.f2in-sec-doc__actions { display: flex; align-items: center; gap: var(--f2in-sec-space-4); white-space: nowrap; }
.f2in-sec-doc__icon { display: grid; place-items: center; inline-size: 40px; block-size: 40px; border-radius: 50%; background: var(--f2in-sec-green-50); color: var(--f2in-sec-green); }
@media (max-width: 1024px) { .f2in-sec-docs { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .f2in-sec-doc { grid-template-columns: auto minmax(0, 1fr); } .f2in-sec-doc__actions { grid-column: 1 / -1; justify-content: flex-start; } }

/* ===================== Accueil : explorateur des secteurs [f2in_secteurs_accueil] ===================== */
.f2in-sx { --sx-vert: #005c45; --sx-vert-f: #00402f; --sx-or: #f6b91e; max-inline-size: 1240px; margin-inline: auto; display: grid; gap: 22px; }
/* Pastilles des secteurs */
.f2in-sx__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.f2in-sx .f2in-sx__tab { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; border: 1px solid #dfe7e3; border-radius: 999px; background: #fff; color: #1a1a2e; font-family: var(--f2in-sec-font-head); font-size: .8125rem; font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0; box-shadow: none; cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .25s; }
.f2in-sx .f2in-sx__tab:hover { background: #fff; color: #1a1a2e; border-color: var(--sx-vert); transform: translateY(-1px); }
.f2in-sx .f2in-sx__tab:focus-visible { outline: 3px solid var(--f2in-sec-orange); outline-offset: 2px; }
.f2in-sx__tab-ico { display: inline-grid; color: #c9971a; }
.f2in-sx__tab-ico svg { inline-size: 18px; block-size: 18px; stroke-width: 1.8; }
.f2in-sx__tab-code { font-weight: 800; color: var(--sx-vert); }
.f2in-sx .f2in-sx__tab[aria-selected="true"], .f2in-sx .f2in-sx__tab[aria-selected="true"]:hover { background: var(--sx-vert); border-color: var(--sx-vert); color: #fff; }
.f2in-sx__tab[aria-selected="true"] .f2in-sx__tab-code, .f2in-sx__tab[aria-selected="true"] .f2in-sx__tab-ico { color: var(--sx-or); }
.f2in-sx__tab-prog { position: absolute; inset-inline-start: 0; inset-block-end: 0; block-size: 3px; inline-size: 0; background: var(--sx-or); }
.f2in-sx.is-running .f2in-sx__tab[aria-selected="true"] .f2in-sx__tab-prog { animation: f2inSxProg var(--f2in-sx-duree, 6000ms) linear forwards; }
.f2in-sx.is-paused .f2in-sx__tab-prog { animation-play-state: paused !important; }
@keyframes f2inSxProg { from { inline-size: 0; } to { inline-size: 100%; } }
/* Panneau du secteur actif */
.f2in-sx__stage { position: relative; }
.f2in-sx__panel { position: relative; overflow: hidden; display: grid; min-block-size: 340px; background: #fbfaf6; border-radius: 22px; box-shadow: 0 10px 30px rgba(0, 64, 47, .10); }
.f2in-sx__panel[hidden] { display: none; }
.f2in-sx__panel.is-in .f2in-sx__body > * { animation: f2inSxIn .55s cubic-bezier(.2, .7, .2, 1) both; }
.f2in-sx__panel.is-in .f2in-sx__body > *:nth-child(2) { animation-delay: .05s; }
.f2in-sx__panel.is-in .f2in-sx__body > *:nth-child(3) { animation-delay: .1s; }
.f2in-sx__panel.is-in .f2in-sx__body > *:nth-child(4) { animation-delay: .15s; }
.f2in-sx__panel.is-in .f2in-sx__body > *:nth-child(5) { animation-delay: .2s; }
.f2in-sx__panel.is-in .f2in-sx__photo img { animation: f2inSxZoom 1.2s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes f2inSxIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes f2inSxZoom { from { transform: scale(1.08); opacity: .4; } to { transform: none; opacity: 1; } }
.f2in-sx__photo { position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: 44%; clip-path: ellipse(88% 100% at 100% 50%); background: #e7e4d6; overflow: hidden; }
.f2in-sx__photo img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.f2in-sx__body { position: relative; display: grid; gap: 14px; align-content: center; padding: clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px) clamp(30px, 3.4vw, 48px); max-inline-size: 60%; }
.f2in-sx__kicker { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0; font-size: .875rem; color: #33384a; }
.f2in-sx__kicker .f2in-sec-code { background: var(--sx-vert); color: #fff; font-weight: 800; font-size: .8125rem; padding: 3px 10px; border-radius: 8px; }
.f2in-sec .f2in-sx__nom { margin: 0; font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem); line-height: 1.1; letter-spacing: -.02em; color: var(--sx-vert-f); }
.f2in-sx__hook { margin: 0; font-size: clamp(1rem, .95rem + .3vw, 1.125rem); line-height: 1.55; color: #33384a; max-inline-size: 48ch; }
.f2in-sx__hook mark { background: linear-gradient(transparent 58%, rgba(246, 185, 30, .5) 58%); color: inherit; padding: 0 .1em; }
.f2in-sx__fig { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 4px 0 0; }
.f2in-sx__picto { align-self: center; color: #c9971a; }
.f2in-sx__picto svg { inline-size: 34px; block-size: 34px; }
.f2in-sx__fig strong { font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem); line-height: 1; letter-spacing: -.03em; color: var(--sx-vert); }
.f2in-sx__fig > span:last-child { font-size: .9375rem; color: #545a6b; }
.f2in-sx__actions { display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center; margin-block-start: 6px; }
.f2in-sec a.f2in-sx__cta { display: inline-flex; gap: 10px; align-items: center; background: var(--sx-vert); color: #fff; font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .9375rem; padding: 12px 20px; border-radius: 999px; text-decoration: none; transition: background .2s; }
.f2in-sec a.f2in-sx__cta:hover { background: var(--sx-vert-f); color: #fff; }
.f2in-sec a.f2in-sx__link { display: inline-flex; gap: 8px; align-items: center; font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .9375rem; color: var(--sx-vert); text-decoration: none; }
.f2in-sec a.f2in-sx__link:hover { color: var(--f2in-sec-orange); }
.f2in-sx__tab-accent { position: absolute; inset-inline-start: 0; inset-block: 0; inline-size: 6px; background: linear-gradient(180deg, var(--sx-or), var(--sx-vert)); }
/* Barre « Portefeuille consolidé » */
.f2in-sx__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; padding: 18px 24px; background: var(--sx-vert); border-radius: 18px; color: #fff; }
.f2in-sx__bar .f2in-sec-gridcta__icons { display: flex; gap: 10px; margin: 0; max-block-size: none; overflow: visible; }
.f2in-sx__bar .f2in-sec-gridcta__icon { inline-size: 22px; block-size: 22px; }
.f2in-sx__bar { inline-size: fit-content; max-inline-size: 100%; margin-inline: auto; box-sizing: border-box; gap: 16px 44px; padding: 20px 28px; }
.f2in-sx__bar-info { display: grid; gap: 12px; justify-items: start; }
.f2in-sx__bar-txt { margin: 0; display: grid; gap: 2px; font-size: 1rem; color: rgba(255, 255, 255, .9); }
.f2in-sx__bar-titre { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.f2in-sx__bar-titre .f2in-sec-eyebrow { font-size: .8125rem; }
.f2in-sx__bar-sep { color: var(--sx-or); font-weight: 700; }
.f2in-sx__bar-txt strong { color: #fff; }
.f2in-sx__bar-txt .f2in-sec-eyebrow { color: var(--sx-or); }
@media (max-width: 1100px) { .f2in-sx__bar .f2in-sec-gridcta__icons { display: none; } }
/* Mobile : pastilles sur une ligne qui défile, photo en bandeau */
@media (max-width: 760px) {
	.f2in-sx__nav { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x mandatory; padding-block-end: 6px; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
	.f2in-sx__nav::-webkit-scrollbar { display: none; }
	.f2in-sx__tab { flex: none; scroll-snap-align: start; }
	.f2in-sx__photo { position: relative; inline-size: 100%; block-size: 170px; clip-path: ellipse(120% 100% at 50% 0); }
	.f2in-sx__body { max-inline-size: none; }
	.f2in-sx__panel { min-block-size: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.f2in-sx__panel.is-in .f2in-sx__body > *, .f2in-sx__panel.is-in .f2in-sx__photo img, .f2in-sx__tab-prog { animation: none !important; }
}

/* ===================== Page Documentation : onglets des catégories ===================== */
.f2in-doc__tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-block-end: 22px; }
.f2in-doc .f2in-doc__tab { display: flex; align-items: center; gap: 14px; inline-size: 100%; padding: 14px 18px; border: 1px solid #dfe7e3; border-radius: 16px; background: #fff; color: #1a1a2e; font: inherit; text-align: start; text-transform: none; letter-spacing: 0; box-shadow: none; cursor: pointer; transition: border-color .2s, background .2s, transform .2s, box-shadow .2s; }
.f2in-doc .f2in-doc__tab:hover, .f2in-doc .f2in-doc__tab:focus { background: #fff; color: #1a1a2e; border-color: #005c45; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 64, 47, .08); }
.f2in-doc .f2in-doc__tab:focus-visible { outline: 3px solid var(--f2in-sec-orange); outline-offset: 2px; }
.f2in-doc__tab-ico { display: grid; place-items: center; flex: none; inline-size: 44px; block-size: 44px; border-radius: 50%; background: var(--f2in-sec-green-50); color: #005c45; transition: background .2s, color .2s; }
.f2in-doc__tab-ico .f2in-sec-ico { inline-size: 22px; block-size: 22px; }
.f2in-doc__tab-txt { display: grid; gap: 2px; min-inline-size: 0; }
.f2in-doc__tab-nom { font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: 1rem; line-height: 1.25; }
.f2in-doc__tab-n { font-size: .8125rem; color: #545a6b; }
.f2in-doc .f2in-doc__tab[aria-selected="true"], .f2in-doc .f2in-doc__tab[aria-selected="true"]:hover, .f2in-doc .f2in-doc__tab[aria-selected="true"]:focus { background: #005c45; border-color: #005c45; color: #fff; box-shadow: 0 10px 24px rgba(0, 64, 47, .18); }
.f2in-doc__tab[aria-selected="true"] .f2in-doc__tab-ico { background: #f6b91e; color: #00402f; }
.f2in-doc__tab[aria-selected="true"] .f2in-doc__tab-n { color: rgba(255, 255, 255, .8); }
.f2in-doc__panel[hidden] { display: none; }
.f2in-doc__panel:focus-visible { outline: 3px solid var(--f2in-sec-orange); outline-offset: 6px; border-radius: 8px; }
.f2in-doc__panel.is-in { animation: f2inDocIn .35s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes f2inDocIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.f2in-doc__desc { margin: 0 0 12px; font-size: .9375rem; color: #545a6b; }
@media (max-width: 640px) {
	.f2in-doc__tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: -16px; padding: 2px 16px 8px; scrollbar-width: none; }
	.f2in-doc__tabs::-webkit-scrollbar { display: none; }
	.f2in-doc .f2in-doc__tab { flex: none; inline-size: auto; scroll-snap-align: start; padding: 10px 14px; }
	.f2in-doc__tab-ico { inline-size: 36px; block-size: 36px; }
}
@media (prefers-reduced-motion: reduce) { .f2in-doc__panel.is-in { animation: none; } }
.f2in-doc__code { display: inline-block; margin-inline-end: 6px; padding: 1px 8px; border-radius: 6px; background: #005c45; color: #fff; font-size: .75rem; font-weight: 800; vertical-align: 2px; }
/* Onglets Documentation : boutons à la taille de leur texte, aspect de bouton marqué */
.f2in-doc__tabs { display: flex; flex-wrap: wrap; gap: 10px; }
.f2in-doc .f2in-doc__tab { inline-size: auto; flex: none; gap: 10px; padding: 9px 16px 9px 10px; border: 1.5px solid #b9cfc6; border-radius: 999px; background: #f4f7fb; box-shadow: 0 2px 0 rgba(0, 64, 47, .14); }
.f2in-doc .f2in-doc__tab:hover, .f2in-doc .f2in-doc__tab:focus { background: #fff; border-color: #005c45; transform: translateY(-1px); box-shadow: 0 4px 0 rgba(0, 64, 47, .18); }
.f2in-doc .f2in-doc__tab:active { transform: translateY(1px); box-shadow: 0 1px 0 rgba(0, 64, 47, .14); }
.f2in-doc__tab-ico { inline-size: 32px; block-size: 32px; background: #fff; }
.f2in-doc__tab-ico .f2in-sec-ico { inline-size: 18px; block-size: 18px; }
.f2in-doc__tab-txt { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.f2in-doc__tab-nom { font-size: .9375rem; }
.f2in-doc__tab-n { padding: 2px 8px; border-radius: 999px; background: #e3ece8; color: #00402f; font-size: .75rem; font-weight: 700; }
.f2in-doc .f2in-doc__tab[aria-selected="true"], .f2in-doc .f2in-doc__tab[aria-selected="true"]:hover, .f2in-doc .f2in-doc__tab[aria-selected="true"]:focus { transform: none; box-shadow: 0 2px 0 #00402f; cursor: default; }
.f2in-doc__tab[aria-selected="true"] .f2in-doc__tab-n { background: rgba(255, 255, 255, .18); color: #fff; }
@media (max-width: 640px) { .f2in-doc__tabs { flex-wrap: nowrap; } }
.f2in-sx__bar-txt > span:last-child { font-weight: 700; color: #fff; }
/* Encadré contact ANPIPS (page Participer) */
.f2in-ct { margin-block-start: 18px; padding: 22px 22px 20px; border-radius: 16px; background: #005c45; color: #fff; box-shadow: 0 10px 26px rgba(0, 64, 47, .16); }
.f2in-ct__sur { margin: 0 0 6px; font-family: var(--f2in-sec-font-head); font-weight: 700; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: #f6b91e; }
.f2in-sec .f2in-ct__titre { margin: 0; font-family: var(--f2in-sec-font-head); font-weight: 800; font-size: 1.25rem; line-height: 1.2; color: #fff; }
.f2in-ct__org { margin: 6px 0 14px; font-size: .875rem; line-height: 1.45; color: rgba(255, 255, 255, .82); }
.f2in-ct__liste { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.f2in-ct__liste li { display: flex; align-items: center; gap: 12px; margin: 0; }
.f2in-ct__ico { display: grid; place-items: center; flex: none; inline-size: 34px; block-size: 34px; border-radius: 50%; background: rgba(255, 255, 255, .12); color: #f6b91e; }
.f2in-ct__ico .f2in-sec-ico { inline-size: 16px; block-size: 16px; }
.f2in-sec .f2in-ct__liste a { color: #fff; font-weight: 700; text-decoration: none; border-block-end: 1px solid rgba(255, 255, 255, .3); overflow-wrap: anywhere; box-shadow: none; }
.f2in-sec .f2in-ct__liste a:hover { color: #f6b91e; border-color: #f6b91e; }
