:root {
    --site-main-color: #f8b900;
    --site-secondary: #d04cff;
    --site-accent-dark: #c81fff;
    --site-bg: #0f0314;
    --site-card-bg: #1c0d26;
    --site-gradient-start: #9237c9;
    --site-grad-mid: #531eb4;
    --site-ink: #FFFFFF;
    --site-fg-muted: #bebdbd;
    --site-notice-bg: #dc2626;

    --site-heading-font: 'Poppins', sans-serif;
    --site-font-text: 'Inter', sans-serif;

    --site-type-h1: 56px;
    --site-fs-h2: 38px;
    --site-text-h3: 24px;
    --site-size-h4: 18px;
    --site-type-h5: 15px;
    --site-fs-h6: 13px;
    --site-size-body: 16px;
    --site-type-small: 13px;
    --site-size-xs: 11px;

    --site-line-tight: 1.0;
    --site-leading-normal: 1.4;
    --site-line-loose: 1.6;

    --site-ls-tight: -0.02em;
    --site-ls-normal: 0.02em;
    --site-ls-wide: 0.1em;

    --site-font-normal: 500;
    --site-font-medium: 700;
    --site-font-bold: 900;

    --site-space-2xs: 2px;
    --site-gutter-xs: 6px;
    --site-spacing-sm: 10px;
    --site-gutter-md: 16px;
    --site-gutter-lg: 48px;
    --site-spacing-xl: 80px;
    --site-gap-2xl: 128px;
    --site-gutter-3xl: 200px;
    --site-sec-y: 48px;

    --site-container: 1140px;
    --site-prose-width: 640px;
    --site-inset-mobile: 16px;
    --site-container-padding-tablet: 24px;
    --site-gutter-desktop: 40px;

    --site-bp-sm: 600px;
    --site-bp-md: 900px;
    --site-bp-lg: 1240px;
    --site-bp-xl: 1600px;

    --site-round-xs: 2px 2px 0 0;
    --site-rounded-sm: 6px 6px 0 0;
    --site-radius-md: 12px 12px 0 0;
    --site-round-lg: 20px 20px 0 0;
    --site-radius-pill: 9999px 9999px 0 0;
    --site-circle: 50%;
    --site-shadow-xs: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
    --site-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.06);
    --site-elevation-2: 0 4px 12px rgba(0, 0, 0, 0.10);
    --site-elevation-3: 0 10px 28px rgba(0, 0, 0, 0.14);
    --site-hairline: 1px;
    --site-border-medium: 2px;
    --site-border-thick: 3px;

    --site-speed-fast: 120ms;
    --site-transition-base: 180ms;
    --site-transition-slow: 260ms;
    --site-ease: cubic-bezier(0.3, 0.7, 0.4, 1.0);
    --site-ease-in: cubic-bezier(0.6, 0.0, 0.7, 0.3);
    --site-ease-in-out: cubic-bezier(0.5, 0.0, 0.5, 1.0);
    --site-ease-spring: cubic-bezier(0.5, 0.0, 0.5, 1.0);

    --site-header-height-desktop: 104px;
    --site-nav-h-mobile: 76px;
}

*, *::before, *::after {
    box-sizing: border-box;
}

a {
    color: var(--site-secondary);
    text-underline-offset: 3px;
}

a:hover {
    color: var(--site-accent-dark);
}

body {
    background: var(--site-bg);
    color: var(--site-ink);
    font-family: var(--site-font-text);
    font-size: var(--site-size-body);
    font-weight: var(--site-font-normal);
    line-height: var(--site-leading-normal);
    margin: 0;
    padding-top: var(--site-header-height-desktop);
}

h1, h2, h3, h4, h5, h6 {
    margin: 0;
}

html, body {
    overflow-x: clip;
}

img {
    max-width: 100%;
    height: auto;
}

main {
    display: block;
}

p {
    margin: 0 0 var(--site-gutter-md);
}

ul, ol, dl {
    margin: 0;
}

