feat(marketing): A-2.7a footer 4-col + comparatif table + conformité 4 pillars

- Replace placeholder _footer.html with full 4-column footer (Brand, Produit,
  Légal, Compte) — added aria-labelledby landmark, sr-only headings, address
  block, tel: link, external-link new-tab announcements, NBSP per OQLF
- Add Comparatif section: DictIA vs MS Teams vs Otter.ai vs Whisper local
  on 6 criteria. Sourced (politiques publiques + grilles officielles 2026-04-27),
  trademark disclaimer, responsive table with sr-only caption + scope attrs
- Add Conformité forteresse section: 4 pillars (OVH Beauharnois, mapped Loi 25
  LPRPSP refs, compatible Cadre IA LGGRI, AGPL v3 verifiable Gitea link)
- Soft hedges throughout: 'mappé', 'conçu avec', 'compatible' (no 'certifié',
  'endossé', 'reconnu' — LPC art. 219 / Competition Act s. 52 hygiene)
- 11 new tests covering footer landmarks, comparatif sourcing, conformité
  hedges, WCAG /70 contrast, and forbidden competitive claim regressions

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Allison
2026-04-27 19:21:39 -04:00
parent 7d67b64ddc
commit 0d69fcd034
4 changed files with 400 additions and 17 deletions

View File

@@ -576,6 +576,9 @@
.mt-8 {
margin-top: calc(var(--spacing) * 8);
}
.mt-10 {
margin-top: calc(var(--spacing) * 10);
}
.mt-12 {
margin-top: calc(var(--spacing) * 12);
}
@@ -963,6 +966,9 @@
.min-w-\[300px\] {
min-width: 300px;
}
.min-w-\[720px\] {
min-width: 720px;
}
.min-w-full {
min-width: 100%;
}
@@ -1279,6 +1285,11 @@
border-color: var(--border-primary);
}
}
.divide-brand-border {
:where(& > :not(:last-child)) {
border-color: #e6ebf2;
}
}
.truncate {
overflow: hidden;
text-overflow: ellipsis;
@@ -1708,6 +1719,9 @@
.bg-blue-600 {
background-color: var(--color-blue-600);
}
.bg-brand-b3\/10 {
background-color: color-mix(in oklab, #00c896 10%, transparent);
}
.bg-brand-bg {
background-color: #f7f9fc;
}
@@ -2123,6 +2137,9 @@
.pt-6 {
padding-top: calc(var(--spacing) * 6);
}
.pt-8 {
padding-top: calc(var(--spacing) * 8);
}
.pt-\[62px\] {
padding-top: 62px;
}
@@ -2518,12 +2535,6 @@
color: color-mix(in oklab, var(--color-white) 50%, transparent);
}
}
.text-white\/60 {
color: color-mix(in srgb, #fff 60%, transparent);
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, var(--color-white) 60%, transparent);
}
}
.text-white\/70 {
color: color-mix(in srgb, #fff 70%, transparent);
@supports (color: color-mix(in lab, red, red)) {
@@ -2569,6 +2580,9 @@
.italic {
font-style: italic;
}
.not-italic {
font-style: normal;
}
.tabular-nums {
--tw-numeric-spacing: tabular-nums;
font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
@@ -3178,6 +3192,13 @@
}
}
}
.hover\:bg-brand-bg\/50 {
&:hover {
@media (hover: hover) {
background-color: color-mix(in oklab, #f7f9fc 50%, transparent);
}
}
}
.hover\:bg-emerald-700 {
&:hover {
@media (hover: hover) {
@@ -4078,6 +4099,11 @@
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
.md\:flex-row {
@media (width >= 48rem) {
flex-direction: row;
}
}
.md\:gap-4 {
@media (width >= 48rem) {
gap: calc(var(--spacing) * 4);