/* =====================================================================
   Finesty — pages intérieures : mise en scène (inner-fx.css, avec inner-fx.js ; HTML : source-live/appliquer-refonte.py)
   Chargé en dernier sur toutes les pages hors accueil. Même langage que l'accueil : bleu nuit, or, Kanit / Roboto,
   pictos flat en pastille, apparitions GSAP (inner-fx.js), profondeur par la photo et la parallaxe.
   0. Jetons                       6. Bandeau défilant (ScrollVelocity)
   1. Bandeau en rideau             7. Sections sombres qui s'ouvrent, bloc de contact
   2. Titres, textes, pictos        8. Illustrations (sections « illustration + texte »)
   3. Cartes : relief, lumière      9. Mouvement réduit
   4. Photos en cadre (parallaxe)   10+. Sections recomposées, page par page
   5. Listes à pictos
   ===================================================================== */
:root {
  --ifx-navy: #16313A; --ifx-navy-2: #1B3740; --ifx-ink: #1F2A2E; --ifx-blue: #2F5765; --ifx-gold: #DAAE51; --ifx-gold-hi: #F4C01A;
  --ifx-gold-ink: #8C6A1E; --ifx-muted: #5B6B71; --ifx-line: #E3E8EA; --ifx-cream: #F8F6F1; --ifx-mist: #EEF3F5;
  --ifx-ease: cubic-bezier(.22, 1, .36, 1);
  --ifx-shadow: 0 1px 0 rgba(22, 49, 58, .04), 0 24px 48px -28px rgba(22, 49, 58, .28);
  --ifx-shadow-hi: 0 1px 0 rgba(22, 49, 58, .04), 0 36px 70px -34px rgba(22, 49, 58, .42);
}

/* ---------------------------------------------------------------------
   1. Bandeau en rideau : le bandeau reste en place, la page glisse par-dessus (bord arrondi, ombre portée vers le
      haut) et son contenu recule dans l'ombre (inner-fx.js). Posé seulement quand JS est actif (html.fy-ifx-curtain).
   --------------------------------------------------------------------- */
html.fy-ifx-curtain body:not(.home) [data-elementor-type="wp-page"] > .fy-hero { position: sticky !important; top: 0; z-index: 0 !important; }
html.fy-ifx-curtain body:not(.home) [data-elementor-type="wp-page"] > .fy-hero ~ :not(.fy-chips) { position: relative; z-index: 1; }
html.fy-ifx-curtain body:not(.home) [data-elementor-type="wp-page"] > .fy-hero ~ .fy-chips { z-index: 20; }
html.fy-ifx-curtain body:not(.home) .fy-ifx-sheet:not(.fy-chips) {
  border-radius: clamp(22px, 2.6vw, 36px) clamp(22px, 2.6vw, 36px) 0 0;
  box-shadow: 0 -28px 60px -24px rgba(8, 22, 28, .55);
}
html.fy-ifx-curtain body:not(.home) .fy-hero.fy-ifx-covered { visibility: hidden; }
.fy-ifx-shade { position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: 0; background: linear-gradient(180deg, rgba(10, 26, 32, .35) 0%, rgba(10, 26, 32, .9) 100%); }
html body:not(.home) .fy-hero > :is(.e-con-inner, .fy-article-head, .fy-hero-sub) { transform-origin: 50% 30%; will-change: transform, opacity; }
/* FAQ : la barre de catégories garde son bord droit (elle colle sous l'en-tête) */
html.fy-ifx-curtain body:not(.home) .fy-chips.fy-ifx-sheet { box-shadow: 0 -20px 40px -20px rgba(8, 22, 28, .5); }

/* masque avant JS (même principe que motion.css § 1) pour les éléments de la refonte : pas d'éclair visible avant
   leur apparition ; motion.js retire html.fy-motion dès que GSAP a posé l'état de départ (3 s au plus) */
@media (prefers-reduced-motion: no-preference) {
  html.fy-motion body.finesty-inner :is(.fy-ifx-photo, .fy-ifx-aud, .fy-bento__tile, .fy-pillar-focus__card, .fy-ifx-head, .fy-section-title > p, .fy-calc-card) { opacity: 0; }
}

/* ---------------------------------------------------------------------
   2. Titres, textes, pictos
   --------------------------------------------------------------------- */
.fy-ifx-w { display: inline-block; will-change: transform, opacity, filter; }
html body:not(.home) :is(.fy-title, .elementor-widget-heading .elementor-heading-title, .fy-faq-group__title) { text-wrap: balance; }
html body:not(.home) :is(.fy-lead, .fy-text p, .elementor-widget-text-editor p) { text-wrap: pretty; }

/* ---------------------------------------------------------------------
   3. Cartes : relief au survol, lumière qui suit le pointeur (--mx / --my posés par inner-fx.js)
   --------------------------------------------------------------------- */
.fy-ifx-spot { position: relative; isolation: isolate; }
.fy-ifx-spot::after {
  content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .45s ease;
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(218, 174, 81, .16), rgba(218, 174, 81, 0) 62%);
}
.fy-ifx-spot.is-lit::after { opacity: 1; }
.fy-ifx-spot > * { position: relative; z-index: 1; }
:is(.fy-section--blue, .fy-sec--photo, .fy-cintro, .elementor-element-e736ab1, #equipe, .fy-proc-section) .fy-ifx-spot::after,
.fy-ifx-spot.fy-ifx-spot--dark::after { background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 0%), rgba(244, 192, 26, .16), rgba(244, 192, 26, 0) 60%); }

@media (prefers-reduced-motion: no-preference) {
  html.fy-motion-on body:not(.home) :is(.fy-card, .fy-note, .fy-bento__tile, .fy-pricing__card) {
    transition: translate .45s var(--ifx-ease), box-shadow .45s var(--ifx-ease), background-color .3s, border-color .3s;
  }
  html.fy-motion-on body:not(.home) :is(.fy-card, .fy-bento__tile, .fy-pricing__card):hover { translate: 0 -6px; box-shadow: var(--ifx-shadow-hi); }
  html.fy-motion-on body:not(.home) :is(.fy-card, .fy-bento__tile):hover :is(.fy-card__icon, .fy-ifx-ico, .fy-ico) { transform: translateY(-2px) rotate(-6deg) scale(1.06); }
  html body:not(.home) :is(.fy-card__icon, .fy-ifx-ico, .fy-ico) { transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), background-color .3s; }
}

/* ---------------------------------------------------------------------
   4. Photos en cadre : cadre arrondi, image plus haute que le cadre (parallaxe inner-fx.js), zoom au survol
   --------------------------------------------------------------------- */
.fy-ifx-photo { margin: 0; position: relative; overflow: hidden; border-radius: 28px; background: var(--ifx-navy); isolation: isolate; box-shadow: var(--ifx-shadow-hi); }
.fy-ifx-photo__in { position: absolute; left: 0; right: 0; top: -9%; bottom: -9%; will-change: transform; }
.fy-ifx-photo__in img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; border-radius: 0 !important; transition: scale 1.2s var(--ifx-ease); }
.fy-ifx-photo:hover .fy-ifx-photo__in img { scale: 1.04; }
.fy-ifx-photo::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, rgba(22, 49, 58, 0) 55%, rgba(22, 49, 58, .45) 100%); }
.fy-ifx-pmedia { overflow: hidden; }
.fy-ifx-pmedia img { transition: scale 1s var(--ifx-ease) !important; }
:is(.fy-post-card, .fy-ifx-aud, .fy-ifx-further):hover .fy-ifx-pmedia img { scale: 1.07; }

/* ---------------------------------------------------------------------
   5. Listes à pictos : la ligne s'éclaire au survol (pastille qui passe à l'or plein)
   --------------------------------------------------------------------- */
@media (hover: hover) {
  html body:not(.home) :is(.fy-checks--ico, .fy-ico-list, .fy-ico-elist) > li:hover > .fy-ico { --fy-ico-bg: rgba(218, 174, 81, .34); transform: scale(1.1) rotate(-6deg); }
}

/* ---------------------------------------------------------------------
   6. Bandeau défilant (ScrollVelocity) — mots Kanit, trapèze or du logo entre les mots
   --------------------------------------------------------------------- */