.aile {
    background: var(--site-main-color);
    border-top: var(--site-hairline) solid rgba(255, 255, 255, 0.08);
    bottom: 0;
    left: 0;
    padding: var(--site-gutter-md) var(--site-gutter-desktop);
    position: fixed;
    right: 0;
    z-index: 90;
}

.aile[hidden] {
    display: none;
}

.aile-actions {
    display: flex;
    flex-shrink: 0;
    gap: var(--site-spacing-sm);
}

.aile-button {
    border: var(--site-border-medium) solid var(--site-bg);
    border-radius: var(--site-radius-md);
    cursor: pointer;
    font-family: var(--site-heading-font);
    font-size: var(--site-type-small);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-wide);
    min-height: 44px;
    padding: var(--site-spacing-sm) var(--site-gutter-lg);
    text-transform: uppercase;
}

.aile-button--site-accept {
    background: var(--site-bg);
    color: var(--site-main-color);
}

.aile-button--site-accept:hover {
    background: var(--site-secondary);
    color: var(--site-bg);
}

.aile-button--site-decline {
    background: rgba(255, 255, 255, 0.4);
    color: var(--site-bg);
}

.aile-button--site-decline:hover {
    background: rgba(255, 255, 255, 0.75);
    color: var(--site-bg);
}

.aile-inner {
    align-items: center;
    display: flex;
    gap: var(--site-gutter-md);
    justify-content: space-between;
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
}

.aile-message {
    color: var(--site-bg);
    flex: 1;
    font-size: var(--site-type-small);
    margin: 0;
}

.annexe {
    padding-block: var(--site-sec-y);
}

.annexe-bio {
    color: var(--site-fg-muted);
    font-size: var(--site-size-body);
    line-height: var(--site-line-loose);
    margin-bottom: var(--site-gutter-md);
}

.annexe-card {
    background: var(--site-card-bg);
    border-radius: var(--site-radius-md);
    box-shadow: var(--site-shadow-sm);
    margin-inline: auto;
    max-width: var(--site-prose-width);
    padding: var(--site-gutter-lg);
}

.annexe-dates {
    color: var(--site-fg-muted);
    font-size: var(--site-type-small);
    margin: 0 0 var(--site-gutter-md);
}

.annexe-expertise {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-gutter-xs);
    margin-bottom: var(--site-gutter-md);
}

.annexe-header {
    align-items: center;
    display: flex;
    gap: var(--site-spacing-sm);
    margin-bottom: var(--site-gutter-md);
}

.annexe-headtext {
    display: block;
}

.annexe-link {
    color: var(--site-secondary);
    font-weight: var(--site-font-medium);
    text-decoration: underline;
}

.annexe-link:hover {
    color: var(--site-accent-dark);
}

.annexe-name {
    font-family: var(--site-heading-font);
    font-size: var(--site-size-h4);
    font-weight: var(--site-font-bold);
}

.annexe-name a {
    color: var(--site-ink);
    text-decoration: none;
}

.annexe-name a:hover {
    color: var(--site-secondary);
}

.annexe-portrait {
    background: var(--site-card-bg);
    border: var(--site-border-thick) solid var(--site-card-bg);
    border-radius: var(--site-circle);
    box-sizing: content-box;
    height: 64px;
    object-fit: cover;
    object-position: center 20%;
    width: 64px;
}

.annexe-role {
    color: var(--site-fg-muted);
    font-size: var(--site-type-small);
    margin: 0;
}

.annexe-tag {
    background: var(--site-main-color);
    border-radius: var(--site-radius-pill);
    color: var(--site-bg);
    font-size: var(--site-size-xs);
    letter-spacing: var(--site-ls-wide);
    padding: var(--site-space-2xs) var(--site-spacing-sm);
    text-transform: uppercase;
}

.annexe-time {
    white-space: nowrap;
}

.arcade {
    padding-block: var(--site-sec-y);
}

.arcade-author {
    color: var(--site-ink);
    font-weight: var(--site-font-medium);
}

.arcade-card {
    background: var(--site-card-bg);
    border-radius: var(--site-radius-md);
    padding: var(--site-gutter-lg);
}

.arcade-card--hi {
    background: rgba(208, 76, 255, 0.08);
}

