/* actav-polish.css — built commun/polish-base.css and 205 more files, for 220 pages. Do not edit here: propositions-design-2026-10-30/site/ */
/* ===== commun/polish-base.css ===== */
/* ==========================================================================================================
   actav.fr polish layer: SHARED rules (local proposal, 30/10/2026, NOT live)
   Same design as the live site (owner's cahier, 24/09/2026): same components, colours, fonts and words.
   Loaded after every live stylesheet, then the hero files (polish-hero-*.css), then a page's own page.css.
   Each rule Pn fixes one measured defect and can become a numbered rule of actav-css-compat.css once the owner
   approves it. Root :is(.axm.is-modele, .axm, .axt, .ax-seo) always weighs two classes, so it beats the live
   rules for the guide-and-model variant as well. Skills: impeccable (polish) + Taste (house rules, inspector).
   Pilot page: /bail-professionnel/ (propositions-design-2026-10-30/bail-professionnel/RAPPORT.md).
   ========================================================================================================== */

html body :is(.axm.is-modele, .axm, .axt, .ax-seo) {
  --pol-fine: 14px;        /* breadcrumb, byline meta, tile captions, table heads, warning */
  --pol-small: 16px;       /* card text, steps, FAQ answers, table cells, sidebar */
  --pol-body: 18px;        /* running text */
  --pol-lead: 20px;        /* chapô, En bref */
  --pol-measure: 37em;     /* about 70 characters of Bagoss at 18px */
  --pol-gap-section: 96px;
  --pol-surface: var(--ax-gris-bg2);   /* #F7F9FC: one tone step from the white page */
  --pol-surface-blue: var(--ax-bleu-tint);
  --pol-ease: cubic-bezier(.16, 1, .3, 1);
}

/* P4. Section labels and small caps labels: 11px was under the 13px reading floor (Taste: small-text).
   Kept uppercase, as in the cahier; two steps larger (13px), a little less tracking.
   Merge 30/10: the labels of « À retenir », the convert box, the sidebar card, the « -70 % » pill and the
   « Voir le modèle » cards join the list (were M8, M11, M22 / B1 / T21, with .06em or .08em: one value);
   the sidebar note and the step badges 12px -> 13px; the sidebar note one grey darker (4.4:1 on the blue fill,
   axe color-contrast, B1); the pill a little roomier around its 13px text (M11). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.ax-hm-sur, .axm-eyebrow, .axm-enbref-k, .axm-sommaire-k, .axm-side-estim-k, .axm-retenir-k, .axm-convert-actav-k, .axm-side-cta-k, .axm-pastille, .axm-voisin-k) {
  font-size: 13px !important; letter-spacing: .08em !important; line-height: 1.4 !important;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-side-cta-n, .axm-badge) { font-size: 13px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta-n { color: var(--ax-mut) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-pastille { padding: 3px 10px !important; }

/* P5. Trust strip: a grey hairline under it (Taste: hairline); text one step up. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .ax-hh-bande { border-bottom: 0 !important; padding: 20px 24px; gap: 12px 40px; font-size: 15px; }

/* P6. Page rhythm: sections were 56px apart, the same as the gap inside a card grid, so the guide read as one
   block (Taste: section gap 120-240px; impeccable: more space above a heading than below). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-page { padding: 64px 24px 104px !important; gap: 64px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-article { gap: var(--pol-gap-section) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section { gap: 0 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > * + * { margin-top: 20px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > .axm-eyebrow + h2 { margin-top: 12px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > h2 + * { margin-top: 24px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > h3 { margin-top: 44px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > h3 + * { margin-top: 14px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :is(.axm-table, .axm-cards, .axm-proscons, .axm-clauses, .axm-faq, .axm-steps),
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :is(.axm-table, .axm-cards, .axm-proscons, .axm-clauses) + * { margin-top: 32px !important; }
/* Merge 30/10 (B8, T19, T22): a label followed by an H3 instead of an H2 (creer-mon-entreprise, cession-fonds-de-commerce,
   cession-bail-commercial) floated 44px above its own heading: 12px, as label + H2. A second H2 inside a section
   (« Questions fréquentes… » after a list or a table, transactional pages) sat 20px under it and 24px over its own
   content: 56px above (44px on phones). Notes, « À retenir », alerts and « Voir aussi » chips touched the paragraph
   above at 20px: 32px from the text around them, like tables. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > .axm-eyebrow + h3 { margin-top: 12px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :not(.axm-eyebrow) + h2 { margin-top: 56px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :is(.axm-note, .axm-voir, .axm-retenir, .axm-alerte),
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :is(.axm-note, .axm-voir, .axm-retenir, .axm-alerte) + :not(h2, h3) { margin-top: 32px !important; } /* a heading after the box keeps its own space above (44px for an H3, 56px for an H2) */
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :not(.axm-eyebrow) + h2 { margin-top: 44px !important; }
}

/* P7. Reading type: body 17px at about 94 characters a line (Taste: measure), card, step, FAQ and table text
   at 14-15px. Body 18px at about 70 characters; every secondary text 16px; headings tighter.
   Merge 30/10: « .axm-section > p » (three classes) also caught the disclaimer « p.axm-avert » and set it at 18px
   capped at the measure, short of the FAQ rows above it; it now skips the disclaimer (its own rule is P19). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > p:not(.axm-avert),
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-final-txt p { font-size: var(--pol-body) !important; line-height: 1.7 !important; max-width: var(--pol-measure); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section h2 { letter-spacing: -0.02em !important; text-wrap: balance; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > h3 { letter-spacing: -0.01em !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-card-t { font-size: var(--pol-body) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-card-d, .axm-proscons li, .axm-step p, .axm-faq details p) { font-size: var(--pol-small) !important; line-height: 1.65 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-proscons li { color: var(--ax-txt) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-step h4 { font-size: var(--pol-body) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-clauses-t { font-size: var(--pol-small) !important; }
/* (the disclaimer line of P7 moved to P19) */

/* P8. En bref: a 1px outline plus a 4px coloured bar on the left (impeccable craft floor: no side stripe on
   callouts; Taste: hairline). The blue tint alone marks the box; the answer is set at lead size. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-enbref {
  border: 0 !important; border-radius: 16px !important; background: var(--pol-surface-blue) !important; padding: 28px 32px !important; gap: 12px !important;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-enbref p { font-size: var(--pol-lead) !important; line-height: 1.65 !important; }

/* P9. Surfaces: cards, notes and FAQ rows each stacked a 1px outline, a soft blue drop and a radius  taste-skill-ignore
   (Taste: outlined-box x12, shadow x12). One rule now: a fill one tone step from the page, no line, no drop. taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-card { background: var(--pol-surface) !important; border: 0 !important; box-shadow: none !important; padding: 24px !important; border-radius: 14px !important; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-clauses { background: var(--pol-surface-blue) !important; border: 0 !important; box-shadow: none !important; padding: 20px 24px !important; border-radius: 14px !important; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-clauses-ic { background: #fff; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-proscons.is-choix .axm-card.axm-pros { background: var(--pol-surface-blue) !important; border: 2px solid var(--ax-roi) !important; box-shadow: none !important; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-proscons.is-choix .axm-card.axm-cons .axm-card-t { color: var(--ax-txt-2) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-proscons .axm-card { gap: 16px !important; }

/* P10. Card icons: the seven cards all carried the same document icon, so the icon said nothing
   (Taste: icon-cards; impeccable: an icon must mean something). Hidden; title and text stay. The four
   « Pourquoi Actav » cards wrapped 3 + 1 with one card alone on a second row: now 2 x 2. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-card-ic { display: none !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-cards:has(> .axm-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-cards { gap: 16px !important; }

/* P11. Tables: an outlined frame around a lined table. The frame goes; the head row becomes one grey band
   with round ends; cells one step larger, figures aligned. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table { border: 0 !important; border-radius: 0 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table table { border-collapse: separate !important; border-spacing: 0 !important; font-size: var(--pol-small) !important; font-variant-numeric: tabular-nums; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table th { font-size: var(--pol-fine) !important; padding: 14px 18px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table th:first-child { border-radius: 10px 0 0 10px; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table th:last-child { border-radius: 0 10px 10px 0; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table td { padding: 16px 18px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table tbody tr:first-child td { border-top: 0 !important; }

/* P12. Steps: same blue panel and white steps; more room, step text at the secondary size. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-etapes { padding: 44px 40px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-steps { gap: 12px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-step { padding: 22px 24px !important; gap: 18px !important; }

/* P13. FAQ: rows drawn as outlined boxes, the chevron was a text glyph « ▾ » (impeccable: no glyph as icon).
   Rows on the grey tone step, a drawn chevron; the answer fades in when a row opens (P18). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq { gap: 8px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details { background: var(--pol-surface) !important; border: 0 !important; border-radius: 14px !important; padding: 0 24px !important; transition: background-color .2s; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details:hover { background: var(--ax-gris-bg) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details[open] { background: var(--pol-surface-blue) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq summary { font-size: var(--pol-body) !important; padding: 20px 0 !important; align-items: center; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq summary span:not([style*="nowrap"]) {
  flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: #fff; position: relative;
  font-size: 0 !important; line-height: 0; transition: transform .3s var(--pol-ease) !important;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq summary span:not([style*="nowrap"])::before {
  content: ""; position: absolute; inset: 0; margin: auto; width: 7px; height: 7px;
  border-right: 2px solid var(--ax-roi); border-bottom: 2px solid var(--ax-roi); transform: translateY(-2px) rotate(45deg);
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details p { margin: 0 0 22px !important; max-width: var(--pol-measure); color: var(--ax-txt) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details[open] summary { color: var(--ax-roi) !important; }

/* P14. Sidebar: sommaire and model card text at 13-14px; the sommaire now shows where the reader is
   (polish.js sets aria-current on the link of the section on screen). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-sommaire { padding: 22px 20px !important; gap: 2px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-sommaire a { font-size: 15px !important; padding: 7px 10px !important; transition: background-color .2s, color .2s; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-sommaire a[aria-current] { background: #fff !important; color: var(--ax-roi) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-estim { padding: 22px 20px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-estim-t { font-size: var(--pol-body) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-estim-p { font-size: 15px !important; }

/* P15. Closing band: more room, title one step up, the button answers the pointer. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-final-in { padding: 96px 24px !important; gap: 56px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-final-t { font-size: 40px !important; letter-spacing: -0.025em !important; text-wrap: balance; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-final-txt { gap: 16px !important; }

/* P16. Controls and browser surfaces: links with a set underline, a visible focus ring in the brand blue,
   lime text selection, press feedback on the two buttons. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-section, .axm-enbref, .axm-avert) p a:not([class]) {
  text-underline-offset: .2em; text-decoration-thickness: 1px; transition: text-decoration-thickness .15s, color .15s;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-section, .axm-enbref, .axm-avert) p a:not([class]):hover { text-decoration-thickness: 2px; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(a, summary, button):focus-visible { outline: 2px solid var(--ax-roi) !important; outline-offset: 3px; border-radius: 6px; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) ::selection { background: var(--ax-lime); color: var(--ax-navy); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-final-btns a, .axm-actions a) { transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--pol-ease) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-final-btns a, .axm-actions a):hover { transform: translateY(-2px); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-final-btns a, .axm-actions a):active { transform: translateY(0) scale(.98); }

/* P17. Tablet and phone. The sommaire sat at the very end of the guide, after the FAQ, where it no longer
   helps: it now opens the guide; the model card stays after it. The hero returns to one column. */
