/* Pages légales et institutionnelles. */
@layer pms {
.pms-hero { padding: var(--pms-space-5) 0 var(--pms-space-6); }
.pms-hero__title { font-size: var(--pms-text-3xl); line-height: 1.1; max-width: 18ch; }
@media (min-width: 768px) { .pms-hero__title { font-size: 2.75rem; } }
.pms-hero__text { margin-top: var(--pms-space-3); font-size: var(--pms-text-lg); color: var(--pms-ink-2); max-width: 52ch; }
.pms-home-section { margin-top: var(--pms-space-6); }
.pms-home-section__title { font-size: var(--pms-text-xl); margin-bottom: var(--pms-space-4); }
.pms-faq { display: grid; gap: var(--pms-space-2); }
.pms-faq__item { background: var(--pms-surface); border: 1px solid var(--pms-line); border-radius: var(--pms-radius); }
.pms-faq__q { cursor: pointer; padding: var(--pms-space-4); font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: var(--pms-space-3); }
.pms-faq__q::-webkit-details-marker { display: none; }
.pms-faq__q::after { content: "+"; color: var(--pms-ink-3); font-size: var(--pms-text-lg); line-height: 1; }
.pms-faq__item[open] .pms-faq__q::after { content: "–"; }
.pms-faq__a { padding: 0 var(--pms-space-4) var(--pms-space-4); color: var(--pms-ink-2); }
.pms-table-wrap { overflow-x: auto; margin: var(--pms-space-3) 0; }
.pms-table { width: 100%; border-collapse: collapse; font-size: var(--pms-text-sm); background: var(--pms-surface); border: 1px solid var(--pms-line); border-radius: var(--pms-radius); }
.pms-table th, .pms-table td { text-align: left; vertical-align: top; padding: var(--pms-space-3); border-bottom: 1px solid var(--pms-line); }
.pms-table th { color: var(--pms-ink-2); font-weight: 700; }
@media (max-width: 599px) {
	.pms-table thead { display: none; }
	.pms-table tr { display: block; padding: var(--pms-space-3); border-bottom: 1px solid var(--pms-line); }
	.pms-table td { display: block; padding: 2px 0; border: 0; }
	.pms-table td:first-child { font-weight: 700; }
}
.pms-contact { display: grid; gap: var(--pms-space-6); }
@media (min-width: 900px) { .pms-contact { grid-template-columns: 280px minmax(0, 1fr); } }
}