.arcade-card--lo {
    background: rgba(248, 185, 0, 0.08);
}

.arcade-card--mid {
    background: var(--site-card-bg);
}

.arcade-card-head {
    align-items: center;
    display: flex;
    gap: var(--site-spacing-sm);
    margin-bottom: var(--site-gutter-md);
}

.arcade-date {
    color: var(--site-fg-muted);
}

.arcade-grid {
    display: grid;
    gap: var(--site-gutter-md);
    grid-template-columns: repeat(2, 1fr);
}

.arcade-heading {
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-medium);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin-bottom: var(--site-gutter-lg);
    text-transform: uppercase;
}

.arcade-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.arcade-meta {
    align-items: baseline;
    display: flex;
    font-size: var(--site-type-small);
    gap: var(--site-spacing-sm);
    justify-content: space-between;
}

.arcade-rating {
    color: var(--site-secondary);
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-bold);
    line-height: 1;
}

.arcade-star {
    color: rgba(255, 255, 255, 0.6);
}

.arcade-star--half,
.arcade-star--on {
    color: var(--site-main-color);
}

.arcade-stars {
    font-size: var(--site-type-h5);
    letter-spacing: 1px;
}

.arcade-text {
    line-height: var(--site-line-loose);
    margin-bottom: var(--site-gutter-md);
}

.blason {
    padding-block: var(--site-sec-y);
}

.blason-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.blason-table {
    border-collapse: collapse;
    width: 100%;
}

.blason-table td {
    padding: var(--site-gutter-md);
}

.blason-table th {
    background: var(--site-card-bg);
    color: var(--site-main-color);
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h6);
    letter-spacing: var(--site-ls-wide);
    padding: var(--site-gutter-md);
    text-align: left;
    text-transform: uppercase;
}

.blason-table tbody {
    background: var(--site-card-bg);
}

.blason-table tbody tr {
    border-top: var(--site-hairline) solid rgba(255, 255, 255, 0.08);
}

.cadre {
    align-items: center;
    display: flex;
    min-height: 100vh;
    position: relative;
}

.cadre::before {
    background: linear-gradient(135deg, rgba(146, 55, 201, 0.35), rgba(83, 30, 180, 0.15)), url('/media/shot.webp') center / cover no-repeat;
    content: '';
    inset: 0;
    opacity: 0.5;
    position: absolute;
    z-index: 0;
}

.cadre-content {
    max-width: 70%;
    padding-left: 35%;
}

.cadre-cta {
    background: var(--site-main-color);
    border-radius: var(--site-radius-md);
    color: var(--site-bg);
    display: inline-block;
    font-family: var(--site-heading-font);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-wide);
    margin-top: var(--site-gutter-lg);
    padding: var(--site-gutter-md) var(--site-spacing-xl);
    text-decoration: none;
    text-transform: uppercase;
}

.cadre-cta:hover {
    background: var(--site-secondary);
    color: var(--site-bg);
}

.cadre-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-block: var(--site-sec-y);
    padding-inline: var(--site-gutter-desktop);
    position: relative;
    width: 100%;
    z-index: 1;
}

.cadre-kicker {
    color: var(--site-main-color);
    font-family: var(--site-font-text);
    font-size: var(--site-fs-h6);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-wide);
    margin: 0 0 var(--site-spacing-sm);
    text-transform: uppercase;
}

.cadre-letterform {
    color: var(--site-ink);
    font-family: var(--site-heading-font);
    font-size: 60vh;
    font-weight: var(--site-font-bold);
    height: 100%;
    opacity: 0.05;
    inset-inline-start: max(var(--site-gutter-desktop), calc((100vw - var(--site-container)) / 2));
    line-height: 1;
    max-width: calc(var(--site-container) * 0.3);
    position: absolute;
    top: 0;
    z-index: 0;
}

.cadre-subtitle {
    color: var(--site-fg-muted);
    font-size: var(--site-type-h5);
    line-height: var(--site-line-loose);
    margin: 0;
    max-width: 620px;
}

.cadre-title {
    font-family: var(--site-heading-font);
    font-size: var(--site-type-h1);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin: 0 0 var(--site-gutter-md);
    text-transform: uppercase;
}