@media (max-width: 1024px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-aside { display: contents !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-sommaire { order: -1; flex: 1 1 100%; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-estim { flex: 1 1 100%; }
}
@media (min-width: 701px) and (max-width: 1024px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-sommaire { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-sommaire-k { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) { --pol-body: 17px; --pol-lead: 18px; --pol-gap-section: 64px; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .ax-hh-bande { padding: 20px 16px; flex-direction: column; align-items: flex-start; gap: 10px; }
  /* the 3-column comparison table hid its third column past the screen edge (Taste: side-scroll): it now fits */
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table table { min-width: 0 !important; font-size: 15px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table :is(th, td) { padding: 12px 10px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table th:first-child, html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table td:first-child { padding-left: 12px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-page { padding: 32px 16px 64px !important; gap: 40px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-enbref { padding: 22px 20px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-cards:has(> .axm-card:nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr) !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-etapes { padding: 28px 16px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-step { padding: 18px 16px !important; gap: 14px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details { padding: 0 18px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq summary { font-size: var(--pol-small) !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-final-in { padding: 56px 16px !important; gap: 28px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-final-t { font-size: 28px !important; }
}

/* P18. Motion (shared part; each hero file adds its own load sequence).
   Scroll (desktop): section headings, cards, steps and tables rise as they arrive (polish.js marks them;
   nothing is hidden unless the script runs). Transform and opacity only; all of it off with reduced motion. */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  @keyframes pol-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
  @keyframes pol-open { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq details[open] > p { animation: pol-open .4s var(--pol-ease) both; }
}
/* Scroll entrances on desktop only: on a phone the guide is 25 screens of reading, and parts appearing
   while the thumb scrolls get in the way of the text. Merge 30/10: the transactional blocks join (polish.js);
   the entrance transition wins over a block's own (the lawyer cards carry « transition: transform .2s
   !important », T10) only while it runs: polish.js removes the marks once the block is in place, so the
   block's own hover lift and transition come back. */
@media (prefers-reduced-motion: no-preference) and (min-width: 1025px) {
  html.pol-js body :is(.axm.is-modele, .axm, .axt, .ax-seo) [data-pol-rise] {
    opacity: 0; transform: translateY(22px);
    transition: opacity .7s var(--pol-ease), transform .7s var(--pol-ease) !important;
    transition-delay: calc(var(--pol-i, 0) * 70ms) !important;
  }
  html.pol-js body :is(.axm.is-modele, .axm, .axt, .ax-seo) [data-pol-rise].pol-in { opacity: 1; transform: none; }
}

/* ==========================================================================================================
   MERGE 30/10/2026 (batch 1). The three family agents fixed the same shared .axm-* components each in its own
   file (guide-and-model Mn, service guide Bn, transactional Tn), with slightly different values. One version
   now, with the coordinator's values (propositions-design-2026-10-30/site/FUSION.md « Decisions »), under the
   shared root, so every cahier family gets the same component. Family files keep their heroes and the
   components only they have (.axt-*, .ax-pc, .ax-conf, /cgv/ hero card).
   Boxes: no outline, no resting drop, no coloured side stripe; radius 14px (En bref keeps 16px); callouts
   padded 22px 24px (20px on phones); neutral boxes on --pol-surface, informational or action boxes on
   --pol-surface-blue; a chosen item keeps a 2px --ax-roi outline on the blue fill (as P9).
   ========================================================================================================== */

/* P19. Disclaimer (.axm-avert, decision 2; was B8, T17). P7 set it at 18px within the 37em measure, so the box
   stopped short of the FAQ rows above it (service and transactional pages); on the guide-and-model pages it sat
   at 14px. Fine print 15px, the full column width, as the FAQ rows. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avert { font-size: 15px !important; line-height: 1.7 !important; max-width: none !important; padding: 20px 24px !important; border-radius: 14px !important; }

/* P20. Notes (.axm-note, decision 5; was M9, B2, T16). A 4px blue bar on the left of a tinted box (impeccable:
   no side stripe on callouts). The blue fill alone marks the note; text at the secondary size; white inside
   the blue steps panel, where the blue fill would vanish. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-note {
  border: 0 !important; border-radius: 14px !important; padding: 22px 24px !important;
  background: var(--pol-surface-blue) !important; font-size: var(--pol-small) !important; line-height: 1.7 !important;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-etapes .axm-note { background: #fff !important; }

/* P21. « À retenir » and alert boxes (decision 5; was M8, B2, T21): a 1.5px lime or 1px orange outline around
   their own tint (Taste: outlined-box). Each keeps its tint, as a filled box. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-retenir, .axm-alerte) { border: 0 !important; border-radius: 14px !important; padding: 22px 24px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-retenir { gap: 6px !important; }

/* P22. Panels and link boxes (decision 5).
   « … en trois étapes » (.axm-3e; was M12, B4): a 1px outline plus a resting drop on the white page, alone among
   filled boxes: grey tone step; step text 14 -> 15px, subtitle 15 -> 16px. Its padding stays the live 28px.
   Clause frieze (.axm-schema; was M1, B3): four cards wrapped 3 + 1, one alone on its row (check: lone item), each
   with a resting drop: 2 x 2 (one column on phones), no drop; card text 14 -> 15px.
   Convert box (was M11, B5): Actav text 14 -> 15px, paragraph 15 -> 16px; the 2px blue frame of the offer stays.
   Tool link (.axm-outil; was B7): 1px outline and a drop: blue fill, one step darker on hover.
   Author box (.axm-auteur; was B7): a 1px outline: grey fill (live); meta 14 -> 15px; « Voir le profil → » stays
   on one line (it broke inside the link at 1440).
   LitigIA box (inline styles of the actav-litigia-2510 layer; was M17 and /cession-de-parts-sci/ S2): a 1.5px blue
   outline, a 32px drop, 760px wide and centred in the 788px column, pill 11px, numbers 12px, note 12.5px: blue
   fill, column width, 13px floor. Words, link and order unchanged. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-3e { border: 0 !important; box-shadow: none !important; background: var(--pol-surface) !important; border-radius: 14px !important; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-3e-i p { font-size: 15px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-3e-s { font-size: var(--pol-small) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-schema-in { border-radius: 14px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-schema-g:has(> .axm-schema-c:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-schema-c { box-shadow: none !important; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-schema-cd { font-size: 15px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-convert-actav p { font-size: 15px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-convert-p { font-size: var(--pol-small) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-outil { border: 0 !important; box-shadow: none !important; background: var(--pol-surface-blue) !important; border-radius: 14px !important; padding: 22px 24px !important; transition: background-color .2s; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-outil:hover { background: var(--ax-bleu-sec) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-auteur { border: 0 !important; border-radius: 14px !important; padding: 22px 24px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-auteur-r, .axm-auteur-p) { font-size: 15px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litigia-encadre {
  border: 0 !important; box-shadow: none !important; background: var(--pol-surface-blue) !important; /* removes the inline drop: taste-skill-ignore */
  border-radius: 14px !important; padding: 22px 24px !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-article > .actav-litigia-encadre { margin-top: 0 !important; margin-bottom: 0 !important; } /* the article gap spaces it, as the sections */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litigia-encadre :is([style*="font-size:11px"], [style*="font-size:12px"], [style*="font-size:12.5px"]) { font-size: 13px !important; }

/* P23. Cards (decision 5).
   Lawyer cards (.axm-avocat; was M13, B7): 1px outlined boxes; at 768 three a row broke « Me Audrey / Benichou »:
   grey fill, hover one step darker; columns at least 240px (two a row at 768, three at 1440); meta 13 -> 14px.
   « Voir le modèle » cards (.axm-voisin, /cgv/; was M22): outline and resting drop: grey fill, the current model
   keeps its 2px blue outline on the blue fill. Sidebar model card (.axm-produit, /cgv/; was M23): grey fill. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avocats-g { grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avocat { border: 0 !important; background: var(--pol-surface) !important; border-radius: 14px !important; transition: background-color .2s; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avocat:hover { background: var(--ax-gris-bg) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avocat small { font-size: var(--pol-fine) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avocats-s { font-size: 15px !important; line-height: 1.6 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-avocats-f { font-size: var(--pol-fine) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voisin { background: var(--pol-surface) !important; border: 0 !important; box-shadow: none !important; border-radius: 14px !important; transition: background-color .2s; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voisin:hover { background: var(--ax-gris-bg) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voisin.is-actif { background: var(--pol-surface-blue) !important; border: 2px solid var(--ax-roi) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-produit { background: var(--pol-surface) !important; border: 0 !important; box-shadow: none !important; } /* removes the live drop: taste-skill-ignore */

/* P24. « Voir aussi » links and byline (was T18): 13px pills drawn by a 1px outline (Taste: outlined-box). Grey
   fill, 14px, blue fill on hover. Byline 13 -> 14px. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voir { gap: 10px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voir > span { font-size: var(--pol-fine) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voir a { border: 0 !important; background: var(--pol-surface); font-size: var(--pol-fine) !important; padding: 8px 16px !important; transition: background-color .2s, color .2s; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-voir a:hover { background: var(--pol-surface-blue); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-byline { font-size: var(--pol-fine) !important; }

/* P25. Lists (decision 6; was M3, M10, B8, T15, T23). Lists in the running text (.axm-list) ran 16-17px across the
   whole column next to 18px paragraphs at about 70 characters: same size and measure as the paragraphs. Plain
   link lists (« Dans ce dossier », « À lire aussi », links under the lawyer cards) had no left padding, so the
   bullets hung outside the column (2px from the screen edge on phones), at the browser's 16px: bullets inside
   the column, same size, rows a little apart (easier to tap). A list inside a step keeps the step's text size. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > .axm-list { font-size: var(--pol-body) !important; line-height: 1.7 !important; max-width: var(--pol-measure); gap: 10px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-step .axm-list { font-size: var(--pol-small) !important; line-height: 1.65 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-section, .axm-article, .axm-avocats) > :is(ul, ol):not([class]) {
  padding-left: 1.3em !important; display: flex; flex-direction: column; gap: 10px; max-width: var(--pol-measure);
  font-size: var(--pol-body); line-height: 1.7;
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-section, .axm-article, .axm-avocats) > :is(ul, ol):not([class]) > li { padding-left: .2em; }

/* P26. Text breaks (decision 7; was M4, M5, M14, M18, B7, B8).
   Highlighted figures split over two lines, each half drawn as its own chip (« art. L145- / 18 », « 99 / ans »):
   marks are 12 characters at most, one line. Cards with an empty description kept an empty line: removed.
   A paragraph that is only a <small> footnote (« *Honoraires librement fixés… ») was a 14px line at 18px/1.7
   spacing (31px apart), and the <small> computed 11.2px: fine print. Titles ending on a lone word: balanced
   lines; FAQ questions: no short last line. Headings hyphenated on phones by the site rule C69g (« profes- /
   sionnel »): words stay whole; C69g's overflow-wrap still breaks a word that would not fit. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-hl { white-space: nowrap; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-auteur-p a { white-space: nowrap; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-card-d:empty { display: none !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > p:has(> small:only-child) { font-size: var(--pol-fine) !important; line-height: 1.6 !important; color: var(--ax-mut) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > p:has(> small:only-child) > small { font-size: inherit; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-section > h3, .axm-step h4, .axm-card-t, .axm-3e-t, .axm-avocats-t, .axm-schema-t, .axm-schema-ct, .axm-side-estim-t, .axm-cta-t, .axm-side-cta-t) { text-wrap: balance; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-faq summary { text-wrap: pretty; }
/* No-wrap spans of the typographic corrections (« a-t-il », « 3-6-9 ») that sit inside a flex container, a sommaire
   link or a FAQ question, became flex items of their own and took the look of the number (bold blue, 20px wide,
   overlapping the next word) or of the chevron disc (font size 0: the words vanished; /bail-habitation/,
   /bail-professionnel/, /bail-commercial/, /cgv/, merge round 30/10). They melt back into the text around them. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-sommaire a, .axm-faq summary) > span[style*="nowrap"] { display: contents !important; font: inherit !important; color: inherit !important; letter-spacing: inherit !important; }
/* in a heading the live rule for spans inside titles set them in Bagoss (« passe-t-il » in another face mid-title,
   Taste: mixed-font-headline): the heading's own face */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(h1, h2, h3, h4) span[style*="nowrap"] { font: inherit !important; color: inherit !important; letter-spacing: inherit !important; background: none !important; padding: 0 !important; }
/* box titles set as spans kept the 1.5 line height of running text: wrapped, their lines sat as far apart as
   paragraph lines (« Votre cession / en trois étapes »): heading line height */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-3e-t, .axm-schema-t, .axm-avocats-t) { line-height: 1.25 !important; }
@media (max-width: 480px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(h1, h2) { -webkit-hyphens: manual !important; hyphens: manual !important; }
}

/* P27. Tables (decision 8; was B8, B9, M16, M19, T24).
   Tablet and desktop: a head of three columns or fewer squeezed to one word a line next to a long last column
   (« Taux / IS »): its words stay on one line (with four columns a long head then squeezed another column).
   Phones: three-column tables still ran 5 to 37px past the edge after P17 (« 0,1 % + 6,05 € HT » cannot break):
   one step smaller and tighter. Four columns and more cannot fit (single words such as « intermédiaire » set their
   minimum; 29 to 157px past the edge): each row opens on its first cell (the row title) across the full width,
   the other cells under it, aligned on the column names of the head row, which is laid out the same way:
   three under three for four columns, two by two for five and more (long cells, one word a line otherwise).
   Four columns: cells 8px from their sides, as three-column tables (the families used 7px or 10px).
   Same cells, same order, nothing hidden; polish.js gives the tables explicit table roles, so the changed
   display keeps them tables for screen readers. */
/* Merge lot 2 (05/11, FUSION-LOT2 decision 7): a long LAST head kept on one line pushed tables of whole-phrase heads
   past their frame (« Forfait 2026 en France métropolitaine », « Émolument produit par la tranche… »: 5 to 186px,
   cut tables on 7 batch-2 pages). The short heads stay on one line; the last one may wrap (« Taux / IS » sat
   before a long last column, so P27's case still holds). */
@media (min-width: 701px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:not(:has(tr > :nth-child(4))) th:not(:last-child) { white-space: nowrap; }
}
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(3):last-child) table { font-size: 14px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(3):last-child) :is(th, td) { padding: 10px 8px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(3):last-child) :is(th, td):first-child { padding-left: 10px !important; }

  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) :is(table, thead, tbody) { display: block !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) tr { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) tr > :first-child { grid-column: 1 / -1; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) thead tr { background: var(--ax-gris-bg); border-radius: 10px; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) th { background: transparent !important; border-radius: 0 !important; padding: 10px 8px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) thead th:first-child { padding-bottom: 0 !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) td { border-top: 0 !important; padding: 6px 8px 14px !important; hyphens: auto; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(4):last-child) td:first-child { padding: 14px 8px 0 !important; }

  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) :is(table, thead, tbody) { display: block !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) tr { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) tr > :first-child { grid-column: 1 / -1; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) thead tr { background: var(--ax-gris-bg); border-radius: 10px; padding: 4px 0 6px; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) th { background: transparent !important; border-radius: 0 !important; padding: 8px 10px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) tbody tr { padding-bottom: 8px; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) td { border-top: 0 !important; padding: 6px 10px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table:has(tr > :nth-child(5)) td:first-child { padding: 14px 10px 2px !important; }
}

/* P28. Sidebar (decision 9; was B6, T11).
   Sidebar card (.axm-side-cta): a 1px outline and a large drop at rest: blue fill (the sommaire under it is grey),
   text 14 -> 15px, the button answers the press. Tablet: P17 opens the sidebar into the page column and
   stretches .axm-side-estim, not this card, which ended the guide at 509px in a 720px column: full width.
   Desktop: the sticky sidebar was taller than the screen (card + sommaire 1053px for 807px of room at 1440 x 900),
   so sommaire entries 5 to 9 never showed while reading: the sidebar fits the screen, its cards keep their size
   and the sommaire scrolls inside its own box (polish.js keeps the current entry in view). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta { border: 0 !important; box-shadow: none !important; background: var(--pol-surface-blue) !important; padding: 22px 20px !important; } /* removes the live drop: taste-skill-ignore */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta-p { font-size: 15px !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta-b { font-size: 15px !important; padding: 13px 14px !important; transition: background-color .2s, transform .2s var(--pol-ease); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta-b:active { transform: scale(.98); }
@media (max-width: 1024px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta { flex: 1 1 100%; width: 100%; box-sizing: border-box; }
}
@media (min-width: 1025px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-aside { max-height: calc(100vh - var(--ax-header, 69px) - 48px); }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-aside > :not(.axm-sommaire) { flex: none; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-aside > .axm-sommaire { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
}

/* P29. Guide parts first fixed on the guide-and-model pages, now shared (was M2, M6, M7, M15).
   FAQ heading outside a section (/bail-commercial/): the « FAQ » label, its H2 and the questions are direct
   children of the article, so the 96px gap between sections (P6) split the label from its heading and the
   heading from its questions: 12px, then 24px, as inside a section.
   Key step « Télécharger le modèle Actav » without its button (removed 29/09): the live rule still lets it wrap
   for that button, so on phones its text fell under its number: same row as the other steps.
   Steps outside the blue panel (/bail-derogatoire/): white steps on the white page: grey tone step, like cards.
   Button of the « clauses » box on phones: « …avec un / avocat », left-aligned: centred, balanced. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-article > .axm-eyebrow + .axm-h2 { margin-top: calc(12px - var(--pol-gap-section)) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-article > .axm-h2 + .axm-faq { margin-top: calc(24px - var(--pol-gap-section)) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-article > .axm-h2 { letter-spacing: -0.02em !important; text-wrap: balance; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-step.is-cle:not(:has(.axm-btn)) { flex-wrap: nowrap !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-step.is-cle:not(:has(.axm-btn)) .axm-step-b { flex: 1 1 auto !important; min-width: 0; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section:not(.axm-etapes) > .axm-steps > .axm-step { background: var(--pol-surface) !important; border-radius: 14px !important; }

/* Phones: one column for the four-card frieze, callout padding 20px, the clauses button centred. */
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-schema-g:has(> .axm-schema-c:nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr) !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-note, .axm-retenir, .axm-alerte, .axm-outil, .axm-auteur, .actav-litigia-encadre) { padding: 20px !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-clauses .axm-actions { width: 100%; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-clauses .axm-actions a { width: 100%; text-align: center !important; text-wrap: balance; }
}

/* ==========================================================================================================
   MERGE LOT 2 (05/11/2026). The five batch-2 agents (92 pages, 51 of them articles) wrote the same fixes in many
   page.css files as « shared candidates »: one version each here (decisions in FUSION-LOT2.md), page copies deleted.
   ========================================================================================================== */

/* P30. Old « Article Pro » stylesheet (decision 1; was A1 on 34 articles). It still opens the article's HTML widget
   and sets « h2 { padding-bottom: 10px; border-bottom: 2px solid var(--border) } » on the whole page: every section
   title and the closing title sat over a 2px grey rule (Taste: hairline). Owner item: delete that old <style> at
   the source, then this rule can go. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-h2, .axm-final-t) { border-bottom: 0 !important; padding-bottom: 0 !important; }

/* P31. A section that opens on an H3 (decision 2; was A2/G2 on 12 pages): P6 gave it the 44px of an H3 under a
   paragraph on top of the 96px section gap (140px of white). A heading that opens its section starts at the gap. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > h3:first-child { margin-top: 0 !important; }

/* P32. Superscripts (decision 3; was A6): « 1er » computed 12px in 18px text, 10.5px in phone table cells
   (check: text under 13px). 13px floor, still raised and smaller than the line. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) sup { font-size: max(13px, .75em) !important; }

/* P33. Notes of several paragraphs (decision 4; was E1/A1 on 12 pages, N1 on 6): 0px between the paragraphs, a new
   idea read as the next line of the same one. 12px between them; nothing else in the note changes. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-note > p + p { margin-top: 12px !important; }

/* P34. A label or a nested section after content inside a section (decision 5; was D1): live markup without a
   section break (« FAQ » label 20px under the keyword links of #voir-aussi). It opens a new block: a section's
   distance above it. Outweighs the 20px / 32px rules of P6, does not add to them. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-section > :not(.axm-eyebrow) + :is(.axm-eyebrow, .axm-section) { margin-top: var(--pol-gap-section) !important; }

/* P35. Buttons (decision 6). Sidebar card button at 1440: « Créer ma société avec un / avocat → », a lone word on its
   second line: balanced lines (was D2/P1/E2 on 8 pages). Phones: a wrapping action button left a lone word, its text
   left-aligned in a full-width button: balanced, centred as the hero button (was D3/P2 on 7 pages). Inline CTA
   titles (.axm-cta-t) at the desktop size ran 4 to 7 lines at 390: 18px, heading line height. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-side-cta-b { text-wrap: balance; }
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-actions > a { text-wrap: balance; text-align: center !important; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-cta-t { font-size: 18px !important; line-height: 1.4 !important; }
}

/* P36. Words split at line ends outside the paragraphs (decision 8; was K7). The article paragraphs are whole-word
   (live .axm-p, hyphens manual) but the En bref answer, list items, FAQ answers and table cells inherited automatic
   hyphenation (« cotisa- / tions », « comp- / table », 1440 and 390): whole words, as the paragraphs. Phone tables
   of four columns and more keep P27's hyphenation. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) :is(.axm-enbref p, .axm-section li, .axm-faq details p) { -webkit-hyphens: manual !important; hyphens: manual !important; }
@media (min-width: 701px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axm-table :is(td, th) { -webkit-hyphens: manual !important; hyphens: manual !important; }
}

/* P37. « Un litige sur ce sujet ? » (.actav-litige, layer actav-litigia-2510; decision 11; was G1, P3, S2). No style of
   its own: the paragraph ran the full column (about 120 characters) and the link list had no left padding, its
   bullet hanging outside the column (at the screen edge on phones). The note look (P20): blue fill, 14px radius,
   secondary size, bullets inside the box. Words, links and order unchanged. */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litige {
  background: var(--pol-surface-blue); border-radius: 14px; padding: 22px 24px;
  font-size: var(--pol-small); line-height: 1.7; color: var(--ax-txt);
}
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litige > p { margin: 0; font-size: inherit; line-height: inherit; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litige > ul { margin: 10px 0 0; padding-left: 1.3em !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litige > ul > li { padding-left: .2em; }
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .actav-litige { padding: 20px; }
}

/* P38. Tool cards outside the information-page template (decision 12; was A12 on /articles/frais-de-notaire-pour-
   cession-de-parts-sci/). The live stylesheet draws a.axp-outil and a.axp-side-outil only inside .ax-page-info, so
   here both rendered as bare text with the words run together (« sans inscription.Faire la simulation → ») and a
   0px icon tile. Same parts and words, with the look of the tool link (P22): blue fill, darker on hover; side label
   at the 13px label size (P4). */
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) a.axp-outil { display: flex !important; gap: 14px; align-items: center; padding: 22px 24px; border-radius: 14px; background: var(--pol-surface-blue); color: var(--ax-navy) !important; text-decoration: none !important; transition: background-color .2s; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) a.axp-outil:hover { background: var(--ax-bleu-sec); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-outil-ic { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 10px; background: #fff; color: var(--ax-roi); display: flex; align-items: center; justify-content: center; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-outil-t { flex: 1 1 0%; font-size: 15px !important; line-height: 1.5 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-outil-t > span { color: var(--ax-txt-2); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-outil-l { flex: 0 0 auto; font-size: 14px !important; font-weight: 600 !important; color: var(--ax-roi) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) a.axp-side-outil { display: flex !important; flex-direction: column; gap: 4px; padding: 22px 20px; border-radius: 14px; background: var(--pol-surface-blue); color: var(--ax-navy) !important; text-decoration: none !important; transition: background-color .2s; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) a.axp-side-outil:hover { background: var(--ax-bleu-sec); }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-side-outil-k { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase; color: var(--ax-mut) !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-side-outil-t { font-size: 15px !important; font-weight: 600 !important; }
html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-side-outil-l { font-size: 14px !important; font-weight: 600 !important; color: var(--ax-roi) !important; }
@media (max-width: 700px) {
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) a.axp-outil { flex-wrap: wrap; row-gap: 6px; padding: 20px; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-outil-t { flex: 1 1 170px; min-width: 0; }
  html body :is(.axm.is-modele, .axm, .axt, .ax-seo) .axp-outil-l { flex: 1 1 100%; padding-left: 50px; }
}

/* ===== commun/polish-ancien.css ===== */
/* actav.fr polish layer: OLD templates (« .actav-page », pre-24/09 redesign) — blockers only.
   These pages wait for the owner's cahier versions (docs/en-attente.md: their shop sheets are not online yet),
   so only defects that hide content or break the page are fixed here; everything else waits for the conversion. */

/* A1. Tables cut on phones: the old template keeps a minimum table width, so on a 390px screen the last
   columns sit past the edge (/contrat-de-prestation-de-service/: « Prix HT » and « Modèle » with the
   per-trade download links; 1–2 tables on the three other pages). The tables now fit the screen. */
@media (max-width: 700px) {
  html body:has(.actav-page) .actav-page .actav-table-wrap table { min-width: 0 !important; width: 100% !important; font-size: 14px !important; }
  html body:has(.actav-page) .actav-page .actav-table-wrap :is(th, td) { padding: 10px 8px !important; overflow-wrap: break-word; hyphens: auto; }
  /* links and column heads stay whole (« Télécharger » was cut into « Télé-char-ger ») */
  html body:has(.actav-page) .actav-page .actav-table-wrap th { hyphens: manual; overflow-wrap: normal; }
  html body:has(.actav-page) .actav-page .actav-table-wrap td a { hyphens: manual; white-space: nowrap; }
  /* Safari does not hyphenate French here: a cell may break inside a long word rather than push the table past the edge */
  html body:has(.actav-page) .actav-page .actav-table-wrap td { overflow-wrap: anywhere; }
}

/* ===== commun/polish-gabarit-modele.css ===== */
/* ==========================================================================================================
   actav.fr polish layer: « GUIDE ET MODÈLE » FAMILY (.axm.is-modele, hero .ax-hm). Local proposal, 30/10/2026,
   NOT live. Needs polish-base.css (tokens --pol-*). Loaded after polish-base.css, before polish-hero-hm.css.
   Each rule Mn fixes a defect seen on a page of the family that the pilot (/bail-professionnel/) did not show.
   Merge 30/10/2026: the fixes of shared .axm-* components (M1-M19, M22, M23) moved to polish-base.css (one
   version for every family, FUSION.md); this file keeps the model card of the hero (/cgv/: M20, M21, M24).
   ========================================================================================================== */

/* M1 (schema 2 x 2, no drop, balanced title): moved to polish-base P22, P26. */
/* M2 (FAQ heading outside a section): moved to polish-base P29. */
/* M3 (plain link lists): moved to polish-base P25. */
/* M4 (no hyphenated headings on phones): moved to polish-base P26. */
/* M5 (balanced titles, pretty FAQ questions): moved to polish-base P26. */
/* M6 (key step without its button on phones): moved to polish-base P29. */
/* M7 (steps outside the blue panel): moved to polish-base P29. */
/* M8 (« À retenir »): moved to polish-base P21 (label: P4). */
/* M9 (notes): moved to polish-base P20. */
/* M10 (lists in the running text): moved to polish-base P25. */
/* M11 (convert box pill, label, text): moved to polish-base P4, P22. */
/* M12 (« … en trois étapes » box): moved to polish-base P22. */
/* M13 (lawyer cards): moved to polish-base P23. */
/* M14 (highlighted figures on one line): moved to polish-base P26. */
/* M15 (clauses box button on phones): moved to polish-base P29. */
/* M16 (four-column tables on phones): moved to polish-base P27. */
/* M17 (LitigIA box): moved to polish-base P22. */
/* M18 (line height of box titles): moved to polish-base P26. */
/* M19 (tables of five columns or more on phones): moved to polish-base P27. */

/* M20. Hero WITH the model card (.ax-hm-produit, /cgv/, 1440): the shared hero rule P1 (polish-hero-hm.css) turns
   the text column into a two-column grid (chapô left, tiles right), written for a hero WITHOUT a card. Beside the
   card it left the chapô about 60px wide (one word a line) and the byline five lines high. Here the title runs
   across the full width (P1's intent: focal point, no empty half), and under it the chapô, tiles and byline sit
   on the left, the model card on the right. Same parts, same order for screen readers. */
@media (min-width: 1025px) {
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-grille { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); grid-template-rows: repeat(5, auto) 1fr; column-gap: 64px; row-gap: 0; align-items: start; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-txt { display: contents !important; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-sur { grid-column: 1 / -1; grid-row: 1; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) h1 { grid-column: 1 / -1; grid-row: 2; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-chapo { grid-column: 1; grid-row: 3; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-tuiles { grid-column: 1; grid-row: 4; margin-top: 32px; max-width: 640px; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-auteur { grid-column: 1; grid-row: 5; margin-top: 32px; }
  html body .axm.is-modele .ax-hm:has(.ax-hm-produit) .ax-hm-produit { grid-column: 2; grid-row: 3 / 7; max-width: none; } /* the last row (1fr) takes the card's extra height, so chapô, tiles and byline keep their own spacing */
}

/* M21. Model card of the hero (/cgv/): a 1px outline plus a 60px blue drop under a white card on the grey hero
   (Taste: shadow, outlined-box). White on grey is the tone step, as for the hero tiles (P3). */
html body .axm.is-modele .ax-hm .ax-hm-carte { border: 0 !important; box-shadow: none !important; } /* removes the live drop: taste-skill-ignore */

/* M22 (« Voir le modèle » cards): moved to polish-base P23 (label: P4). */
/* M23 (sidebar model card): moved to polish-base P23. */

/* M24. Model card of the hero (/cgv/): « Validé avocat » pill and the three reassurance lines at 12px (Taste:
   small-text). Raised to the 13px floor. */
html body .axm.is-modele .ax-hm :is(.ax-hm-pastille, .ax-hm-mentions) { font-size: 13px !important; }

/* ===== commun/polish-hero-hh.css ===== */
/* ==========================================================================================================
   actav.fr polish layer: family « service guide » (local proposal, 30/10/2026, NOT live). Needs polish-base.css.
   Root .axm (no is-modele) with the hybrid hero .ax-hh as its first child, the persona card aside.ax-pc on the
   right of the title, the trust bar .ax-conf at the foot of the hero, then the shared .axm-page article.
   Pages: /creer-une-sas/, /creer-une-sasu/, /creer-une-sarl/, /creer-une-eurl/, /creer-une-sci/,
   /creer-mon-entreprise/, /ceder-son-entreprise/ (and every other page built on this hero).
   Prefix html body .axm:has(> .ax-hh):not(.is-modele) weighs three classes: it beats the live rules
   (actav-css-general.css C1, actav-css-compat.css C96) and polish-base.css (two classes).
   Same components, colours, fonts and words as the live page; each rule says defect, page(s), width.
   Part H = the hero (template rules). Merge 30/10/2026: Part B (body components shared with the other families,
   B1-B9) moved to polish-base.css under its two-class root (one version for every family, FUSION.md).
   ========================================================================================================== */

/* ---------------------------------------------------------------------------------------------------------
   H1. First screen: hierarchy. All 7 pages, 1440 px: the title was 44 px (3 vw) next to a white card drawn with
   an outline and a drop, so the card led the screen, not the title (Taste: focal-point). « avocat » sat alone
   on the second line (SAS, SARL, EURL). Title up to 66 px (4.55 vw at 1440, 43 px at 768, 31 px at 390),
   balanced lines, tighter tracking; same columns as the live page (text, 56 px, card up to 448 px).
   The card stays on the right of the title, as in the owner's mock-up (C96).
   --------------------------------------------------------------------------------------------------------- */
html body .axm:has(> .ax-hh):not(.is-modele) > .ax-hh {
  --ax-h1-size: clamp(30px, calc(3.3vw + 18px), 66px); --ax-h1-lh: 1.06;
  padding-bottom: 80px !important;
}
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh h1 { letter-spacing: -0.03em !important; text-wrap: balance !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-grille { margin-top: 40px; }

/* H2. Small type in the hero. All pages, all widths: label 11 px, breadcrumb and author meta 13 px, trust-bar
   footnote 12 px, card label 12 px (Taste: small-text, micro-label). Label 13 px (cahier capitals kept),
   breadcrumb 14 px, chapô at lead size 20 px with a 34em measure (it ran 18 px), author line 15/14 px. */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-sur { font-size: 13px !important; letter-spacing: .08em !important; line-height: 1.4; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-ariane { font-size: var(--pol-fine); }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-chapo { font-size: var(--pol-lead) !important; line-height: 1.6 !important; max-width: 34em; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-auteur a { font-size: 15px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-auteur small { font-size: var(--pol-fine); }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh :is(.ax-hh-btn-contour, .ax-hh-lien) { font-size: 16px !important; }

/* H3. Rhythm of the text column (desktop). All pages, 1440 px: one 24 px gap between every part, so label, title,
   chapô, button and author read as one list. Now: label close to the title, more air under the title and
   under the chapô (more space above a group than inside it). */
@media (min-width: 1025px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-txt { gap: 0; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-sur { margin-bottom: 18px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-txt h1 { margin-bottom: 30px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-chapo { margin-bottom: 32px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-actions { margin-bottom: 32px; }
}

/* H4. The highlighted words were set in Bagoss inside a Plus Jakarta title and drawn with a gradient
   (Taste: mixed-font-headline, gradient). All pages, all widths. Same lime band, one typeface, drawn as a
   text decoration (identical to the guide-and-model hero, polish-hero-hm.css P2). */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh h1 .ax-hh-surligne {
  font-family: inherit !important; background: none !important; padding: 0 !important;
  text-decoration-line: underline; text-decoration-color: var(--ax-lime); text-decoration-thickness: .4em;
  text-underline-offset: -.4em; text-decoration-skip-ink: none;
}

/* H5. Persona card. All pages, all widths: a white card with a 1px outline and a blue drop, holding a second
   box with its own 1px outline (Taste: outlined-box, shadow). White on the grey hero is already the tone step:
   no line, no drop. The « Étape 1 » block keeps its blue tint, without the outline; it answers the pointer by
   its fill (live hover colours). Its icon tiles were tint on tint (#DEEAFC on #F3F7FF, barely visible once the
   outline is gone): white tiles, as the FAQ chevron discs of polish-base P13. Label 12 -> 13 px; the phrase
   keeps a reading measure on tablets, where the card runs the full width. */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc { border: 0 !important; box-shadow: none !important; border-radius: 20px; padding: 32px; gap: 16px; } /* removes the live drop: taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc .ax-pc-etiq { font-size: 13px !important; letter-spacing: .06em; padding: 6px 12px; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc p.ax-pc-phrase { max-width: 36em; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc a.ax-pc-etape { border: 0 !important; border-radius: 14px !important; padding: 18px 16px 20px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc a.ax-pc-etape:hover { box-shadow: none !important; } /* hover keeps the live fill change, drops the live drop: taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc .ax-pc-ic { background: #fff !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc a.ax-pc-btn { transition: background-color .2s, transform .2s var(--pol-ease) !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc a.ax-pc-btn:active { transform: scale(.98) !important; }

/* H6. Trust bar. All pages, 1440 px: a white bar with a 1px outline (Taste: outlined-box); 768 and 390 px: chips
   each with a 1px outline under a grey hairline (Taste: hairline). White on grey is the tone step: no outline,
   no hairline, more air above. Footnote 12 -> 13 px. */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf { margin-top: 56px; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf ul { border: 0 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf small { font-size: 13px !important; }
@media (max-width: 900px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf { margin-top: 36px; padding-top: 0; border-top: 0; gap: 10px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf ul { gap: 8px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf li { border: 0 !important; padding: 8px 12px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf li.ax-conf-lime { padding: 0 !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf .ax-conf-lime > span { padding: 8px 14px; }
}

/* H7. Tablet and phone order is the owner's (label, title, card, then chapô, button, author: C96). The flex column
   gave every part the same 18 px gap, so the card touched the title's rhythm and the chapô read as part of the
   card. Label close to the title, clear air around the card. */
@media (max-width: 1024px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-grille:has(> .ax-pc) { gap: 0 !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-sur { margin-bottom: 14px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-txt h1 { margin-bottom: 28px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-grille > .ax-pc { margin-bottom: 32px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-chapo { margin-bottom: 24px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-actions { margin-bottom: 24px; }
}
@media (max-width: 700px) {
  html body .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { padding-bottom: 48px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-grille { margin-top: 20px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh h1 { letter-spacing: -0.025em !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc { padding: 22px 20px; border-radius: 16px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-txt h1 { margin-bottom: 22px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-grille > .ax-pc { margin-bottom: 28px; }
  /* author line at 15 px left « Sghari » alone on a second line at 390 px: live 14 px kept on phones */
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-auteur a { font-size: 14px !important; }
}

/* H8. States. Outline button and test link answer the pointer and the press; the focus ring is polish-base P16. */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-btn-contour { min-height: 48px; padding: 12px 20px; transition: background-color .2s, transform .2s var(--pol-ease); }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-btn-contour:active { transform: scale(.98); }
/* Test link (« Quel statut ? Faire le test », « Fonds, titres ou bail ? »; creer-mon-entreprise, cession): when it
   wraps under the button (390 and 1025 px) its 6 px side padding left the text 6 px in from the column edge.
   No side padding; the gap beside the button is kept by the row's column gap. */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-actions { column-gap: 20px; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-lien { text-underline-offset: .25em; padding-left: 0 !important; padding-right: 0 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-lien:hover { text-decoration: underline !important; text-decoration-thickness: 1px !important; }

/* H9. Load sequence (signature move, like polish-hero-hm.css P18): the hero's parts rise in reading order,
   the card follows the title, the lime band inks in last. Transform and opacity only; nothing moves with
   reduced motion. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes pol-hh-ink { from { text-decoration-color: transparent; } to { text-decoration-color: var(--ax-lime); } }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh :is(.ax-hh-ariane, .ax-hh-sur, h1, .ax-hh-chapo, .ax-hh-actions, .ax-hh-auteur, .ax-pc, .ax-conf) {
    animation: pol-rise .8s var(--pol-ease) both;
  }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-sur { animation-delay: .05s; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-txt h1 { animation-delay: .12s; } /* .ax-hh-txt: the :is() above outweighs a bare h1 */
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-pc { animation-delay: .22s; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-chapo { animation-delay: .28s; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-actions { animation-delay: .36s; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-auteur { animation-delay: .42s; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-conf { animation-delay: .5s; }
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh h1 .ax-hh-surligne { animation: pol-hh-ink .7s ease-out .75s both; }
}

/* =========================================================================================================
   Part B. Body components: moved to polish-base.css (merge 30/10/2026).
   ========================================================================================================= */
/* B1 (labels, sidebar note, step badges): moved to polish-base P4. */
/* B2 (notes, « À retenir », alerts): moved to polish-base P20, P21. */
/* B3 (clause frieze): moved to polish-base P22. */
/* B4 (« … en trois étapes » box): moved to polish-base P22 (the 32px padding dropped: live 28px kept, as on the other families). */
/* B5 (conversion block text): moved to polish-base P22. */
/* B6 (sidebar card, tablet width): moved to polish-base P28. */
/* B7 (lawyer cards, author box, tool link): moved to polish-base P22, P23, P26. */
/* B8 (footnotes, lists, empty card descriptions, disclaimer width, table heads, link lists, highlighted figures,
   label + H3, balanced titles): moved to polish-base P6, P19, P25, P26, P27. */
/* B9 (phone tables, frieze and box padding on phones): moved to polish-base P27, P29. */

/* =========================================================================================================
   Merge lot 2 (05/11/2026, FUSION-LOT2.md decisions 9, 10, 13): hero parts the batch-2 agents fixed page by page.
   ========================================================================================================= */

/* H10. Tab-card hero (.ax-hh-carte « Je cède ou je reprends / Je crée ma société » and its figure tiles .ax-hh-tuiles;
   12 batch-2 pages; was K1-K8 and A2-A4). A white card drawn with a 1px outline and a 60px blue drop on the grey hero,
   its tab bar under a grey hairline, the chosen tab and each tile with their own drop (Taste: outlined-box, shadow,
   hairline): white on grey is the tone step, as the persona card (H5), fills kept. Pill « Jusqu'à -70 % » 12 -> 13px,
   tile captions 13 -> 14px (12 -> 13px on phones). The tiles sat on the author line (0px at 1440): 32px (24px at 1024
   and below), as under the button row. Titles and card text keep whole words (« d'en- / treprise », « l'avo- / cat »).
   Card button « Céder mon entreprise avec un / avocat »: balanced lines. */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-carte { border: 0 !important; box-shadow: none !important; border-radius: 20px !important; } /* removes the live drop: taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-onglets { border-bottom: 0 !important; border-radius: 20px 20px 0 0; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-onglets label { box-shadow: none !important; } /* active tab: white chip on the grey bar; removes the live drop: taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-tuile { box-shadow: none !important; } /* removes the live drop: taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-pastille { font-size: 13px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-tuile span { font-size: 14px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-tuiles { margin-bottom: 32px; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh:has(.ax-hh-carte) :is(h1, .ax-hh-carte-titre),
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-carte :is(p, li) { -webkit-hyphens: manual !important; hyphens: manual !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-cta { text-wrap: balance; }
@media (max-width: 1024px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-tuiles { margin-bottom: 24px; }
}
@media (max-width: 700px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh .ax-hh-tuile span { font-size: 13px !important; }
}
/* Heroes without the persona card (tab card, or text and trust strip only), 1024px and below: the text column keeps its
   live 24px (20px on phones) flex gap, and the H7 margins add to it: label 38px over its title, title 52px over the
   chapô. Gap 0, as on desktop (H3): the H7 rhythm applies. Persona-card heroes keep their live gap (their
   rhythm was set and approved with it in batch 1).
   Trust strip at 701-1024px: three items of 640px plus two 40px gaps in 720px, the third (« 100 % en ligne ») fell
   alone on a second line: gap 28px. */
@media (max-width: 1024px) {
  html body .axm:has(> .ax-hh):not(.is-modele) > .ax-hh:not(:has(.ax-pc)) .ax-hh-txt { gap: 0 !important; }
}
@media (min-width: 701px) and (max-width: 1024px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .ax-hh-bande { column-gap: 28px !important; }
}

/* H11. Long hero titles (decision 10; was a per-page cap on 20 batch-2 pages). At H1's 66px a title of more than 70
   characters ran to four or five lines beside the card (check: headings over 3 lines). polish.js marks such a title
   (data-long); in a hero with a side card (persona card or tab card), from 1025px it tops out at 54px, with whole
   words. Heroes without a card keep the H1 size: their title has the full width (same lines as before the merge), and
   at 54px their first screen lost its focal point (Taste: focal-point, hero-void, measured on three pages). Tablet and phone sizes unchanged. A page keeps its own
   cap only where the measured title runs to more lines than with its cap (1025-1440px); the step is set on the hero
   through :where(), so a page cap on the hero (page.css, loaded later, same or more weight) still wins. */
@media (min-width: 1025px) {
  html body .axm:has(> .ax-hh):not(.is-modele) > .ax-hh:where(:has(h1[data-long]):has(.ax-pc, .ax-hh-carte)) { --ax-h1-size: clamp(30px, calc(2.6vw + 16px), 54px); }
  html body .axm:has(> .ax-hh):not(.is-modele) > .ax-hh:has(.ax-pc, .ax-hh-carte) h1[data-long] { -webkit-hyphens: manual !important; hyphens: manual !important; }
}

/* H12. Leftover « actav-* » blocks (decision 13; was Q1-Q6 on the four « Quel statut pour … » pages and Q3-Q4 on
   /quelle-cession-dentreprise-me-concerne/). Older blocks inside « .axt-libre » wrappers (editorial grid, issue cards,
   callouts, cost table, quiz) that the cahier rules do not reach. The quiz and the checklist form are the tool's own
   interface: only their intro and their small labels change.
   Quiz intro: label and text left-aligned under a centred title (three alignments in one block), text 13px: left-aligned
   like every section heading, text at the secondary size.
   Callouts « Notre conseil », « Information »: a 4px blue bar on the left of a tinted box, 14.5px text: the note (P20).
   Issue cards: white boxes with a 1px outline, a drop and a sideways jump on hover, 13.5px text: grey tone step like the
   cahier cards (P9), one step darker on hover. Editorial text 15 -> 16px.
   Tables (.actav-table-wrap): an outlined frame and grey rules between columns, cells 13.5px, details 12.5px: no frame,
   no column rules, the navy head row keeps its colour with round ends (P11); cells 15px, details 14px.
   Labels (sommaire title, « À RETENIR », quiz label, step counter, option notes, tile captions): 11-12px -> 13px. */
html body .axm:has(> .ax-hh):not(.is-modele) .actav-quiz-intro { text-align: left !important; margin-bottom: 0 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-quiz-intro h2 { text-align: left !important; letter-spacing: -0.02em; text-wrap: balance; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-quiz-intro p:not(.actav-label) { font-size: var(--pol-small) !important; line-height: 1.65 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-callout {
  border: 0 !important; border-radius: 14px !important; background: var(--pol-surface-blue) !important;
  padding: 22px 24px !important; font-size: var(--pol-small) !important; line-height: 1.7 !important;
}
html body .axm:has(> .ax-hh):not(.is-modele) .actav-callout-title { font-size: 15px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-enjeu-card { border: 0 !important; box-shadow: none !important; background: var(--pol-surface) !important; border-radius: 14px !important; transition: background-color .2s !important; } /* removes the live hover drop: taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .actav-enjeu-card:hover { background: var(--ax-gris-bg) !important; box-shadow: none !important; transform: none !important; } /* taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .actav-enjeu-content p { font-size: 15px !important; line-height: 1.6 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-editorial-text p { font-size: var(--pol-small) !important; line-height: 1.7 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; } /* taste-skill-ignore */
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap table { border-collapse: separate !important; border-spacing: 0 !important; font-size: 15px !important; font-variant-numeric: tabular-nums; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap :is(th, td) { border-left: 0 !important; border-right: 0 !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap thead th { font-size: 14px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap thead th:first-child { border-radius: 10px 0 0 10px; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap thead th:last-child { border-radius: 0 10px 10px 0; }
html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap .actav-cost-detail { font-size: 14px !important; }
html body .axm:has(> .ax-hh):not(.is-modele) :is(.actav-sommaire-title, .ahx-retenir-k) { font-size: 13px !important; letter-spacing: .08em !important; }
html body .axm:has(> .ax-hh):not(.is-modele) :is(.actav-quiz-label, .actav-quiz-step-counter, .actav-quiz-option-sub) { font-size: 13px !important; }
/* Phones. Callouts at the note's phone padding. The cost table kept a 600px minimum width in its scrolling frame (its
   « Détail » column 242px past the screen edge): it fits the column, as the cahier tables (P17, P27: 14px cells, 8px
   sides), amounts may wrap between words, details 13px. A table of four columns scrolled sideways (244px hidden at
   390): P27's stacking, the row title across the full width, the three values under it, aligned on the head row laid
   out the same way (head cells keep their own dark fill). Same cells, same order. */
@media (max-width: 700px) {
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-callout { padding: 20px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap table { min-width: 0 !important; width: 100% !important; font-size: 14px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap :is(th, td) { padding: 10px 8px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap .actav-cost-amount { white-space: normal !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap .actav-cost-detail { font-size: 13px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) { overflow-x: visible !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) :is(table, thead, tbody) { display: block !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) :is(th, td) { font-size: inherit !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) tr { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) tr > :first-child { grid-column: 1 / -1; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) thead th:first-child { padding-bottom: 0 !important; border-radius: 10px 10px 0 0; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) thead th:nth-child(2) { border-radius: 0 0 0 10px; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) thead th:last-child { border-radius: 0 0 10px 0; } /* one head band: round corners on the band, not on each cell */
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) td { border-top: 0 !important; padding: 6px 8px 14px !important; }
  html body .axm:has(> .ax-hh):not(.is-modele) .actav-table-wrap:has(tr > :nth-child(4):last-child) td:first-child { padding: 14px 8px 0 !important; font-weight: 600; }
}

/* ===== commun/polish-hero-hm.css ===== */
/* actav.fr polish layer: HERO « .ax-hm » (guide-and-model pages, .axm.is-modele). Needs polish-base.css. */

/* P1. Hero frame. The 44px title left the right half of the first screen empty (Taste: focal-point,
   hero-void). The title now runs across the full width at up to 66px (4.6vw, Taste's focal-point floor is 4.5vw); chapô and tiles sit side by side. */
html body .axm.is-modele .ax-hm { --ax-h1-size: clamp(30px, 4.6vw, 66px); --ax-h1-lh: 1.08; }
html body .axm.is-modele .ax-hm .ax-hm-in { padding: 36px 24px 80px; }
html body .axm.is-modele .ax-hm .ax-hm-ariane { font-size: var(--pol-fine); }
html body .axm.is-modele .ax-hm .ax-hm-grille { margin-top: 48px; }
html body .axm.is-modele .ax-hm h1 { letter-spacing: -0.03em !important; }
html body .axm.is-modele .ax-hm .ax-hm-chapo { font-size: var(--pol-lead) !important; line-height: 1.6 !important; max-width: 36em; }

/* P1 layout for a hero WITHOUT the model card; a hero with the card (/cgv/) is laid out by M20 in
   polish-gabarit-modele.css (this rule had squeezed its chapô to one word a line). */
@media (min-width: 1025px) {
  html body .axm.is-modele .ax-hm:not(:has(.ax-hm-produit)) .ax-hm-txt {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); column-gap: 72px; row-gap: 0; align-items: start;
  }
  html body .axm.is-modele .ax-hm .ax-hm-sur,
  html body .axm.is-modele .ax-hm h1 { grid-column: 1 / -1; }
  html body .axm.is-modele .ax-hm .ax-hm-sur { margin-bottom: 20px; }
  html body .axm.is-modele .ax-hm h1 { margin-bottom: 40px !important; max-width: 21em; }
  html body .axm.is-modele .ax-hm:not(:has(.ax-hm-produit)) .ax-hm-chapo { grid-column: 1; grid-row: 3; }
  html body .axm.is-modele .ax-hm:not(:has(.ax-hm-produit)) .ax-hm-tuiles { grid-column: 2; grid-row: 3 / span 2; max-width: none; margin-top: 6px; }
  html body .axm.is-modele .ax-hm:not(:has(.ax-hm-produit)) .ax-hm-auteur { grid-column: 1; grid-row: 4; margin-top: 32px; }
}

/* P2. The highlighted words were set in Bagoss inside a Plus Jakarta title (Taste: mixed-font-headline)
   and drawn with a gradient (Taste: gradient). Same lime band, one typeface, drawn as a text decoration. */
html body .axm.is-modele .ax-hm .ax-hm-surligne {
  font-family: inherit !important; background: none !important; padding: 0 !important;
  text-decoration-line: underline; text-decoration-color: var(--ax-lime); text-decoration-thickness: .4em;
  text-underline-offset: -.4em; text-decoration-skip-ink: none;
}

/* P3. Tiles: a soft blue drop under each tile, white on grey (Taste: shadow). The white on grey is the tone step. taste-skill-ignore */
html body .axm.is-modele .ax-hm .ax-hm-tuile { box-shadow: none; padding: 16px 18px; gap: 4px; border-radius: 12px; } /* removes the live drop: taste-skill-ignore */
html body .axm.is-modele .ax-hm .ax-hm-tuile b { font-size: 22px; letter-spacing: -0.01em; }
html body .axm.is-modele .ax-hm .ax-hm-tuile span { font-size: var(--pol-fine); line-height: 1.45; }
html body .axm.is-modele .ax-hm .ax-hm-auteur a { font-size: 15px; }
html body .axm.is-modele .ax-hm .ax-hm-auteur small { font-size: var(--pol-fine); }

@media (max-width: 1024px) {
  html body .axm.is-modele .ax-hm .ax-hm-tuiles { max-width: 640px; }
}
@media (max-width: 700px) {
  html body .axm.is-modele .ax-hm .ax-hm-in { padding: 24px 16px 48px; }
  html body .axm.is-modele .ax-hm .ax-hm-grille { margin-top: 28px; }
  html body .axm.is-modele .ax-hm .ax-hm-tuile { padding: 12px; }
  html body .axm.is-modele .ax-hm .ax-hm-tuile b { font-size: 18px; }
  html body .axm.is-modele .ax-hm .ax-hm-tuile span { font-size: 13px; }
}

/* P18 (hero part): the hero's parts rise in order on load; the lime band inks in last (the signature move). */
@media (prefers-reduced-motion: no-preference) {
  @keyframes pol-ink { from { text-decoration-color: transparent; } to { text-decoration-color: var(--ax-lime); } }
  html body .axm.is-modele .ax-hm :is(.ax-hm-ariane, .ax-hm-sur, h1, .ax-hm-chapo, .ax-hm-tuile, .ax-hm-auteur) {
    animation: pol-rise .8s var(--pol-ease) both;
  }
  html body .axm.is-modele .ax-hm .ax-hm-sur { animation-delay: .05s; }
  html body .axm.is-modele .ax-hm .ax-hm-txt h1 { animation-delay: .12s; } /* heavier than the :is() list above, or the title rose at 0s with the breadcrumb */
  html body .axm.is-modele .ax-hm .ax-hm-chapo { animation-delay: .24s; }
  html body .axm.is-modele .ax-hm .ax-hm-tuile:nth-child(1) { animation-delay: .32s; }
  html body .axm.is-modele .ax-hm .ax-hm-tuile:nth-child(2) { animation-delay: .39s; }
  html body .axm.is-modele .ax-hm .ax-hm-tuile:nth-child(3) { animation-delay: .46s; }
  html body .axm.is-modele .ax-hm .ax-hm-auteur { animation-delay: .52s; }
  html body .axm.is-modele .ax-hm .ax-hm-surligne { animation: pol-ink .7s ease-out .75s both; }
}

/* ===== commun/polish-hero-th.css ===== */
/* ==========================================================================================================
   actav.fr polish layer: TRANSACTIONAL family « .axt » with hero « .ax-th » (local proposal, 30/10/2026, NOT live)
   Pages: /cession-actions-sas/, /cession-parts-sociales/, /cession-de-parts-sci/, /cession-fonds-de-commerce/,
   /cession-bail-commercial/, /acte-contresigne-par-avocat/. Needs polish-base.css (tokens --pol-*, keyframes pol-rise).
   Same design as the live page (cahier 24/09/2026, maquette « Acte contresigné »): same components, colours, fonts,
   words, calls to action and places. Rules Tn below; each comment gives defect, page(s), width(s).
   Every selector starts with « html body .axt.axt »: the root of polish-base, :is(.axm.is-modele, .axm, .axt, .ax-seo),
   weighs (0,2,0), so does « .axt.axt »; with the same tail, these rules win because this file loads after
   polish-base.css (preparer.py order). Pilot: ../bail-professionnel/RAPPORT.md.
   ========================================================================================================== */

/* ---------------------------------------------------------------------------------------------------------
   HERO .ax-th
   --------------------------------------------------------------------------------------------------------- */

/* T1. Focal point. The title was 44px (3vw) in a 1000px column: the first screen had no dominant element
   (Taste: focal-point, all six pages, 1440). Up to 66px (4.6vw, the pilot's size), on two lines for most titles:
   the column widens to 1180px, the title to 17em. Hero edge: a 1px grey line under the tinted band
   (Taste: hairline, all pages, all widths); the tint alone marks it. More room under the hero. */
html body .axt.axt .ax-th {
  /* 66px at 1440 and 35px at 768 (Taste's focal floor is 4.5vw at both); measured at 768: same line count as the
     live 32px on all six pages (two lines; the SCI title three lines at either size) */
  --ax-h1-size: clamp(30px, 4.6vw, 66px); --ax-h1-lh: 1.08;
  border-bottom: 0;
  padding: calc(var(--ax-header, 69px) + 36px) 0 88px !important;
}
html body .axt.axt .ax-th .ax-th-in { max-width: 1180px; gap: 22px; }
html body .axt.axt .ax-th h1 { max-width: 17em; letter-spacing: -0.03em !important; }
/* the lime-underlined words (.ax-th-souligne) were set in Bagoss inside a Plus Jakarta title (Taste: mixed-font-headline,
   /cession-fonds-de-commerce/, /acte-contresigne-par-avocat/, all widths), as the pilot found for .ax-hm (P2): one face */
html body .axt.axt .ax-th .ax-th-souligne { font-family: inherit !important; }

/* T2. Hero text sizes: breadcrumb, guide line and the note under the button were 13px, the pills 14px
   (all pages, all widths). One step up; the chapô at lead size with a ~70-character line (it ran ~80). */
html body .axt.axt .ax-th .ax-th-ariane { font-size: var(--pol-fine); }
/* breadcrumb links were told apart by colour only; once the phone breadcrumb flows as text (T6) that fails WCAG 1.4.1
   (axe: link-in-text-block, 390): a quiet underline in the border grey, blue on hover */
html body .axt.axt .ax-th .ax-th-ariane a { text-decoration: underline !important; text-decoration-color: var(--ax-bord-2) !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
html body .axt.axt .ax-th .ax-th-ariane a:hover { text-decoration-color: currentColor !important; }
html body .axt.axt .ax-th .ax-th-guide { font-size: var(--pol-fine); }
html body .axt.axt .ax-th .ax-th-chapo { font-size: var(--pol-lead) !important; line-height: 1.6 !important; max-width: 34em; }
/* the chapô is the first running text on a phone: #555B67 on the tint is 6.2:1 (Taste: grey-body, 390); the
   article's own secondary text colour (--ax-txt-2) */
html body .axt.axt .ax-th .ax-th-chapo { color: var(--ax-txt-2) !important; }
html body .axt.axt .ax-th .ax-th-pill { font-size: 15px; border-color: transparent; padding: 9px 18px; }
html body .axt.axt .ax-th .ax-th-pill strong { font-size: 17px; }
html body .axt.axt .ax-th .ax-th-note { font-size: var(--pol-fine); }

/* T3. Main button: a blue glow under it at rest (Taste: shadow + button-fx, all pages, 1440). (lint: taste-skill-ignore)
   Flat fill; it now answers the pointer (lift on hover, press on click). Colours and label unchanged. */
html body .axt.axt .ax-th .ax-th-cta {
  box-shadow: none; padding: 18px 32px; /* removes the live glow: taste-skill-ignore */
  transition: background-color .2s, transform .2s var(--pol-ease);
}
html body .axt.axt .ax-th .ax-th-cta:hover { transform: translateY(-2px); }
html body .axt.axt .ax-th .ax-th-cta:active { transform: translateY(0) scale(.98); }

/* T4. « Comment ça marche » card: white card with a 1px outline AND a 40px blue drop, steps with their own 1px
   outline, a grey line above the guarantees (Taste: outlined-box, shadow, hairline; all pages, all widths).
   White on the tinted hero is the tone step; steps sit one step from white. Card text was 11-15px
   (badges 11px, step text 13px: Taste small-text): 13 / 15 / 17px.
   Merge lot 3: T4-T6 also reach the same card repeated inside the article (.axm-section .ax-th-carte.axm-carte-corps,
   the 106 /avocat/ pages); its own tone (grey card, white steps) and phone column are T25. */
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-carte {
  max-width: 1040px; margin-top: 30px; padding: 28px; gap: 22px;
  border: 0; border-radius: 20px; box-shadow: none; /* removes the live drop: taste-skill-ignore */
}
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-carte-tete > span { font-size: 18px; }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-carte-tete a { font-size: 15px; }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etapes { gap: 12px; }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape {
  border: 0; border-radius: 14px; padding: 20px; gap: 10px;
  transition: background-color .2s, transform .2s var(--pol-ease);
}
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape:hover { background: var(--ax-gris-bg); }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape.is-cle:hover { background: var(--ax-bleu-sec); }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape:active { transform: scale(.98); }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-num { width: 32px; height: 32px; font-size: 14px; }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-badge { font-size: 13px; padding: 3px 10px; }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape b { font-size: 17px; line-height: 1.3; }
html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape > span:last-child { font-size: 15px; line-height: 1.55; }
html body .axt.axt .ax-th .ax-th-garanties { border-top: 0; padding-top: 2px; gap: 10px 28px; font-size: var(--pol-fine); }

/* T5. Tablet: the four steps wrapped 3 + 1 with « Signez en ligne » alone on a row (capture check: lone item,
   all pages, 768). Two by two. */
@media (min-width: 701px) and (max-width: 1024px) {
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etapes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* T6. Phone. Centred hero text ran 6 lines of zig-zag edges (chapô) and the two pills sat centred one under the
   other (all pages, 390): one left edge for the whole hero, as the pilot did for its trust strip. Step badges
   « Frais de plateforme » and « Convention écrite » broke on two lines inside a round pill and pressed on the
   number (all pages, 390): the badge takes its own line under the number when it has no room beside it, on one
   line. Guarantees: a centred zig-zag of three lines, now a left-aligned list. */
@media (max-width: 700px) {
  html body .axt.axt .ax-th { padding: calc(var(--ax-header, 61px) + 20px) 0 48px !important; text-align: left !important; }
  html body .axt.axt .ax-th .ax-th-in { align-items: stretch; gap: 18px; }
  html body .axt.axt .ax-th :is(.ax-th-ariane, .ax-th-guide, .ax-th-pastilles) { justify-content: flex-start; }
  html body .axt.axt .ax-th :is(h1, .ax-th-chapo) { text-align: left !important; }
  html body .axt.axt .ax-th h1 { letter-spacing: -1px !important; }
  /* the breadcrumb wrapped as flex items, the current page alone on a second line (capture check: lone item,
     /cession-parts-sociales/, /cession-fonds-de-commerce/, /cession-bail-commercial/, /acte-contresigne-par-avocat/, 390):
     it now wraps word by word like a sentence */
  html body .axt.axt .ax-th .ax-th-ariane { display: block; line-height: 1.6; }
  html body .axt.axt .ax-th .ax-th-ariane > span:not(:last-child) { margin: 0 .35em; }
  html body .axt.axt .ax-th .ax-th-chapo { font-size: 17px !important; }
  html body .axt.axt .ax-th .ax-th-pill.is-lime { border-radius: 14px; }
  html body .axt.axt .ax-th .ax-th-action { align-items: stretch; }
  html body .axt.axt .ax-th .ax-th-cta { justify-content: center; text-align: center; padding: 16px 20px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-carte { margin-top: 14px; padding: 18px 14px; gap: 16px; border-radius: 16px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-carte-tete { padding: 0 4px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etapes { gap: 8px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape { padding: 14px 10px; gap: 8px; border-radius: 12px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-e-haut { flex-wrap: wrap; justify-content: flex-start; gap: 8px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-badge { padding: 3px 8px; white-space: nowrap; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape b { font-size: 16px; }
  html body .axt.axt :is(.ax-th, .axm-section) .ax-th-etape > span:last-child { font-size: 14px; }
  html body .axt.axt .ax-th .ax-th-garanties { flex-direction: column; align-items: flex-start; gap: 8px; padding: 0 4px; }
}

/* ---------------------------------------------------------------------------------------------------------
   CONVERSION COMPONENTS OF THE FAMILY (.axt-*), inside the shared .axm-page article
   --------------------------------------------------------------------------------------------------------- */

/* T7. Callouts after « En bref » and between sections: the lime box had a 1px outline plus a 4px lime bar on the
   left (impeccable: no side stripe on callouts; Taste: hairline), the white card a 1px outline and a blue drop
   (Taste: outlined-box, shadow), the estimate box a 1px outline (all pages, all widths). Fills only: lime tint,
   grey tone step, blue tint. Text 14 -> 15px, titles 17 -> 18px. */
html body .axt.axt :is(.axt-cta-lime, .axt-cta-carte, .axt-cta-estim) {
  border: 0 !important; border-radius: 16px !important; box-shadow: none !important; padding: 24px 28px !important; gap: 16px 22px !important; /* removes the live drop: taste-skill-ignore */
}
html body .axt.axt .axt-cta-carte { background: var(--pol-surface) !important; }
html body .axt.axt .axt-cta-t { font-size: var(--pol-body) !important; line-height: 1.35; }
html body .axt.axt :is(.axt-cta-lime, .axt-cta-carte) .axt-cta-s { font-size: 15px !important; }
html body .axt.axt .axt-cta-estim > span { font-size: var(--pol-body) !important; }

/* T8. « Comment ça marche » parcours (.axt-steps): a white panel with a 1px outline and a 40px drop, rows split by
   1px lines (Taste: outlined-box, shadow, hairline; all pages, all widths). The panel is the grey tone step, rows
   are separated by space, the step numbers sit on white. Step text 15 -> 16px, titles 17 -> 18px, badges 12 -> 13px. */
html body .axt.axt .axt-steps { background: var(--pol-surface) !important; border: 0 !important; box-shadow: none !important; border-radius: 20px !important; padding: 10px 28px !important; } /* removes the live drop: taste-skill-ignore */
html body .axt.axt .axt-step { border-bottom: 0 !important; padding: 22px 0 !important; }
html body .axt.axt .axt-step-n:not(.is-roi):not(.is-lime) { background: #fff; }
html body .axt.axt .axt-step h4 { font-size: var(--pol-body) !important; }
html body .axt.axt .axt-step p { font-size: var(--pol-small) !important; line-height: 1.65 !important; }
html body .axt.axt .axt-badge { font-size: 13px !important; }

/* T9. « Pourquoi les honoraires sont moins élevés » cards and the three « Temps » boxes: fill AND a 1px outline
   (Taste: outlined-box; all pages, all widths); « Temps » labels and badges were 12px (Taste: small-text).
   Fill only; « Temps » text 14 -> 16px, card text 15 -> 17px, labels 13px. The three icons differ (screen,
   scales, euro): they mean something, kept.
   Merge lot 3: the list layout below skips the link-card grids .avp-mat (the /avocat/ « Votre situation » and matter
   cards, T26) through :where(), so the specificity of every rule, and the six batch-1 pages, stay as they were. */
html body .axt.axt :is(.axt-3carte, .axt-temp) { border: 0 !important; border-radius: 14px !important; }
/* The three cards stood side by side at 250px, each topped by its icon, text running 5 to 6 lines of 15px
   (Taste: icon-cards, /cession-actions-sas/ and family, 1440 and 768). Now three rows: icon on the left,
   text beside it at 17px, the same three fills. */
html body .axt.axt .axt-3cartes:where(:not(.avp-mat)) { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
html body .axt.axt :where(:not(.avp-mat)) > .axt-3carte {
  display: grid !important; grid-template-columns: 36px minmax(0, 1fr); column-gap: 18px; row-gap: 4px !important;
  align-items: start; padding: 20px 24px !important;
}
html body .axt.axt :where(:not(.avp-mat)) > .axt-3carte > .axt-3carte-ic { grid-row: 1 / span 3; }
/* three filled boxes with an icon each still read as an icon-card row (Taste: icon-cards): the two plain reasons
   lose their grey box and read as a list; the conclusion (« Vous économisez la différence », .is-cle) keeps its tint. */
html body .axt.axt :where(:not(.avp-mat)) > .axt-3carte:not(.is-cle) { background: transparent !important; padding-block: 6px !important; }
html body .axt.axt :where(:not(.avp-mat)) > .axt-3carte > :not(.axt-3carte-ic) { grid-column: 2; }
html body .axt.axt :where(:not(.avp-mat)) > .axt-3carte p { font-size: 17px !important; line-height: 1.6 !important; align-self: center; }
html body .axt.axt :where(:not(.avp-mat) > .axt-3carte) .axt-3carte-t { font-size: var(--pol-body) !important; }
html body .axt.axt .axt-temp { background: var(--pol-surface) !important; padding: 16px 18px !important; gap: 6px !important; }
html body .axt.axt .axt-temp.is-cle { background: var(--pol-surface-blue) !important; }
html body .axt.axt .axt-temp-k { font-size: 13px; }
html body .axt.axt .axt-temp-t { font-size: var(--pol-small); line-height: 1.4; }
html body .axt.axt .axt-temps { gap: 12px !important; }

/* T10. Lawyers of the network: grey panel with a 1px outline, white cards with a 1px outline (Taste:
   outlined-box), label 11px, bar and link 12px (Taste: small-text); at 768 the four cards wrapped 3 + 1 (capture
   check: lone item; all pages). White cards on the grey step, no lines; 13px floor; four across on tablet.
   Hover: the card lifts and the name turns blue (it was an outline colour change). */
html body .axt.axt .axt-avocats { border: 0 !important; border-radius: 20px !important; padding: 28px !important; gap: 20px !important; }
html body .axt.axt .axt-avocats-k { font-size: 13px; letter-spacing: .08em; }
html body .axt.axt .axt-avocats-t { font-size: 20px; }
html body .axt.axt .axt-avocats-g { gap: 14px !important; }
html body .axt.axt .axt-avocat { border: 0 !important; border-radius: 14px !important; transition: transform .2s var(--pol-ease) !important; }
html body .axt.axt .axt-avocat:hover { transform: translateY(-3px); }
html body .axt.axt .axt-avocat:hover b { color: var(--ax-roi); }
html body .axt.axt .axt-avocat b { font-size: 15px; }
html body .axt.axt .axt-avocat :is(small, i) { font-size: 13px; }
@media (min-width: 701px) and (max-width: 1024px) {
  html body .axt.axt .axt-avocats-g { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* T11. Sidebar card (it plays the role of the mobile action bar on desktop): 1px outline and a 40px drop
   (Taste: outlined-box, shadow; all pages, 1440). Blue tint, no line; text 14 -> 15px.
   Sticky sidebar taller than the screen: card + Sommaire measured 1053px for 807px of room at 1440 x 900, so
   Sommaire entries 5 to 9 stayed below the screen edge for the whole article (live defect, /cession-actions-sas/
   and the other long Sommaires): fixed for every family by polish-base P28. */
html body .axt.axt .axt-side { background: var(--pol-surface-blue) !important; border: 0 !important; box-shadow: none !important; border-radius: 16px !important; padding: 24px 22px !important; } /* removes the live drop: taste-skill-ignore */
html body .axt.axt .axt-side p { font-size: 15px !important; }
html body .axt.axt .axt-side-l { font-size: 15px !important; }
/* T11, desktop part (sidebar fits the screen, the sommaire scrolls in its box): moved to polish-base P28. */
/* tablet and phone: polish-base P17 opens the guide with the Sommaire; the card follows the article at full width */
@media (max-width: 1024px) {
  html body .axt.axt .axt-side { flex: 1 1 100%; }
}

/* T12. Closing band: a 1px outline around the blue tint (Taste: outlined-box), label 11px (Taste: small-text),
   paragraph 16px over ~96 characters (Taste: measure; all pages, 1440). Same tint, no line; title 40px as the
   guide pages' closing band (polish-base P15); paragraph at body size within the reading measure. */
html body .axt.axt .axt-final-in { border: 0 !important; border-radius: 24px !important; padding: 72px 64px !important; gap: 20px !important; }
html body .axt.axt .axt-final-k { font-size: 13px; letter-spacing: .08em; }
html body .axt.axt .axt-final-t { font-size: 40px !important; letter-spacing: -0.025em !important; text-wrap: balance; max-width: 22em; }
html body .axt.axt .axt-final-in > p { font-size: var(--pol-body) !important; line-height: 1.7 !important; max-width: var(--pol-measure) !important; }
html body .axt.axt .axt-final-b { margin-top: 8px; }
html body .axt.axt .axt-final-g { font-size: var(--pol-fine); gap: 10px 24px; }

/* T13. Buttons of the article, sidebar and closing band: colour change only on hover, nothing on press
   (impeccable: states). Same lift and press as the hero button. */
html body .axt.axt :is(.axt-btn, .axt-btn-s, .axt-btn-2, .axt-cta-noir) { transition: background-color .2s, border-color .2s, color .2s, transform .2s var(--pol-ease) !important; }
html body .axt.axt :is(.axt-btn, .axt-btn-s, .axt-btn-2, .axt-cta-noir):hover { transform: translateY(-2px); }
html body .axt.axt :is(.axt-btn, .axt-btn-s, .axt-btn-2, .axt-cta-noir):active { transform: translateY(0) scale(.98); }

/* T14. Mobile action bar: a 1px line on top of its drop (Taste: hairline). It really floats: the drop stays. */
html body .axt.axt .axt-barre { border-top: 0 !important; }

/* ---------------------------------------------------------------------------------------------------------
   SHARED .axm COMPONENTS: moved to polish-base.css (merge 30/10/2026, one version for every family, FUSION.md)
   --------------------------------------------------------------------------------------------------------- */
/* T15 (lists in the guide): moved to polish-base P25. */
/* T16 (notes; text now at the secondary size, decision 5): moved to polish-base P20. */
/* T17 (disclaimer): moved to polish-base P19 (P7 no longer catches it). */
/* T18 (« Voir aussi » chips, byline): moved to polish-base P24. */

/* T21 (« À retenir » and alert boxes; their text stays at the live 16px, decision 1): moved to polish-base P21 (label: P4). */

/* T19. Rhythm around the family's blocks: tables and card grids get 32px from the text around them
   (polish-base P6) but the parcours, the three cards, the « Temps », the lawyers and the estimate box
   only 20px, so they touched the paragraph above (all pages, all widths). Same 32px; 20px under an h3.
   (The shared notes, chips, « À retenir » and alerts: moved to polish-base P6.) */
html body .axt.axt .axm-section > :is(.axt-steps, .axt-3cartes, .axt-temps, .axt-avocats, .axt-cta-estim),
html body .axt.axt .axm-section > :is(.axt-steps, .axt-3cartes, .axt-temps, .axt-avocats, .axt-cta-estim) + * { margin-top: 32px !important; }
html body .axt.axt .axm-section > h3 + :is(.axt-steps, .axt-3cartes, .axt-temps) { margin-top: 20px !important; }

/* T22 (second h2 in a section 56px, label + h3 12px): moved to polish-base P6. */

/* T23 (plain link lists): moved to polish-base P25. */

/* ---------------------------------------------------------------------------------------------------------
   PHONE (body components)
   --------------------------------------------------------------------------------------------------------- */
@media (max-width: 700px) {
  /* the three « Temps » boxes wrapped 2 + 1, the third alone on its row (all pages, 390): one column */
  html body .axt.axt .axt-temps { flex-direction: column !important; }
  html body .axt.axt .axt-temp { flex: none !important; }
  html body .axt.axt :is(.axt-cta-lime, .axt-cta-carte, .axt-cta-estim) { padding: 20px !important; }
  html body .axt.axt .axt-steps { padding: 4px 18px !important; }
  html body .axt.axt .axt-step { padding: 18px 0 !important; }
  html body .axt.axt .axt-avocats { padding: 20px 16px !important; }
  html body .axt.axt .axt-final-in { padding: 44px 20px !important; }
  html body .axt.axt .axt-final-t { font-size: 28px !important; }

  /* T24 (phone tables: three columns tighter, four columns as rows): moved to polish-base P27; the note padding
     and the second-h2 spacing on phones: P29, P6. */
}

/* ---------------------------------------------------------------------------------------------------------
   MOTION (the shared part is polish-base P18)
   T20. Hero load sequence: breadcrumb, guide line, title, chapô, pills, button, then the card; its four steps rise
   one after the other (the signature move: the path to a lawyer, in order); where the title has a lime underline
   (/cession-fonds-de-commerce/, /acte-contresigne-par-avocat/) it inks in last. Transform and opacity only,
   nothing hidden when motion is reduced.
   --------------------------------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  @keyframes pol-ink-th { from { text-decoration-color: transparent; } to { text-decoration-color: var(--ax-lime); } }
  html body .axt.axt .ax-th :is(.ax-th-ariane, .ax-th-guide, h1, .ax-th-chapo, .ax-th-pastilles, .ax-th-action, .ax-th-carte-tete, .ax-th-etape, .ax-th-garanties) {
    animation: pol-rise .8s var(--pol-ease) backwards; /* backwards, not both: hover and press transforms work after the entrance */
  }
  html body .axt.axt .ax-th .ax-th-guide { animation-delay: .05s; }
  html body .axt.axt .ax-th h1 { animation-delay: .1s; }
  html body .axt.axt .ax-th .ax-th-chapo { animation-delay: .2s; }
  html body .axt.axt .ax-th .ax-th-pastilles { animation-delay: .28s; }
  html body .axt.axt .ax-th .ax-th-action { animation-delay: .34s; }
  html body .axt.axt .ax-th .ax-th-carte-tete { animation-delay: .42s; }
  html body .axt.axt .ax-th .ax-th-etape:nth-child(1) { animation-delay: .48s; }
  html body .axt.axt .ax-th .ax-th-etape:nth-child(2) { animation-delay: .56s; }
  html body .axt.axt .ax-th .ax-th-etape:nth-child(3) { animation-delay: .64s; }
  html body .axt.axt .ax-th .ax-th-etape:nth-child(4) { animation-delay: .72s; }
  html body .axt.axt .ax-th .ax-th-garanties { animation-delay: .8s; }
  html body .axt.axt .ax-th .ax-th-souligne { animation: pol-ink-th .7s ease-out .7s both; }
}

/* ---------------------------------------------------------------------------------------------------------
   LAWYER CITY AND SPECIALTY PAGES /avocat/…/ (batch 3, 106 pages: .axt + .ax-th, merge lot 3, 05/11/2026)
   One version of the four parts' « shared candidates » (FUSION-LOT3.md). None of these components is on the
   batch-1/2 pages (measured on the 114 sources), except .axt-3cartes, handled through T9's :where() scope.
   --------------------------------------------------------------------------------------------------------- */

/* T25. « Comment ça marche » card repeated inside the article (.axm-section .ax-th-carte.axm-carte-corps, all 106
   pages): T4 reached only the hero copy, so it kept its 1px outline, 40px blue drop, outlined steps, 11px badges
   and 13px step text (Taste: outlined-box, shadow, small-text; all widths); on phones its two step columns were
   120-150px wide, one or two words a line (390). T4-T6 now reach it; on the white article the card takes the grey
   tone step and the steps sit on white (key step blue); one column on phones. */
html body .axt.axt .axm-section .ax-th-carte.axm-carte-corps {
  border: 0 !important; box-shadow: none !important; border-radius: 20px !important; /* removes the live drop: taste-skill-ignore */
  background: var(--pol-surface) !important; padding: 28px !important; gap: 22px !important; margin-top: 32px !important;
}
html body .axt.axt .axm-carte-corps .ax-th-etape { border: 0 !important; background: #fff !important; }
html body .axt.axt .axm-carte-corps .ax-th-etape.is-cle { background: var(--pol-surface-blue) !important; }
html body .axt.axt .axm-carte-corps .ax-th-badge { font-size: 13px !important; white-space: nowrap; }
html body .axt.axt .axm-carte-corps .ax-th-etape b { font-size: 17px !important; }
html body .axt.axt .axm-carte-corps .ax-th-etape > span:last-child { font-size: 15px !important; line-height: 1.55 !important; }
@media (max-width: 700px) {
  html body .axt.axt .axm-section .ax-th-carte.axm-carte-corps { padding: 18px 14px !important; gap: 16px !important; border-radius: 16px !important; }
  html body .axt.axt .axm-carte-corps .ax-th-etapes { grid-template-columns: minmax(0, 1fr) !important; }
  html body .axt.axt .axm-carte-corps .ax-th-etape { padding: 16px !important; }
  html body .axt.axt .axm-carte-corps .ax-th-etape b { font-size: 16px !important; }
  html body .axt.axt .axm-carte-corps .ax-th-etape > span:last-child { font-size: 14px !important; }
}

/* T26. Link-card grids .avp-mat: « Votre situation » chooser (.ax-situ, the specialty pages: 4 to 6 cards, no icon)
   and « Quel avocat pour votre litige » matter cards (the city pages: 7 to 9 cards, one icon each). T9, written for
   the three « Pourquoi » reasons, made them an unboxed list: no fill, text 54px in from the section edge beside an
   empty icon column, only « Je ne sais pas » boxed (all widths). Back to the live card grid, drawn per decision 1:
   fill, no outline, radius 14px; hover one tone darker; the chosen situation (.is-on) blue with the 2px --ax-roi
   outline (pilot P9). Three columns; 4 cards 2 x 2 (live 3 + 1: lone item, 1440); a 7th (10th) last card spans the
   row; tablet two columns, an odd last card across; phone one. The phone/tablet call-to-action card that the live
   page puts in this grid (.ax-situ-mobile, up to 1024px) spans the row (it sat alone in one cell, 768). Matter-card
   icons (they differ and mean something) sit beside the title instead of on top (Taste: icon-cards, city pages). */
html body .axt.axt .axt-3cartes.avp-mat { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
@media (min-width: 1025px) {
  html body .axt.axt .axt-3cartes.avp-mat:has(> a.axt-3carte:nth-of-type(4):last-of-type) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .axt.axt .avp-mat > a.axt-3carte:nth-of-type(3n+7):last-of-type { grid-column: 1 / -1; }
}
@media (min-width: 701px) and (max-width: 1024px) {
  html body .axt.axt .axt-3cartes.avp-mat { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html body .axt.axt .avp-mat > a.axt-3carte:nth-of-type(odd):last-of-type { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  html body .axt.axt .axt-3cartes.avp-mat { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
}
html body .axt.axt .avp-mat > .ax-situ-mobile { grid-column: 1 / -1; margin-top: 0 !important; }
html body .axt.axt .avp-mat > .axt-3carte {
  display: flex !important; flex-direction: column; gap: 8px !important; padding: 22px 24px !important;
  background: var(--pol-surface) !important; border: 0 !important; border-radius: 14px !important; box-shadow: none !important; /* removes the live hover drop: taste-skill-ignore */
  transition: background-color .2s, transform .2s var(--pol-ease) !important;
}
html body .axt.axt .avp-mat > .axt-3carte.is-cle { background: var(--pol-surface-blue) !important; }
html body .axt.axt .avp-mat > a.axt-3carte:hover { background: var(--ax-gris-bg) !important; box-shadow: none !important; } /* taste-skill-ignore */
html body .axt.axt .avp-mat > a.axt-3carte.is-cle:hover { background: var(--ax-bleu-sec) !important; }
html body .axt.axt .avp-mat > a.axt-3carte:active { transform: scale(.98); }
html body .axt.axt .avp-mat > .axt-3carte.is-on { background: var(--pol-surface-blue) !important; outline: 2px solid var(--ax-roi); outline-offset: -2px; }
html body .axt.axt .avp-mat .axt-3carte-t { font-size: 17px !important; line-height: 1.35 !important; text-wrap: balance; }
html body .axt.axt .avp-mat .axt-3carte p { font-size: var(--pol-small) !important; line-height: 1.55 !important; align-self: auto; }
html body .axt.axt .avp-mat .avp-lien { font-size: 15px; margin-top: auto; }
html body .axt.axt .avp-mat > .axt-3carte:has(> .axt-3carte-ic) { display: grid !important; grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto 1fr auto; column-gap: 12px; row-gap: 8px !important; }
html body .axt.axt .avp-mat > .axt-3carte:has(> .axt-3carte-ic) > .axt-3carte-ic { grid-column: 1; grid-row: 1; align-self: center; margin: 0; }
html body .axt.axt .avp-mat > .axt-3carte:has(> .axt-3carte-ic) > .axt-3carte-t { grid-column: 2; grid-row: 1; align-self: center; }
html body .axt.axt .avp-mat > .axt-3carte:has(> .axt-3carte-ic) > :not(.axt-3carte-ic, .axt-3carte-t) { grid-column: 1 / -1; }
@media (max-width: 700px) {
  html body .axt.axt .avp-mat > .axt-3carte { padding: 18px 20px !important; }
}

/* T27. Hero result box « À la fin de votre récit, vous saurez » (.ax-th-resultat, all 106 pages): 1px outline AND a
   40px drop on the tinted hero (Taste: outlined-box, shadow), list 15.5px, footnote 12.5px (Taste: small-text;
   capture check: text under 13px; all widths). White on the tint is the tone step, as T4. */
html body .axt.axt .ax-th .ax-th-resultat { border: 0 !important; box-shadow: none !important; border-radius: 16px !important; padding: 22px 24px !important; } /* removes the live drop: taste-skill-ignore */
html body .axt.axt .ax-th .ax-th-resultat li { font-size: var(--pol-small) !important; }
html body .axt.axt .ax-th .ax-th-resultat-s { font-size: var(--pol-fine) !important; }
@media (max-width: 700px) {
  html body .axt.axt .ax-th .ax-th-resultat { padding: 18px 16px !important; }
}

/* T28. Hero lawyers (.ax-th-avocats, 21 city pages, 1 to 3 cards) and the specialty hubs' network panel
   (.ax-th-reseau2, 5 pages): 1px outline on each card, a 40px drop on the panel (Taste: outlined-box, shadow);
   address, specialties, rating, « Voir sa fiche » 12.5px, source lines 11.5-12px (capture check: text under 13px);
   a lone card sat in the first of three grid columns under a centred title (Lyon, Marseille, Lille, 1440/768), the
   name broken in two at 245px (Bordeaux). Cards centred whatever their number, up to 340px each; white on the tint
   without a line; 13px floor. The rating pill and « Voir sa fiche » share a line only on wide cards: when the link
   wrapped under the pill it kept its 8px left margin (Paris, 1440), the space goes after the pill. On phones the
   block follows the hero's single left edge (T6). */
html body .axt.axt .ax-th .ax-th-avl { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 12px !important; }
html body .axt.axt .ax-th .ax-th-av { flex: 1 1 0; max-width: 340px; min-width: 0; border: 0 !important; padding: 14px 16px !important; }
html body .axt.axt .ax-th :is(.ax-th-av address, .ax-th-avn-b, .ax-th-note-av, .ax-th-avn-f, .ax-th-reseau-src, .ax-th-reseau2-s, .ax-th-stars) { font-size: 13px !important; }
html body .axt.axt .ax-th .ax-th-reseau2 { border: 0 !important; box-shadow: none !important; } /* removes the live drop: taste-skill-ignore */
html body .axt.axt .ax-th .ax-th-av :is(.ax-th-avn-r, .ax-th-note-av) { margin-right: 8px; }
html body .axt.axt .ax-th .ax-th-av :is(.ax-th-avn-r, .ax-th-note-av) + .ax-th-avn-f { margin-left: 0 !important; }
@media (max-width: 720px) {
  html body .axt.axt .ax-th .ax-th-av { flex-basis: 100%; max-width: none; }
}
@media (max-width: 700px) {
  html body .axt.axt .ax-th :is(.ax-th-avocats, .ax-th-avocats-t, .ax-th-avocats-p) { text-align: left !important; }
}

/* T29. Loose tool group in the article (h2 + intro + .axo + .axo-seo, 80 pages): each piece got the article's 96px
   gap (64px on phones), so the title floated 97px above its one-line intro and the tool 96px under it; the title was
   Bagoss 500 beside Plus Jakarta 800 section titles; the worked example (.axo-seo) ran h3 / p / h3 with 0px between
   them (a site reset beats the block's own 24px), text 16px over the full 788px column, sources 13.6px (all widths).
   One group with a section's rhythm (P6): title -> intro 24px, intro -> tool 32px, tool -> example 40px; title as
   .axm-h2; example h3 44px above / 14px under, text at the reading size and measure (P7), sources at the fine size. */
html body .axt.axt .axm-article > h2:not([class]),
html body .axt.axt .axo-maj > h2 {
  font-family: var(--ax-f-titre) !important; font-weight: 800 !important; font-size: 32px !important; line-height: 1.2 !important;
  letter-spacing: -0.02em !important; color: var(--ax-navy) !important; text-wrap: balance; margin: 0 !important;
}
html body .axt.axt .axm-article > h2:not([class]) + p:not([class]) {
  margin-top: calc(24px - var(--pol-gap-section)) !important; font-size: var(--pol-body) !important; line-height: 1.7 !important;
  max-width: var(--pol-measure); color: var(--ax-txt) !important;
}
html body .axt.axt .axm-article > h2:not([class]) + p:not([class]) + .axo { margin-top: calc(32px - var(--pol-gap-section)) !important; }
html body .axt.axt .axm-article > .axo + .axo-seo { margin: calc(40px - var(--pol-gap-section)) 0 0 !important; }
html body .axt.axt .axo-seo h3 {
  font-family: var(--ax-f-titre) !important; font-weight: 700 !important; font-size: 20px !important; line-height: 1.3 !important;
  letter-spacing: -0.01em !important; color: var(--ax-navy) !important; margin: 44px 0 0 !important; text-wrap: balance;
}
html body .axt.axt .axo-seo > h3:first-child { margin-top: 0 !important; }
html body .axt.axt .axo-seo p { font-size: var(--pol-body) !important; line-height: 1.7 !important; max-width: var(--pol-measure); color: var(--ax-txt) !important; margin: 14px 0 0 !important; }
html body .axt.axt .axo-seo > p:first-child { margin-top: 0 !important; }
html body .axt.axt .axo-seo p.src { font-size: var(--pol-fine) !important; line-height: 1.6 !important; color: var(--ax-mut) !important; margin-top: 20px !important; max-width: var(--pol-measure); } /* 37em at 14px: about 70 characters (47.5em ran 93: Taste measure) */
/* « Voir le barème complet » (details, the droit-du-travail pages): grey fill AND a 1px outline (Taste: outlined-box);
   at 390 its four-column table ran 17-33px past the panel (capture check: cut table; live too, hidden while closed).
   Fill only; on phones a tighter panel, fixed columns, cells 14px, heads 13px, whole words. */
html body .axt.axt .axo-seo details { border: 0 !important; border-radius: 14px !important; }
@media (max-width: 700px) {
  html body .axt.axt .axm-article > h2:not([class]),
  html body .axt.axt .axo-maj > h2 { font-size: 26px !important; hyphens: manual; }
  html body .axt.axt .axo-seo details { padding: 12px !important; }
  html body .axt.axt .axo-seo table { table-layout: fixed; width: 100% !important; }
  html body .axt.axt .axo-seo :is(th, td) { padding: 6px 4px !important; font-size: 14px !important; overflow-wrap: normal !important; word-break: normal !important; }
  html body .axt.axt .axo-seo th { font-size: 13px !important; line-height: 1.3 !important; }
}

/* T30. « Ce qui change en 2026 » (.axo-maj, all 106 pages, a tool-template block between two sections): h2 in Bagoss
   500 (T29 gives it the section title), intro line 0px under it, items drawn by a 3px blue side stripe (impeccable:
   no side stripe), dates 12.5px and sources 13px (capture check: text under 13px), 32px margins on top of the
   article gap (all widths). Items as the shared notes (fill, radius 14px), dates as the cahier labels (13px),
   item titles in the title face, sources at the fine size. */
html body .axt.axt .axo-maj { margin: 0 !important; }
html body .axt.axt .axo-maj > p { font-size: var(--pol-small) !important; color: var(--ax-mut) !important; margin: 12px 0 0 !important; max-width: var(--pol-measure); }
html body .axt.axt .axo-maj .item { border-left: 0 !important; border-radius: 14px !important; background: var(--pol-surface) !important; padding: 22px 24px !important; margin: 12px 0 0 !important; }
html body .axt.axt .axo-maj > p + .item { margin-top: 28px !important; }
html body .axt.axt .axo-maj .date { font-size: 13px !important; letter-spacing: .08em !important; line-height: 1.4; margin-bottom: 6px !important; }
html body .axt.axt .axo-maj .item h3 { font-family: var(--ax-f-titre) !important; font-weight: 700 !important; font-size: 18px !important; line-height: 1.35 !important; margin: 0 0 8px !important; text-wrap: balance; }
html body .axt.axt .axo-maj .item p { font-size: var(--pol-small) !important; line-height: 1.65 !important; max-width: 40em; } /* about 75 characters (740px ran 93: Taste measure) */
html body .axt.axt .axo-maj .item .src { font-size: var(--pol-fine) !important; line-height: 1.55 !important; margin-top: 8px !important; color: var(--ax-mut) !important; }
@media (max-width: 700px) {
  html body .axt.axt .axo-maj .item { padding: 20px !important; }
  /* 18px ran one line more than live (5 lines, the droit-des-affaires pages « Cession de parts… », 390) */
  html body .axt.axt .axo-maj .item h3 { font-size: 17px !important; }
}

/* T31. Text under 13px (capture check, all widths): the tool's step counter 11px and duration 12px, option hints,
   field labels and chips 12.5px, its phone bar duration 12.5px (80 pages); the sidebar card note « Gratuit jusqu'au
   déblocage de votre dossier » 12.5px (106 pages). 13px floor; the sidebar note one grey darker as P4 does for
   .axm-side-cta-n. The tool card's own outline and drop belong to the shared tool template: not touched. */
html body .axt.axt .axo .prog-top :is(strong, span) { font-size: 13px !important; }
html body .axt.axt .axo :is(.opt small, .field > span, .chips > *, .axo-barre small) { font-size: 13px !important; }
html body .axt.axt .axt-side-n { font-size: 13px !important; color: var(--ax-mut) !important; }

/* T32. Hero title on phones, lawyer pages only (.axt:has(.ax-th-resultat), the marker the live compat layer uses
   for them): T1's 30px with a 1.08 line height ran the long city / specialty titles (62-98 characters) one line
   more than live: 3 -> 4 lines on 12 pages, 5 on the divorce pages (390). 28px. Batch-1 sales pages untouched. */
@media (max-width: 700px) {
  html body .axt.axt:has(.ax-th-resultat) .ax-th { --ax-h1-size: 28px; }
}

/* ===== pages/annonce-legale-sas/page.css ===== */
/* /annonce-legale-sas/ (page id 40663): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A1: moved to polish-hero-hh H11 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__accompagnement-creation-entreprise/page.css ===== */
/* /articles/accompagnement-creation-entreprise/ (post 53336): page fixes. Family rules live in commun/polish-hero-hh.css.
   K1-K6 = the tabbed hero card (.ax-hh-carte) and the figure tiles (.ax-hh-tuiles), a hero variant that
   polish-hero-hh.css does not cover yet (12 pages of batch 2 carry it). Same block proposed for polish-hero-hh.css
   (H10); written here with the page prefix so it can be checked now. */

/* K1: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K5: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K6: moved to polish-hero-hh H11 (merge lot 2, 05/11/2026). */
/* K7: moved to polish-base P36, polish-base P36, polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K8: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__acheter-en-sci/page.css ===== */
/* /articles/acheter-en-sci/ (post 39817): page fixes. Family rules live in commun/polish-hero-hh.css.
   K1-K6 = the tabbed hero card (.ax-hh-carte) and the figure tiles (.ax-hh-tuiles), a hero variant that
   polish-hero-hh.css does not cover yet (12 pages of batch 2 carry it). Same block proposed for polish-hero-hh.css
   (H10); written here with the page prefix so it can be checked now. */

/* K1: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K5: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K6. Hero title: « Creer une SCI pour acheter : ce qu'il faut savoir en 2026 » (54 characters) sits in three
   lines at the family size; nothing to change. */

/* K7: moved to polish-base P36, polish-base P36, polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K8: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__acheter-une-maison-en-sci-pour-y-habiter/page.css ===== */
/* /articles/acheter-une-maison-en-sci-pour-y-habiter/ (post 39836): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A1. Hero title, 1025 px and up: 70 characters at the family's 66 px ran to four lines with a lone short line
   (« en SCI pour y ») beside the persona card (check: headings over 3 lines, 1440). Size tops out at 54 px, same
   face and balance. Tablet and phone unchanged (390 px: verbatim title, accepted). 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-39836 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(30px, calc(2.5vw + 18px), 54px); }
}
/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__annonce-legale-sci/page.css ===== */
/* /articles/annonce-legale-sci/ (post 51437): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* L1. Two three-column price tables carry long column heads (« Forfait 2026 en France métropolitaine »,
   « Forfait 2026 à La Réunion et à Mayotte »). polish-base P27 keeps three-column heads on one line from 701 px, so
   at 768 those heads pushed the tables 5 and 61 px past the column (check: cut tables) and at 1440 squeezed the
   first column of the « Avis de modification » table to five lines next to « 109 € HT ». Heads of this page's
   tables wrap again (their columns hold short figures, the « Taux / IS » squeeze P27 cured does not occur here).
   Merge lot 2: kept, measured: with only the last head free to wrap (P27), the long middle head « Forfait 2026 en France métropolitaine » stays on one line and the last head runs to four lines at 768 (first column squeezed one line more). */
html body.postid-51437 .axm-table th { white-space: normal !important; }

/* ===== pages/articles__apporteur-d-affaires/page.css ===== */
/* /articles/apporteur-d-affaires/ (post 51397): page fixes. Family rules live in commun/polish-hero-hh.css.
   K1-K6 = the tabbed hero card (.ax-hh-carte) and the figure tiles (.ax-hh-tuiles), a hero variant that
   polish-hero-hh.css does not cover yet (12 pages of batch 2 carry it). Same block proposed for polish-hero-hh.css
   (H10); written here with the page prefix so it can be checked now. */

/* K1: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K5: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K6. Hero title, 1025 px and up: « Apporteur d'affaires : le guide complet 2026, par avocat » ran to four lines at
   the family's 66 px beside the card (check: headings over 3 lines). Size tops out at 54 px, same face and
   balance. Tablet and phone unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-51397 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(30px, calc(2.5vw + 18px), 54px); }
}
/* K7: moved to polish-base P36, polish-base P36, polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* K8: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__avocat-cgv/page.css ===== */
/* /articles/avocat-cgv/ (post 37268): page fixes. Family rules live in commun/polish-hero-hh.css. */

/* G1: moved to polish-base P37 (merge lot 2, 05/11/2026). */
/* G2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__banque-en-ligne-sarl/page.css ===== */
/* /articles/banque-en-ligne-sarl/ (post 42432): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__cgv-dropshipping/page.css ===== */
/* /articles/cgv-dropshipping/ (post 36320): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A1. Hero title, 1025 px and up: « CGV dropshipping : quelles sont les mentions obligatoires en 2026 ? » ran to
   five lines at the family's 66 px beside the persona card, with « 2026 ? » alone on the last (1440 sheet 01).
   Size tops out at 54 px, same face and balance. Tablet and phone unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-36320 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(30px, calc(2.5vw + 18px), 54px); }
}

/* ===== pages/articles__cgv-e-commerce/page.css ===== */
/* /articles/cgv-e-commerce/ (post 36453): page-only fixes. Family rules live in commun/polish-hero-hh.css.
   corrections.json: one no-wrap span around « E-commerce » in the hero title (it broke at its hyphen). */

/* A1: moved to polish-hero-hh H11 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__changement-adresse-sarl/page.css ===== */
/* /articles/changement-adresse-sarl/ (post 42482): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__combien-coute-un-comptable-pour-une-sarl/page.css ===== */
/* /articles/combien-coute-un-comptable-pour-une-sarl/ (post 42475): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A1. Hero title, 1025 px and up: « Combien coûte un comptable pour une sarl : combien ça coûte en 2026 ? » ran to
   four lines at the family's 66 px beside the persona card (check: headings over 3 lines, 1440). Size tops out at
   54 px, same face and balance. Tablet and phone unchanged (390: verbatim title, accepted). 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-42475 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(30px, calc(2.5vw + 18px), 54px); }
}
/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__comptabilite-sarl-de-famille/page.css ===== */
/* /articles/comptabilite-sarl-de-famille/ (post 42464): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* A2: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__creation-sarl-en-ligne/page.css ===== */
/* /articles/creation-sarl-en-ligne/ (post id 42428): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__creer-sa-micro-entreprise-guide-complet/page.css ===== */
/* /articles/creer-sa-micro-entreprise-guide-complet/ (post id 37385): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__creer-une-sarl-gratuitement/page.css ===== */
/* /articles/creer-une-sarl-gratuitement/ (post id 42429): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__demembrement-sci/page.css ===== */
/* /articles/demembrement-sci/ (post id 39842): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__droit-enregistrement-cession-parts/page.css ===== */
/* /articles/droit-enregistrement-cession-parts/ (post id 48783): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A5. Tables with long column heads, 768-1100 px (#actions, up to 106 px at 701) and 701-1440 px (#preponderance-immobiliere, 51 to 186 px): polish-base P27 keeps the heads of tables of three columns or fewer
   on one line (it fixed « Taux / IS » squeezed one word a line); these heads are whole phrases, so the table ran past
   its frame and its last column scrolled out of sight (check: cut tables). Heads wrap again here.
   Merge lot 2: kept, measured: with only the last head free to wrap (P27), the #preponderance-immobiliere table still ran 117px (1440) and 185px (768) past its frame: its FIRST head is the long one. */
@media (min-width: 701px) {
  html body.postid-48783 #actions .axm-table th, html body.postid-48783 #preponderance-immobiliere .axm-table th { white-space: normal !important; }
}
/* A6. Hero title at 1025 px and wider: up to 66 px (polish-hero-hh H1) in the 594 px text column beside the 470 px
   « Je cède / Je crée » card, this title ran to four lines, 278 px tall (check: headings over 3 lines; Taste:
   headline-lines). Capped at 58 px: three lines at 1440. Taste focal-point wants more than 4 vw (about 60 px); at 61 px the formateur title runs to four lines again and the droit title to five at 1025, so 58 px is kept, and a slower growth from 1025 px, where the column is 427 px wide (five lines there before). Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-48783 .axm > .ax-hh { --ax-h1-size: min(calc(3vw + 15px), 58px) !important; }
}
/* A7: moved to polish-hero-hh H10, H11 (merge lot 2, 05/11/2026). */
/* A8. Round 1, 768 and 1440 px: once its heads wrap (A5), the « Base légale » column of the #preponderance-immobiliere
   table was squeezed to about 60 px and broke inside the article number (« Art. 72 / 6, I, 2° / CGI »). The
   references stay on one line; the two wide text columns take the wrapping. */
@media (min-width: 701px) { html body.postid-48783 #preponderance-immobiliere .axm-table td:last-child { white-space: nowrap; } }

/* A9. Round 1, 390 px: in the #actions table the « Prix de cession » column was squeezed by the long second head and
   the prices broke inside the figure (« 200 00 / 0 € », « 1 000 0 / 00 € »). Prices stay on one line. */
@media (max-width: 700px) { html body.postid-48783 #actions .axm-table td:first-child { white-space: nowrap; } }

/* A10. Round 1, 390 px: the cells inherit « word-break: break-word », so the #bareme table squeezed its « Base légale »
   column to 60 px and broke the article numbers (« 72 / 6 »). That column wraps at spaces only (« Art. / 726, I, … »). */
@media (max-width: 700px) {
  html body.postid-48783 #bareme .axm-table td:last-child { word-break: normal !important; overflow-wrap: normal !important; }
}

/* ===== pages/articles__expert-comptable-sarl/page.css ===== */
/* /articles/expert-comptable-sarl/ (post id 42474): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__formateur-independant/page.css ===== */
/* /articles/formateur-independant/ (post id 51429): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A5: moved to polish-base P27 (merge lot 2, 05/11/2026: only the last head wraps now; measured, no cut table from 360 to 1440px, table shorter at 768). */
/* A6. Hero title at 1025 px and wider: up to 66 px (polish-hero-hh H1) in the 594 px text column beside the 470 px
   « Je cède / Je crée » card, this title ran to four lines, 278 px tall (check: headings over 3 lines; Taste:
   headline-lines). Capped at 58 px: three lines at 1440. Taste focal-point wants more than 4 vw (about 60 px); at 61 px the formateur title runs to four lines again and the droit title to five at 1025, so 58 px is kept, and a slower growth from 1025 px, where the column is 427 px wide (five lines there before). Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-51429 .axm > .ax-hh { --ax-h1-size: min(calc(3vw + 15px), 58px) !important; }
}
/* A7: moved to polish-hero-hh H10, H11 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__formulaire-m0-sarl/page.css ===== */
/* /articles/formulaire-m0-sarl/ (post id 42485): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__frais-de-notaire-pour-cession-de-parts-sci/page.css ===== */
/* /articles/frais-de-notaire-pour-cession-de-parts-sci/ (post id 48786): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A5. Tables with long column heads, 701 px (#comparatif, 7 px): polish-base P27 keeps the heads of tables of three columns or fewer
   on one line (it fixed « Taux / IS » squeezed one word a line); these heads are whole phrases, so the table ran past
   its frame and its last column scrolled out of sight (check: cut tables). Heads wrap again here.
   Merge lot 2: kept, measured: with only the last head free to wrap (P27), the long middle head stays on one line and squeezes the first column (the table about 70px taller at 768). */
@media (min-width: 701px) {
  html body.postid-48786 #comparatif .axm-table th { white-space: normal !important; }
}
/* A6. Hero title at 1025 px and wider: up to 66 px (polish-hero-hh H1) in the 594 px text column beside the 470 px
   « Je cède / Je crée » card, this title ran to four lines, 278 px tall (check: headings over 3 lines; Taste:
   headline-lines). Capped at 58 px: three lines at 1440. Taste focal-point wants more than 4 vw (about 60 px); at 61 px the formateur title runs to four lines again and the droit title to five at 1025, so 58 px is kept, and a slower growth from 1025 px, where the column is 427 px wide (five lines there before). Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-48786 .axm > .ax-hh { --ax-h1-size: min(calc(3vw + 15px), 58px) !important; }
}
/* A7: moved to polish-hero-hh H10, H11 (merge lot 2, 05/11/2026). */
/* A12: moved to polish-base P38 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__gestion-locative/page.css ===== */
/* /articles/gestion-locative/ (post id 51389): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__holding-sci/page.css ===== */
/* /articles/holding-sci/ (post id 39832): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__honoraires-vente-fonds-de-commerce/page.css ===== */
/* /articles/honoraires-vente-fonds-de-commerce/ (post id 48789): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__idee-nom-sci-familiale/page.css ===== */
/* /articles/idee-nom-sci-familiale/ (post id 39849): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A11. Broken markup (live; owner item): the section before « À lire aussi » is not closed, so « À lire aussi », a first
   FAQ, the heading « Créez la SCI qui sert votre investissement » and its two lines render inside it (a stray
   </section> closes it after them). « À lire aussi » followed the paragraph above at 20 px, as one more paragraph
   (1440 and 390). It now starts at a section's distance. The structure itself is not changed. */
html body.postid-39849 .axm-section > #a-lire-aussi { margin-top: var(--pol-gap-section) !important; }

/* ===== pages/articles__immatriculation-micro-entreprise-inpi-guichet-unique/page.css ===== */
/* /articles/immatriculation-micro-entreprise-inpi-guichet-unique/ (post id 37388): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__modele-cgv-gratuit/page.css ===== */
/* /articles/modele-cgv-gratuit/ (post id 37264): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__obo-sci/page.css ===== */
/* /articles/obo-sci/ (post id 39865): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__plus-value-cession-parts-sci/page.css ===== */
/* /articles/plus-value-cession-parts-sci/ (post id 48795): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A6: moved to polish-base P32 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__prix-assurance-entreprise-sarl/page.css ===== */
/* /articles/prix-assurance-entreprise-sarl/ (post id 42478): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A8: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__prix-creation-sci-notaire/page.css ===== */
/* /articles/prix-creation-sci-notaire/ (post id 39828): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__rachat-de-parts-sociales-sarl-par-la-societe-elle-meme/page.css ===== */
/* /articles/rachat-de-parts-sociales-sarl-par-la-societe-elle-meme/ (post id 42487): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A7. Hero title at 1025 px and wider: up to 66 px (polish-hero-hh H1) in the text column beside the persona card, « Rachat de parts sociales sarl par la société elle-même : bien comprendre en 2026 » ran to five lines at 1440
   (check: headings over 3 lines; Taste: headline-lines). This 80-character title needs 46 px to hold three lines in that column (54 px, the value used on the other articles, still gave four). Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-42487 .axm > .ax-hh { --ax-h1-size: min(calc(2.4vw + 12px), 46px) !important; }
}

/* ===== pages/articles__sarl-de-famille-location-meublee/page.css ===== */
/* /articles/sarl-de-famille-location-meublee/ (post id 42460): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A8: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sarl-de-famille-ou-sci/page.css ===== */
/* /articles/sarl-de-famille-ou-sci/ (post id 42426): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sarl-micro-entreprise/page.css ===== */
/* /articles/sarl-micro-entreprise/ (post id 42424): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A6: moved to polish-base P32 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sas-immobilier/page.css ===== */
/* /articles/sas-immobilier/ (post id 40897): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sas-ou-micro-entreprise/page.css ===== */
/* /articles/sas-ou-micro-entreprise/ (post id 40893): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sasu-ou-eurl/page.css ===== */
/* /articles/sasu-ou-eurl/ (post id 53315): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A5. Word breaks (all widths). An old article stylesheet left in the post (« SAFETY: wrapping anti-overflow »,
   unscoped) sets « h1,h2,h3,p,li,td,th { word-break: break-word; hyphens: auto } » on the whole page. Titles, list
   items, table cells, the En bref and the hero card were hyphenated (« com- / plet » in the H1 at 1440, « ré- / gime »,
   « Le- / galPlace ») and on phones short words were cut without a hyphen (« Sigl / e », « SA / SU », « EU / RL » in the
   sigles table). Words break between words again, as on the other pages; a word longer than its box still wraps
   (overflow-wrap kept). Owner item: remove that old <style> block and the hidden old breadcrumb from the post. */
html body.postid-53315 .axm :is(h1, h2, h3, h4, p, li, td, th, summary, span) { word-break: normal !important; -webkit-hyphens: manual !important; hyphens: manual !important; }

/* A7. Hero title at 1025 px and wider: up to 66 px (polish-hero-hh H1) in the 594 px text column beside the 470 px « Je cède / Je crée » card, « SASU ou EURL : le comparatif complet pour choisir » ran to four lines at 1440 once A5 stopped hyphenating it (« com- / plet »)
   (check: headings over 3 lines; Taste: headline-lines). Capped at 54 px, with a slower growth from 1025 px (same values as the other articles of this batch): three lines. Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-53315 .axm > .ax-hh { --ax-h1-size: min(calc(2.4vw + 20px), 54px) !important; }
}

/* ===== pages/articles__sasu-ou-micro-entreprise/page.css ===== */
/* /articles/sasu-ou-micro-entreprise/ (post id 53324): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A5. Word breaks (all widths). An old article stylesheet left in the post (« SAFETY: wrapping anti-overflow »,
   unscoped) sets « h1,h2,h3,p,li,td,th { word-break: break-word; hyphens: auto } » on the whole page. Titles, list
   items, table cells, the En bref and the hero card were hyphenated (« com- / plet » in the H1 at 1440, « ré- / gime »,
   « Le- / galPlace ») and on phones short words were cut without a hyphen (« Sigl / e », « SA / SU », « EU / RL » in the
   sigles table). Words break between words again, as on the other pages; a word longer than its box still wraps
   (overflow-wrap kept). Owner item: remove that old <style> block and the hidden old breadcrumb from the post. */
html body.postid-53324 .axm :is(h1, h2, h3, h4, p, li, td, th, summary, span) { word-break: normal !important; -webkit-hyphens: manual !important; hyphens: manual !important; }

/* A7. Hero title at 1025 px and wider: up to 66 px (polish-hero-hh H1) in the 594 px text column beside the 470 px « Je cède / Je crée » card, « SASU ou micro-entreprise : que choisir pour se lancer ? » ran to four lines at 1440
   (check: headings over 3 lines; Taste: headline-lines). Capped at 54 px, with a slower growth from 1025 px (same values as the other articles of this batch): three lines. Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.postid-53324 .axm > .ax-hh { --ax-h1-size: min(calc(2.4vw + 20px), 54px) !important; }
}

/* ===== pages/articles__sci-d-attribution/page.css ===== */
/* /articles/sci-d-attribution/ (post id 39856): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A8: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sci-entre-amis/page.css ===== */
/* /articles/sci-entre-amis/ (post id 39848): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A8: moved to polish-base P31 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sci-familiale-emprunt/page.css ===== */
/* /articles/sci-familiale-emprunt/ (post id 39818): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A6: moved to polish-base P32 (merge lot 2, 05/11/2026). */
/* A5. Word breaks (all widths). An old article stylesheet left in the post sets « p, li, td, th, h1, h2, h3 { hyphens: auto } »
   on the whole page (unscoped). List items, table cells, FAQ answers, En bref and the closing text were hyphenated
   (« busi- / ness plan », « soli- / daire », « répar- / tition », « em- / prunt » at 390 and 1440), unlike the other
   pages of the template. Words break between words again. Owner item: remove that old <style> block from the post. */
html body.postid-39818 .axm :is(p, li, td, th, h3, h4, summary) { -webkit-hyphens: manual !important; hyphens: manual !important; }

/* A9. « SCI familiale emprunt : le récapitulatif » (#essentiel) is alone in its section; its table opens the next
   section, so the heading sat 96 px above its own table, as far as the next section (1440 sheet 03, 390 too: 64 px).
   The table follows its heading at the 24 px of a heading and its content (polish-base P6). Markup unchanged
   (owner item: put heading and table in one section). */
html body.postid-39818 .axm-article > .axm-section:has(> #essentiel:only-child) + .axm-section { margin-top: calc(24px - var(--pol-gap-section)) !important; }
html body.postid-39818 .axm-article > .axm-section:has(> #essentiel:only-child) + .axm-section > .axm-table:first-child { margin-top: 0 !important; } /* P6 gives a table 32 px above it even as first child */

/* ===== pages/articles__sci-location-saisonniere/page.css ===== */
/* /articles/sci-location-saisonniere/ (post id 39835): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sci-ou-indivision/page.css ===== */
/* /articles/sci-ou-indivision/ (post id 39850): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__sponsoring/page.css ===== */
/* /articles/sponsoring/ (post id 51405): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A3: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */
/* A4: moved to polish-hero-hh H10 (merge lot 2, 05/11/2026). */

/* ===== pages/articles__transformation-sci-en-sas/page.css ===== */
/* /articles/transformation-sci-en-sas/ (post id 40890): page-only fixes. Family rules live in commun/polish-base.css and commun/polish-hero-hh.css. */

/* A1: moved to polish-base P30 (merge lot 2, 05/11/2026). */

/* ===== pages/assurance-copropriete/page.css ===== */
/* /assurance-copropriete/ (page id 50631): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* N1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/avocat/page.css ===== */
/* /avocat/ (page id 53399): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ---------------------------------------------------------------------------------------------------------
   PAGE ONLY (/avocat/, page 53399)
   A1. The 19 link groups (« Avocat par ville : », « Paris : », « Lyon : »…): on phones the group label sat
   inline before the first chip, so each group started with a ragged two-item line and the city names were lost
   among the chips (390, sheets 02-03). The label takes its own line above its chips; consecutive groups 24px
   apart instead of 32px so each label stays visibly tied to its own chips. */
@media (max-width: 700px) {
  html body.page-id-53399 .axt.axt .axm-voir > span { flex-basis: 100%; margin-bottom: -2px; }
}
html body.page-id-53399 .axt.axt .axm-section > .axm-voir + .axm-voir { margin-top: 24px !important; }

/* ===== pages/avocat__annecy/page.css ===== */
/* /avocat/annecy/ (page id 53406): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__annecy__divorce/page.css ===== */
/* /avocat/annecy/divorce/ (page id 54352): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__annecy__droit-des-affaires/page.css ===== */
/* /avocat/annecy/droit-des-affaires/ (page id 54355): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux/page.css ===== */
/* /avocat/bordeaux/ (page id 54302): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__divorce/page.css ===== */
/* /avocat/bordeaux/divorce/ (page id 54358): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__dommage-corporel/page.css ===== */
/* /avocat/bordeaux/dommage-corporel/ (page id 54361): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ---------------------------------------------------------------------------------------------------------
   PAGE ONLY (page 54361)
   P1. Hero title on 4 lines at 1440, 1100 and 768 (the lime-underlined words « Avocat dommage corporel <ville> » are
   wider than half the 17em column, so every size gave 4 lines; capture check: heading over 3 lines). Column 19em and
   the title capped at 60px: 3 lines at the three widths (measured 1440: 60px, 1100: 50.6px, 768: 35.3px).
   --------------------------------------------------------------------------------------------------------- */
/* merge lot 3: the cap was measured at 768-1440; on phones T32 (28px) applies */
@media (min-width: 701px) {
  html body.page-id-54361 .axt.axt .ax-th { --ax-h1-size: clamp(30px, 4.6vw, 60px); }
}
html body.page-id-54361 .axt.axt .ax-th h1 { max-width: 19em; }

/* ===== pages/avocat__bordeaux__droit-de-la-famille/page.css ===== */
/* /avocat/bordeaux/droit-de-la-famille/ (page id 54364): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__droit-des-affaires/page.css ===== */
/* /avocat/bordeaux/droit-des-affaires/ (page id 54367): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__droit-des-etrangers/page.css ===== */
/* /avocat/bordeaux/droit-des-etrangers/ (page id 54370): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__droit-du-travail/page.css ===== */
/* /avocat/bordeaux/droit-du-travail/ (page id 54373): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__droit-immobilier/page.css ===== */
/* /avocat/bordeaux/droit-immobilier/ (page id 54376): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__bordeaux__penaliste/page.css ===== */
/* /avocat/bordeaux/penaliste/ (page id 54379): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__divorce/page.css ===== */
/* /avocat/divorce/ (page id 54305): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__dommage-corporel/page.css ===== */
/* /avocat/dommage-corporel/ (page id 54308): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__droit-de-la-famille/page.css ===== */
/* /avocat/droit-de-la-famille/ (page id 54311): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__droit-des-affaires/page.css ===== */
/* /avocat/droit-des-affaires/ (page id 54314): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__droit-des-etrangers/page.css ===== */
/* /avocat/droit-des-etrangers/ (page id 54317): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__droit-du-travail/page.css ===== */
/* /avocat/droit-du-travail/ (page id 54299): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__droit-immobilier/page.css ===== */
/* /avocat/droit-immobilier/ (page id 54322): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__droit-public/page.css ===== */
/* /avocat/droit-public/ (page id 54325): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__fiscaliste/page.css ===== */
/* /avocat/fiscaliste/ (page id 54328): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__grenoble/page.css ===== */
/* /avocat/grenoble/ (page id 54331): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__grenoble__divorce/page.css ===== */
/* /avocat/grenoble/divorce/ (page id 54382): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__grenoble__droit-du-travail/page.css ===== */
/* /avocat/grenoble/droit-du-travail/ (page id 54385): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lille/page.css ===== */
/* /avocat/lille/ (page id 54334): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lille__divorce/page.css ===== */
/* /avocat/lille/divorce/ (page id 54388): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lille__droit-du-travail/page.css ===== */
/* /avocat/lille/droit-du-travail/ (page id 54391): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lille__penaliste/page.css ===== */
/* /avocat/lille/penaliste/ (page id 54394): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon/page.css ===== */
/* /avocat/lyon/ (page id 53401): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__divorce/page.css ===== */
/* /avocat/lyon/divorce/ (page id 54397): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__dommage-corporel/page.css ===== */
/* /avocat/lyon/dommage-corporel/ (page id 54400): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__droit-de-la-famille/page.css ===== */
/* /avocat/lyon/droit-de-la-famille/ (page id 54403): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__droit-des-affaires/page.css ===== */
/* /avocat/lyon/droit-des-affaires/ (page id 54406): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__droit-des-etrangers/page.css ===== */
/* /avocat/lyon/droit-des-etrangers/ (page id 54409): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__droit-du-travail/page.css ===== */
/* /avocat/lyon/droit-du-travail/ (page id 54412): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__droit-immobilier/page.css ===== */
/* /avocat/lyon/droit-immobilier/ (page id 54415): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__lyon__penaliste/page.css ===== */
/* /avocat/lyon/penaliste/ (page id 54418): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille/page.css ===== */
/* /avocat/marseille/ (page id 53402): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__divorce/page.css ===== */
/* /avocat/marseille/divorce/ (page id 54421): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__dommage-corporel/page.css ===== */
/* /avocat/marseille/dommage-corporel/ (page id 54424): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* D1 (page only). Hero title on 4 lines at 1440 and 1100 (capture check heading > 3 lines; Taste headline-lines):
   with text-wrap: balance the lime-underlined « Avocat dommage corporel Marseille » split in two short lines.
   A 20em measure (1069px at 1440) gives 3 lines at 1440 and 1100 (measured). */
html body.page-id-54424 .axt .ax-th h1 { max-width: 20em !important; }

/* ===== pages/avocat__marseille__droit-de-la-famille/page.css ===== */
/* /avocat/marseille/droit-de-la-famille/ (page id 54427): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__droit-des-affaires/page.css ===== */
/* /avocat/marseille/droit-des-affaires/ (page id 54430): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__droit-des-etrangers/page.css ===== */
/* /avocat/marseille/droit-des-etrangers/ (page id 54433): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__droit-du-travail/page.css ===== */
/* /avocat/marseille/droit-du-travail/ (page id 54436): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__droit-immobilier/page.css ===== */
/* /avocat/marseille/droit-immobilier/ (page id 54439): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__droit-public/page.css ===== */
/* /avocat/marseille/droit-public/ (page id 54442): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__penaliste/page.css ===== */
/* /avocat/marseille/penaliste/ (page id 54445): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__marseille__permis-de-conduire/page.css ===== */
/* /avocat/marseille/permis-de-conduire/ (page id 54448): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__montpellier/page.css ===== */
/* /avocat/montpellier/ (page id 53403): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__montpellier__divorce/page.css ===== */
/* /avocat/montpellier/divorce/ (page id 54451): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__montpellier__droit-des-affaires/page.css ===== */
/* /avocat/montpellier/droit-des-affaires/ (page id 54454): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nancy/page.css ===== */
/* /avocat/nancy/ (page id 53409): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nancy__droit-des-affaires/page.css ===== */
/* /avocat/nancy/droit-des-affaires/ (page id 54457): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nantes/page.css ===== */
/* /avocat/nantes/ (page id 54337): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nantes__divorce/page.css ===== */
/* /avocat/nantes/divorce/ (page id 54460): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nantes__droit-immobilier/page.css ===== */
/* /avocat/nantes/droit-immobilier/ (page id 54463): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nantes__penaliste/page.css ===== */
/* /avocat/nantes/penaliste/ (page id 54466): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice/page.css ===== */
/* /avocat/nice/ (page id 53407): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice__accident/page.css ===== */
/* /avocat/nice/accident/ (page id 54469): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice__divorce/page.css ===== */
/* /avocat/nice/divorce/ (page id 54472): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice__droit-des-affaires/page.css ===== */
/* /avocat/nice/droit-des-affaires/ (page id 54475): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice__droit-du-travail/page.css ===== */
/* /avocat/nice/droit-du-travail/ (page id 54478): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice__droit-penal/page.css ===== */
/* /avocat/nice/droit-penal/ (page id 54481): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__nice__immobilier/page.css ===== */
/* /avocat/nice/immobilier/ (page id 54484): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris/page.css ===== */
/* /avocat/paris/ (page id 53400): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__bail-commercial/page.css ===== */
/* /avocat/paris/bail-commercial/ (page id 54487): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__divorce/page.css ===== */
/* /avocat/paris/divorce/ (page id 54490): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__dommage-corporel/page.css ===== */
/* /avocat/paris/dommage-corporel/ (page id 54493): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__droit-de-la-famille/page.css ===== */
/* /avocat/paris/droit-de-la-famille/ (page id 54496): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__droit-des-affaires/page.css ===== */
/* /avocat/paris/droit-des-affaires/ (page id 54499): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__droit-des-etrangers/page.css ===== */
/* /avocat/paris/droit-des-etrangers/ (page id 54502): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__droit-du-travail/page.css ===== */
/* /avocat/paris/droit-du-travail/ (page id 54505): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__droit-immobilier/page.css ===== */
/* /avocat/paris/droit-immobilier/ (page id 54508): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__droit-public/page.css ===== */
/* /avocat/paris/droit-public/ (page id 54511): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__fiscaliste/page.css ===== */
/* /avocat/paris/fiscaliste/ (page id 54514): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__liquidation-judiciaire/page.css ===== */
/* /avocat/paris/liquidation-judiciaire/ (page id 54517): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__penaliste/page.css ===== */
/* /avocat/paris/penaliste/ (page id 54520): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__permis-de-conduire/page.css ===== */
/* /avocat/paris/permis-de-conduire/ (page id 54523): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__paris__propriete-intellectuelle/page.css ===== */
/* /avocat/paris/propriete-intellectuelle/ (page id 54526): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__penaliste/page.css ===== */
/* /avocat/penaliste/ (page id 54340): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__permis-de-conduire/page.css ===== */
/* /avocat/permis-de-conduire/ (page id 54343): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__rennes/page.css ===== */
/* /avocat/rennes/ (page id 53410): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__rennes__divorce/page.css ===== */
/* /avocat/rennes/divorce/ (page id 54529): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__rennes__droit-des-affaires/page.css ===== */
/* /avocat/rennes/droit-des-affaires/ (page id 54532): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__rouen/page.css ===== */
/* /avocat/rouen/ (page id 54346): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__rouen__droit-du-travail/page.css ===== */
/* /avocat/rouen/droit-du-travail/ (page id 54535): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__strasbourg/page.css ===== */
/* /avocat/strasbourg/ (page id 53404): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__strasbourg__divorce/page.css ===== */
/* /avocat/strasbourg/divorce/ (page id 54538): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__strasbourg__droit-des-affaires/page.css ===== */
/* /avocat/strasbourg/droit-des-affaires/ (page id 54541): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__strasbourg__penaliste/page.css ===== */
/* /avocat/strasbourg/penaliste/ (page id 54544): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__succession/page.css ===== */
/* /avocat/succession/ (page id 54349): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__toulouse/page.css ===== */
/* /avocat/toulouse/ (page id 53408): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__toulouse__divorce/page.css ===== */
/* /avocat/toulouse/divorce/ (page id 54547): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__toulouse__dommage-corporel/page.css ===== */
/* /avocat/toulouse/dommage-corporel/ (page id 54550): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ---------------------------------------------------------------------------------------------------------
   PAGE ONLY (page 54550)
   P1. Hero title on 4 lines at 1440, 1100 and 768 (the lime-underlined words « Avocat dommage corporel <ville> » are
   wider than half the 17em column, so every size gave 4 lines; capture check: heading over 3 lines). Column 19em and
   the title capped at 60px: 3 lines at the three widths (measured 1440: 60px, 1100: 50.6px, 768: 35.3px).
   --------------------------------------------------------------------------------------------------------- */
/* merge lot 3: the cap was measured at 768-1440; on phones T32 (28px) applies */
@media (min-width: 701px) {
  html body.page-id-54550 .axt.axt .ax-th { --ax-h1-size: clamp(30px, 4.6vw, 60px); }
}
html body.page-id-54550 .axt.axt .ax-th h1 { max-width: 19em; }

/* ===== pages/avocat__toulouse__droit-des-affaires/page.css ===== */
/* /avocat/toulouse/droit-des-affaires/ (page id 54553): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__toulouse__droit-du-travail/page.css ===== */
/* /avocat/toulouse/droit-du-travail/ (page id 54556): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__toulouse__penaliste/page.css ===== */
/* /avocat/toulouse/penaliste/ (page id 54559): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__tours/page.css ===== */
/* /avocat/tours/ (page id 53411): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__tours__divorce/page.css ===== */
/* /avocat/tours/divorce/ (page id 54562): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__tours__droit-des-affaires/page.css ===== */
/* /avocat/tours/droit-des-affaires/ (page id 54565): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__versailles/page.css ===== */
/* /avocat/versailles/ (page id 53405): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__versailles__divorce/page.css ===== */
/* /avocat/versailles/divorce/ (page id 54568): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__versailles__droit-des-affaires/page.css ===== */
/* /avocat/versailles/droit-des-affaires/ (page id 54571): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__versailles__droit-du-travail/page.css ===== */
/* /avocat/versailles/droit-du-travail/ (page id 54574): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/avocat__versailles__penaliste/page.css ===== */
/* /avocat/versailles/penaliste/ (page id 54577): local polish proposal, lot 3, NOT live. Loaded after commun/polish-*.css.
   The batch-3 « shared candidate » block that opened this file moved to commun/polish-hero-th.css T25-T32
   (merge lot 3, 05/11/2026, FUSION-LOT3.md). Page-only rules below, if any. */

/* ===== pages/bail-commercial/page.css ===== */
/* /bail-commercial/ (page 38582): page-only polish rules. Template rules live in commun/polish-gabarit-modele.css. */

/* BC1. « Référence » column of the clause table: legal references broke after a hyphen
   (1440 and 768: « L.145-38 / L.145- / 39 »; 390: « L.145-40- / 2 »). From 701px the column has room, so a
   reference stays on one line; on phones the column is wide enough for the longest single reference, so a cell
   only wraps at its spaces (« L.145-38 / » then « L.145-39 »). */
html body.page-id-38582 #clauses .axm-table :is(th, td):nth-child(3) { min-width: 6.2em; }
@media (min-width: 701px) {
  html body.page-id-38582 #clauses .axm-table td:nth-child(3) { white-space: nowrap; }
}

/* ===== pages/bail-derogatoire/page.css ===== */
/* /bail-derogatoire/ (page 51272): page-only polish rules. Template rules live in commun/polish-gabarit-modele.css. */

/* BD1. « Total cumulé » column of the « Schéma de contrats » table (#duree, 390): the column was narrow enough to
   break « 36 / mois », « 42 / mois » on two lines. Values are short: one line each. */
html body.page-id-51272 #duree .axm-table td:nth-child(2) { white-space: nowrap; }

/* ===== pages/borne-de-recharge-copropriete/page.css ===== */
/* /borne-de-recharge-copropriete/ (page id 50634): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* N1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* T1. Hero title, desktop (1025 px and up): at the family size (up to 66 px) this long verbatim title ran on four
   lines at 1440 px (and 1100 px), 4 x 70 px of title before the chapô (check: headings over 3 lines). Capped at
   60 px at 1440 px, 52 px at 1280, 42-44 px from
   1025 to 1100: three lines, balanced. Tablet and phone sizes unchanged.
   Merge lot 2: kept: the shared step H11 only applies to heroes with a side card; without this cap the title runs to four lines at 1440. */
@media (min-width: 1025px) {
  html body.page-id-50634 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(42px, calc(4.8vw - 9px), 60px); }
}

/* ===== pages/caution-location-voiture/page.css ===== */
/* /caution-location-voiture/ (page id 51146): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* N1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/caution-retenue-de-garantie/page.css ===== */
/* /caution-retenue-de-garantie/ (page id 51149): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* N1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* H1. Two three-column comparison tables with long column names (« Marché public (code de la commande publique) »,
   « Garantie à première demande… »), 768 and 1440 px: polish-base P27 keeps the heads of tables of three columns or
   fewer on one line, which pushed these tables 78 and 26 px (768) and 10 px (1440) past the column, the last column
   hidden behind a scroll (check: cut table; the original was 0). Their heads wrap again (balanced lines). Shared
   proposal in the report (P27 exception).
   Merge lot 2: kept, measured: with only the last head free to wrap (P27), the long middle head « Marché privé (loi du 16 juillet 1971) » stays on one line and squeezes the first column at 768. */
@media (min-width: 701px) {
  html body.page-id-51149 .axm-table th { white-space: normal !important; text-wrap: balance; }
}

/* ===== pages/ceder-son-entreprise/page.css ===== */
/* /ceder-son-entreprise/ (page id 48768): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* C1. The steps section (#negocia) is not closed before « Dans ce dossier »: the link list, the FAQ and the
   disclaimer render inside the blue steps panel (live markup; owner item). Each followed the button above it at the
   20 px of an ordinary paragraph, so « DANS CE DOSSIER » touched the button and « FAQ » touched the list (390 and
   1440). They now start at a section's distance. The structure itself is not changed. */
html body.page-id-48768 #negocia > #dans-ce-dossier,
html body.page-id-48768 #negocia > #dans-ce-dossier + .axm-eyebrow { margin-top: var(--pol-gap-section) !important; }

/* ===== pages/ceder-son-entreprise__rachat-entreprise/page.css ===== */
/* /ceder-son-entreprise/rachat-entreprise/ (page id 48801): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* T1. Hero title, desktop (1025 px and up): at the family size (up to 66 px) this long verbatim title ran on four
   lines at 1440 px (and 1100 px), 4 x 70 px of title before the chapô (check: headings over 3 lines). Capped at
   60 px at 1440 px, 52 px at 1280, 42-44 px from
   1025 to 1100: three lines, balanced. Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.page-id-48801 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(42px, calc(4.8vw - 9px), 60px); }
}
/* R1. Registration-duties table (#cout), 390 px: the cell « Barème global, entreprendre.service-public.gouv.fr »
   holds a web address that cannot break, so the table ran 39 px past the column (check: cut table). The
   « Référence » cells may break inside a word when nothing else fits; other columns untouched. */
@media (max-width: 700px) { html body.page-id-48801 #cout .axm-table td:last-child { overflow-wrap: anywhere; } }

/* ===== pages/ceder-son-entreprise__vendre-son-entreprise/page.css ===== */
/* /ceder-son-entreprise/vendre-son-entreprise/ (page id 48804): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* T1. Hero title, desktop (1025 px and up): at the family size (up to 66 px) this long verbatim title ran on four
   lines at 1440 px (and 1100 px), 4 x 70 px of title before the chapô (check: headings over 3 lines). Capped at
   60 px at 1440 px, 52 px at 1280, 42-44 px from
   1025 to 1100: three lines, balanced. Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.page-id-48804 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(42px, calc(4.8vw - 9px), 60px); }
}

/* ===== pages/cession-de-parts-sci/page.css ===== */
/* /cession-de-parts-sci/ (page 39211): page-only rules. Family rules: commun/polish-hero-th.css. */

/* S1. Broken emphasis (live defect). The 5th item of « Comment ça marche avec Actav, en cinq temps » opens <strong>
   and never closes it (« <li><strong>L'avocat rédige l'acte et, si la société … art. 1865-1).</li> »). The browser
   re-opens that <strong> around everything after it: the FAQ title, every FAQ question and answer, the disclaimer,
   the whole sidebar and the closing band render bold, and the sidebar, now inside a <strong>, is no longer a column
   of the page: it drops under the 21,500px article, which then runs the full 1152px (1440 and 768).
   The real fix is one missing « </strong> » in the page content (listed for the owner). Until then, without
   touching the markup: the two stray wrappers stop being boxes, and inside the affected blocks the stray level
   loses its weight while the page's own bold words (always one level deeper) keep it. */
html body.page-id-39211 :is(.axm-page, .axt) > strong { display: contents; font-weight: 400 !important; }
html body.page-id-39211 :is(.axm-h2-faq, .axm-faq, .axm-avert, .axm-aside, .axt-final, .axt-barre) strong { font-weight: inherit !important; }
html body.page-id-39211 :is(.axm-faq p, .axm-avert, .axm-aside, .axt-final, .axt-barre) strong strong { font-weight: 700 !important; }

/* S2 (LitigIA box: blue fill instead of outline and drop, column width, 13px floor): moved to polish-base P22
   (merge 30/10/2026, the same box is on /bail-commercial/ and /cgv/). */

/* S3. Video (inline style « margin:28px auto; max-width:760px »): centred 14px inside the 788px article, so its edges
   matched neither the text nor the boxes around it (1440). Full column width, same 16:9 frame. The consent placeholder
   cannot be seen locally (the cookie script is stripped from the previews). */
html body.page-id-39211 .axm-section > figure.axm-video { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; margin-top: 32px !important; }
html body.page-id-39211 .axm-section > figure.axm-video + * { margin-top: 32px !important; }

/* S4. « Durée de détention des parts / Abattement à l'impôt sur le revenu / Abattement aux prélèvements sociaux »
   (#fiscalite), 701 to 1100px: the shared rule that keeps the heads of tables of three columns or fewer on one
   line (polish-base P27, merge 30/10) made these three long heads wider than the column (61px past it at 768,
   93px at 1100). Here the heads wrap between words again, as before the merge. */
html body.page-id-39211 #fiscalite .axm-table th { white-space: normal; }

/* S5. Phones (390): « Parts cédées / Droit enregistrement… » (#enregistrement) and « Poste / Contenu / Repère 2026 »
   (#cout) each hold three long words side by side (« prépondérance », « enregistrement », « d'expert-comptable »):
   with the shared 8px cell padding (polish-base P27) they ran 3px past the edge. 7px, as before the merge. */
@media (max-width: 700px) {
  html body.page-id-39211 :is(#enregistrement, #cout) .axm-table :is(th, td) { padding-left: 7px !important; padding-right: 7px !important; }
  html body.page-id-39211 :is(#enregistrement, #cout) .axm-table :is(th, td):first-child { padding-left: 10px !important; }
}

/* ===== pages/combien-coute-un-notaire-pour-une-succession/page.css ===== */
/* /combien-coute-un-notaire-pour-une-succession/ (page id 51105): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* N1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/comment-faire-une-sci/page.css ===== */
/* /comment-faire-une-sci/ (page id 51305): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* T1. Hero title, desktop (1025 px and up): at the family size (up to 66 px) this long verbatim title ran on four
   lines at 1440 px (and 1100 px), 4 x 70 px of title before the chapô (check: headings over 3 lines). Capped at
   58 px at 1440 px, 51 px at 1280, 42 px from
   1025 to 1100: three lines, balanced. Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.page-id-51305 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(42px, calc(4.6vw - 8px), 58px); }
}

/* ===== pages/contrat-de-capitalisation-succession/page.css ===== */
/* /contrat-de-capitalisation-succession/ (page id 50652): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* N1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/contrat-de-partenariat/page.css ===== */
/* /contrat-de-partenariat/ (page 40100), old template, blockers only.
   P1. Below 900px a live rule hides the three parts of the sidebar card (title, text, link), so an empty
   46px box remained under the article (aside.actav-sidebar, 358x47 at 390). The empty shell is hidden;
   nothing visible is removed. */
@media (max-width: 900px) {
  html body.page-id-40100 aside.actav-sidebar { display: none !important; }
}

/* ===== pages/contrat-de-prestation-de-service/page.css ===== */
/* /contrat-de-prestation-de-service/ (page 38684), old template, blockers only.
   P1. The block after the closing band (« Définition… ») has a link told apart by colour only (axe
   link-in-text-block, serious, all widths). Underlined like the links of the article. The block itself
   is listed for the owner (not in the owner's 25/09 file). */
html body.page-id-38684 .elementor-element-b3fc729 p a { text-decoration: underline !important; text-underline-offset: .2em; }

/* ===== pages/contrat-de-sous-traitance/page.css ===== */
/* /contrat-de-sous-traitance/ (page 38706), « ahx » hybrid template, blockers only.
   P1. Below 900px a site rule reserves 180px under the footer for a fixed action bar
   (body:has(.actav-sidebar [data-cta="barre"])), but on this page the card stays in the flow (measured
   position: static, before and after scrolling), so 180px of blank page remained under the footer. */
@media (max-width: 900px) {
  html body.page-id-38706.page-id-38706 { padding-bottom: 0 !important; }
}
/* P2. Phone schema: the title « Sous-traitance : qui répond de quoi » is 383 units wide in a 360-unit drawing,
   so both ends were cut at 390px. One step smaller, it fits. */
html body.page-id-38706 .ahx-schema-mob .sch-titre { font-size: 20px !important; }
/* P3. Both tables kept a minimum width inside .ahx-tblwrap, so 202px of each sat past the edge at 390px
   (« Mécanisme / Ce que prévoit la loi », « Clause / Rôle »). They now fit the screen. */
@media (max-width: 700px) {
  html body.page-id-38706 .ahx-tblwrap table { min-width: 0 !important; width: 100% !important; font-size: 14px !important; }
  html body.page-id-38706 .ahx-tblwrap :is(th, td) { padding: 10px 8px !important; overflow-wrap: break-word; hyphens: auto; }
  html body.page-id-38706 .ahx-tblwrap th { hyphens: manual; overflow-wrap: normal; }
  html body.page-id-38706 .ahx-tblwrap td a { hyphens: manual; white-space: nowrap; }
}

/* ===== pages/cout-creation-sci/page.css ===== */
/* /cout-creation-sci/ (page id 38993): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* A1. Two button rows one after the other (section with « Chiffrer ma création gratuitement »), all widths: the
   second row sat 20 px under the first, the gap of a new paragraph, while the buttons of one row are 12 px apart:
   the four buttons now read as one group (12 px). Buttons and labels unchanged (owner item: two rows, same action). */
html body.page-id-38993 .axm-section > .axm-actions + .axm-actions { margin-top: 12px !important; }

/* ===== pages/creation-sci-en-ligne/page.css ===== */
/* /creation-sci-en-ligne/ (page id 39186): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css. */

/* T1. Hero title, desktop (1025 px and up): at the family size (up to 66 px) this long verbatim title ran on four
   lines at 1440 px (and 1100 px), 4 x 70 px of title before the chapô (check: headings over 3 lines). Capped at
   60 px at 1440 px, 52 px at 1280, 42-44 px from
   1025 to 1100: three lines, balanced. Tablet and phone sizes unchanged. 
   Merge lot 2: kept, the shared step H11 left this title longer (measured 1025-1440). */
@media (min-width: 1025px) {
  html body.page-id-39186 .axm:has(> .ax-hh):not(.is-modele) > .ax-hh { --ax-h1-size: clamp(42px, calc(4.8vw - 9px), 60px); }
}
/* R1. « Démarche en ligne » table (#site-officiel), 390 px: the cell « formalites.entreprises.gouv.fr (INPI) » holds a web
   address that cannot break, so the table ran 42 px past the column (check: cut table; WebKit too). The « Où ? »
   cells may break inside that address when nothing else fits; other columns untouched. */
@media (max-width: 700px) { html body.page-id-39186 #site-officiel .axm-table td:nth-child(2) { overflow-wrap: anywhere; } }

/* ===== pages/creer-mon-entreprise/page.css ===== */
/* /creer-mon-entreprise/ (page id 28569): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* E1. Title size (1025 px and up). The family size (66 px at 1440) set this 74-character title on 5 lines (6 at
   1100), pushing the chapô, the buttons and the author line to the fold. Here the title tops out at 56 px:
   3 lines at 1440 and 1100, 4 at 1025. Tablet and phone keep the family size (3 lines). */
@media (min-width: 1025px) {
  html body.page-id-28569 .axm:has(> .ax-hh) > .ax-hh { --ax-h1-size: clamp(36px, calc(4.6vw - 10px), 56px); }
}

/* E2. Lists « Actav Connect » (#connect) and « Pourquoi Actav » (#comparatif), all widths: each item showed the list's
   bullet AND a tick character typed at the start of the text (double bullet; Taste: emoji). The typed character is
   visually removed (first letter at size 0), the bullet stays, the words are unchanged.
   Owner item: delete the typed characters from the text (then this rule can go). */
html body.page-id-28569 :is(#connect, #comparatif) .axm-list li::first-letter { font-size: 0; }
html body.page-id-28569 :is(#connect, #comparatif) .axm-list li { text-indent: -.27em; }

/* E3. « Forme / Associés / Capital min. / Idéale pour / Disponible sur Actav » on phones (390). The shared phone
   layout of five-column tables (polish-base P27) sets the four values two by two under the row title, for long
   cells. Here the values are short (« 2+ », « 1 € »), so the four sit side by side under the four heads, as in
   the family round; short columns narrower, long ones wider, so « Idéale pour » is not hyphenated every line.
   Merge 30/10: the cell padding of that round (was polish-hero-hh.css B9) now lives here. */
@media (max-width: 700px) {
  html body.page-id-28569 #structures .axm-table tr { grid-template-columns: minmax(0, .7fr) minmax(0, .7fr) minmax(0, 1.3fr) minmax(0, 1.3fr) !important; }
  html body.page-id-28569 #structures .axm-table thead tr { padding: 0 !important; }
  html body.page-id-28569 #structures .axm-table tbody tr { padding-bottom: 0 !important; }
  html body.page-id-28569 #structures .axm-table th { padding: 10px 8px !important; }
  html body.page-id-28569 #structures .axm-table thead th:first-child { padding-bottom: 0 !important; }
  html body.page-id-28569 #structures .axm-table td { padding: 6px 8px 14px !important; hyphens: auto; }
  html body.page-id-28569 #structures .axm-table td:first-child { padding: 14px 8px 0 !important; }
}

/* ===== pages/creer-mon-entreprise__quel-statut-juridique__boulangerie/page.css ===== */
/* /creer-mon-entreprise/quel-statut-juridique/boulangerie/ (page id 28624): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css.
   The four « Quel statut pour … » pages (boulangerie, e-commerce, freelance, restaurant) keep older « actav-* » blocks inside
   « .axt-libre » wrappers (editorial grid, issue cards, callouts, cost table, quiz). The shared rules do not reach them;
   Q1-Q5 bring them to the same treatment as the cahier components (same in the four page.css: proposed as one shared
   block in the report). The quiz and the checklist form are the tool's own interface: not restyled. */

/* Q1: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q2: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q3: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q4: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q5: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q6: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */

/* ===== pages/creer-mon-entreprise__quel-statut-juridique__e-commerce/page.css ===== */
/* /creer-mon-entreprise/quel-statut-juridique/e-commerce/ (page id 28654): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css.
   The four « Quel statut pour … » pages (boulangerie, e-commerce, freelance, restaurant) keep older « actav-* » blocks inside
   « .axt-libre » wrappers (editorial grid, issue cards, callouts, cost table, quiz). The shared rules do not reach them;
   Q1-Q5 bring them to the same treatment as the cahier components (same in the four page.css: proposed as one shared
   block in the report). The quiz and the checklist form are the tool's own interface: not restyled. */

/* Q1: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q2: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q3: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q4: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q5: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q6: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */

/* ===== pages/creer-mon-entreprise__quel-statut-juridique__freelance/page.css ===== */
/* /creer-mon-entreprise/quel-statut-juridique/freelance/ (page id 28636): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css.
   The four « Quel statut pour … » pages (boulangerie, e-commerce, freelance, restaurant) keep older « actav-* » blocks inside
   « .axt-libre » wrappers (editorial grid, issue cards, callouts, cost table, quiz). The shared rules do not reach them;
   Q1-Q5 bring them to the same treatment as the cahier components (same in the four page.css: proposed as one shared
   block in the report). The quiz and the checklist form are the tool's own interface: not restyled. */

/* Q1: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q2: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q3: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q4: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q5: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q6: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */

/* ===== pages/creer-mon-entreprise__quel-statut-juridique__restaurant/page.css ===== */
/* /creer-mon-entreprise/quel-statut-juridique/restaurant/ (page id 28630): page-only fixes, batch 2 (05/11/2026). Shared rules: commun/polish-base.css, commun/polish-hero-hh.css.
   The four « Quel statut pour … » pages (boulangerie, e-commerce, freelance, restaurant) keep older « actav-* » blocks inside
   « .axt-libre » wrappers (editorial grid, issue cards, callouts, cost table, quiz). The shared rules do not reach them;
   Q1-Q5 bring them to the same treatment as the cahier components (same in the four page.css: proposed as one shared
   block in the report). The quiz and the checklist form are the tool's own interface: not restyled. */

/* Q1: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q2: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q3: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q4: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q5: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q6: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */

/* ===== pages/creer-une-eurl/page.css ===== */
/* /creer-une-eurl/ (page id 28758): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* T1. Phone tables (390): « Aspect » table (#fiscalite-regime-social) ran 38 px past the screen edge (longest word « rémunération/dividendes »); a whole word cannot shrink further (check: cut table; Taste: side-scroll).
   Only for this table: each row opens on its first cell across the full width and the two values sit under the two
   column heads, as the 4-column tables of the family (polish-hero-hh.css B9). Same cells, same order. */
@media (max-width: 700px) {
  html body.page-id-28758 #fiscalite-regime-social .axm-table :is(table, thead, tbody) { display: block !important; }
  html body.page-id-28758 #fiscalite-regime-social .axm-table tr { display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); } /* « rémunération/dividendes » (one 171 px word) fits the IS column */
  html body.page-id-28758 #fiscalite-regime-social .axm-table tr > :first-child { grid-column: 1 / -1; }
  html body.page-id-28758 #fiscalite-regime-social .axm-table thead tr { background: var(--ax-gris-bg); border-radius: 10px; }
  html body.page-id-28758 #fiscalite-regime-social .axm-table th { background: transparent !important; border-radius: 0 !important; padding: 10px 10px !important; }
  html body.page-id-28758 #fiscalite-regime-social .axm-table thead th:first-child { padding-bottom: 0 !important; }
  html body.page-id-28758 #fiscalite-regime-social .axm-table tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body.page-id-28758 #fiscalite-regime-social .axm-table td { border-top: 0 !important; padding: 6px 10px 14px !important; }
  html body.page-id-28758 #fiscalite-regime-social .axm-table td:first-child { padding: 14px 10px 0 !important; }
}

/* ===== pages/creer-une-sas/page.css ===== */
/* /creer-une-sas/ (page id 28591): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* S1. « Avantages / Inconvénients » (section #avantages), all widths: every item carried two marks, the drawn
   tick or cross of the cahier AND a tick or cross character (U+2713 / U+2717) typed at the start of the text (Taste: emoji; seen as a
   doubled bullet). The typed glyph is visually removed (first letter at size 0); the drawn mark stays and the
   words are unchanged. Owner item: delete the typed glyphs from the text (then this rule can go). */
html body.page-id-28591 #avantages .axm-proscons li::first-letter { font-size: 0; }
html body.page-id-28591 #avantages .axm-proscons li { text-indent: -.27em; } /* the space after the hidden glyph */

/* ===== pages/creer-une-sasu/page.css ===== */
/* /creer-une-sasu/ (page id 28742): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* T1. Phone tables (390): « Critère / SASU / EURL » (#sasu-vs-eurl) ran 29 px past the screen edge (longest word « d'enregistrement »); a whole word cannot shrink further (check: cut table; Taste: side-scroll).
   Only for this table: each row opens on its first cell across the full width and the two values sit under the two
   column heads, as the 4-column tables of the family (polish-hero-hh.css B9). Same cells, same order. */
@media (max-width: 700px) {
  html body.page-id-28742 #sasu-vs-eurl .axm-table :is(table, thead, tbody) { display: block !important; }
  html body.page-id-28742 #sasu-vs-eurl .axm-table tr { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.page-id-28742 #sasu-vs-eurl .axm-table tr > :first-child { grid-column: 1 / -1; }
  html body.page-id-28742 #sasu-vs-eurl .axm-table thead tr { background: var(--ax-gris-bg); border-radius: 10px; }
  html body.page-id-28742 #sasu-vs-eurl .axm-table th { background: transparent !important; border-radius: 0 !important; padding: 10px 10px !important; }
  html body.page-id-28742 #sasu-vs-eurl .axm-table thead th:first-child { padding-bottom: 0 !important; }
  html body.page-id-28742 #sasu-vs-eurl .axm-table tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body.page-id-28742 #sasu-vs-eurl .axm-table td { border-top: 0 !important; padding: 6px 10px 14px !important; }
  html body.page-id-28742 #sasu-vs-eurl .axm-table td:first-child { padding: 14px 10px 0 !important; }
}

/* ===== pages/creer-une-sci/page.css ===== */
/* /creer-une-sci/ (page id 28760): page-only fixes. Family rules live in commun/polish-hero-hh.css. */

/* T1. Phone tables (390): « Critère » table (#sci-familiale-patrimoniale) ran 7 px past the screen edge (longest word « Démembrement »); « Clause » table (#statuts-sci-clauses) ran 4 px past the screen edge (longest word « usufruit/nue-propriété »); a whole word cannot shrink further (check: cut table; Taste: side-scroll).
   Only for this table: each row opens on its first cell across the full width and the two values sit under the two
   column heads, as the 4-column tables of the family (polish-hero-hh.css B9). Same cells, same order. */
@media (max-width: 700px) {
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table :is(table, thead, tbody) { display: block !important; }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table tr { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table tr > :first-child { grid-column: 1 / -1; }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table thead tr { background: var(--ax-gris-bg); border-radius: 10px; }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table th { background: transparent !important; border-radius: 0 !important; padding: 10px 10px !important; }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table thead th:first-child { padding-bottom: 0 !important; }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table td { border-top: 0 !important; padding: 6px 10px 14px !important; }
  html body.page-id-28760 #sci-familiale-patrimoniale .axm-table td:first-child { padding: 14px 10px 0 !important; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table :is(table, thead, tbody) { display: block !important; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table tr { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body.page-id-28760 #statuts-sci-clauses .axm-table tr > :first-child { grid-column: 1 / -1; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table thead tr { background: var(--ax-gris-bg); border-radius: 10px; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table th { background: transparent !important; border-radius: 0 !important; padding: 10px 10px !important; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table thead th:first-child { padding-bottom: 0 !important; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table tbody tr + tr { border-top: 1px solid var(--ax-bord); }
  html body.page-id-28760 #statuts-sci-clauses .axm-table td { border-top: 0 !important; padding: 6px 10px 14px !important; }
  html body.page-id-28760 #statuts-sci-clauses .axm-table td:first-child { padding: 14px 10px 0 !important; }
}

/* ===== pages/creer-une-sci-en-ligne-gratuitement/page.css ===== */
/* /creer-une-sci-en-ligne-gratuitement/ (page id 39180): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* G1: moved to polish-base P34 (merge lot 2, 05/11/2026). */
/* G2: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/creer-une-sci-familiale/page.css ===== */
/* /creer-une-sci-familiale/ (page id 38975): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* F1. Two sections hold only their label (live markup; owner item): #inconvenients « LIMITES » and #holding
   « COMPARATIF » have no title and no text, so each label floated alone between two sections, followed by a
   96 px gap and the next section's own label (all widths). A section with nothing but its label is not drawn;
   the rule stops matching as soon as the section gets its content back. The sommaire entries 4 and 7 still point
   at these anchors (owner item). */
html body.page-id-38975 .axm-section:not(:has(> :not(.axm-eyebrow))) { display: none !important; }

/* ===== pages/domiciliation-sas/page.css ===== */
/* /domiciliation-sas/ (page id 40670): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* D1: moved to polish-base P34 (merge lot 2, 05/11/2026). */
/* D2: moved to polish-base P35 (merge lot 2, 05/11/2026). */
/* D3: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/femme-de-menage-auto-entrepreneur/page.css ===== */
/* /femme-de-menage-auto-entrepreneur/ (page id 51203): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* E1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* E2: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/frais-de-notaire-garage/page.css ===== */
/* /frais-de-notaire-garage/ (page id 51236): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* A1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* A2: moved to polish-base P27 (merge lot 2, 05/11/2026). */

/* ===== pages/frais-de-notaire-parking/page.css ===== */
/* /frais-de-notaire-parking/ (page id 51239): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* K1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/hypotheque-ou-caution/page.css ===== */
/* /hypotheque-ou-caution/ (page id 51155): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* H1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/jardinier-auto-entrepreneur/page.css ===== */
/* /jardinier-auto-entrepreneur/ (page id 51206): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* J1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* J2: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/leasing-auto-entrepreneur/page.css ===== */
/* /leasing-auto-entrepreneur/ (page id 51209): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* L1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* L2: moved to polish-base P35 (merge lot 2, 05/11/2026). */
/* L3: moved to polish-base P27 (merge lot 2, 05/11/2026). */

/* L4 (05/11/2026, live check): the CESU table ran 31px past the phone screen on the live page because the
   <wbr> in corrections.json is not live yet. Lets the long domain name break, this table only, phones only. */
@media (max-width: 700px) {
  html body.page-id-51209 #cesu .axm-table td { overflow-wrap: anywhere; }
}

/* ===== pages/livre-de-recettes-auto-entrepreneur/page.css ===== */
/* /livre-de-recettes-auto-entrepreneur/ (page id 51212): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* R1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* R2: moved to polish-base P35 (merge lot 2, 05/11/2026). */
/* R3: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/lmnp-ou-sci/page.css ===== */
/* /lmnp-ou-sci/ (page id 51308): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* M1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/modele-facture-auto-entrepreneur-gratuit-word/page.css ===== */
/* /modele-facture-auto-entrepreneur-gratuit-word/ (page id 51185): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* W1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* W2: moved to polish-base P27 (merge lot 2, 05/11/2026). */
/* W3: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/pacte-associes-sas/page.css ===== */
/* /pacte-associes-sas/ (page id 40666): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* P1: moved to polish-base P35 (merge lot 2, 05/11/2026). */
/* P2: moved to polish-base P35 (merge lot 2, 05/11/2026). */
/* P3: moved to polish-base P37 (merge lot 2, 05/11/2026). */

/* ===== pages/procuration-bancaire/page.css ===== */
/* /procuration-bancaire/ (page id 51299): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* B1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/quelle-cession-dentreprise-me-concerne/page.css ===== */
/* /quelle-cession-dentreprise-me-concerne/ (page id 28671): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* Q1. Three sections hold only a label (live markup of the conversion; owner item): one holds a lone « ⚠️ », #retenir-1
   and #retenir-2 a lone « À RETENIR » with no text under it. Each floated between 96 px gaps (all widths). A section
   whose only content is such a label is not drawn; the rule stops matching once the text is restored. */
html body.page-id-28671 .axm-section:has(> .axt-libre:only-child > :is(strong, .ahx-retenir-k):only-child) { display: none !important; }

/* Q2. The legacy button pair « Cédez votre entreprise avec un avocat → / Démarrer sur Actav Suite » (.actav-buttons, v11
   CTA layer) sits after the page frame: at 1440 it started at x = 0, at 768 and 390 the buttons touched both screen
   edges. Same frame as the article (144 px gutters at 1440, 24 px on tablets, 16 px on phones), a section's distance below the author box. */
html body.page-id-28671 .actav-buttons { box-sizing: border-box; width: min(1152px, 100% - 32px); margin: 0 auto 64px !important; padding: 0 !important; }
@media (min-width: 701px) and (max-width: 1024px) { html body.page-id-28671 .actav-buttons { width: calc(100% - 48px); } } /* tablet article gutter: 24 px */

/* Q3: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */
/* Q4: moved to polish-hero-hh H12 (merge lot 2, 05/11/2026). */

/* ===== pages/resiliation-contrat-de-prestation-de-service/page.css ===== */
/* /resiliation-contrat-de-prestation-de-service/ (page id 38712): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* S1: moved to polish-hero-hh H11 (merge lot 2, 05/11/2026). */
/* S2: moved to polish-base P37 (merge lot 2, 05/11/2026). */

/* ===== pages/sci-construction-vente/page.css ===== */
/* /sci-construction-vente/ (page id 39206): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* C1: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/statuts-sas/page.css ===== */
/* /statuts-sas/ (page id 40664): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* T1: moved to polish-base P35 (merge lot 2, 05/11/2026). */
/* T2: moved to polish-base P35 (merge lot 2, 05/11/2026). */

/* ===== pages/syndic-professionnel/page.css ===== */
/* /syndic-professionnel/ (page id 50736): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* Y1: moved to polish-base P33 (merge lot 2, 05/11/2026). */

/* ===== pages/vote-electronique-assemblee-generale/page.css ===== */
/* /vote-electronique-assemblee-generale/ (page id 51197): page-only fixes. Family rules: commun/polish-hero-hh.css, commun/polish-base.css.
   Rules marked « shared candidate » are proposed for commun/polish-base.css (see the batch report); remove them
   here once the shared file carries them. */

/* V1: moved to polish-base P33 (merge lot 2, 05/11/2026). */
/* V2: moved to polish-base P35 (merge lot 2, 05/11/2026). */