.fy-ifx-marquee { position: relative; overflow: hidden; padding: clamp(26px, 3.4vw, 46px) 0; background: var(--ifx-cream); border-top: 1px solid rgba(47, 87, 101, .08); border-bottom: 1px solid rgba(47, 87, 101, .08); user-select: none; }
.fy-ifx-marquee--dark { background: var(--ifx-navy); border-color: rgba(255, 255, 255, .06); }
.fy-ifx-marquee__track { display: flex; width: max-content; align-items: center; gap: clamp(22px, 2.6vw, 40px); padding-left: clamp(22px, 2.6vw, 40px); will-change: transform; }
.fy-ifx-marquee__track > span { flex: none; font: 700 clamp(34px, 5.6vw, 84px)/1 "Kanit", sans-serif; letter-spacing: -.02em; white-space: nowrap; color: var(--ifx-navy); }
.fy-ifx-marquee__track > span:nth-of-type(even) { color: transparent; -webkit-text-stroke: 1.5px rgba(47, 87, 101, .55); }
.fy-ifx-marquee--dark .fy-ifx-marquee__track > span { color: #FFFFFF; }
.fy-ifx-marquee--dark .fy-ifx-marquee__track > span:nth-of-type(even) { color: transparent; -webkit-text-stroke-color: rgba(255, 255, 255, .45); }
.fy-ifx-marquee__track > i { flex: none; width: clamp(26px, 3vw, 44px); height: clamp(15px, 1.7vw, 25px); background: var(--ifx-gold); clip-path: polygon(56% 0, 100% 0, 100% 100%, 0 100%); }
.fy-ifx-marquee::before, .fy-ifx-marquee::after { content: ""; position: absolute; top: 0; bottom: 0; width: 12vw; z-index: 2; pointer-events: none; }
.fy-ifx-marquee::before { left: 0; background: linear-gradient(90deg, var(--ifx-cream), rgba(248, 246, 241, 0)); }
.fy-ifx-marquee::after { right: 0; background: linear-gradient(270deg, var(--ifx-cream), rgba(248, 246, 241, 0)); }
.fy-ifx-marquee--dark::before { background: linear-gradient(90deg, var(--ifx-navy), rgba(22, 49, 58, 0)); }
.fy-ifx-marquee--dark::after { background: linear-gradient(270deg, var(--ifx-navy), rgba(22, 49, 58, 0)); }

/* ---------------------------------------------------------------------
   7. Bloc « Contactez-nous » des pages intérieures : même bloc que l'accueil (fond « soie », coordonnées en cartes à
      picto) ; la carte formulaire se dévoile du bas vers le haut, comme sur l'accueil.
   --------------------------------------------------------------------- */
html.fy-motion body:not(.home) :is(.elementor-element-84826df, .elementor-element-c03487a, .elementor-element-2e4dddd).fy-ct-wait > .elementor-widget-container {
  opacity: 1; transform: translateY(56px); -webkit-clip-path: inset(100% -90px -150px -90px round 28px); clip-path: inset(100% -90px -150px -90px round 28px);
}
html body:not(.home) :is(.elementor-element-84826df, .elementor-element-c03487a, .elementor-element-2e4dddd) > .elementor-widget-container {
  -webkit-clip-path: inset(-90px -90px -150px -90px round 28px); clip-path: inset(-90px -90px -150px -90px round 28px);
  transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), clip-path 1.1s cubic-bezier(.16, 1, .3, 1), -webkit-clip-path 1.1s cubic-bezier(.16, 1, .3, 1);
}
html.fy-motion body:not(.home) :is(.elementor-element-c2cacb7, .elementor-element-649773d).fy-ct-wait .elementor-widget-icon-box { opacity: 0; transform: translateX(-28px); }

/* ---------------------------------------------------------------------
   8. Illustrations (sections « illustration + texte »).
      Le halo or qui respirait derrière l'illustration, avec ses deux anneaux qui tournaient, a été retiré
      le 16.09.2026 : une lueur décorative de plus, sans rapport avec le propos de la section.
      L'illustration est désormais dévoilée en rideau, comme les images de l'accueil (inner-fx.js).
   --------------------------------------------------------------------- */
html.fy-vis body:not(.home) .elementor-element-538bc87 .fy-vis-media[data-fy-vis-reveal] { -webkit-clip-path: none !important; clip-path: none !important; opacity: 1 !important; transition: none !important; }
html body:not(.home) .elementor-element-538bc87 :is(img, video) { mix-blend-mode: multiply; }

/* ---------------------------------------------------------------------
   9. Mouvement réduit : tout est affiché, rien ne bouge
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .fy-ifx-marquee__track { transform: none !important; }
  .fy-ifx-w { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* =====================================================================
   10. POUR LES ENTREPRISES
   ===================================================================== */