.chambre {
    background: var(--site-secondary);
    margin-inline: calc(50% - 50vw);
    padding-block: var(--site-sec-y);
    width: 100vw;
}

.chambre-button {
    background: var(--site-bg);
    border-radius: var(--site-radius-md);
    color: var(--site-secondary);
    flex-shrink: 0;
    font-family: var(--site-heading-font);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-wide);
    min-width: 220px;
    padding: var(--site-gutter-md) var(--site-gap-2xl);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.chambre-button:hover {
    background: var(--site-ink);
    color: var(--site-secondary);
}

.chambre-description {
    color: rgba(15, 3, 20, 0.85);
    line-height: var(--site-leading-normal);
    margin: var(--site-spacing-sm) 0 0;
    max-width: 580px;
}

.chambre-inner {
    align-items: center;
    display: flex;
    gap: var(--site-gutter-lg);
    justify-content: space-between;
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.chambre-text {
    max-width: 720px;
}

.chambre-title {
    color: var(--site-bg);
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin: 0;
    text-transform: uppercase;
}

.feuille {
    padding-block: var(--site-sec-y);
}

.feuille-heading {
    color: var(--site-ink);
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-medium);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin: var(--site-gutter-lg) 0 var(--site-gutter-md);
    text-transform: uppercase;
}

.feuille-heading:first-child {
    margin-top: 0;
}

.feuille-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.feuille-inner li {
    line-height: var(--site-line-loose);
    margin-bottom: var(--site-gutter-xs);
}

.feuille-inner ol,
.feuille-inner ul {
    margin: 0 0 var(--site-gutter-md);
    max-width: 720px;
    padding-left: calc(var(--site-gutter-lg) + var(--site-gutter-md));
}

.feuille-inner p {
    line-height: var(--site-line-loose);
    max-width: 720px;
    padding-left: var(--site-gutter-lg);
}

.illustration {
    padding-block: var(--site-sec-y);
}

.illustration--context {
    padding-top: 0;
}

.illustration--detail {
    padding-block: var(--site-sec-y);
}

.illustration-figure {
    margin: 0;
}

.illustration-figure--detail {
    flex: 1 1 320px;
}

.illustration-figure img {
    border-radius: var(--site-radius-md);
    display: block;
    width: 100%;
}

.illustration-inner {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-gutter-md);
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.manchette {
    background: transparent;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: transform var(--site-transition-base) var(--site-ease), background var(--site-transition-base) var(--site-ease);
    z-index: 100;
}

.manchette-drawer {
    display: none;
}

.manchette-drawer-item {
    border-bottom: var(--site-hairline) solid rgba(255, 255, 255, 0.08);
    list-style: none;
}

.manchette-drawer-link {
    color: var(--site-ink);
    display: block;
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h6);
    font-weight: var(--site-font-medium);
    padding: var(--site-gutter-md);
    text-decoration: none;
    text-transform: uppercase;
}

.manchette-drawer-link:hover {
    color: var(--site-main-color);
}

.manchette-drawer-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.manchette-inner {
    align-items: center;
    display: flex;
    gap: var(--site-gutter-md);
    height: var(--site-header-height-desktop);
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-md);
}

.manchette-link {
    color: var(--site-fg-muted);
    font-family: var(--site-heading-font);
    font-size: var(--site-type-small);
    font-weight: var(--site-font-medium);
    padding-block: var(--site-space-2xs);
    text-decoration: none;
    text-transform: uppercase;
    transition: color var(--site-speed-fast) var(--site-ease);
    white-space: nowrap;
}

.manchette-link:hover,
.manchette-link[aria-current='page'] {
    color: var(--site-ink);
}

.manchette-logo {
    display: inline-flex;
    flex-shrink: 0;
}

.manchette-logo,
.manchette-logo-img {
    flex-shrink: 0;
}

.manchette-logo-img {
    height: 88px;
    width: auto;
}

.manchette-nav {
    margin-left: auto;
}

.manchette-nav-item {
    list-style: none;
}

