/* DTL Flight : pages annexes (refonte 03/11/2026, version epuree).
   Logique des pages legales Apple : grand titre, « L'essentiel » en tete, puis sections en deux colonnes
   (titre a gauche, contenu a droite), chaque section dans une carte blanche comme les blocs du site.
   Barre du haut et pied de page identiques au site. Pages passees sur cette feuille : mentions legales, confidentialite. */
:root {
  --paper: #f7f3ee; --card: #fffdfa; --panel: #efe9e1; --ink: #141414; --ink-2: #3d3a35; --mute: #6f6a62; --line: #e2d9cc; --line-2: #d6ccbc;
  --brand: #C19A59; --gold: #8f6b2e;
  --or-contraste: #85642b; /* petits textes dores sur fonds clairs : AA (>= 4,5) sur --card, --paper et --panel ; --gold reste la couleur doree du site */
  --night: #1e2023; --on-night: #f2eee7; --on-night-mute: #a9a49b;
  --fh: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --fb: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --wrap: 1080px; --gl: max(20px, env(safe-area-inset-left, 0px)); --gr: max(20px, env(safe-area-inset-right, 0px));
  --ease: cubic-bezier(.2, .7, .1, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; scroll-behavior: smooth; }
body.annexe2 {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column; overflow-x: clip;
  background: var(--paper); color: var(--ink-2);
  font-family: var(--fb); font-size: 16.5px; line-height: 1.65; -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p, ul, dl, dd { margin: 0; }
h1, h2, h3 { font-family: var(--fh); color: var(--ink); text-wrap: balance; }
a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px; text-decoration-thickness: 1px; transition: text-decoration-color .2s; }
a:hover { text-decoration-color: var(--brand); }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 3px; border-radius: 4px; }
.wrap { width: 100%; max-width: calc(var(--wrap) + 40px); margin: 0 auto; padding-left: var(--gl); padding-right: var(--gr); }
.lien-evitement { position: absolute; left: 16px; top: -60px; z-index: 60; padding: 10px 14px; border-radius: 10px; background: var(--ink); color: var(--paper); text-decoration: none; }
.lien-evitement:focus { top: 12px; }
/* 05/11/2026 : la zone principale commence sous la barre collante ; sans marge, le lien d'evitement la faisait defiler
   SOUS la barre (Chromium, 69 px masques). tabindex="-1" sur <main> : le focus y arrive vraiment, sans contour. */
main#contenu { scroll-margin-top: 90px; }
main#contenu:focus { outline: none; }