/* 10.1 Ce que comprend l'accompagnement : carte bleu nuit à tuiles, photo en cadre, encarts qui chevauchent la photo */
html body:not(.home) .fy-ifx-accomp .fy-accomp__grid { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: clamp(24px, 3vw, 40px) !important; align-items: stretch; }
html body:not(.home) .fy-ifx-accomp .fy-card--accent {
  padding: clamp(30px, 3.4vw, 48px) !important; border: 0 !important; border-radius: 30px !important; color: #FFFFFF;
  background: radial-gradient(120% 90% at 100% 0%, rgba(218, 174, 81, .16) 0%, rgba(218, 174, 81, 0) 55%), linear-gradient(160deg, #1E3F49 0%, #16313A 60%, #122A31 100%) !important;
  box-shadow: none !important;
  height: 100%; display: flex !important; flex-direction: column; justify-content: space-between;
}
html body:not(.home) .fy-ifx-accomp .fy-card--accent::before { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 0; pointer-events: none; opacity: .35; background: url("/wp-content/finesty/hero/grain.png") repeat; background-size: 140px 140px; }
html body:not(.home) .fy-ifx-accomp .fy-card--accent > * { position: relative; z-index: 1; }
html body:not(.home) .fy-ifx-accomp .fy-card--accent .fy-card__title { display: flex !important; align-items: center; gap: 14px; margin: 0 0 26px !important; font: 600 clamp(22px, 2vw, 27px)/1.2 "Kanit", sans-serif !important; color: #FFFFFF !important; }
html body:not(.home) .fy-ifx-accomp .fy-card--accent .fy-card__title > .fy-ico { display: inline-flex !important; --fy-ico-size: 48px; --fy-ico-glyph: 26px; --fy-ico-bg: #DAAE51; --fy-ico-color: #16313A; --fy-ico-accent: #FFFFFF; width: 48px; height: 48px; }
html body:not(.home) .fy-ifx-tiles { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px !important; margin: 0 !important; padding: 0 !important; list-style: none;
  flex: 1 1 auto; align-content: space-between; }
html body:not(.home) .fy-ifx-tiles > li {
  display: flex !important; align-items: center !important; gap: 14px !important; margin: 0 !important; padding: 18px 20px !important; min-height: 90px;
  border-radius: 18px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09);
  font: 400 15.5px/1.45 "Roboto", sans-serif; color: rgba(255, 255, 255, .88) !important; transition: background-color .35s ease, box-shadow .35s ease, translate .45s var(--ifx-ease);
}
html body:not(.home) .fy-ifx-tiles > li > span:not(.fy-ico) { color: inherit !important; }
html body:not(.home) .fy-ifx-tiles > li > .fy-ico { --fy-ico-bg: rgba(218, 174, 81, .16); --fy-ico-color: #FFFFFF; --fy-ico-accent: #DAAE51; }
html body:not(.home) .fy-ifx-tiles > li:last-child { grid-column: 1 / -1; background: rgba(218, 174, 81, .1); box-shadow: inset 0 0 0 1px rgba(218, 174, 81, .35); }
@media (hover: hover) {
  html body:not(.home) .fy-ifx-tiles > li:hover { background: rgba(255, 255, 255, .09); box-shadow: inset 0 0 0 1px rgba(218, 174, 81, .45); translate: 0 -3px; }
}
html body:not(.home) .fy-ifx-accomp .fy-accomp__side { display: flex !important; flex-direction: column; gap: 0 !important; padding-top: 0 !important; }
html body:not(.home) .fy-ifx-accomp__photo { box-shadow: none !important; height: auto !important; min-height: clamp(150px, 13vw, 180px); margin: 0 !important; flex: 1 1 auto; }
html body:not(.home) .fy-ifx-accomp .fy-accomp__side .fy-note {
  position: relative; z-index: 2; margin: 0 !important; padding: 26px 28px !important; border: 0 !important; border-radius: 22px !important;
  background: #FFFFFF !important; box-shadow: 0 1px 2px rgba(22, 49, 58, .04), 0 12px 32px -18px rgba(22, 49, 58, .22) !important; flex: 0 0 auto;
}
/* L'encart chevauchait la photo de 72 px et se décalait de 16 à 36 px vers la droite : deux bords
   gauches différents dans la même colonne, ce qui se lisait comme un décalage accidentel plutôt que
   comme une composition. Il se range sous la photo, aligné sur elle. */
html body:not(.home) .fy-ifx-accomp .fy-accomp__side .fy-note:first-of-type { margin: clamp(16px, 1.6vw, 22px) 0 0 !important; }
/* Les deux encarts de droite : même fond blanc, même ombre légère (règle ci-dessus). */
html body:not(.home) .fy-ifx-accomp .fy-accomp__side .fy-note + .fy-note { margin-top: 16px !important; }
html body:not(.home) .fy-ifx-accomp .fy-note__title { display: flex !important; align-items: center; gap: 12px; font: 600 19px/1.3 "Kanit", sans-serif !important; margin: 0 0 8px !important; color: var(--ifx-ink) !important; }
html body:not(.home) .fy-ifx-accomp .fy-note__title > .fy-ico { display: inline-flex !important; }
html body:not(.home) .fy-ifx-accomp .fy-note p { color: var(--ifx-muted); font-size: 15.5px; line-height: 1.6; }
@media (max-width: 1024px) {
  html body:not(.home) .fy-ifx-accomp .fy-accomp__grid { grid-template-columns: minmax(0, 1fr) !important; }
  /* En une colonne la photo n'a plus de hauteur à absorber : on lui rend un cadrage, sinon elle reste
     à son plancher (un bandeau de 150 px) sous une carte de 600 px. */
  html body:not(.home) .fy-ifx-accomp__photo { flex: 0 0 auto; width: 100%; min-height: 0; aspect-ratio: 16 / 10; max-height: clamp(210px, 34vw, 330px); }
}
@media (max-width: 767px) {
  /* l'image doit occuper toute la largeur, comme les cartes en dessous (pas de plafond de hauteur qui la rétrécit) */
  html body:not(.home) .fy-ifx-accomp__photo { width: 100%; max-height: none; aspect-ratio: 16 / 10; }
}
@media (max-width: 767px) {
  html body:not(.home) .fy-ifx-tiles { grid-template-columns: minmax(0, 1fr); }
  html body:not(.home) .fy-ifx-tiles > li:last-child { grid-column: auto; }
  html body:not(.home) .fy-ifx-accomp .fy-accomp__side .fy-note:first-of-type { margin: 16px 0 0 !important; }
  html body:not(.home) .fy-ifx-accomp .fy-card--accent { border-radius: 24px !important; }
}

/* 10.2 Salaires et assurances sociales : cartes sombres translucides, picto sur pastille or, lumière au pointeur */
html body:not(.home) #salaires .fy-grid--4 { gap: 18px !important; }
html body:not(.home) #salaires .fy-grid--4 .fy-card {
  align-items: flex-start !important; text-align: left !important; padding: 30px 26px 28px !important; border-radius: 24px !important;
  background: linear-gradient(160deg, rgba(27, 55, 64, .82) 0%, rgba(14, 33, 39, .78) 100%) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12), 0 30px 60px -36px rgba(0, 0, 0, .6) !important;
}
html body:not(.home) #salaires .fy-grid--4 .fy-card:hover { box-shadow: inset 0 0 0 1px rgba(218, 174, 81, .5), 0 40px 70px -36px rgba(0, 0, 0, .7) !important; }
html body:not(.home) #salaires .fy-card__icon { width: 58px !important; height: 58px !important; margin: 0 0 22px !important; border-radius: 18px !important; background: #DAAE51 !important; color: #16313A !important; --fy-ico-accent: #FFFFFF; display: inline-flex !important; align-items: center; justify-content: center; }
html body:not(.home) #salaires .fy-card__icon svg { width: 28px !important; height: 28px !important; stroke-width: 1.7; }
html body:not(.home) #salaires .fy-card__title { color: #FFFFFF !important; font-size: 20px !important; margin: 0 0 10px !important; text-align: left !important; }
html body:not(.home) #salaires .fy-card__text { color: rgba(255, 255, 255, .74) !important; font-size: 15.5px !important; text-align: left !important; }

/* 10.3 Piliers : l'édifice (fronton trapèze, architrave, cinq colonnes cannelées, sol) construit au défilement */
html body:not(.home) .fy-pillars { position: relative; max-width: 1040px !important; margin: 12px auto 0 !important; padding: 44px 0 0 !important; opacity: 1; }
html body:not(.home) .fy-pillars__roof { position: relative !important; height: clamp(70px, 8vw, 104px) !important; margin: 0 !important; display: grid !important; place-items: center; transform: none; z-index: 2; }
html body:not(.home) .fy-pillars__roof-shape { display: block !important; position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; overflow: visible; filter: drop-shadow(0 18px 24px rgba(22, 49, 58, .22)); }
html body:not(.home) .fy-pillars__roof-shape polygon:first-child { fill: #16313A; }
html body:not(.home) .fy-pillars__roof-shape polygon + polygon { display: block !important; stroke: #DAAE51; stroke-width: 3; vector-effect: non-scaling-stroke; }
html body:not(.home) .fy-pillars__roof-label { position: relative !important; z-index: 1; display: block !important; margin: 12px 0 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important;
  font: 600 clamp(15px, 1.8vw, 22px)/1.2 "Kanit", sans-serif !important; letter-spacing: .02em !important; text-transform: none !important; color: #FFFFFF !important; }
html body:not(.home) .fy-pillars__beam { display: block !important; height: 14px !important; margin: 0 1.5% !important; border-radius: 2px !important; background: linear-gradient(180deg, #2F5765 0%, #24454F 100%) !important; transform-origin: 50% 50%; }
html body:not(.home) .fy-pillars__row { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: clamp(10px, 2.2vw, 26px) !important; padding: 0 clamp(14px, 3vw, 40px) !important; margin: 0 !important; list-style: none; }
html body:not(.home) .fy-pillars__pillar { display: flex !important; flex-direction: column !important; align-items: center; margin: 0 !important; padding: 0 !important; position: relative; grid-column: auto !important; }
html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__shaft { flex-direction: column !important; text-align: center !important; }
html body:not(.home) .fy-pillars__cap, html body:not(.home) .fy-pillars__base { display: block !important; width: 100% !important; height: 14px !important; border-radius: 3px !important; background: #24454F !important; margin: 0 !important; }
html body:not(.home) .fy-pillars__base { height: 18px !important; border-radius: 3px 3px 0 0 !important; background: #1B3740 !important; }
html body:not(.home) .fy-pillars__shaft {
  width: 78% !important; min-height: clamp(220px, 24vw, 290px) !important; flex: 1 1 auto; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
  gap: 16px !important; padding: 26px 6px !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: center; transform-origin: 50% 100%;
  background: repeating-linear-gradient(90deg, rgba(47, 87, 101, 0) 0 16%, rgba(47, 87, 101, .06) 16% 18%), linear-gradient(90deg, #DCE5E8 0%, #F6F9FA 42%, #E3EBEE 100%) !important;
  box-shadow: inset -10px 0 18px -12px rgba(22, 49, 58, .25) !important;
}
html body:not(.home) .fy-pillars__icon { display: inline-flex !important; align-items: center; justify-content: center; width: clamp(48px, 5vw, 66px) !important; height: clamp(48px, 5vw, 66px) !important; border-radius: 50% !important; background: #FFFFFF !important; box-shadow: 0 10px 24px -8px rgba(22, 49, 58, .35) !important; }
html body:not(.home) .fy-pillars__icon img { width: 58% !important; height: 58% !important; opacity: 1; }
html body:not(.home) .fy-pillars__fa { display: none; }
html body:not(.home) .fy-pillars__name { margin: 0 !important; font: 600 clamp(14px, 1.5vw, 19px)/1.2 "Kanit", sans-serif !important; color: #16313A !important; }
html body:not(.home) .fy-pillars__name small { display: block; margin-top: 5px !important; font: 400 13.5px/1.3 "Roboto", sans-serif !important; color: var(--ifx-muted) !important; }
html body:not(.home) .fy-pillars__pillar--accent { --ifx-glow: 1; }
html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__cap, html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__base { background: #B98C35 !important; }
html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__shaft {
  background: repeating-linear-gradient(90deg, rgba(122, 90, 20, 0) 0 16%, rgba(122, 90, 20, .1) 16% 18%), linear-gradient(90deg, #C99A3F 0%, #F0CD78 42%, #D4A548 100%) !important;
  box-shadow: 0 0 calc(var(--ifx-glow) * 70px) calc(var(--ifx-glow) * 6px) rgba(244, 192, 26, calc(var(--ifx-glow) * .42)), inset -10px 0 18px -12px rgba(122, 90, 20, .45) !important;
}
html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__name, html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__name small { color: #1F2A2E !important; }
html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__badge {
  position: absolute !important; top: auto !important; bottom: -46px !important; left: 50% !important; transform: translateX(-50%) !important; margin: 0 !important;
  display: inline-flex !important; align-items: center; gap: 7px; padding: 6px 12px !important; border-radius: 999px !important; white-space: nowrap;
  background: #16313A !important; box-shadow: none !important; font: 600 13px/1.2 "Kanit", sans-serif !important; letter-spacing: .02em !important; text-transform: none !important; color: #FFFFFF !important;
}
html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #F4C01A; box-shadow: 0 0 0 4px rgba(244, 192, 26, .25); }
html body:not(.home) .fy-pillars__ground { position: relative; display: block !important; height: 6px !important; margin: 0 !important; background: #16313A !important; border-radius: 3px !important; transform-origin: 50% 50%; }
html body:not(.home) .fy-pillars__ground::after { content: ""; position: absolute; left: 8%; right: 8%; top: 8px; height: 26px; border-radius: 50%; background: radial-gradient(closest-side, rgba(22, 49, 58, .22), rgba(22, 49, 58, 0)); }
html body:not(.home) .fy-pillars__caption { margin: 64px auto 0 !important; max-width: 580px; text-align: center !important; font-size: 16px !important; color: var(--ifx-muted) !important; }
html body:not(.home) .fy-pillars__pillar:hover .fy-pillars__icon { transform: translateY(-4px) rotate(-6deg); transition: transform .5s cubic-bezier(.34, 1.56, .64, 1); }
@media (max-width: 767px) {
  html body:not(.home) .fy-pillars { padding-top: 28px !important; }
  html body:not(.home) .fy-pillars__roof { height: 58px !important; }
  html body:not(.home) .fy-pillars__roof-label { font-size: 14px !important; margin-top: 8px !important; }
  html body:not(.home) .fy-pillars__beam { height: 9px !important; }
  html body:not(.home) .fy-pillars__row { gap: 7px !important; padding: 0 8px !important; }
  html body:not(.home) .fy-pillars__cap { height: 9px !important; } html body:not(.home) .fy-pillars__base { height: 11px !important; }
  html body:not(.home) .fy-pillars__shaft { width: 80% !important; min-height: 230px !important; padding: 14px 0 !important; gap: 12px !important; justify-content: flex-start !important; }
  html body:not(.home) .fy-pillars__icon { width: 34px !important; height: 34px !important; flex: none; }
  html body:not(.home) .fy-pillars__name { writing-mode: vertical-rl; transform: rotate(180deg) !important; font-size: 15px !important; letter-spacing: .02em; white-space: nowrap; }
  html body:not(.home) .fy-pillars__name small { display: none; }
  html body:not(.home) .fy-pillars__pillar--accent .fy-pillars__badge { bottom: -40px !important; font-size: 12px !important; padding: 5px 9px !important; }
  html body:not(.home) .fy-pillars__caption { margin-top: 58px !important; text-align: left !important; font-size: 15px !important; }
}

/* 10.4 Le pilier financier : texte + carte à pictos */
html body:not(.home) .fy-pillar-focus { align-items: center !important; gap: clamp(28px, 5vw, 72px) !important; }
html body:not(.home) .fy-pillar-focus__card { padding: clamp(26px, 3vw, 38px) !important; border: 0 !important; border-radius: 28px !important; background: #FFFFFF !important; box-shadow: var(--ifx-shadow-hi) !important; }
html body:not(.home) .fy-pillar-focus__card .fy-checks > li { margin: 0 !important; padding: 14px 0 !important; border-bottom: 1px solid var(--ifx-line); font-size: 16.5px; align-items: center !important; }
html body:not(.home) .fy-pillar-focus__card .fy-checks > li:last-child { border-bottom: 0; padding-bottom: 0 !important; }
html body:not(.home) .fy-pillar-focus__card .fy-checks > li:first-child { padding-top: 0 !important; }

/* =====================================================================
   11. CRÉATION D'ENTREPRISE — « Ce qui est inclus » + tarification
   ===================================================================== */
#fy-inclus .fy-ico { display: inline-flex !important; }
html body:not(.home) #fy-inclus .fy-bento { background: transparent; box-shadow: none; padding: 0; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(20px, 2.6vw, 36px); }
html body:not(.home) #fy-inclus .fy-bento-set { gap: clamp(28px, 3vw, 44px); }
/* en-tête : carte bleu nuit, grand chiffre or */
html body:not(.home) #fy-inclus .fy-bento__head {
  padding: clamp(28px, 3vw, 40px); border-radius: 28px; color: #FFFFFF; top: 118px;
  background: radial-gradient(110% 70% at 100% 0%, rgba(218, 174, 81, .2) 0%, rgba(218, 174, 81, 0) 60%), linear-gradient(160deg, #1E3F49 0%, #16313A 100%);
  box-shadow: 0 44px 80px -46px rgba(14, 33, 39, .8);
}
html body:not(.home) #fy-inclus .fy-bento--indep .fy-bento__head { background: radial-gradient(110% 70% at 0% 0%, rgba(218, 174, 81, .22) 0%, rgba(218, 174, 81, 0) 60%), linear-gradient(160deg, #2F5765 0%, #1E3F49 100%); }
html body:not(.home) #fy-inclus .fy-bento__title { color: #FFFFFF !important; }
html body:not(.home) #fy-inclus .fy-bento__count { display: flex; align-items: baseline; gap: 12px; margin-top: 8px; color: rgba(255, 255, 255, .78); font: 400 15.5px/1.4 "Roboto", sans-serif; }
html body:not(.home) #fy-inclus .fy-bento__num { font: 700 clamp(64px, 6vw, 88px)/.85 "Kanit", sans-serif; letter-spacing: -.04em; color: #DAAE51; }
html body:not(.home) #fy-inclus .fy-bento__num::after { content: none; }
html body:not(.home) #fy-inclus .fy-bento__link { color: #FFFFFF !important; text-decoration-color: rgba(218, 174, 81, .8); }
/* prestations : tuiles à picto, deux par rangée */
html body:not(.home) #fy-inclus .fy-bento__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border: 0; }
html body:not(.home) #fy-inclus .fy-bento__item {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px 24px 22px; border: 0; border-radius: 22px;
  background: #FFFFFF; box-shadow: 0 0 0 1px var(--ifx-line), 0 22px 44px -34px rgba(22, 49, 58, .35);
}
html body:not(.home) #fy-inclus .fy-bento__top { display: flex !important; align-items: center; justify-content: space-between; width: 100%; margin-bottom: 6px; }
html body:not(.home) #fy-inclus .fy-bento__ico { --fy-ico-size: 46px; --fy-ico-glyph: 25px; }
html body:not(.home) #fy-inclus .fy-bento__ok { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: #EEF3F5; color: #2F5765; transition: background-color .3s, color .3s, transform .5s cubic-bezier(.34, 1.56, .64, 1); }
html body:not(.home) #fy-inclus .fy-bento__ok svg { width: 14px; height: 14px; }
html body:not(.home) #fy-inclus .fy-bento__item:hover .fy-bento__ok { background: #DAAE51; color: #16313A; transform: scale(1.12); }
html body:not(.home) #fy-inclus .fy-bento--sa .fy-bento__item:nth-child(7) { grid-column: 1 / -1; }
html body:not(.home) #fy-inclus .fy-bento--indep .fy-bento__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html body:not(.home) #fy-inclus .fy-bento__note { grid-column: 2; padding: 18px 22px; border-radius: 18px; background: #FBF4E1; }
@media (max-width: 1024px) {
  html body:not(.home) #fy-inclus .fy-bento { grid-template-columns: minmax(0, 1fr); }
  html body:not(.home) #fy-inclus .fy-bento__note { grid-column: 1; }
  html body:not(.home) #fy-inclus .fy-bento--indep .fy-bento__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  html body:not(.home) #fy-inclus .fy-bento { padding: 0; border-radius: 0; }
  html body:not(.home) #fy-inclus .fy-bento__list, html body:not(.home) #fy-inclus .fy-bento--indep .fy-bento__list { grid-template-columns: minmax(0, 1fr); }
  html body:not(.home) #fy-inclus .fy-bento--sa .fy-bento__item:nth-child(7) { grid-column: auto; }
  html body:not(.home) #fy-inclus .fy-bento__item { padding: 20px; }
}
/* forfait de base : barre de répartition, pastilles de couleur, montant en décompte */
html body:not(.home) #fy-inclus .fy-pricing__base { border-radius: 28px; background: radial-gradient(120% 80% at 100% 0%, rgba(218, 174, 81, .2) 0%, rgba(218, 174, 81, 0) 55%), linear-gradient(160deg, #1E3F49 0%, #16313A 100%); box-shadow: 0 44px 80px -46px rgba(14, 33, 39, .8); }
html body:not(.home) #fy-inclus .fy-pricing__eyebrow { display: flex !important; align-items: center; gap: 12px; }
html body:not(.home) #fy-inclus .fy-pricing__eyebrow .fy-ico { --fy-ico-bg: rgba(218, 174, 81, .18); --fy-ico-color: #FFFFFF; }
html body:not(.home) #fy-inclus .fy-pricing__bar { display: flex !important; height: 10px; margin: -12px 0 22px; border-radius: 999px; overflow: hidden; background: rgba(255, 255, 255, .08); gap: 3px; }
html body:not(.home) #fy-inclus .fy-pricing__seg { display: block; flex: 0 0 var(--w); height: 100%; transform-origin: 0 50%; transition: transform 1.2s var(--ifx-ease); }
html body:not(.home) #fy-inclus .fy-pricing__seg--s1, html body:not(.home) #fy-inclus .fy-pricing__dot--s1 { background: #DAAE51; }
html body:not(.home) #fy-inclus .fy-pricing__seg--s2, html body:not(.home) #fy-inclus .fy-pricing__dot--s2 { background: #6F9AA7; }
html body:not(.home) #fy-inclus .fy-pricing__seg--s3, html body:not(.home) #fy-inclus .fy-pricing__dot--s3 { background: #FFFFFF; }
html body:not(.home) #fy-inclus.is-js .fy-pricing__grid:not(.is-in) .fy-pricing__seg { transform: scaleX(0); }
html body:not(.home) #fy-inclus .fy-pricing__seg--s2 { transition-delay: .15s; } html body:not(.home) #fy-inclus .fy-pricing__seg--s3 { transition-delay: .3s; }
html body:not(.home) #fy-inclus .fy-pricing__dot { display: inline-block !important; flex: 0 0 10px; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; align-self: center; }
html body:not(.home) #fy-inclus .fy-pricing__split { margin-top: 6px !important; }
html body:not(.home) #fy-inclus .fy-pricing__split li { justify-content: flex-start; }
html body:not(.home) #fy-inclus .fy-pricing__foot { align-items: start; }
html body:not(.home) #fy-inclus .fy-pricing__split .fy-pricing__lab { flex: 1 1 auto; }
/* paliers : piste qui se remplit, personnes en points */
html body:not(.home) #fy-inclus .fy-pricing__tiers { border-radius: 28px; box-shadow: 0 0 0 1px var(--ifx-line), 0 30px 60px -44px rgba(22, 49, 58, .4); }
html body:not(.home) #fy-inclus .fy-tier__dots { display: flex !important; flex-wrap: wrap; gap: 4px; margin-top: 8px; max-width: 150px; }
html body:not(.home) #fy-inclus .fy-tier__dots i { width: 7px; height: 7px; border-radius: 50%; background: #2F5765; opacity: .55; }
html body:not(.home) #fy-inclus .fy-tier.is-base .fy-tier__dots i { background: #DAAE51; opacity: 1; }
html body:not(.home) #fy-inclus .fy-tier__dots--more b { font: 700 12px/7px "Kanit", sans-serif; color: #2F5765; }
html body:not(.home) #fy-inclus .fy-tier__track { display: block !important; height: 6px; margin: 0 0 10px auto; max-width: 220px; border-radius: 999px; background: #EEF3F5; overflow: hidden; }
html body:not(.home) #fy-inclus .fy-tier__fill { display: block; height: 100%; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, #2F5765, #DAAE51); transform-origin: 0 50%; transition: transform 1.3s var(--ifx-ease); }
html body:not(.home) #fy-inclus.is-js .fy-pricing__grid:not(.is-in) .fy-tier__fill { transform: scaleX(0); }
html body:not(.home) #fy-inclus .fy-tier:nth-child(2) .fy-tier__fill { transition-delay: .1s; } html body:not(.home) #fy-inclus .fy-tier:nth-child(3) .fy-tier__fill { transition-delay: .2s; } html body:not(.home) #fy-inclus .fy-tier:nth-child(4) .fy-tier__fill { transition-delay: .3s; }
html body:not(.home) #fy-inclus .fy-tier.is-base .fy-tier__price { color: #8C6A1E; }
/* options : carte à « + » or */
html body:not(.home) #fy-inclus .fy-addon { border-radius: 22px; box-shadow: 0 0 0 1px var(--ifx-line), 0 22px 44px -36px rgba(22, 49, 58, .35); align-items: center; }
html body:not(.home) #fy-inclus .fy-addon__plus { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 14px; background: #DAAE51; color: #16313A; font-size: 26px; grid-row: 1 / span 2; }
html body:not(.home) #fy-inclus .fy-addon__kicker { display: block !important; font: 600 12px/1.2 "Kanit", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #8C6A1E; margin-bottom: 3px; }
/* forfait fixe (sceau) + frais non inclus (pictos) */
html body:not(.home) #fy-inclus .fy-pricing__fixed { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; border-radius: 24px; background: #FBF4E1; box-shadow: none; }
html body:not(.home) #fy-inclus .fy-pricing__seal { display: inline-flex !important; }
html body:not(.home) #fy-inclus .fy-pricing__seal .fy-ico { --fy-ico-size: 56px; --fy-ico-glyph: 30px; --fy-ico-bg: #DAAE51; --fy-ico-color: #16313A; --fy-ico-accent: #FFFFFF; }
html body:not(.home) #fy-inclus .fy-pricing__ni { border-radius: 24px; }
html body:not(.home) #fy-inclus .fy-pricing__ni-title { display: flex !important; align-items: center; gap: 10px; }
html body:not(.home) #fy-inclus .fy-pricing__ni li { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; }
html body:not(.home) #fy-inclus .fy-pricing__chip { padding: 6px 10px; border-radius: 10px; background: #EEF3F5; font-size: 14px; }
/* indépendant : bandeau bleu nuit, montant or */
html body:not(.home) #fy-inclus .fy-indep { border-radius: 28px; color: #FFFFFF; background: radial-gradient(90% 120% at 100% 50%, rgba(218, 174, 81, .22) 0%, rgba(218, 174, 81, 0) 55%), linear-gradient(120deg, #16313A 0%, #1E3F49 100%); box-shadow: 0 44px 80px -46px rgba(14, 33, 39, .8); }
html body:not(.home) #fy-inclus .fy-indep .fy-title { color: #FFFFFF !important; }
html body:not(.home) #fy-inclus .fy-indep__text { color: rgba(255, 255, 255, .78) !important; }
html body:not(.home) #fy-inclus .fy-indep__label { color: rgba(255, 255, 255, .7); }
html body:not(.home) #fy-inclus .fy-indep__amount { color: #DAAE51; }
html body:not(.home) #fy-inclus .fy-bento__chip { display: inline-flex !important; align-items: center; gap: 10px; margin-bottom: 14px; font: 600 14px/1 "Kanit", sans-serif; color: rgba(255, 255, 255, .85); }
html body:not(.home) #fy-inclus .fy-bento__chip .fy-ico { --fy-ico-bg: rgba(218, 174, 81, .2); --fy-ico-color: #FFFFFF; }
html body:not(.home) #fy-inclus .fy-indep .fy-btn--outline-blue { color: #FFFFFF !important; border-color: rgba(255, 255, 255, .7) !important; }
@media (max-width: 767px) {
  html body:not(.home) #fy-inclus .fy-pricing__fixed { grid-template-columns: minmax(0, 1fr); }
  html body:not(.home) #fy-inclus .fy-tier__track { display: none !important; }
  html body:not(.home) #fy-inclus .fy-indep__side { align-items: flex-start; text-align: left; }
}

/* ---------------------------------------------------------------------
   11.1 « Et pour les indépendants ? », sous la frise des étapes.
   La carte était une bande blanche d'un seul tenant : le titre en haut, puis trois lignes tirées sur
   780 px, avec des pictos décalés de 20 px par rapport à celui du titre (le retrait de la liste), et
   un lien qui flottait seul en bas d'un grand vide. Elle est recomposée en deux colonnes — l'intitulé
   et l'appel à l'action à gauche, le parcours à droite, une étape par ligne — et tout part du même bord.
   --------------------------------------------------------------------- */
html body:not(.home) .fy-indep-note { max-width: none !important; margin: 0 !important; }
html body:not(.home) #independants.fy-note {
  display: grid !important;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  /* deux rangées souples encadrent l'intitulé et le lien : le couple se cale à mi-hauteur du parcours,
     au lieu de laisser un vide franc au-dessus ou au-dessous. */
  grid-template-rows: 1fr auto auto 1fr;
  grid-template-areas: ".     parcours"
                       "titre parcours"
                       "lien  parcours"
                       ".     parcours";
  align-items: start; column-gap: clamp(28px, 3.6vw, 56px); row-gap: 0;
  padding: clamp(28px, 3vw, 40px) !important; border-radius: 26px !important;
}
html body:not(.home) #independants .fy-note__title {
  grid-area: titre; margin: 0 !important; align-items: center;
  font: 600 clamp(20px, 1.8vw, 25px)/1.25 "Kanit", sans-serif !important;
}
html body:not(.home) #independants .fy-checks {
  grid-area: parcours; margin: 0 !important; padding: 0 0 0 clamp(24px, 2.6vw, 40px) !important;
  border-left: 1px solid #E3E8EA;
}
html body:not(.home) #independants .fy-checks > li {
  margin: 0 !important; padding: 15px 0 !important;
  border-top: 1px solid #EEF3F5; line-height: 1.55;
}
html body:not(.home) #independants .fy-checks > li:first-child { border-top: 0; padding-top: 0 !important; }
html body:not(.home) #independants .fy-checks > li:last-child { padding-bottom: 0 !important; }
html body:not(.home) #independants .fy-actions { grid-area: lien; margin: 18px 0 0 !important; align-self: start; }
@media (max-width: 899px) {
  html body:not(.home) #independants.fy-note {
    grid-template-columns: minmax(0, 1fr); grid-template-rows: auto;
    grid-template-areas: "titre" "parcours" "lien"; row-gap: 20px;
  }
  html body:not(.home) #independants .fy-checks { border-left: 0; padding-left: 0 !important; }
  html body:not(.home) #independants .fy-actions { margin: 4px 0 0 !important; }
}

/* =====================================================================
   12. POUR LES PARTICULIERS
   ===================================================================== */
/* 12.1 Grille tarifaire : entièrement décrite dans tarifs.css (le reflet or qui tournait autour de la carte
   vedette et l'entrée en bascule 3D ont été retirés le 16.09.2026 : ils laissaient un trait or détaché au-dessus
   de la carte). */

/* 12.2 Services fiscaux : picto devant chaque intitulé de l'accordéon */
html body:not(.home) .fy-accordion__trigger > .fy-ifx-acc-ico { order: -1; flex: 0 0 auto; margin-right: -4px; }
html body:not(.home) .fy-accordion__trigger { justify-content: flex-start !important; }
html body:not(.home) .fy-accordion__trigger::after { margin-left: auto; }
html body:not(.home) .fy-accordion__item.is-open .fy-ifx-acc-ico { --fy-ico-bg: #DAAE51; --fy-ico-accent: #FFFFFF; transform: rotate(-8deg); }

/* 12.3 Pour aller plus loin — deux grandes cartes photo, texte posé sur l'image.
   Avant : vignette photo, picto qui chevauchait, texte sur fond blanc — la carte de blog la plus courante.
   Désormais la photo occupe toute la carte ; un dégradé bleu nuit monte du bas pour porter le texte ; le picto et
   la nature de la ressource (« Article conseils », « Checklist ») sont posés en haut ; toute la carte mène à la
   ressource, les boutons restent cliquables par-dessus. Deux largeurs (7/5) pour éviter deux blocs jumeaux.
   En-tête ferré à gauche, comme les autres sections recomposées. */
html body:not(.home) .fy-ifx-furthers .fy-section__head { max-width: 760px; margin-left: 0 !important; text-align: left !important; }
html body:not(.home) .fy-ifx-furthers .fy-section__head :is(.fy-title, .fy-lead) { text-align: left !important; margin-left: 0 !important; }
html body:not(.home) .fy-ifx-furthers .fy-section__head .fy-bar { display: none !important; }
html body:not(.home) .fy-ifx-furthers .fy-grid { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; gap: clamp(18px, 2vw, 28px) !important; align-items: stretch; }
html body:not(.home) .fy-ifx-further {
  position: relative; isolation: isolate; display: flex !important; flex-direction: column; justify-content: flex-end; min-width: 0;
  min-height: clamp(460px, 40vw, 580px); margin: 0 !important; padding: clamp(96px, 8vw, 120px) clamp(26px, 3vw, 44px) clamp(28px, 3vw, 42px) !important;
  overflow: hidden; border: 0 !important; border-radius: clamp(22px, 2.2vw, 30px) !important; background: #16313A !important; box-shadow: none !important; color: #FFFFFF;
}
html body:not(.home) .fy-ifx-further::after {            /* dégradé de lecture */
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(19, 43, 51, .5) 0%, rgba(19, 43, 51, .12) 26%, rgba(19, 43, 51, .35) 48%, rgba(19, 43, 51, .93) 82%, #132B33 100%);
}
html body:not(.home) .fy-ifx-further > * { position: relative; z-index: 2; margin-left: 0 !important; margin-right: 0 !important; }
html body:not(.home) .fy-ifx-further__media { position: absolute !important; inset: 0; z-index: 0 !important; display: block; overflow: hidden; background: #16313A; }
html body:not(.home) .fy-ifx-further__media img { display: block; width: 100%; height: 112%; margin-top: -6%; object-fit: cover; max-width: none; border-radius: 0 !important; scale: 1; transition: scale 1.4s cubic-bezier(.16, 1, .3, 1); }
html body:not(.home) .fy-ifx-further:hover .fy-ifx-further__media img { scale: 1.06; }
/* picto et nature de la ressource, en haut à gauche */
html body:not(.home) .fy-ifx-further .fy-card__icon {
  position: absolute !important; top: clamp(26px, 3vw, 40px); left: clamp(26px, 3vw, 44px); display: inline-grid !important; place-items: center;
  width: 56px !important; height: 56px !important; margin: 0 !important; border-radius: 17px !important; background: #FBF8F2 !important; color: #16313A !important; box-shadow: none !important;
}
html body:not(.home) .fy-ifx-further .fy-card__icon--gold { background: #DAAE51 !important; color: #16313A !important; --fy-ico-accent: #FFFFFF; }
html body:not(.home) .fy-ifx-further .fy-card__icon svg { width: 26px !important; height: 26px !important; }
html body:not(.home) .fy-ifx-further .fy-eyebrow {
  position: absolute !important; top: calc(clamp(26px, 3vw, 40px) + 28px); left: calc(clamp(26px, 3vw, 44px) + 72px); translate: 0 -50%;
  display: block !important; margin: 0 !important; font: 600 12px/1 "Kanit", sans-serif !important; letter-spacing: .14em !important; text-transform: uppercase; color: rgba(255, 255, 255, .86) !important;
}
html body:not(.home) .fy-ifx-further .fy-eyebrow::before, html body:not(.home) .fy-ifx-further .fy-eyebrow::after { content: none !important; display: none !important; }
html body:not(.home) .fy-ifx-further .fy-card__title { max-width: 24ch; margin: 0 !important; font: 600 clamp(24px, 2.2vw, 32px)/1.16 "Kanit", sans-serif !important; letter-spacing: -.01em; color: #FFFFFF !important; text-align: left; text-wrap: balance; }
html body:not(.home) .fy-ifx-further .fy-card__title a { color: inherit !important; text-decoration: none !important; }
html body:not(.home) .fy-ifx-further .fy-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }      /* toute la carte mène à la ressource */
html body:not(.home) .fy-ifx-further .fy-card__title { position: static !important; }
html body:not(.home) .fy-ifx-further .fy-card__text { max-width: 54ch; margin: 14px 0 0 !important; font-size: 15.5px !important; line-height: 1.65 !important; color: rgba(255, 255, 255, .78) !important; text-align: left; }
html body:not(.home) .fy-ifx-further .fy-card__footer { position: relative; z-index: 3; display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin-top: clamp(22px, 2.4vw, 30px) !important; padding: 0 !important; border: 0 !important; }
html body:not(.home) .fy-ifx-further .fy-card__footer .fy-btn--link { color: #FFFFFF !important; }
html body:not(.home) .fy-ifx-further .fy-card__footer .fy-btn--link:hover { color: #DAAE51 !important; }
@media (max-width: 900px) {
  html body:not(.home) .fy-ifx-furthers .fy-grid { grid-template-columns: minmax(0, 1fr) !important; }
  html body:not(.home) .fy-ifx-further { min-height: clamp(420px, 110vw, 520px); padding-top: 124px !important; }
}

/* =====================================================================
   13. Paragraphes éclairés ligne après ligne au défilement (data-ifx-sweep → --r posé par inner-fx.js B10)
   Les sections de la page À propos, qui utilisaient ce bloc, sont désormais décrites dans apropos.css.
   ===================================================================== */
.fy-ifx-sweep.is-js p { color: transparent !important; -webkit-text-fill-color: transparent;
  background: linear-gradient(180deg, var(--ifx-sweep-on, #1F2A2E) 0%, var(--ifx-sweep-on, #1F2A2E) var(--r, 0%), var(--ifx-sweep-off, rgba(31, 42, 46, .2)) calc(var(--r, 0%) + 16%), var(--ifx-sweep-off, rgba(31, 42, 46, .2)) 100%);
  -webkit-background-clip: text; background-clip: text; }
.fy-ifx-sweep.is-js p a { -webkit-text-fill-color: transparent; }
:is(.fy-sec--photo, .fy-section--blue) .fy-ifx-sweep { --ifx-sweep-on: #FFFFFF; --ifx-sweep-off: rgba(255, 255, 255, .26); }

/* =====================================================================
   14. FAQ : sommaire latéral collant + groupes à picto
   ===================================================================== */
html body:not(.home) .fy-ifx-faq { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: start; max-width: 1200px; }
html body:not(.home) .fy-ifx-faqnav { position: sticky; top: 118px; display: flex; flex-direction: column; gap: 16px; }
html body:not(.home) .fy-ifx-faqnav__card { position: relative; padding: 24px 18px 22px; border-radius: 26px; background: linear-gradient(160deg, #1E3F49 0%, #16313A 100%); box-shadow: 0 40px 70px -44px rgba(14, 33, 39, .8); overflow: hidden; }
html body:not(.home) .fy-ifx-faqnav__title { margin: 0 8px 12px !important; font: 600 13px/1.2 "Kanit", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
html body:not(.home) .fy-ifx-faqnav__list { margin: 0 !important; padding: 0 !important; list-style: none; display: grid; gap: 4px; }
html body:not(.home) .fy-ifx-faqnav__list li { margin: 0 !important; padding: 0 !important; }
html body:not(.home) .fy-ifx-faqnav__list li::before { content: none !important; }
html body:not(.home) .fy-ifx-faqnav__list a {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 10px; border-radius: 16px; text-decoration: none !important;
  color: rgba(255, 255, 255, .78) !important; font: 500 15px/1.3 "Kanit", sans-serif; transition: background-color .3s, color .3s;
}
html body:not(.home) .fy-ifx-faqnav__list a .fy-ico { --fy-ico-bg: rgba(255, 255, 255, .08); --fy-ico-color: #FFFFFF; --fy-ico-accent: #DAAE51; }
html body:not(.home) .fy-ifx-faqnav__n { min-width: 28px; height: 24px; padding: 0 8px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font: 600 12.5px/1 "Kanit", sans-serif; background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .8); }
html body:not(.home) .fy-ifx-faqnav__list a:hover { background: rgba(255, 255, 255, .06); color: #FFFFFF !important; }
html body:not(.home) .fy-ifx-faqnav__list a.is-active { background: rgba(218, 174, 81, .14); color: #FFFFFF !important; }
html body:not(.home) .fy-ifx-faqnav__list a.is-active .fy-ico { --fy-ico-bg: #DAAE51; --fy-ico-color: #16313A; --fy-ico-accent: #FFFFFF; transform: rotate(-8deg); }
html body:not(.home) .fy-ifx-faqnav__list a.is-active .fy-ifx-faqnav__n { background: #DAAE51; color: #16313A; }
html body:not(.home) .fy-ifx-faqnav__gauge { display: block; height: 4px; margin: 16px 10px 0; border-radius: 999px; background: rgba(255, 255, 255, .1); overflow: hidden; }
html body:not(.home) .fy-ifx-faqnav__gauge i { display: block; height: 100%; width: 100%; border-radius: inherit; background: linear-gradient(90deg, #DAAE51, #F4C01A); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); transition: transform .2s linear; }
html body:not(.home) .fy-ifx-faqnav__help { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px 14px; padding: 18px; border-radius: 22px; background: #FFFFFF; box-shadow: 0 0 0 1px var(--ifx-line), var(--ifx-shadow); }
html body:not(.home) .fy-ifx-faqnav__help img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #FFFFFF, 0 0 0 5px #DAAE51; }
html body:not(.home) .fy-ifx-faqnav__help p { margin: 0 !important; font: 600 15.5px/1.35 "Kanit", sans-serif; color: var(--ifx-ink); }
html body:not(.home) .fy-ifx-faqnav__help .fy-btn { grid-column: 1 / -1; justify-content: space-between; }
html body:not(.home) .fy-ifx-faqhead { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
html body:not(.home) .fy-ifx-faqhead .fy-ico { --fy-ico-bg: #16313A; --fy-ico-color: #FFFFFF; --fy-ico-accent: #DAAE51; border-radius: 16px; }
html body:not(.home) .fy-ifx-faqhead .fy-faq-group__title { margin: 0 !important; }
html body:not(.home) .fy-ifx-faqhead__n { margin-left: auto; font: 500 14px/1 "Kanit", sans-serif; color: var(--ifx-gold-ink); padding: 8px 12px; border-radius: 999px; background: #FBF4E1; }
html body:not(.home) .fy-ifx-faq__main .fy-faq-group { scroll-margin-top: 120px; }
html body:not(.home) .fy-ifx-faq__main .fy-accordion__item { transition: background-color .3s ease; border-radius: 0; }
html body:not(.home) .fy-ifx-faq__main .fy-accordion__item.is-open { background: #FFFFFF; box-shadow: 0 24px 50px -40px rgba(22, 49, 58, .45); border-radius: 18px !important; border-bottom-color: transparent !important; }
html body:not(.home) .fy-ifx-faq__main .fy-accordion__item.is-open .fy-accordion__trigger, html body:not(.home) .fy-ifx-faq__main .fy-accordion__item.is-open .fy-accordion__content { padding-left: 20px !important; }
@media (min-width: 1025px) { html body:not(.home) .fy-faq-chips { display: none !important; } }
@media (max-width: 767px) {
  html body:not(.home) .fy-ifx-faqhead { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; }
  html body:not(.home) .fy-ifx-faqhead .fy-ico { grid-row: 1 / span 2; align-self: center; }
  html body:not(.home) .fy-ifx-faqhead__n { margin: 0; justify-self: start; padding: 5px 10px; font-size: 13px; }
}
@media (max-width: 1024px) {
  html body:not(.home) .fy-ifx-faq { grid-template-columns: minmax(0, 1fr); }
  html body:not(.home) .fy-ifx-faqnav { display: none; }
}

/* =====================================================================
   15. BLOG : article à la une, carte « checklist »
   ===================================================================== */
@media (min-width: 1025px) {
  html body:not(.home) .fy-ifx-posts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px !important; }
  html body:not(.home) .fy-ifx-posts > .fy-post-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
  html body:not(.home) .fy-ifx-posts > .fy-post-card:first-child .fy-post-card__media { height: 100%; min-height: 420px; aspect-ratio: auto !important; border-radius: 14px 0 0 14px !important; --fy-vis-r: 14px 0 0 14px; }
  html body:not(.home) .fy-ifx-posts > .fy-post-card:first-child .fy-post-card__media img { height: 100% !important; }
  html body:not(.home) .fy-ifx-posts > .fy-post-card:first-child .fy-post-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 3.4vw, 52px) !important; }
  html body:not(.home) .fy-ifx-posts > .fy-post-card:first-child .fy-post-card__title { font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.18 !important; }
  html body:not(.home) .fy-ifx-posts > .fy-post-card:first-child .fy-post-card__excerpt { font-size: 17px !important; -webkit-line-clamp: 5 !important; }
}
html body:not(.home) .fy-ifx-promo-sec { background: #FFFFFF; }
html body:not(.home) .fy-ifx-promo {
  position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: stretch; gap: 0; overflow: hidden; border-radius: 34px; color: #FFFFFF;
  background: radial-gradient(90% 120% at 0% 0%, rgba(218, 174, 81, .2) 0%, rgba(218, 174, 81, 0) 55%), linear-gradient(150deg, #1E3F49 0%, #16313A 70%);
  box-shadow: 0 60px 100px -60px rgba(14, 33, 39, .85);
}
html body:not(.home) .fy-ifx-promo__text { padding: clamp(32px, 4.4vw, 64px); display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
html body:not(.home) .fy-ifx-promo__text .fy-ico { --fy-ico-bg: #DAAE51; --fy-ico-color: #16313A; --fy-ico-accent: #FFFFFF; border-radius: 16px; }
html body:not(.home) .fy-ifx-promo .fy-title { color: #FFFFFF !important; margin: 0 !important; }
html body:not(.home) .fy-ifx-promo .fy-lead { color: rgba(255, 255, 255, .8) !important; margin: 0 !important; max-width: 520px; }
html body:not(.home) .fy-ifx-promo .fy-actions { margin-top: 6px; }
html body:not(.home) .fy-ifx-promo__media { border-radius: 0; min-height: 360px; box-shadow: none; }
@media (max-width: 1024px) { html body:not(.home) .fy-ifx-promo { grid-template-columns: minmax(0, 1fr); } html body:not(.home) .fy-ifx-promo__media { min-height: 260px; order: -1; } }

/* =====================================================================
   16. CONTACT : carte en bichromie dans un cadre, fiche adresse posée dessus
   ===================================================================== */
/* carte plein cadre : elle occupe toute la largeur et la hauteur de la section (plus d'aspect « carte flottante ») ;
   la fiche adresse reste posée en surimpression */
html body:not(.home) .fy-ifx-map { position: relative; padding: 0 !important; background: #0E2127 !important; overflow: hidden; }
html body:not(.home) .fy-ifx-map .elementor-widget-google_maps { width: 100%; border-radius: 0; overflow: hidden; box-shadow: none; }
html body:not(.home) .fy-ifx-map .elementor-widget-google_maps, html body:not(.home) .fy-ifx-map .elementor-custom-embed { height: 100%; }
html body:not(.home) .fy-ifx-map iframe { display: block; width: 100%; height: clamp(480px, 54vw, 680px) !important; filter: grayscale(1) contrast(1.05) brightness(1.02); }
html body:not(.home) .fy-ifx-map .elementor-custom-embed { position: relative; }
html body:not(.home) .fy-ifx-map .elementor-custom-embed::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: #2F5765; mix-blend-mode: color; opacity: .55; }
html body:not(.home) .fy-ifx-map__card {
  position: absolute; right: clamp(24px, 5vw, 96px); top: 50%; translate: 0 -50%; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  width: min(340px, calc(100% - 48px)); padding: 28px; border-radius: 26px; background: #FFFFFF; box-shadow: 0 40px 70px -40px rgba(14, 33, 39, .6);
}
html body:not(.home) .fy-ifx-map__card .fy-ico { --fy-ico-bg: #DAAE51; --fy-ico-color: #16313A; --fy-ico-accent: #FFFFFF; border-radius: 16px; margin-bottom: 4px; }
html body:not(.home) .fy-ifx-map__name { margin: 0 !important; font: 700 24px/1.1 "Kanit", sans-serif; color: var(--ifx-ink); }
html body:not(.home) .fy-ifx-map__addr { margin: 0 0 6px !important; font: 400 16px/1.5 "Roboto", sans-serif; color: var(--ifx-muted); }
@media (max-width: 767px) {
  /* la fiche se pose proprement en bas de la carte plein cadre, marges égales, sans débordement */
  html body:not(.home) .fy-ifx-map iframe { height: clamp(420px, 92vw, 560px) !important; }
  html body:not(.home) .fy-ifx-map__card { position: absolute; left: 14px; right: 14px; bottom: 14px; top: auto; translate: none; width: auto; margin: 0; padding: 20px; border-radius: 20px; }
}

/* =====================================================================
   17. Calculateurs : aucun décor circulaire derrière la carte (halo or et anneau retirés le 16.09.2026)
   ===================================================================== */
html body:not(.home) .fy-ifx-calc { position: relative; isolation: isolate; }
html body:not(.home) .fy-ifx-calc::before, html body:not(.home) .fy-ifx-calc::after { content: none !important; }

/* =====================================================================
   18. Questions fréquentes en bas des pages de service : questions numérotées (or), réponse ouverte en carte
   ===================================================================== */
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact { counter-reset: ifxq; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact > .fy-accordion__item { counter-increment: ifxq; border-radius: 16px; transition: background-color .35s ease, box-shadow .35s ease; }

/* Filet de séparation : la variante compacte annulait les bords haut, gauche et droit mais laissait le
   bord BAS de la règle de base, avec son border-radius — d'où une ligne qui remontait aux deux extrémités,
   comme une demi-carte sous chaque question. On supprime ce bord et on trace un vrai filet droit, entre
   les questions seulement (pas sous la dernière). */
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact > .fy-accordion__item { position: relative; border-bottom: 0 !important; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact > .fy-accordion__item + .fy-accordion__item::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--ifx-line);
}

/* Ouverture : le contenu montait d'un bloc, déjà net, pendant que la boîte grandissait — on le voyait
   rogné pendant toute l'animation. Il se fond et se pose maintenant dans la boîte qui s'ouvre. */
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__panel { transition: height .42s cubic-bezier(.22, 1, .36, 1); }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__content { opacity: 0; transform: translateY(-10px); transition: opacity .4s ease, transform .45s cubic-bezier(.22, 1, .36, 1); }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__item.is-open .fy-accordion__content { opacity: 1; transform: none; transition-delay: .08s; }
@media (prefers-reduced-motion: reduce) {
  html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__content { opacity: 1 !important; transform: none !important; transition: none !important; }
}
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__trigger { justify-content: flex-start !important; gap: 14px; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__trigger::before {
  content: counter(ifxq, decimal-leading-zero); flex: 0 0 auto; min-width: 30px; font: 700 15px/1 "Kanit", sans-serif; letter-spacing: .02em; color: #B98C35; transition: color .3s;
}
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__trigger::after { margin-left: auto; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__trigger:hover::before { color: #16313A; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__item.is-open { background: #FFFFFF; box-shadow: 0 26px 50px -40px rgba(22, 49, 58, .5); border-color: transparent !important; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__item.is-open + .fy-accordion__item { border-top-color: transparent !important; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__item.is-open .fy-accordion__trigger { padding-left: 18px !important; padding-right: 14px !important; }
html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__item.is-open .fy-accordion__content { padding-left: 62px !important; padding-right: 20px !important; }
@media (max-width: 767px) {
  html body:not(.home) .fy-section:not(.fy-section--blue) .fy-accordion--compact .fy-accordion__item.is-open .fy-accordion__content { padding-left: 18px !important; }
}