.manchette-nav-list {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--site-gutter-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.manchette-toggle {
    background: none;
    border: none;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 5px;
    height: 44px;
    justify-content: center;
    margin-left: auto;
    padding: 10px;
    width: 44px;
}

.manchette-toggle-bar {
    background: var(--site-ink);
    display: block;
    height: 2px;
    width: 24px;
}

.manchette--over-hero {
    background: transparent;
}

.manchette.is-hidden {
    transform: translateY(-100%);
}

.manchette.is-scrolled {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(15, 3, 20, 0.92);
}

.manchette:not(.manchette--over-hero) {
    background: var(--site-bg);
}

.mosaique {
    padding-block: var(--site-sec-y);
}

.mosaique-card {
    background: var(--site-card-bg);
    border: var(--site-hairline) solid rgba(255, 255, 255, 0.08);
    border-radius: var(--site-radius-md);
    flex-shrink: 0;
    min-height: 200px;
    padding: var(--site-gutter-md);
    width: 320px;
}

.mosaique-card-text {
    color: var(--site-fg-muted);
    line-height: var(--site-line-loose);
    margin: 0;
}

.mosaique-card-title {
    font-family: var(--site-heading-font);
    font-size: var(--site-size-h4);
    font-weight: var(--site-font-medium);
    margin-bottom: var(--site-spacing-sm);
}

.mosaique-heading {
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-medium);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin-bottom: var(--site-gutter-lg);
    text-transform: uppercase;
}

.mosaique-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.mosaique-rail {
    display: flex;
    gap: var(--site-gutter-md);
    overflow-x: auto;
    padding-bottom: var(--site-gutter-md);
    scroll-snap-type: x mandatory;
}

.mosaique-rail > .mosaique-card {
    scroll-snap-align: start;
}

.oriel {
    padding-block: var(--site-sec-y);
}

.oriel-button {
    background: var(--site-main-color);
    border-radius: var(--site-radius-md);
    color: var(--site-bg);
    font-family: var(--site-heading-font);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-wide);
    padding: var(--site-gutter-md) var(--site-spacing-xl);
    text-decoration: none;
    text-transform: uppercase;
}

.oriel-button:hover {
    background: var(--site-secondary);
    color: var(--site-bg);
}

.oriel-card {
    align-items: center;
    background: var(--site-card-bg);
    border: var(--site-border-medium) solid var(--site-secondary);
    border-radius: var(--site-round-lg);
    box-shadow: var(--site-elevation-2);
    display: flex;
    flex-direction: column;
    gap: var(--site-gutter-md);
    margin-inline: auto;
    max-width: 720px;
    padding: var(--site-gutter-lg);
    text-align: center;
}

.oriel-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.oriel-text {
    color: var(--site-fg-muted);
    line-height: var(--site-line-loose);
    margin: 0;
}

.oriel-title {
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    text-transform: uppercase;
}

.passerelle {
    padding-block: var(--site-sec-y);
}

.passerelle-desc {
    color: var(--site-fg-muted);
    font-family: var(--site-font-text);
    font-size: var(--site-type-h5);
    font-style: italic;
    line-height: var(--site-line-loose);
    margin: 0;
    max-width: var(--site-prose-width);
}

.passerelle-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.passerelle-rule {
    background: rgba(255, 255, 255, 0.2);
    display: block;
    height: 1px;
    margin-bottom: var(--site-gutter-md);
    width: 40px;
}

.passerelle-title {
    font-family: var(--site-heading-font);
    font-size: var(--site-type-h1);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin-bottom: var(--site-gutter-md);
    text-transform: uppercase;
}

.pave {
    padding-block: var(--site-sec-y);
}

.pave-body {
    counter-reset: legal-section;
}

.pave-contacts {
    margin-top: var(--site-gutter-lg);
}

.pave-contacts-heading {
    font-family: var(--site-heading-font);
    font-size: var(--site-text-h3);
    font-weight: var(--site-font-medium);
    margin-bottom: var(--site-spacing-sm);
}

.pave-contacts-list {
    color: var(--site-fg-muted);
    line-height: var(--site-line-loose);
    padding-left: var(--site-gutter-md);
}