/* Barre du haut : identique au site */
.nav { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 50; background: rgba(247,243,238,.82); -webkit-backdrop-filter: saturate(160%) blur(16px); backdrop-filter: saturate(160%) blur(16px); border-bottom: 1px solid transparent; transition: border-color .3s; }
.nav.scrolled { border-bottom-color: var(--line); }
.nav .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 68px; }
.nav-logo { border-radius: 6px; }
.nav-logo img { height: 40px; width: auto; }
.nav-droite { display: flex; align-items: center; gap: 26px; }
.nav-retour { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 600 12.5px var(--fh); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-2); text-decoration: none; }
.nav-retour svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s var(--ease); }
.nav-retour:hover { color: var(--ink); }
.nav-retour:hover svg { transform: translateX(-3px); }
.btn-nav { display: inline-flex; align-items: center; justify-content: center; height: 36px; padding: 0 18px; border-radius: 18px; background: var(--ink); color: var(--paper); font: 600 13.5px/1 var(--fb); letter-spacing: .01em; text-decoration: none; white-space: nowrap; transition: background-color .2s ease; }
.btn-nav:hover { background: #3d3a35; }
.btn-nav:active { background: #000; }

/* Halos dores, comme en haut du site */
main { position: relative; isolation: isolate; }
.halos { position: absolute; inset: 0 0 auto; height: 760px; pointer-events: none; z-index: -1; overflow: hidden; }
.halos i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: derive 20s ease-in-out infinite alternate; }
.halos .h1 { width: min(640px, 85vw); aspect-ratio: 1; right: -12%; top: -38%; background: radial-gradient(circle, rgba(193,154,89,.75) 0%, rgba(193,154,89,0) 68%); }
.halos .h2 { width: min(440px, 70vw); aspect-ratio: 1; left: -14%; top: 18%; background: radial-gradient(circle, rgba(216,187,133,.45) 0%, rgba(216,187,133,0) 68%); animation-duration: 26s; animation-delay: -8s; }
@keyframes derive { 0% { transform: translate(0,0) scale(1); } 50% { transform: translate(-4%,5%) scale(1.07); } 100% { transform: translate(4%,-3%) scale(.96); } }

/* Titre */
.label { display: flex; align-items: center; gap: 14px; font: 600 13px/1 var(--fh); letter-spacing: .32em; text-transform: uppercase; color: var(--ink); }
.slash { display: inline-block; flex: none; width: 3px; height: 22px; border-radius: 2px; background: linear-gradient(135deg, #d8bb85, #C19A59 50%, #a5803f); transform: skewX(-22deg); }
.g { color: var(--brand); }
.tete { padding-block: clamp(56px, 8vw, 104px) clamp(34px, 4vw, 52px); }
.tete h1 { margin-top: 22px; font-size: clamp(44px, 7vw, 84px); line-height: .98; font-weight: 800; letter-spacing: -.04em; }
.tete .maj { margin-top: 20px; font-size: 15px; color: var(--mute); }

/* L'essentiel : trois cartes, le contact en carte sombre comme « Un projet ? » */
.essentiel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.carte-e { position: relative; overflow: hidden; isolation: isolate; padding: 26px 26px 28px; border-radius: 24px; background: var(--card); box-shadow: 0 1px 0 var(--line), 0 40px 80px -60px rgba(60,40,10,.5); min-width: 0; transition: transform .45s var(--ease), box-shadow .45s; }
.carte-e:hover { transform: translateY(-3px); box-shadow: 0 1px 0 var(--line), 0 44px 80px -54px rgba(60,40,10,.55); }
.carte-e .q { display: flex; align-items: center; gap: 12px; font: 600 11.5px/1.3 var(--fh); letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.carte-e .q .slash { height: 16px; width: 2.5px; }
.carte-e .r { margin-top: 18px; font: 800 clamp(19px, 1.8vw, 23px)/1.2 var(--fh); color: var(--ink); letter-spacing: -.015em; overflow-wrap: anywhere; }
.carte-e .r a { text-decoration: none; color: inherit; }
.carte-e .d { margin-top: 8px; font-size: 14.5px; color: var(--mute); overflow-wrap: anywhere; }
.carte-e--nuit { background: var(--night); color: var(--on-night); box-shadow: 0 40px 80px -46px rgba(20,14,4,.6); }
.carte-e--nuit::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, #e6c992 30%, var(--brand) 60%, transparent); }
.carte-e--nuit::after { content: ""; position: absolute; z-index: -1; width: 300px; height: 300px; right: -110px; top: -150px; border-radius: 50%; background: radial-gradient(circle, rgba(193,154,89,.45) 0%, rgba(193,154,89,0) 66%); filter: blur(20px); }
.carte-e--nuit .q, .carte-e--nuit .d { color: var(--on-night-mute); }
.carte-e--nuit .r { color: var(--brand); }
.carte-e--nuit .d a { color: var(--on-night); text-decoration-color: rgba(242,238,231,.35); }
.carte-e--nuit .d a:hover { text-decoration-color: var(--brand); }

/* Sections : une carte blanche par section, titre a gauche, contenu a droite */
.sections { display: grid; gap: 16px; padding-block: clamp(36px, 4vw, 52px) clamp(120px, 12vw, 170px); }
.sec { display: grid; grid-template-columns: 260px minmax(0, 1fr); column-gap: clamp(28px, 4vw, 56px); padding: clamp(28px, 3.6vw, 44px); border-radius: 26px; background: var(--card); box-shadow: 0 1px 0 var(--line), 0 40px 80px -60px rgba(60,40,10,.5); scroll-margin-top: 84px; }
.sec h2 { display: flex; align-items: flex-start; gap: 14px; font-size: 21px; line-height: 1.25; font-weight: 800; letter-spacing: -.015em; }
.sec h2 .slash { height: 20px; margin-top: .14em; }
.sec-corps { min-width: 0; max-width: 680px; }
.sec-corps > :first-child { margin-top: 0; }
.sec-corps p, .sec-corps ul { margin-top: 14px; }
.sec-corps ul { padding-left: 0; list-style: none; }
.sec-corps li { position: relative; margin-top: 8px; padding-left: 20px; }
.sec-corps li::before { content: ""; position: absolute; left: 2px; top: .5em; width: 3px; height: 12px; border-radius: 2px; background: linear-gradient(135deg, #d8bb85, #C19A59 50%, #a5803f); transform: skewX(-24deg); }

/* Fiche : libelle / valeur */
.fiche { display: grid; grid-template-columns: 200px minmax(0, 1fr); margin-top: 18px; }
.sec-corps > .fiche:first-child { margin-top: 0; }
.fiche dt, .fiche dd { padding: 11px 0; border-top: 1px solid var(--line); }
.fiche dt { padding-right: 20px; font-size: 14.5px; color: var(--mute); }
.fiche dd { color: var(--ink); overflow-wrap: anywhere; }

/* Information pas encore disponible : jamais une fausse valeur. */
.a-completer { display: inline-block; padding: 1px 10px; border-radius: 12px; background: var(--panel, #efe9e1); color: var(--gold); font-size: .9em; font-style: italic; }


/* Chapeau sous le titre */
.tete .lead { margin-top: 22px; max-width: 62ch; font-size: clamp(17px, 1.6vw, 19px); line-height: 1.6; color: var(--ink-2); }
.carte-e .r--petit { font-size: clamp(16px, 1.4vw, 18px); }

/* Sommaire en carte : numerote, deux colonnes */
.sommaire-carte { margin-top: 16px; padding: 26px clamp(26px, 3.6vw, 44px) 28px; border-radius: 24px; background: var(--card); box-shadow: 0 1px 0 var(--line), 0 40px 80px -60px rgba(60,40,10,.5); animation: monte .9s .44s var(--ease) both; }
.sommaire-carte .q { display: flex; align-items: center; gap: 12px; font: 600 11.5px/1.3 var(--fh); letter-spacing: .22em; text-transform: uppercase; color: var(--mute); }
.sommaire-carte .q .slash { height: 16px; width: 2.5px; }
.sommaire-carte ol { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(var(--lignes, 5), auto); grid-auto-flow: column; column-gap: clamp(24px, 4vw, 56px); }
.sommaire-carte li { border-top: 1px solid var(--line); }
.sommaire-carte a { display: flex; align-items: baseline; gap: 14px; padding: 11px 0; font-size: 15px; font-weight: 500; color: var(--ink); text-decoration: none; transition: color .2s; }
.sommaire-carte a:hover { color: var(--gold); }
.sommaire-carte .n { flex: none; width: 22px; font: 800 italic 13px/1 var(--fh); color: var(--brand); font-variant-numeric: tabular-nums; }

/* Sous-titres dans une section */
.sec-corps h3 { margin-top: 24px; font-size: 16px; line-height: 1.3; font-weight: 700; letter-spacing: -.005em; }
.sec-corps > h3:first-child { margin-top: 0; }
.sec-corps strong { color: var(--ink); font-weight: 700; }

/* Pied de page : identique au site */
.curve { display: block; width: 100%; height: clamp(70px, 9vw, 130px); margin-top: calc(-1 * clamp(70px, 9vw, 130px)); position: relative; z-index: 1; }
.pied { position: relative; margin-top: auto; }
.pied footer { background: var(--night); color: var(--on-night-mute); font-size: 14px; }
.pied footer .wrap { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding-block: 18px 34px; }
.pied footer img { height: 44px; width: auto; }
.pied .tag { font: 600 11.5px var(--fh); letter-spacing: .3em; text-transform: uppercase; color: var(--on-night); }
.pied .legal { display: flex; gap: 18px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.pied .legal a { color: var(--on-night-mute); text-decoration: none; font-size: 13px; }
.pied .legal a:hover { color: var(--on-night); }
.pied .legal a[aria-current="page"] { color: var(--on-night); text-decoration: underline; text-decoration-color: var(--brand); }

/* Animations : sobres, comme le site. Visible par defaut ; le script ne masque que ce qui est sous l'ecran. */
@keyframes monte { from { opacity: 0; transform: translateY(20px); } }
.tete > *, .carte-e { animation: monte .9s var(--ease) both; }
.tete > :nth-child(2) { animation-delay: .07s; } .tete > :nth-child(3) { animation-delay: .14s; }
.carte-e:nth-child(1) { animation-delay: .2s; } .carte-e:nth-child(2) { animation-delay: .28s; } .carte-e:nth-child(3) { animation-delay: .36s; }
.rv { transition: opacity .9s var(--ease), transform .9s var(--ease); }
.rv.pre { opacity: 0; transform: translateY(28px); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } .rv.pre { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .sec { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
  .essentiel { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .sommaire-carte ol { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-flow: row; }
}
@media (max-width: 600px) {
  body.annexe2 { font-size: 16px; }
  .nav .wrap { height: 60px; }
  .nav-logo img { height: 34px; }
  .nav-droite { gap: 10px; }
  .nav-retour span { display: none; }
  .nav-retour { width: 44px; justify-content: center; }
  .sec { padding: 24px 20px; border-radius: 22px; }
  .carte-e { padding: 22px 20px 24px; border-radius: 20px; }
  .sommaire-carte { padding: 22px 20px 20px; border-radius: 20px; }
  .fiche { grid-template-columns: minmax(0, 1fr); }
  .fiche dt { padding: 12px 0 0; font-size: 13.5px; }
  .fiche dd { padding: 2px 0 12px; border-top: 0; }
  .pied footer .wrap { flex-direction: column; align-items: flex-start; }
}
@media print {
  .nav, .curve, .lien-evitement { display: none; }
  body.annexe2 { background: #fff; }
  .sommaire-carte { display: none; }
  .sec, .carte-e { break-inside: avoid; box-shadow: none; border: 1px solid var(--line); }
  .halos { display: none; }
  .pied footer { background: none; color: var(--ink); }
}

/* ===== Version epuree (proposition) ===== */
.sections { display: block; margin-top: clamp(36px, 4vw, 52px); margin-bottom: clamp(120px, 12vw, 170px); padding: 0 clamp(26px, 4vw, 56px); border-radius: 28px; background: var(--card); box-shadow: 0 1px 0 var(--line), 0 40px 80px -60px rgba(60,40,10,.5); }
.sec { padding: clamp(32px, 3.8vw, 48px) 0; border-radius: 0; background: none; box-shadow: none; }
.sec + .sec { border-top: 1px solid var(--line); }
.sec h2 { align-items: baseline; gap: 16px; font-size: 20px; }
/* Numeros des sections (01, 02...) : compteur CSS, jamais ecrits dans la page (titres = intitule juridique seul ;
   lecteurs d'ecran, copie et moteurs ne voient pas de numero). Un compteur par page : remis a zero sur .sections. */
.sections { counter-reset: sec; }
.sections .sec { counter-increment: sec; }
.sec h2::before { content: counter(sec, decimal-leading-zero); flex: none; width: 26px; font: 800 italic 14px/1 var(--fh); color: var(--brand); font-variant-numeric: tabular-nums; }
.sec-corps li { padding-left: 18px; }
.sec-corps li::before { left: 1px; top: .68em; width: 5px; height: 5px; border-radius: 50%; background: var(--line-2); transform: none; }
.carte-e .q .slash { display: none; }
.carte-e .q { gap: 0; }
.sommaire-carte { margin-top: 36px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.sommaire-carte .q .slash { display: none; }
.sommaire-carte ol { margin-top: 12px; }
@media (max-width: 600px) {
  .sections { padding: 0 20px; border-radius: 22px; }
  .sec { padding: 28px 0; }
  .sec h2 { font-size: 19px; }
}

/* CGV : modele de formulaire de retractation et encart en attente */
.sec-corps .formulaire-type { margin-top: 28px; padding: clamp(22px, 3vw, 32px); border-radius: 20px; background: var(--paper); border: 1px solid var(--line); }
.formulaire-type { scroll-margin-top: 90px; } /* ancre #formulaire-retractation : arrive sous la barre du haut, comme les sections */
.formulaire-type > h3:first-of-type { margin-top: 0; }
.formulaire-type .formulaire-type__consigne { margin-top: 8px; font-size: 14.5px; font-style: italic; color: var(--mute); }
.formulaire-type .formulaire-type__champ { margin-top: 0; padding: 16px 0 8px; border-bottom: 1px solid var(--line-2); font-size: 15px; color: var(--ink-2); }
.formulaire-type .formulaire-type__note { margin-top: 14px; font-size: 13.5px; color: var(--mute); }
.sec-corps .encart-a-valider { margin-top: 14px; padding: 14px 18px; border-radius: 14px; background: var(--panel); font-size: 15px; color: var(--ink-2); }
@media (max-width: 600px) { .sec-corps .formulaire-type { padding: 20px 18px; border-radius: 16px; } }
@media print { .formulaire-type { break-inside: avoid; background: none; } }
.formulaire-type p { font-size: 15px; }
.encart-a-valider .a-completer { background: var(--card); }

/* ===== Lisibilite (03/11/2026) : contrastes AA, rythme de lecture, hierarchie ===== */
:root { --ink-2: #2f2c28; --mute: #5c574f; --line-2: #cfc3b0; }
body.annexe2 { font-size: 17px; line-height: 1.72; }
/* Dore lisible : le dore officiel reste pour les grands elements, un dore plus profond pour les petits textes */
.tete h1 .g { background: linear-gradient(100deg, #c9a466 0%, #b8904c 55%, #9c7738 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.tete .maj { font-size: 15px; color: var(--mute); }
.sec h2::before { color: var(--gold); }
.sommaire-carte .n { color: var(--or-contraste); }
/* Etiquettes en capitales : plus lisibles */
.carte-e .q, .sommaire-carte .q { font-size: 12px; letter-spacing: .2em; color: var(--ink-2); }
.carte-e--nuit .q { color: var(--on-night-mute); }
.carte-e .d { font-size: 15px; line-height: 1.55; color: var(--mute); }
.carte-e--nuit .d { color: #c4bfb6; }
/* Sommaire */
.sommaire-carte a { font-size: 15.5px; color: var(--ink); }
/* Sections : titre colle en haut pendant la lecture, texte plus confortable */
.sec { scroll-margin-top: 90px; }
/* Section pas encore apparue (.rv.pre, translateY 28px) : marge augmentee du meme decalage,
   l'arrivee finale reste a 90 px quel que soit le moyen de navigation (clic, adresse, Precedent) */
@media (prefers-reduced-motion: no-preference) {
  .sec.rv.pre, .rv.pre .formulaire-type { scroll-margin-top: calc(90px + 28px); }
}
.sec h2 { font-size: 22px; line-height: 1.25; letter-spacing: -.02em; }
@media (min-width: 901px) { .sec h2 { position: sticky; top: 96px; align-self: start; } }
.sec-corps { max-width: 64ch; color: var(--ink-2); }
.sec-corps p, .sec-corps ul { margin-top: 16px; }
.sec-corps h3 { margin-top: 34px; padding-top: 0; font-size: 17.5px; line-height: 1.35; font-weight: 700; color: var(--ink); letter-spacing: -.01em; }
.sec-corps h3 + p, .sec-corps h3 + ul { margin-top: 10px; }
.sec-corps li { margin-top: 10px; padding-left: 22px; }
.sec-corps li::before { left: 2px; top: .72em; width: 6px; height: 6px; background: var(--brand); }
.sec-corps a { text-decoration-color: rgba(193,154,89,.7); text-decoration-thickness: 1.5px; }
.sec-corps a:hover { text-decoration-color: var(--ink); }
.fiche dt { font-size: 15px; color: var(--mute); }
.fiche dd { color: var(--ink); }
/* Formulaire et encart */
.formulaire-type .formulaire-type__consigne, .formulaire-type .formulaire-type__note { color: var(--mute); }
.formulaire-type .formulaire-type__champ { color: var(--ink); border-bottom-color: var(--line-2); }
.sec-corps .encart-a-valider { color: var(--ink-2); }
.a-completer { color: var(--or-contraste); font-weight: 600; }
/* Pied de page : liens lisibles */
.pied .legal a { font-size: 13.5px; color: #c4bfb6; }
@media (max-width: 600px) {
  body.annexe2 { font-size: 16.5px; line-height: 1.7; }
  .sec h2 { font-size: 20px; }
  .sec-corps h3 { margin-top: 28px; font-size: 17px; }
}
/* Corps de texte un peu plus plein : la Jakarta 400 est fine sur fond clair */
body.annexe2 { font-weight: 450; }
.sec-corps strong { font-weight: 700; }

/* ===== Page 404 ===== */
.e404 { flex: 1; display: flex; align-items: center; text-align: center; padding-block: clamp(84px, 9vw, 110px) clamp(130px, 13vw, 170px); }
.e404 .wrap { display: flex; flex-direction: column; align-items: center; }
.e404-code { margin: 0; font: 800 clamp(140px, 26vw, 300px)/.86 var(--fh); letter-spacing: -.06em; background: linear-gradient(180deg, #d8bb85 0%, #C19A59 45%, rgba(193,154,89,.18) 100%); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; animation: monte 1s var(--ease) both, flotte 7s 1s ease-in-out infinite alternate; user-select: none; }
@keyframes flotte { from { transform: translateY(0); } to { transform: translateY(-10px); } }
.e404 h1 { margin-top: clamp(14px, 2vw, 22px); font-size: clamp(34px, 5vw, 56px); line-height: 1.02; font-weight: 800; letter-spacing: -.035em; animation: monte .9s .12s var(--ease) both; }
.e404 h1 .g { background: linear-gradient(100deg, #c9a466 0%, #b8904c 55%, #9c7738 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.e404-texte { margin-top: 18px; max-width: 34ch; font-size: clamp(17px, 1.6vw, 19px); line-height: 1.6; color: var(--ink-2); animation: monte .9s .2s var(--ease) both; }
.e404-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; animation: monte .9s .28s var(--ease) both; }
.btn-cta { display: inline-flex; align-items: center; justify-content: center; height: 52px; padding: 0 28px; border-radius: 26px; font: 600 15.5px/1 var(--fb); text-decoration: none; white-space: nowrap; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.btn-cta--or { background: var(--brand); color: var(--ink); }
.btn-cta--or:hover { background: #cba76a; } .btn-cta--or:active { background: #b38c4c; }
.btn-cta--ligne { border: 1.5px solid var(--ink); color: var(--ink); background: transparent; }
.btn-cta--ligne:hover { background: var(--ink); color: var(--paper); }
@media (max-width: 520px) { .e404-actions { flex-direction: column; align-self: stretch; } .btn-cta { width: 100%; } }
.page-404 .nav { position: absolute; left: 0; right: 0; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
.page-404 .halos { height: 100%; }
.pied footer { margin-top: -1px; }
