/* Palette, identité et photographie de l'accueil ; portée limitée aux documents. */
body.cv-legal-screen { margin: 0; background: #0b0808; color: #f4f1ec; font-family: Georgia, "Times New Roman", serif; }
.cv-legal-screen *, .cv-legal-screen *::before, .cv-legal-screen *::after { box-sizing: border-box; }
.cv-legal-atmosphere { position: fixed; inset: 0; pointer-events: none; z-index: 0; }
.cv-legal-atmosphere img { width: 100%; height: 100%; object-fit: cover; }
.cv-legal-atmosphere picture { display: block; height: 100%; }
.cv-legal-atmosphere::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.65), rgba(11,8,8,.94)); }
.cv-legal-brand, .cv-legal-document, .cv-legal-footer { position: relative; z-index: 1; }
.cv-legal-brand { padding: max(48px, env(safe-area-inset-top)) 24px 36px; text-align: center; }
.cv-legal-brand a { display: inline-block; max-width: 100%; text-decoration: none; }
.cv-legal-brand .cv-home-landing__kicker { display: block; font-family: Arial, sans-serif; }
.cv-legal-brand .cv-home-landing__title { display: block; font-size: clamp(26px, 5vw, 44px); }
.cv-legal-brand .cv-home-landing__logo { width: 104px; height: 104px; }
.cv-legal-document { width: min(840px, calc(100% - 40px)); margin: 0 auto; padding: clamp(24px, 5vw, 56px); background: rgba(11,8,8,.94); border: 1px solid rgba(198,164,90,.24); border-radius: 12px; font-size: 18px; line-height: 1.8; overflow-wrap: anywhere; }
.cv-legal-document h1, .cv-legal-document h2, .cv-legal-document h3 { font-family: Georgia, "Times New Roman", serif; color: #d8c08b; font-weight: 400; }
.cv-legal-document h1 { margin: 0 0 32px; font-size: clamp(29px, 4.5vw, 40px); line-height: 1.25; }
.cv-legal-document h2 { margin: 40px 0 16px; font-size: clamp(23px, 3.2vw, 28px); line-height: 1.35; }
.cv-legal-document h3 { margin: 28px 0 12px; font-size: 21px; line-height: 1.4; }
.cv-legal-document p { margin: 0 0 22px; }
.cv-legal-document ul, .cv-legal-document ol { margin: 0 0 24px; padding-left: 24px; }
.cv-legal-document li { margin: 8px 0; }
.cv-legal-document strong { color: #f2e5cb; }
.cv-legal-document blockquote { margin: 0 0 28px; padding: 16px 20px; border-left: 3px solid #8b1e32; background: rgba(125,13,38,.16); color: #f2e5cb; font-size: inherit; font-style: normal; }
.cv-legal-document blockquote p:last-child { margin-bottom: 0; }
.cv-legal-screen a, .cv-legal-screen a:visited { color: #d8c08b; }
.cv-legal-screen a:hover, .cv-legal-screen a:active { color: #fff0cf; }
.cv-legal-screen a:focus-visible { color: #fff0cf; outline: 2px solid #a52434; outline-offset: 5px; }
.cv-legal-document a, .cv-legal-footer a { text-decoration: underline; text-underline-offset: 4px; }
.cv-legal-footer { padding: 30px 20px max(30px, env(safe-area-inset-bottom)); text-align: center; font-size: 14px; }
.cv-legal-footer p { margin: 12px 0 0; color: #d8cbc3; }
@media (max-width: 600px) {
    .cv-legal-brand { padding-top: max(30px, env(safe-area-inset-top)); }
    .cv-legal-document { width: calc(100% - 24px); padding: 24px 20px; font-size: 17px; line-height: 1.75; }
}

.cv-legal-return { display: none; }
.cv-legal-screen:has([data-cv-legal-return]:not([hidden])) .cv-legal-return { display: block; position: relative; z-index: 1; padding: max(16px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left)); font-size: 15px; }
.cv-legal-return a { text-decoration: none; }
.cv-legal-return a:hover { text-decoration: underline; }
