.g-masque { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vt [hidden] { display: none !important; }

:is(.g-heros, .g-tete) .p-fil { margin-bottom: 14px; }
@media (max-width: 600px) { .g-tete .p-fil li:nth-child(n+3):last-child { display: none; } }

.g-lecture { position: fixed; z-index: 96; inset: 0 0 auto; height: 2px; pointer-events: none; }
.g-lecture i { display: block; height: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, #5b6169, #e8eaed 70%, #ffffff); box-shadow: 0 0 10px #ffffff66; }

.g-mono { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--dn-argent-massif); color: var(--dn-charbon); font: 600 14px/1 var(--dn-titre); letter-spacing: -0.03em; box-shadow: inset 0 1px 0 #fff, inset 0 -2px 4px #0006, 0 0 0 1px #000, 0 10px 22px -10px #000; }
.g-mono--grand { width: 64px; height: 64px; font-size: 19px; }

.g-couv { position: relative; display: block; overflow: hidden; isolation: isolate; aspect-ratio: 16 / 10; border-radius: var(--dn-r-4, 24px); background-color: #0c0e11; box-shadow: inset 0 0 0 1px #ffffff17; }
.g-couv > i { position: absolute; inset: 0; pointer-events: none; }
.g-couv > i:last-child { background: linear-gradient(115deg, transparent 34%, #ffffff1f 47%, #ffffff08 53%, transparent 62%); translate: -18% 0; transition: translate 1.1s var(--dn-levee); }
.g-couv--brosse { background:
  repeating-linear-gradient(calc(90deg + var(--gr)), #ffffff0a 0 1px, #00000012 1px 2px, transparent 2px 4px),
  linear-gradient(calc(168deg + var(--gr) * 1.7), #0e1013 0%, #262a30 calc(var(--gy) - 24%), #8d949c calc(var(--gy) - 7%), #e4e7ea var(--gy), #767c84 calc(var(--gy) + 6%), #1f2328 calc(var(--gy) + 28%), #0c0e11 100%); }
.g-couv--brosse > i:first-child { background: radial-gradient(42% 60% at var(--gx) var(--gy), #ffffff8c, transparent 70%); mix-blend-mode: soft-light; }
.g-couv--trame { background:
  repeating-linear-gradient(45deg, #ffffff12 0 1.5px, transparent 1.5px 10px),
  repeating-linear-gradient(-45deg, #ffffff0c 0 1.5px, transparent 1.5px 10px),
  radial-gradient(70% 90% at var(--gx) var(--gy), #6f767e 0%, #262a30 46%, #0c0e11 100%); }
.g-couv--trame > i:first-child { background: radial-gradient(30% 40% at var(--gx) var(--gy), #ffffffa6, transparent 70%); mix-blend-mode: overlay; }
.g-couv--courbes { background:
  repeating-radial-gradient(circle at var(--gx) var(--gy), transparent 0 13px, #ffffff24 13px 14px, transparent 14px 15px),
  radial-gradient(80% 80% at var(--gx) var(--gy), #3b4047 0%, #15181c 55%, #0b0c0e 100%); }
.g-couv--courbes > i:first-child { background: radial-gradient(18% 24% at var(--gx) var(--gy), #ffffffd9, #c9ced480 30%, transparent 70%); }
.g-couv--coulee { background:
  radial-gradient(38% 46% at var(--gx) var(--gy), #ffffff 0%, #d5d9de 18%, #6c737b 40%, transparent 62%),
  radial-gradient(46% 40% at calc(100% - var(--gx)) calc(100% - var(--gy)), #e8eaed 0%, #8d939a 24%, #2a2e33 52%, transparent 70%),
  radial-gradient(120% 90% at 50% 120%, #3b4047, #0b0c0e 70%); filter: contrast(1.08); }
.g-couv--coulee > i:first-child { background: conic-gradient(from var(--gr) at var(--gx) var(--gy), transparent 0 20%, #ffffff33 28%, transparent 36% 70%, #ffffff1f 78%, transparent 86%); mix-blend-mode: screen; }
.g-couv--grille { background:
  linear-gradient(#ffffff14 1px, transparent 1px) 0 0 / 22px 22px,
  linear-gradient(90deg, #ffffff14 1px, transparent 1px) 0 0 / 22px 22px,
  radial-gradient(60% 70% at var(--gx) var(--gy), #4a5058 0%, #16181c 60%, #0b0c0e 100%); }
.g-couv--grille > i:first-child { background: radial-gradient(circle at var(--gx) var(--gy), #ffffffcc 0 2px, #ffffff33 3px, transparent 30%), radial-gradient(70% 60% at var(--gx) var(--gy), transparent 40%, #0b0c0e 100%); }

.g-cartes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); margin-top: clamp(28px, 4vw, 44px); }
.g-carte-lien { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--dn-r-4, 24px); background: var(--dn-surface); border: 1px solid #ffffff14; color: inherit; text-decoration: none; transition: border-color var(--dn-t-2, .25s) ease, translate .5s var(--dn-levee), box-shadow .5s var(--dn-levee); }
.g-carte-lien:hover { border-color: #ffffff38; translate: 0 -3px; box-shadow: 0 30px 50px -30px #000; }
.g-carte-lien:hover .g-couv > i:last-child, .g-une-lien:hover .g-couv > i:last-child { translate: 22% 0; }
.g-carte-lien:focus-visible, .g-une-lien:focus-visible, .g-gratuit-carte:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 3px; }
.g-carte .g-couv { border-radius: 0; aspect-ratio: 16 / 8; box-shadow: none; }
.g-carte-texte { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 22px; }
.g-carte-cat { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font: 700 12px/1.2 var(--dn-texte); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dn-argent-3); }
.g-carte-cat b { color: var(--dn-argent-1); font-family: var(--dn-titre); letter-spacing: 0; }
.g-carte-titre { margin: 0; font: 600 clamp(18px, 1.5vw, 21px)/1.2 var(--dn-titre); letter-spacing: -0.03em; color: var(--dn-argent-1); text-wrap: balance; }
.g-carte-dit { font-size: 15px; line-height: 1.55; color: var(--dn-argent-3); text-wrap: pretty; }
.g-carte-meta { margin-top: auto; padding-top: 6px; font-size: 13px; color: var(--dn-argent-3); }
.g-neuf { display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: var(--dn-r-rond, 999px); background: var(--dn-argent-massif); color: var(--dn-charbon); font: 800 12px/1 var(--dn-texte); letter-spacing: 0.06em; text-transform: uppercase; }
@media (max-width: 1040px) { .g-cartes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .g-cartes { grid-template-columns: minmax(0, 1fr); } }

.g-heros { padding-block: clamp(112px, 12vw, 176px) clamp(40px, 5vw, 72px); }
.g-heros-titre { margin-top: 16px; max-width: 13ch; }
.g-heros-titre.mg-col { max-width: none; }
.g-heros .v-lede { margin-top: 24px; max-width: 52ch; }
.g-heros-signe { display: flex; align-items: center; gap: 14px; margin: 28px 0 0; font-size: 14px; color: var(--dn-argent-3); }
.g-heros-signe b { color: var(--dn-argent-1); }
.g-outils { margin-top: clamp(32px, 4vw, 48px); }
.g-cherche { max-width: 640px; }
.g-cherche-boite { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 0 20px; border-radius: var(--dn-r-rond, 999px); background: #08090b; border: 1px solid #ffffff26; box-shadow: inset 0 2px 8px #000, 0 0 0 6px #ffffff06; color: var(--dn-argent-2); transition: border-color var(--dn-t-2, .25s) ease, box-shadow var(--dn-t-2, .25s) ease; }
.g-cherche-boite:focus-within { border-color: var(--dn-bleui-1); box-shadow: inset 0 2px 8px #000, 0 0 0 6px var(--dn-bleui-lueur, #7f98bf33); }
.g-cherche-boite svg { flex: none; }
.g-cherche-boite input { flex: 1; min-width: 0; min-height: 56px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--dn-blanc); font: 500 16px/1.2 var(--dn-texte); outline: none; }
.g-cherche-boite input::placeholder { color: var(--dn-argent-3); opacity: 1; }
.g-cherche-boite input::-webkit-search-cancel-button { filter: invert(1) grayscale(1); }
.g-cherche-dit { min-height: 1.5em; margin: 12px 0 0 20px; font-size: 14px; color: var(--dn-argent-3); }
.g-rubriques ul { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.g-rubriques a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: var(--dn-r-rond, 999px); background: var(--dn-satin-fond); border: 1px solid #ffffff1a; color: var(--dn-argent-2); font: 700 14px/1 var(--dn-texte); text-decoration: none; transition: border-color var(--dn-t-2, .25s) ease, color var(--dn-t-2, .25s) ease; }
.g-rubriques a:hover { border-color: #ffffff3d; color: var(--dn-blanc); }
.g-rubriques a:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; }

.g-une-tete .v-texte { margin-top: 18px; }
.g-une-grille { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 16px; margin-top: clamp(28px, 4vw, 44px); }
.g-une-grande { grid-row: 1 / span 3; }
.g-une-lien { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--dn-r-4, 24px); background: var(--dn-surface); border: 1px solid #ffffff17; color: inherit; text-decoration: none; transition: border-color var(--dn-t-2, .25s) ease, translate .5s var(--dn-levee); }
.g-une-lien:hover { border-color: #ffffff3d; translate: 0 -3px; }
.g-une-grande .g-couv { border-radius: 0; aspect-ratio: auto; flex: 1; min-height: 240px; box-shadow: none; }
.g-une-texte { display: flex; flex-direction: column; gap: 12px; padding: clamp(20px, 2.4vw, 32px); }
.g-etape { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; font: 700 12px/1.3 var(--dn-texte); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dn-argent-2); }
.g-etape b { font: 600 13px/1 var(--dn-titre); letter-spacing: 0; color: var(--dn-blanc); }
.g-etape-f { font-weight: 600; letter-spacing: 0.02em; text-transform: none; color: var(--dn-argent-3); }
.g-une-titre { margin: 0; font: 600 clamp(19px, 1.7vw, 23px)/1.15 var(--dn-titre); letter-spacing: -0.035em; color: var(--dn-argent-1); text-wrap: balance; }
.g-une-grande .g-une-titre { font-size: clamp(26px, 2.8vw, 40px); line-height: 1.05; }
.g-une-dit { font-size: 15px; line-height: 1.55; color: var(--dn-argent-3); text-wrap: pretty; }
.g-une-grande .g-une-dit { font-size: 17px; color: var(--dn-argent-2); max-width: 52ch; }
.g-une-lire { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; min-height: 44px; margin-top: 6px; padding: 0 20px; border-radius: var(--dn-r-rond, 999px); background: var(--dn-acier-brosse); color: var(--dn-charbon); font: 700 14px/1 var(--dn-texte); box-shadow: var(--dn-acier-ombre); }
.g-une-petite .g-une-lien { display: grid; grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1fr); }
.g-une-petite .g-couv { border-radius: 0; aspect-ratio: auto; height: 100%; min-height: 150px; box-shadow: none; }
.g-une-petite .g-une-texte { gap: 8px; padding: 18px 20px; }
.g-une-petite .g-carte-meta { padding-top: 2px; }

.g-rubrique { border-top: 1px solid #ffffff0f; }
.g-rubrique-tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 32px; }
.g-rubrique-titre { display: flex; align-items: baseline; gap: 14px; margin: 0; font: 600 clamp(28px, 3.4vw, 44px)/1.02 var(--dn-titre); letter-spacing: -0.045em; color: var(--dn-argent-1); }
.g-rubrique-titre small { font: 600 clamp(14px, 1.2vw, 16px)/1 var(--dn-titre); letter-spacing: 0; color: var(--dn-argent-3); }
.g-rubrique-tete .v-texte { max-width: 46ch; }

.g-vide { padding-block: clamp(48px, 6vw, 80px); text-align: center; }
.g-vide-titre { margin: 0; font: 600 clamp(22px, 2.4vw, 30px)/1.15 var(--dn-titre); letter-spacing: -0.035em; color: var(--dn-argent-1); }
.g-vide .v-texte { margin: 14px auto 0; }
.g-vide .v-texte a { color: var(--dn-argent-1); }
.g-vide .dn-btn { margin-top: 22px; min-height: 44px; }

.g-gratuit-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: clamp(28px, 4vw, 44px); }
.g-gratuit-carte { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px 18px; height: 100%; padding: clamp(20px, 2.4vw, 30px); border-radius: var(--dn-r-4, 24px); background: radial-gradient(120% 140% at 0% 0%, #ffffff10, transparent 55%), var(--dn-surface); border: 1px solid #ffffff17; color: inherit; text-decoration: none; transition: border-color var(--dn-t-2, .25s) ease, translate .5s var(--dn-levee); }
.g-gratuit-carte:hover { border-color: #ffffff3d; translate: 0 -3px; }
.g-gratuit-ic, .g-fonction-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--dn-argent-massif); color: var(--dn-charbon); box-shadow: inset 0 1px 0 #fff, inset 0 -2px 4px #0005, 0 0 0 1px #000, 0 12px 24px -12px #000; grid-row: span 3; }
.g-gratuit-ic svg, .g-fonction-ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.g-gratuit-nom { font: 600 clamp(20px, 2vw, 26px)/1.1 var(--dn-titre); letter-spacing: -0.035em; color: var(--dn-argent-1); }
.g-gratuit-dit { font-size: 15px; line-height: 1.55; color: var(--dn-argent-3); }
.g-gratuit-lien { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font: 700 14px/1 var(--dn-texte); color: var(--dn-argent-1); }
.g-mention { margin: 0; font-size: 13px; line-height: 1.6; color: var(--dn-argent-3); }
.g-mention--index { padding-bottom: clamp(32px, 4vw, 56px); }

@media (max-width: 860px) {
  .g-une-grille { grid-template-columns: minmax(0, 1fr); }
  .g-une-grande { grid-row: auto; }
  .g-une-grande .g-couv { flex: none; min-height: 0; aspect-ratio: 16 / 9; }
  .g-gratuit-grille { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
  .g-une-petite .g-une-lien { grid-template-columns: minmax(0, 1fr); }
  .g-une-petite .g-couv { height: auto; min-height: 0; aspect-ratio: 16 / 7; }
  .g-rubriques ul { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--v-g) * -1); padding: 2px var(--v-g) 6px; scrollbar-width: none; }
  .g-rubriques ul::-webkit-scrollbar { display: none; }
  .g-rubriques li { flex: none; }
}

.g-tete { padding-block: clamp(104px, 11vw, 152px) clamp(28px, 4vw, 48px); }
.g-tete-cadre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.58fr); gap: clamp(28px, 5vw, 72px); align-items: end; }
.g-cat { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.g-cat a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -15px; color: inherit; text-decoration: none; }
.g-cat a:hover { color: var(--dn-argent-1); text-decoration: underline; text-underline-offset: 4px; }
.g-titre { margin: 14px 0 0; font: 600 clamp(34px, 4.8vw, 66px)/1.02 var(--dn-titre); letter-spacing: -0.05em; text-wrap: balance; }
.g-titre > span { display: block; padding-bottom: 0.04em; }
.g-titre > .v-plaque { padding-bottom: 0.24em; margin-bottom: -0.2em; }
.g-chapeau { margin: 22px 0 0; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: var(--dn-argent-2); max-width: 54ch; text-wrap: pretty; }
.g-signe { display: flex; align-items: center; gap: 14px; margin-top: 28px; }
.g-signe-texte { display: grid; gap: 4px; margin: 0; }
.g-signe-nom { font-size: 15px; font-weight: 700; color: var(--dn-argent-1); }
.g-signe-meta { font-size: 13px; line-height: 1.45; color: var(--dn-argent-3); }
.g-tete .g-couv--grande { aspect-ratio: 4 / 3.4; }
@media screen and (max-width: 699px) {
  .g-tete::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: min(100%, 680px); pointer-events: none;
    background: radial-gradient(135% 54% at 32% 36%, #070809e6 0%, #070809cc 48%, #07080900 88%); }
}

.g-grille { display: grid; grid-template-columns: minmax(0, 1fr); padding-bottom: clamp(56px, 7vw, 104px); }
.g-reponse { position: relative; padding: clamp(20px, 2.4vw, 28px); border-radius: var(--dn-r-4, 24px); border: 1px solid transparent; background: linear-gradient(180deg, #15171b, #0f1114) padding-box, linear-gradient(140deg, #ffffff66, #ffffff12 38%, #ffffff0a 62%, #ffffff40) border-box; box-shadow: 0 30px 60px -40px #000; }
.g-reponse-sur, .g-encadre-sur, .g-fonction-sur, .g-auteur-sur { display: flex; align-items: center; gap: 8px; margin: 0; font: 700 12px/1.2 var(--dn-texte); letter-spacing: 0.12em; text-transform: uppercase; color: var(--dn-argent-3); }
.g-reponse-sur::before { content: ""; width: 14px; height: 8px; border-left: 2px solid var(--dn-argent-1); border-bottom: 2px solid var(--dn-argent-1); rotate: -45deg; translate: 0 -2px; }
.g-reponse > p:last-child { margin: 12px 0 0; font-size: clamp(17px, 1.4vw, 19px); line-height: 1.6; color: var(--dn-argent-1); text-wrap: pretty; }
.g-reponse a { color: inherit; }

.g-sommaire { margin-top: 18px; }
.g-sommaire details { border-radius: var(--dn-r-3, 16px); background: var(--dn-satin-fond); border: 1px solid #ffffff14; }
.g-sommaire summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 0 18px; list-style: none; cursor: pointer; font: 700 15px/1.2 var(--dn-texte); color: var(--dn-argent-1); }
.g-sommaire summary::-webkit-details-marker { display: none; }
.g-sommaire summary small { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--dn-argent-3); }
.g-sommaire summary::after { content: ""; flex: none; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; rotate: 45deg; translate: 0 -3px; transition: rotate var(--dn-t-2, .25s) ease; }
.g-sommaire details[open] summary::after { rotate: 225deg; translate: 0 2px; }
.g-sommaire summary:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 2px; border-radius: var(--dn-r-3, 16px); }
.g-sommaire ol { display: grid; gap: 2px; margin: 0; padding: 0 10px 12px; list-style: none; }
.g-sommaire a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 9px 8px; border-radius: 10px; color: var(--dn-argent-3); font-size: 15px; line-height: 1.35; text-decoration: none; transition: color var(--dn-t-2, .25s) ease, background var(--dn-t-2, .25s) ease; }
.g-sommaire a b { flex: none; font: 600 12px/1.6 var(--dn-titre); color: var(--dn-argent-3); }
.g-sommaire a:hover { color: var(--dn-argent-1); background: #ffffff08; }
.g-sommaire a[aria-current="true"] { color: var(--dn-blanc); background: #ffffff0d; }
.g-sommaire a[aria-current="true"] b { color: var(--dn-blanc); }
.g-sommaire a[aria-current="true"] span { text-decoration: underline; text-decoration-color: #ffffff4d; text-underline-offset: 4px; }
.g-sommaire a:focus-visible { outline: 2px solid var(--dn-bleui-1); outline-offset: 0; }

.g-corps { min-width: 0; font-size: 18px; line-height: 1.7; color: var(--dn-argent-2); }
.g-corps > p, .g-corps > .g-liste { max-width: 68ch; }
.g-corps p { margin: 18px 0 0; text-wrap: pretty; }
.g-corps strong { font-weight: 700; color: var(--dn-argent-1); }
.g-corps a:not(.dn-btn) { color: var(--dn-argent-1); text-decoration: underline; text-decoration-color: #ffffff59; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: text-decoration-color var(--dn-t-2, .25s) ease; }
.g-corps a:not(.dn-btn):hover { text-decoration-color: currentColor; }
.g-h2 { max-width: 30ch; margin: clamp(52px, 6vw, 76px) 0 0; font: 600 clamp(24px, 2.5vw, 33px)/1.14 var(--dn-titre); letter-spacing: -0.04em; color: var(--dn-argent-1); text-wrap: balance; scroll-margin-top: 104px; }
.g-h3 { margin: 34px 0 0; font: 700 clamp(18px, 1.5vw, 20px)/1.3 var(--dn-texte); color: var(--dn-argent-1); }
.g-h2 + p, .g-h3 + p { margin-top: 14px; }
.g-liste { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.g-liste > li { position: relative; padding-left: 28px; }
ul.g-liste > li::before { content: ""; position: absolute; left: 6px; top: 0.66em; width: 7px; height: 7px; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff, #a5acb4 45%, #3a3f45); box-shadow: 0 0 0 3px #ffffff0a; }
ol.g-liste { counter-reset: g; }
ol.g-liste > li { counter-increment: g; padding-left: 40px; }
ol.g-liste > li::before { content: counter(g, decimal-leading-zero); position: absolute; left: 0; top: 0.26em; font: 600 13px/1.4 var(--dn-titre); color: var(--dn-argent-3); }

.g-encadre { max-width: 68ch; margin: 34px 0 0; padding: clamp(18px, 2.2vw, 26px); border-radius: var(--dn-r-3, 16px); background: var(--dn-surface); border: 1px solid #ffffff17; }
.g-encadre > :not(.g-encadre-sur):first-of-type, .g-encadre > .g-encadre-sur + * { margin-top: 12px; }
.g-encadre p, .g-encadre .g-liste { font-size: 17px; }
.g-encadre--retenir { border-color: transparent; background: linear-gradient(180deg, #14161a, #0f1114) padding-box, linear-gradient(135deg, #ffffff59, #ffffff0d 40%, #ffffff0a 70%, #ffffff33) border-box; }
.g-encadre--retenir .g-encadre-sur::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: radial-gradient(circle at 34% 30%, #fff, #a5acb4 45%, #3a3f45); }
.g-encadre--formule { background: repeating-linear-gradient(90deg, #ffffff05 0 1px, transparent 1px 4px), linear-gradient(180deg, #121418, #0c0e11); }
.g-encadre--formule p:first-of-type strong { display: block; font: 600 clamp(16px, 1.5vw, 19px)/1.45 var(--dn-titre); letter-spacing: -0.02em; color: var(--dn-blanc); }
.g-encadre--attention { border-color: color-mix(in srgb, var(--dn-alerte) 38%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--dn-alerte) 7%, var(--dn-surface)), var(--dn-surface)); }
.g-encadre--attention .g-encadre-sur { color: var(--dn-alerte); }
.g-encadre--attention .g-encadre-sur::before { content: "!"; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid currentColor; font-size: 11px; line-height: 1; letter-spacing: 0; }

.g-tableau { max-width: 68ch; margin: 28px 0 0; overflow: hidden; border-radius: var(--dn-r-3, 16px); border: 1px solid #ffffff17; }
.g-tableau table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.g-tableau th, .g-tableau td { padding: 13px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #ffffff12; }
.g-tableau thead th { font: 700 12px/1.25 var(--dn-texte); letter-spacing: 0.08em; text-transform: uppercase; color: var(--dn-argent-3); background: #ffffff08; }
.g-tableau tbody th { font-weight: 600; color: var(--dn-argent-1); }
.g-tableau tbody td { color: var(--dn-argent-2); }
.g-tableau tbody tr:last-child > * { border-bottom: 0; }
.g-tableau tbody tr:last-child { background: #ffffff06; }
@media (max-width: 620px) {
  .g-tableau table, .g-tableau tbody, .g-tableau tr, .g-tableau th, .g-tableau td { display: block; width: auto; }
  .g-tableau thead { display: none; }
  .g-tableau tr { padding: 12px 16px; border-bottom: 1px solid #ffffff12; }
  .g-tableau tbody tr:last-child { border-bottom: 0; }
  .g-tableau th, .g-tableau td { padding: 3px 0; border: 0; }
  .g-tableau td::before { content: attr(data-col) " · "; font-weight: 700; color: var(--dn-argent-3); }
}

.g-fonction { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px 18px; max-width: 68ch; margin: 38px 0 0; padding: clamp(18px, 2.4vw, 26px); border-radius: var(--dn-r-4, 24px); background: radial-gradient(120% 160% at 0% 0%, #ffffff14, transparent 55%), var(--dn-surface); border: 1px solid #ffffff21; box-shadow: 0 30px 60px -40px #000; }
.g-fonction-ic { grid-row: span 2; }
.g-fonction-texte p { margin: 0; font-size: 16px; line-height: 1.6; }
.g-fonction-texte .g-fonction-nom { margin-top: 6px; font: 600 21px/1.15 var(--dn-titre); letter-spacing: -0.035em; color: var(--dn-argent-1); }
.g-fonction-texte .g-fonction-nom + p { margin-top: 8px; }
.g-corps .g-fonction-lien.dn-btn { grid-column: 2; justify-self: start; min-height: 46px; text-decoration: none; }
@media (max-width: 520px) {
  .g-fonction { grid-template-columns: minmax(0, 1fr); }
  .g-fonction-ic { grid-row: auto; width: 46px; height: 46px; }
  .g-corps .g-fonction-lien.dn-btn { grid-column: 1; }
}

.g-faq { margin-top: 22px; max-width: 68ch; }
.g-corps .g-faq details > p { margin: 0; font-size: 16px; }
.g-sources { display: grid; gap: 8px; max-width: 68ch; margin: 18px 0 0; padding-left: 22px; font-size: 15px; line-height: 1.55; color: var(--dn-argent-3); }
.g-sources li::marker { color: var(--dn-argent-3); font-family: var(--dn-titre); font-size: 13px; }
.g-auteur { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; max-width: 68ch; margin-top: clamp(48px, 6vw, 72px); padding: clamp(20px, 2.4vw, 28px); border-radius: var(--dn-r-4, 24px); background: var(--dn-surface); border: 1px solid #ffffff14; }
.g-auteur p { margin: 0; font-size: 16px; line-height: 1.6; }
.g-auteur .g-auteur-nom { margin-top: 6px; font: 600 19px/1.2 var(--dn-titre); letter-spacing: -0.03em; color: var(--dn-argent-1); }
.g-auteur .g-auteur-nom + p { margin-top: 8px; }
.g-auteur p:last-child { margin-top: 10px; }
.g-corps .g-mention { max-width: 68ch; margin-top: 22px; }

.g-suite { border-top: 1px solid #ffffff0f; }
.g-suite-tete { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 16px 32px; }
.g-suite-tete .v-sur { grid-column: 1 / -1; }
.g-suite-h2 { font-size: clamp(30px, 4vw, 56px); }
.g-suite-tous.dn-btn { min-height: 46px; }

@media (min-width: 1100px) {
  .g-grille { grid-template-columns: 236px minmax(0, 720px); column-gap: clamp(48px, 5vw, 88px); justify-content: center; }
  .g-reponse { grid-column: 2; grid-row: 1; }
  .g-sommaire { grid-column: 1; grid-row: 1 / span 2; position: sticky; top: calc(var(--v-nav-h, 60px) + 36px); align-self: start; margin-top: 0; max-height: calc(100vh - var(--v-nav-h, 60px) - 72px); overflow: auto; scrollbar-width: thin; }
  .g-sommaire details { background: none; border: 0; }
  .g-sommaire summary { min-height: 44px; padding: 0 8px; font: 700 12px/1.2 var(--dn-texte); letter-spacing: 0.12em; text-transform: uppercase; color: var(--dn-argent-3); }
  .g-sommaire summary small, .g-sommaire summary::after { display: none; }
  .g-sommaire summary { cursor: default; }
  .g-sommaire ol { padding: 0 0 12px; }
  .g-sommaire a { font-size: 14px; padding: 8px; }
  .g-corps { grid-column: 2; grid-row: 2; }
  .g-reponse + .g-sommaire + .g-corps > :first-child { margin-top: 44px; }
}
@media (max-width: 900px) {
  .g-tete-cadre { grid-template-columns: minmax(0, 1fr); }
  .g-tete .g-couv--grande { aspect-ratio: 16 / 7; }
}
@media (max-width: 640px) {
  .g-corps { font-size: 17px; }
  .g-suite-tete { grid-template-columns: minmax(0, 1fr); }
  .g-suite-tous.dn-btn { justify-self: start; }
  .g-auteur { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .g-carte-lien, .g-une-lien, .g-gratuit-carte, .g-couv > i:last-child, .g-sommaire a { transition: none !important; }
  .g-carte-lien:hover, .g-une-lien:hover, .g-gratuit-carte:hover { translate: none; }
}

.a-pied-col a[aria-current="true"] { color: var(--dn-blanc); }
.a-pied-col a[aria-current="true"]::before { width: 12px; margin-right: 9px; }