.pave-disclaimer {
    color: var(--site-fg-muted);
    font-size: var(--site-type-small);
    line-height: var(--site-line-loose);
    margin-top: var(--site-gutter-lg);
}

.pave-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.pave-inner > * {
    margin-inline: auto;
    max-width: var(--site-prose-width);
}

.pave-intro {
    font-size: var(--site-type-h5);
    line-height: var(--site-line-loose);
}

.pave-section {
    counter-increment: legal-section;
    margin-bottom: var(--site-gutter-lg);
}

.pave-section p {
    line-height: var(--site-line-loose);
    padding-left: var(--site-gutter-md);
}

.pave-section-heading {
    font-family: var(--site-heading-font);
    font-size: var(--site-text-h3);
    font-weight: var(--site-font-medium);
    margin-bottom: var(--site-spacing-sm);
}

.pave-section-heading::before {
    color: var(--site-secondary);
    content: counter(legal-section) ". ";
    font-family: var(--site-heading-font);
    font-weight: var(--site-font-bold);
    margin-right: var(--site-gutter-xs);
}

.pave-title {
    font-family: var(--site-heading-font);
    font-size: var(--site-type-h1);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin-bottom: var(--site-gutter-md);
    text-transform: uppercase;
}

.pave-updated {
    color: var(--site-fg-muted);
    font-size: var(--site-type-small);
}

.pignon {
    padding-block: var(--site-gutter-md);
}

.pignon-current {
    color: var(--site-ink);
    font-family: var(--site-font-text);
    font-size: var(--site-type-small);
}

.pignon-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.pignon-link {
    color: var(--site-fg-muted);
    font-family: var(--site-font-text);
    font-size: var(--site-type-small);
    text-decoration: none;
}

.pignon-link:hover {
    color: var(--site-secondary);
}

.pignon-sep {
    color: rgba(190, 189, 189, 0.5);
    margin-inline: var(--site-gutter-xs);
}

.porte {
    padding-block: var(--site-sec-y);
}

.porte-contact {
    margin-top: var(--site-gutter-md);
}

.porte-field {
    display: flex;
    flex-direction: column;
    margin-bottom: var(--site-gutter-md);
}

.porte-form {
    border: var(--site-border-medium) solid var(--site-secondary);
    border-radius: var(--site-radius-md);
    padding: var(--site-gutter-lg);
}

.porte-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.porte-inner > * {
    margin-inline: auto;
    max-width: var(--site-prose-width);
}

.porte-input {
    background: transparent;
    border: none;
    border-bottom: var(--site-hairline) solid rgba(255, 255, 255, 0.12);
    color: var(--site-ink);
    font-family: var(--site-font-text);
    font-size: var(--site-size-body);
    padding: var(--site-spacing-sm) 0;
}

.porte-input:focus {
    border-bottom-color: var(--site-secondary);
    outline: none;
}

.porte-intro {
    color: var(--site-fg-muted);
    line-height: var(--site-line-loose);
    margin-bottom: var(--site-gutter-lg);
}

.porte-label {
    color: var(--site-fg-muted);
    font-size: var(--site-type-small);
    margin-bottom: var(--site-gutter-xs);
}

.porte-submit {
    background: var(--site-secondary);
    border: none;
    border-radius: var(--site-radius-md);
    color: var(--site-ink);
    cursor: pointer;
    font-family: var(--site-heading-font);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-wide);
    padding: var(--site-gutter-md) var(--site-spacing-xl);
    text-transform: uppercase;
}

.porte-submit:hover {
    background: var(--site-accent-dark);
    color: var(--site-ink);
}

.porte-success {
    background: rgba(248, 185, 0, 0.12);
    border-radius: var(--site-radius-md);
    color: var(--site-ink);
    margin-top: var(--site-gutter-md);
    padding: var(--site-gutter-md);
}

.porte-success[hidden] {
    display: none;
}

.porte-textarea {
    border: var(--site-hairline) solid rgba(255, 255, 255, 0.12);
    padding: var(--site-spacing-sm);
    resize: vertical;
}

.seuil {
    padding-block: var(--site-sec-y);
}

.seuil-articles {
    padding-block: var(--site-sec-y);
}

.seuil-articles-heading {
    font-family: var(--site-heading-font);
    font-size: var(--site-size-h4);
    font-weight: var(--site-font-bold);
    margin-bottom: var(--site-gutter-md);
}

.seuil-articles-item {
    font-size: var(--site-size-body);
    line-height: var(--site-leading-normal);
}

.seuil-articles-item a {
    color: var(--site-secondary);
    text-decoration: underline;
}

.seuil-articles-item a:hover {
    color: var(--site-accent-dark);
}

.seuil-articles-list {
    display: flex;
    flex-direction: column;
    gap: var(--site-gutter-xs);
    list-style: none;
    margin: 0;
    padding: 0;
}

.seuil-bio {
    color: var(--site-fg-muted);
    line-height: var(--site-line-loose);
    margin-bottom: var(--site-gutter-md);
}

.seuil-body {
    display: flex;
    flex-direction: column;
    gap: var(--site-gutter-md);
}

.seuil-card {
    background: var(--site-card-bg);
    border-radius: var(--site-round-lg);
    box-shadow: var(--site-shadow-sm);
    display: grid;
    gap: var(--site-gutter-lg);
    grid-template-columns: 140px 1fr;
    padding: var(--site-gutter-lg);
}

.seuil-expertise {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-gutter-xs);
    list-style: none;
    margin: 0;
    padding: 0;
}

.seuil-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.seuil-job {
    color: var(--site-secondary);
    font-size: var(--site-type-small);
    font-weight: var(--site-font-medium);
    letter-spacing: var(--site-ls-wide);
    text-transform: uppercase;
}

.seuil-name {
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-bold);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    text-transform: uppercase;
}

.seuil-portrait {
    background: var(--site-card-bg);
    border: var(--site-border-thick) solid var(--site-card-bg);
    border-radius: var(--site-circle);
    box-sizing: content-box;
    height: 140px;
    object-fit: cover;
    object-position: center 20%;
    width: 140px;
}

.seuil-tag {
    background: var(--site-main-color);
    border-radius: var(--site-radius-pill);
    color: var(--site-bg);
    font-size: var(--site-size-xs);
    letter-spacing: var(--site-ls-wide);
    padding: var(--site-space-2xs) var(--site-spacing-sm);
    text-transform: uppercase;
}

.skip-link {
    background: var(--site-main-color);
    color: var(--site-bg);
    left: 0;
    padding: var(--site-spacing-sm) var(--site-gutter-md);
    position: fixed;
    top: 0;
    z-index: 200;
}

.skip-link:not(:focus) {
    top: -200px !important;
}

.vitrail {
    padding-block: var(--site-sec-y);
}

.vitrail-answer {
    line-height: var(--site-line-loose);
    margin: 0 0 var(--site-spacing-xl);
}

.vitrail-heading {
    font-family: var(--site-heading-font);
    font-size: var(--site-fs-h2);
    font-weight: var(--site-font-medium);
    letter-spacing: var(--site-ls-tight);
    line-height: var(--site-line-tight);
    margin-bottom: var(--site-gutter-lg);
    text-transform: uppercase;
}

.vitrail-inner {
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
}

.vitrail-inner > .vitrail-list {
    margin-inline: auto;
    max-width: var(--site-prose-width);
}

.vitrail-list {
    margin: 0;
}

.vitrail-question {
    color: var(--site-ink);
    font-family: var(--site-heading-font);
    font-size: var(--site-size-h4);
    font-weight: var(--site-font-bold);
    margin-bottom: var(--site-spacing-sm);
}

.voussure {
    background: var(--site-bg);
    padding-block: var(--site-sec-y);
}

.voussure-copyright {
    color: var(--site-fg-muted);
    font-size: var(--site-size-xs);
}

.voussure-inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--site-gutter-lg);
    margin-inline: auto;
    max-width: calc(var(--site-container) + 2 * var(--site-gutter-desktop));
    padding-inline: var(--site-gutter-desktop);
    text-align: center;
}

.voussure-legal-link {
    color: var(--site-fg-muted);
    font-size: var(--site-size-xs);
    letter-spacing: var(--site-ls-wide);
    text-decoration: none;
    text-transform: uppercase;
}

.voussure-legal-link:hover {
    color: var(--site-secondary);
}

.voussure-legal-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-spacing-sm);
    justify-content: center;
}

.voussure-legal-sep {
    color: var(--site-fg-muted);
}

.voussure-logo {
    display: inline-flex;
    flex-shrink: 0;
}

.voussure-logo-img {
    flex-shrink: 0;
    height: 88px;
    width: auto;
}

.voussure-nav {
    display: block;
}

.voussure-nav-item {
    list-style: none;
}

.voussure-nav-link {
    color: var(--site-fg-muted);
    font-family: var(--site-heading-font);
    font-size: var(--site-size-body);
    font-weight: var(--site-font-medium);
    text-decoration: none;
}

.voussure-nav-link:hover {
    color: var(--site-ink);
}

.voussure-nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--site-gutter-lg);
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.voussure-tagline {
    color: var(--site-fg-muted);
    font-size: var(--site-type-small);
    line-height: var(--site-line-loose);
    margin: 0;
    max-width: 480px;
}

@media (max-width: 1240px) {
    .manchette-logo-img {
        height: 72px;
    }

    .voussure-logo-img {
        height: 72px;
    }
}

@media (max-width: 900px) {
    body {
        padding-top: var(--site-nav-h-mobile);
    }

    .arcade-grid {
        grid-template-columns: 1fr;
    }

    .cadre-content {
        max-width: 100%;
        padding-left: 0;
    }

    .cadre-letterform {
        inset-inline-start: var(--site-inset-mobile);
    }

    .feuille-inner ol,
    .feuille-inner ul {
        padding-left: calc(var(--site-gutter-md) + var(--site-gutter-md));
    }

    .feuille-inner p {
        padding-left: var(--site-gutter-md);
    }

    .manchette-inner {
        height: var(--site-nav-h-mobile);
    }

    .manchette-logo-img {
        height: 60px;
    }

    .manchette-nav {
        display: none;
    }

    .manchette-toggle {
        display: flex;
    }

    .manchette.is-open .manchette-drawer {
        background: var(--site-bg);
        border-top: var(--site-hairline) solid rgba(255, 255, 255, 0.08);
        display: block;
        left: 0;
        position: fixed;
        right: 0;
        top: var(--site-nav-h-mobile);
    }

    .chambre-inner {
        flex-direction: column;
        text-align: center;
    }

    .chambre-button {
        width: 100%;
    }

    .seuil-card {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .voussure-logo-img {
        height: 60px;
    }
}

@media (max-width: 720px) {
    .aile,
    .aile-inner {
        font-size: 13px !important;
        gap: 8px !important;
        line-height: 1.35 !important;
        padding: 12px 14px !important;
    }

    .aile-inner {
        flex-direction: column;
    }

    .aile-button {
        font-size: 12px !important;
        min-height: 36px !important;
        padding: 8px 14px !important;
    }

    .blason-table thead {
        display: none;
    }

    .blason-table,
    .blason-table tbody,
    .blason-table td,
    .blason-table tr {
        display: block;
    }

    .blason-table tr {
        background: var(--site-card-bg);
        border-radius: var(--site-radius-md);
        margin-block-end: var(--site-gutter-md);
        padding: var(--site-gutter-md);
    }

    .blason-table td {
        padding: var(--site-gutter-xs) 0;
    }

    .blason-table td::before {
        color: var(--site-main-color);
        content: attr(data-label) ": ";
        font-weight: var(--site-font-medium);
    }
}

@media (max-width: 600px) {
    :root {
        --site-type-h1: 34px;
        --site-fs-h2: 26px;
        --site-text-h3: 20px;
        --site-size-h4: 16px;
        --site-type-h5: 14px;
        --site-fs-h6: 12px;
        --site-size-body: 15px;
        --site-type-small: 12px;
        --site-size-xs: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}
