/* == tokens == */
:root {
    --hue-base: #8130e1;
    --hue-brand-hot: #00a9e5;
    --hue-accent-strong: #017fbc;
    --hue-page: #111213;
    --hue-raised: #1b1d20;
    --hue-script: #ffffff;
    --hue-quiet: #c0bebe;
    --hue-edge: rgba(255, 255, 255, 0.12);
    --hue-rule-bold: rgba(255, 255, 255, 0.26);
    --hue-ramp-start: #6cdcfe;
    --hue-blend-b: #24cafe;
    --hue-notice: #a4161a;

    --st-2xs: 2px;
    --st-xs: 6px;
    --st-sm: 10px;
    --st-md: 16px;
    --st-lg: 48px;
    --st-xl: 80px;
    --st-2xl: 128px;
    --st-3xl: 200px;

    --crn-2xs: 1px;
    --crn-xs: 2px;
    --crn-sm: 8px;
    --crn-md: 14px;
    --crn-lg: 22px;
    --crn-xl: 30px;
    --crn-2xl: 38px;
    --crn-3xl: 46px;
    --crn-lozenge: 9999px;
    --crn-circle: 50%;

    --sh-2xs: 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    --sh-xs: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    --sh-sm: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    --sh-md: 0 8px 24px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
    --sh-lg: 0 16px 48px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    --sh-xl: 0 24px 64px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
    --sh-2xl: 0 32px 80px rgba(0, 0, 0, 0.42);
    --sh-3xl: 0 40px 96px rgba(0, 0, 0, 0.48);

    --bd-thin: 1px;
    --bd-mid: 2px;
    --bd-bold: 3px;

    --typ-lead: "Montserrat", "Trebuchet MS", sans-serif;
    --typ-prose: "Inter", "Helvetica Neue", Arial, sans-serif;

    --fs-title: clamp(28px, 3.6vw, 44px);
    --fs-display-2: clamp(23px, 2.6vw, 34px);
    --fs-display-3: clamp(19px, 1.9vw, 26px);
    --fs-display-4: 20px;
    --fs-sm-2: 16px;
    --fs-xs-2: 14px;
    --fs-reading: 16px;
    --fs-sm: 14px;
    --fs-tiny: 12px;

    --ld-dense: 1.2;
    --ld-normal: 1.55;
    --ld-relaxed: 1.7;

    --fw-book: 400;
    --fw-medium: 500;
    --fw-black: 700;

    --trk-tight: -0.01em;
    --trk-normal: 0;
    --trk-spread: 0.02em;

    --tm-swift: 202ms;
    --tm-normal: 420ms;
    --tm-gentle: 773ms;
    --bz-out: cubic-bezier(0.12, 0.71, 0.31, 0.94);
    --bz-enter: cubic-bezier(0.7, 0.06, 0.44, 0.99);
    --bz-swing: cubic-bezier(0.7, 0.06, 0.44, 0.99);
    --bz-pop: cubic-bezier(0.35, 1.7, 0.55, 1.3);

    --cont-main: 1420px;
    --cont-text: 1420px;
    --cont-narrow: 480px;
    --cont-padding-desktop: 48px;
    --cont-inset-tablet: 32px;
    --cont-inset-mobile: 16px;

    --top-size-desktop: 46px;
    --top-short: 44px;

    --wide: calc(var(--cont-main) + 2 * var(--cont-padding-desktop));
    --sec-y: 48px;
    --glass: rgba(255, 255, 255, 0.05);
}

/* == fonts == */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/glyphs-ea93/montserrat-latin-600.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("/glyphs-ea93/montserrat-latin-ext-600.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/glyphs-ea93/montserrat-latin-700.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/glyphs-ea93/montserrat-latin-ext-700.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/glyphs-ea93/inter-latin-400.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("/glyphs-ea93/inter-latin-ext-400.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("/glyphs-ea93/inter-latin-500.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("/glyphs-ea93/inter-latin-ext-500.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/glyphs-ea93/inter-latin-700.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("/glyphs-ea93/inter-latin-ext-700.woff2") format("woff2");
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

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

html,
body {
    overflow-x: clip;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--hue-page);
    color: var(--hue-script);
    font-family: var(--typ-prose);
    font-size: var(--fs-reading);
    font-weight: var(--fw-book);
    line-height: var(--ld-normal);
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: anywhere;
    margin: 0;
}

h1 {
    font-family: var(--typ-lead);
    font-size: var(--fs-title);
    font-weight: var(--fw-black);
    line-height: var(--ld-dense);
    letter-spacing: var(--trk-tight);
}

h2 {
    font-family: var(--typ-lead);
    font-size: var(--fs-display-2);
    font-weight: var(--fw-black);
    line-height: var(--ld-dense);
    letter-spacing: var(--trk-tight);
}

h3 {
    font-family: var(--typ-prose);
    font-size: var(--fs-display-3);
    font-weight: var(--fw-black);
    line-height: var(--ld-dense);
    letter-spacing: var(--trk-normal);
}

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

a {
    color: var(--hue-brand-hot);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--tm-swift) var(--bz-out), text-decoration-thickness var(--tm-swift) var(--bz-out);
}

a:hover {
    color: var(--hue-ramp-start);
    text-decoration-thickness: 3px;
}

img {
    max-width: 100%;
}

ul,
ol {
    margin: 0 0 var(--st-md);
    padding-left: 22px;
}

li {
    margin-bottom: var(--st-sm);
}

table {
    border-collapse: collapse;
}

button {
    font: inherit;
}

:focus-visible {
    outline: 2px solid var(--hue-ramp-start);
    outline-offset: 3px;
}

.skipHop {
    position: absolute;
    left: 12px;
    z-index: 400;
    padding: 10px 18px;
    border-radius: var(--crn-sm);
    background: var(--hue-brand-hot);
    color: #06222f;
    font-weight: var(--fw-black);
    text-decoration: none;
}

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

.skipHop:focus {
    top: 12px;
}

.srOnly {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

[data-enter] {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity var(--tm-gentle) var(--bz-out), transform var(--tm-gentle) var(--bz-out);
}

[data-enter].is-shown {
    opacity: 1;
    transform: translateY(0);
}

/* == shell == */
.shellMain {
    display: block;
}

.strip {
    position: relative;
    padding-block: var(--sec-y);
}

.stripSoft {
    background: var(--glass);
}

/* == header (HEAD-TIER) == */
.niche-brut {
    position: relative;
    z-index: 60;
    background: var(--hue-page);
}

.niche-brut-tier {
    height: 46px;
    border-bottom: var(--bd-thin) solid var(--hue-edge);
    background: rgba(255, 255, 255, 0.03);
}

.niche-brut-tierBody {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--st-md);
    max-width: var(--wide);
    height: 100%;
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.niche-brut-note {
    color: var(--hue-quiet);
    background: var(--hue-page);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
}

.niche-brut-mail {
    color: var(--hue-quiet);
    background: var(--hue-page);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
    text-decoration: none;
}

.niche-brut-mail:hover {
    color: var(--hue-ramp-start);
    background: var(--hue-page);
}

.niche-brut-flag {
    display: inline-flex;
    align-items: center;
    gap: var(--st-xs);
    padding: 2px 10px;
    border: var(--bd-thin) solid var(--hue-edge);
    border-radius: var(--crn-lozenge);
    background: var(--hue-page);
    color: var(--hue-quiet);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
}

.niche-brut-base {
    position: relative;
}

.niche-brut-baseBody {
    display: flex;
    align-items: center;
    gap: var(--st-md);
    max-width: var(--wide);
    min-height: 46px;
    margin-inline: auto;
    padding-block: var(--st-xs);
    padding-inline: var(--cont-padding-desktop);
}

.niche-brut-logo {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    line-height: 0;
}

.niche-brut-logo img {
    display: block;
    width: auto;
    height: 60px;
    flex-shrink: 0;
}

.niche-brut-opener {
    display: none;
    order: 5;
    margin-left: auto;
    width: 46px;
    height: 40px;
    padding: 0;
    border: var(--bd-thin) solid var(--hue-rule-bold);
    border-radius: var(--crn-sm);
    background: var(--hue-page);
    color: var(--hue-script);
    cursor: pointer;
}

.niche-brut-openerBar {
    display: block;
    width: 20px;
    height: 2px;
    margin: 4px auto;
    background: var(--hue-script);
}

.niche-brut-panel {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    z-index: 120;
    width: min(340px, 88vw);
    padding: 22px 20px;
    border-inline-start: var(--bd-thin) solid var(--hue-edge);
    background: var(--hue-raised);
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateX(104%);
    pointer-events: none;
    transition: transform var(--tm-normal) var(--bz-out), opacity var(--tm-normal) var(--bz-out), visibility var(--tm-normal) var(--bz-out);
}

.niche-brut-panel.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

.niche-brut-panelMap {
    display: block;
}

.niche-brut-panelSeries {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.niche-brut-panelSeries li {
    margin: 0;
}

.niche-brut-panelStep {
    display: block;
    padding-block: 11px;
    border-bottom: var(--bd-thin) solid var(--hue-edge);
    color: var(--hue-script);
    background: var(--hue-raised);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
}

.niche-brut-panelStep:hover {
    color: var(--hue-ramp-start);
    background: var(--hue-raised);
}

.niche-brut-panelStep[aria-current="page"] {
    color: var(--hue-ramp-start);
    background: var(--hue-raised);
}

.niche-brut-scrim {
    position: fixed;
    inset: 0;
    z-index: 110;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--tm-normal) var(--bz-out), visibility var(--tm-normal) var(--bz-out);
}

.niche-brut-scrim.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.niche-brut-map {
    flex: 1 1 auto;
    min-width: 0;
}

.niche-brut-series {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.niche-brut-entry {
    position: relative;
    margin: 0;
    flex-shrink: 0;
}

.niche-brut-series > .niche-brut-entry + .niche-brut-entry::before {
    content: "/";
    position: absolute;
    left: -14px;
    color: var(--hue-rule-bold);
    font-size: var(--fs-tiny);
}

.niche-brut-step {
    display: inline-block;
    padding-block: 10px;
    color: var(--hue-script);
    background: var(--hue-page);
    font-family: var(--typ-prose);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: var(--trk-normal);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--tm-swift) var(--bz-out);
}

.niche-brut-step:hover {
    color: var(--hue-ramp-start);
    background: var(--hue-page);
}

.niche-brut-step[aria-current="page"] {
    color: var(--hue-ramp-start);
    background: var(--hue-page);
}

.niche-brut-groupOpener,
.niche-brut-moreOpener {
    display: inline-flex;
    align-items: center;
    gap: var(--st-xs);
    padding: 10px 0;
    border: 0;
    background: var(--hue-page);
    color: var(--hue-script);
    font-family: var(--typ-prose);
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition: color var(--tm-swift) var(--bz-out);
}

.niche-brut-groupOpener:hover,
.niche-brut-moreOpener:hover {
    color: var(--hue-ramp-start);
    background: var(--hue-page);
}

.niche-brut-caret {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: var(--bd-mid) solid currentColor;
    border-bottom: var(--bd-mid) solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

.niche-brut-groupPane,
.niche-brut-morePane {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 90;
    min-width: 210px;
    max-height: 64vh;
    margin: 0;
    padding: var(--st-sm) 0;
    border: var(--bd-thin) solid var(--hue-edge);
    border-radius: var(--crn-md);
    background: var(--hue-raised);
    box-shadow: var(--sh-lg);
    list-style: none;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity var(--tm-swift) var(--bz-out), transform var(--tm-swift) var(--bz-out), visibility var(--tm-swift) var(--bz-out);
}

.niche-brut-groupPane.is-open,
.niche-brut-morePane.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.niche-brut-groupPane li,
.niche-brut-morePane li {
    margin: 0;
}

.niche-brut-groupPane .niche-brut-step,
.niche-brut-morePane .niche-brut-step {
    display: block;
    padding: 8px 16px;
    background: var(--hue-raised);
}

.niche-brut-groupPane .niche-brut-step:hover,
.niche-brut-morePane .niche-brut-step:hover {
    background: var(--hue-raised);
}

.niche-brut-more[hidden] {
    display: none;
}

.niche-brut-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: var(--st-sm);
    margin-left: auto;
}

.niche-brut-quietButton {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding-inline: var(--st-md);
    border: var(--bd-thin) solid var(--hue-rule-bold);
    border-radius: var(--crn-sm);
    background: var(--hue-page);
    color: var(--hue-script);
    font-family: var(--typ-lead);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: var(--trk-spread);
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--tm-swift) var(--bz-out), color var(--tm-swift) var(--bz-out);
}

.niche-brut-quietButton:hover {
    background: var(--hue-script);
    color: var(--hue-page);
}

.niche-brut-offer {
    flex-shrink: 0;
    white-space: nowrap;
}

.fineStep {
    color: var(--hue-ramp-start);
    background: transparent;
}

.fineStep:hover {
    color: var(--hue-script);
}

/* == hero (HERO-10) == */
.support-vaste {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    overflow: hidden;
}

.support-vaste::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(105deg, rgba(17, 18, 19, 0.97) 34%, rgba(17, 18, 19, 0.6) 100%), url("/media-36/cover-modern.webp");
    background-size: cover;
    background-position: center right;
    opacity: 0.9;
}

.support-vaste-mark {
    position: absolute;
    top: 0;
    inset-inline-start: max(var(--cont-padding-desktop), calc((100vw - var(--cont-main)) / 2));
    z-index: 1;
    display: flex;
    align-items: center;
    width: 30%;
    max-width: 426px;
    height: 100%;
    color: #ffffff;
    opacity: 0.05;
    font-family: var(--typ-lead);
    font-size: 60vh;
    font-weight: var(--fw-black);
    line-height: 0.8;
    user-select: none;
    pointer-events: none;
}

.support-vaste-body {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--wide);
    margin-inline: auto;
    padding-block: var(--st-lg);
    padding-inline: var(--cont-padding-desktop);
}

.support-vaste-main {
    padding-left: 34%;
}

.support-vaste-kicker {
    display: inline-block;
    margin-bottom: var(--st-md);
    padding: 5px 14px;
    border-radius: var(--crn-lozenge);
    background: var(--hue-base);
    color: var(--hue-script);
    font-size: var(--fs-tiny);
    font-weight: var(--fw-black);
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
}

.support-vaste-deck {
    max-width: var(--cont-narrow);
    margin-block: var(--st-md) var(--st-lg);
    color: var(--hue-quiet);
    font-size: var(--fs-display-4);
    line-height: var(--ld-relaxed);
}

.support-vaste-fine {
    display: block;
    max-width: var(--cont-narrow);
    margin-top: var(--st-md);
    color: var(--hue-quiet);
    font-size: var(--fs-tiny);
    line-height: var(--ld-normal);
}

/* == page-header (PHEAD-08) == */
.amphitheatre-dense {
    padding-block: var(--sec-y);
    border-bottom: var(--bd-thin) solid var(--hue-edge);
}

.amphitheatre-dense-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.amphitheatre-dense-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--st-xs);
    margin-bottom: var(--st-md);
}

.amphitheatre-dense-mark {
    display: inline-block;
    padding: var(--st-2xs) var(--st-sm);
    border-radius: var(--crn-lozenge);
    background: var(--hue-base);
    color: var(--hue-script);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
}

.amphitheatre-dense-text {
    margin-top: var(--st-md);
    color: var(--hue-quiet);
    font-size: var(--fs-display-4);
    line-height: var(--ld-relaxed);
}

.amphitheatre-dense-meta {
    margin-top: var(--st-sm);
    color: var(--hue-quiet);
    font-size: var(--fs-sm);
}

/* == prose (PROSE-05) == */
.gardien-vaste-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.gardien-vaste-hdr {
    display: flex;
    align-items: center;
    gap: var(--st-md);
    margin-block: var(--st-lg) var(--st-md);
    font-family: var(--typ-prose);
    font-size: var(--fs-display-3);
    font-weight: 600;
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
}

.gardien-vaste-hdr::before {
    content: "";
    flex: 0 0 auto;
    width: 34px;
    height: 1px;
    background: var(--hue-brand-hot);
}

.gardien-vaste-hdr:first-child {
    margin-block-start: 0;
}

.gardien-vaste-body p {
    margin-bottom: var(--st-md);
    color: var(--hue-quiet);
    line-height: var(--ld-normal);
}

.gardien-vaste-body strong {
    color: var(--hue-script);
    font-weight: var(--fw-black);
}

.gardien-vaste-body ol,
.gardien-vaste-body ul {
    margin-bottom: var(--st-md);
    color: var(--hue-quiet);
}

.gardien-vaste-figure {
    margin: var(--st-lg) 0;
}

.gardien-vaste-image {
    display: block;
    width: 100%;
    max-height: 52vh;
    border-radius: var(--crn-md);
    object-fit: cover;
}

.gardien-vaste-note {
    margin-top: var(--st-sm);
    color: var(--hue-quiet);
    font-size: var(--fs-sm);
}

.gardien-vaste-slot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--st-md);
    margin-block: var(--st-lg);
    padding: 20px 24px;
    border: var(--bd-thin) solid var(--hue-edge);
    border-radius: var(--crn-md);
    background: var(--glass);
}

.gardien-vaste-slotText {
    flex: 1 1 260px;
    margin: 0;
    color: var(--hue-script);
    font-family: var(--typ-lead);
    font-size: var(--fs-sm-2);
    font-weight: 600;
}

/* == items-grid (GRID-08) == */
.oriflamme-large-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.oriflamme-large-hdr {
    margin-bottom: var(--st-lg);
}

.oriflamme-large-series {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.oriflamme-large-card {
    margin: 0;
    padding: 24px;
    border-top: 4px solid var(--hue-brand-hot);
    border-radius: 0 0 var(--crn-md) var(--crn-md);
    background: var(--hue-raised);
    box-shadow: var(--sh-sm);
    transition: transform var(--tm-normal) var(--bz-out);
}

.oriflamme-large-card:hover {
    transform: translateY(-5px);
}

.oriflamme-large-icon {
    display: block;
    width: 34px;
    height: 34px;
    margin-bottom: var(--st-md);
    color: var(--hue-brand-hot);
    fill: currentColor;
}

.oriflamme-large-hdr3 {
    margin-bottom: var(--st-sm);
    color: var(--hue-script);
    font-size: var(--fs-display-4);
}

.oriflamme-large-text {
    margin: 0;
    color: var(--hue-quiet);
    background: var(--hue-raised);
    font-size: var(--fs-sm);
    line-height: var(--ld-normal);
}

/* == data-table (TABLE-02) == */
.verriere-vif-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.verriere-vif-hdr {
    margin-bottom: var(--st-md);
}

.verriere-vif-scroll {
    overflow-x: auto;
}

.verriere-vif-sheet {
    width: 100%;
    min-width: 560px;
}

.verriere-vif-sheet th {
    padding-block: var(--st-md);
    padding-inline: var(--st-sm);
    border-bottom: var(--bd-mid) solid var(--hue-brand-hot);
    background: var(--hue-page);
    color: var(--hue-script);
    font-family: var(--typ-lead);
    font-size: var(--fs-sm);
    font-weight: var(--fw-black);
    letter-spacing: var(--trk-spread);
    text-align: left;
    text-transform: uppercase;
}

.verriere-vif-sheet td {
    padding: var(--st-md) var(--st-sm);
    border-bottom: var(--bd-thin) solid rgba(255, 255, 255, 0.06);
    background: var(--hue-page);
    color: var(--hue-quiet);
    font-size: var(--fs-reading);
}

.verriere-vif-sheet td:first-child {
    color: var(--hue-script);
    background: var(--hue-page);
    font-weight: var(--fw-medium);
}

.verriere-vif-sheet tr:last-child td {
    border-bottom: 0;
}

/* == reviews (REV-03) == */
.sanctuaire-voile-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.sanctuaire-voile-hdr {
    margin-bottom: var(--st-lg);
}

.sanctuaire-voile-rail {
    display: flex;
    gap: 20px;
    padding-bottom: var(--st-md);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}

.sanctuaire-voile-card {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    align-items: flex-start;
    width: 360px;
    min-height: 240px;
    padding: 22px;
    border: var(--bd-thin) solid var(--hue-edge);
    border-radius: var(--crn-md);
    background: var(--hue-raised);
    scroll-snap-align: start;
}

.sanctuaire-voile-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 100%;
    margin-bottom: var(--st-sm);
    gap: var(--st-sm);
}

.sanctuaire-voile-byname {
    color: var(--hue-script);
    background: var(--hue-raised);
    font-family: var(--typ-lead);
    font-size: var(--fs-sm-2);
    font-weight: 600;
}

.sanctuaire-voile-date {
    color: var(--hue-quiet);
    background: var(--hue-raised);
    font-size: var(--fs-tiny);
}

.sanctuaire-voile-score {
    width: 100%;
    margin-bottom: var(--st-xs);
    color: var(--hue-quiet);
    background: var(--hue-raised);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
}

.sanctuaire-voile-bar {
    width: 60%;
    height: 4px;
    margin-bottom: var(--st-md);
    border-radius: var(--crn-lozenge);
    background: rgba(255, 255, 255, 0.2);
    align-self: flex-start;
}

.sanctuaire-voile-fill {
    display: block;
    height: 100%;
    border-radius: var(--crn-lozenge);
    background: var(--hue-brand-hot);
}

.sanctuaire-voile-say {
    margin: 0;
    color: var(--hue-quiet);
    background: var(--hue-raised);
    font-size: var(--fs-sm);
    line-height: var(--ld-normal);
}

.sanctuaire-voile-dots {
    display: flex;
    gap: var(--st-xs);
    margin-top: var(--st-md);
}

.sanctuaire-voile-dot {
    width: 8px;
    height: 8px;
    border: 0;
    border-radius: var(--crn-circle);
    background: rgba(255, 255, 255, 0.3);
    padding: 0;
    cursor: pointer;
}

.sanctuaire-voile-dot.is-live {
    background: var(--hue-brand-hot);
}

/* == faq (FAQ-04) == */
.garde-corps-voile-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.garde-corps-voile-hdr {
    margin-bottom: var(--st-lg);
}

.garde-corps-voile-series {
    counter-reset: ask;
}

.garde-corps-voile-entry {
    padding-block: var(--st-md);
    border-bottom: var(--bd-thin) solid var(--hue-edge);
    counter-increment: ask;
}

.garde-corps-voile-entry summary {
    display: block;
    cursor: pointer;
    list-style: none;
}

.garde-corps-voile-entry summary::-webkit-details-marker {
    display: none;
}

.garde-corps-voile-ask {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) 24px;
    align-items: start;
    gap: var(--st-sm);
    margin: 0;
    color: var(--hue-script);
    font-family: var(--typ-prose);
    font-size: var(--fs-display-4);
    font-weight: var(--fw-black);
}

.garde-corps-voile-ask::before {
    content: counter(ask, decimal-leading-zero);
    color: var(--hue-brand-hot);
    font-family: var(--typ-lead);
    font-size: var(--fs-display-3);
    font-weight: var(--fw-black);
}

.garde-corps-voile-sign {
    position: relative;
    display: block;
    width: 12px;
    height: 12px;
    margin-top: 8px;
    justify-self: end;
    border-right: var(--bd-mid) solid var(--hue-brand-hot);
    border-bottom: var(--bd-mid) solid var(--hue-brand-hot);
    transform: rotate(45deg);
    transition: transform var(--tm-swift) var(--bz-out);
}

.garde-corps-voile-entry[open] .garde-corps-voile-sign {
    transform: rotate(225deg);
}

.garde-corps-voile-reply {
    padding-left: 70px;
    padding-top: var(--st-sm);
}

.garde-corps-voile-reply p {
    margin: 0;
    color: var(--hue-quiet);
    line-height: var(--ld-relaxed);
}

/* == cta-block (CTA-09) == */
.baptistere-profond {
    padding-block: var(--sec-y);
    background: var(--glass);
}

.baptistere-profond-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.baptistere-profond-eyebrow {
    display: block;
    margin-bottom: var(--st-xs);
    color: var(--hue-brand-hot);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
}

.baptistere-profond-text {
    max-width: 620px;
    margin-block: var(--st-md) var(--st-lg);
    color: var(--hue-quiet);
    line-height: var(--ld-relaxed);
}

.baptistere-profond-fine {
    display: block;
    max-width: 620px;
    margin-top: var(--st-md);
    color: var(--hue-quiet);
    font-size: var(--fs-tiny);
    line-height: var(--ld-normal);
}

/* == inline-cta (INLINE-CTA-01) == */
.ostensoir-noble {
    background: var(--hue-base);
}

.ostensoir-noble-body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--st-md);
    max-width: var(--wide);
    margin-inline: auto;
    padding-block: var(--st-md);
    padding-inline: var(--cont-padding-desktop);
}

.ostensoir-noble-text {
    margin: 0;
    color: var(--hue-script);
    background: var(--hue-base);
    font-family: var(--typ-lead);
    font-size: var(--fs-sm-2);
    font-weight: var(--fw-black);
}

/* == author-byline (BYLINE-05) == */
.crucifix-bas {
    display: block;
    background: var(--hue-base);
}

.crucifix-bas-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--st-md);
    max-width: var(--wide);
    margin-inline: auto;
    padding-block: 22px;
    padding-inline: var(--cont-padding-desktop);
}

.crucifix-bas-who {
    display: flex;
    align-items: center;
    gap: var(--st-md);
}

.crucifix-bas-mug {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: var(--crn-circle);
    object-fit: cover;
}

.crucifix-bas-byname a {
    color: var(--hue-script);
    background: var(--hue-base);
    text-decoration-thickness: 1px;
}

.crucifix-bas-byname a:hover {
    color: var(--hue-ramp-start);
    background: var(--hue-base);
}

.crucifix-bas-byname {
    margin: 0;
    color: var(--hue-script);
    background: var(--hue-base);
    font-family: var(--typ-lead);
    font-size: var(--fs-sm-2);
    font-weight: var(--fw-black);
}

.crucifix-bas-post {
    margin: 0;
    color: #efe6fb;
    background: var(--hue-base);
    font-size: var(--fs-sm);
}

.crucifix-bas-date {
    display: block;
    color: #efe6fb;
    background: var(--hue-base);
    font-size: var(--fs-tiny);
}

.crucifix-bas-jump {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    padding: var(--st-sm) var(--st-md);
    border: var(--bd-thin) solid var(--hue-ramp-start);
    border-radius: var(--crn-sm);
    background: var(--hue-base);
    color: var(--hue-ramp-start);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    text-decoration: none;
}

.crucifix-bas-jump:hover {
    background: var(--hue-ramp-start);
    color: #10202b;
}

/* == author-card (AUTH-01) == */
.cellule-dense-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.cellule-dense-card {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: var(--st-lg);
    padding: 40px 32px;
    border-radius: var(--crn-lg);
    background: var(--hue-raised);
    box-shadow: var(--sh-sm);
}

.cellule-dense-mug {
    width: 160px;
    height: 160px;
    overflow: hidden;
    border-radius: var(--crn-circle);
}

.cellule-dense-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.cellule-dense-main {
    display: flex;
    flex-direction: column;
    gap: var(--st-md);
}

.cellule-dense-post {
    margin: 0;
    color: var(--hue-brand-hot);
    background: var(--hue-raised);
    font-family: var(--typ-prose);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
}

.cellule-dense-byname {
    margin: 0;
    color: var(--hue-script);
    background: var(--hue-raised);
}

.cellule-dense-bio {
    margin: 0;
    color: var(--hue-quiet);
    background: var(--hue-raised);
    line-height: var(--ld-relaxed);
}

.cellule-dense-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--st-xs);
}

.cellule-dense-tag {
    display: inline-block;
    padding: var(--st-2xs) var(--st-sm);
    border-radius: var(--crn-lozenge);
    background: var(--hue-base);
    color: var(--hue-script);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
}

/* == legal-section (LEGAL-08) == */
.estafette-calme {
    padding-block: var(--st-lg);
}

.estafette-calme-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.estafette-calme-hdr {
    margin-block: var(--st-lg) var(--st-md);
    color: var(--hue-script);
    font-family: var(--typ-prose);
    font-size: var(--fs-display-3);
    font-weight: var(--fw-black);
}

.estafette-calme-hdr:first-child {
    margin-block-start: 0;
}

.estafette-calme-body p {
    color: var(--hue-quiet);
    line-height: var(--ld-relaxed);
}

.estafette-calme-series {
    color: var(--hue-quiet);
    line-height: var(--ld-relaxed);
}

.estafette-calme-fine {
    display: block;
    margin-top: var(--st-lg);
    color: var(--hue-quiet);
    font-size: var(--fs-sm);
}

/* == contact-form (FORM-03) == */
.catafalque-calme-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.catafalque-calme-intro {
    max-width: 540px;
    margin-inline: auto;
    margin-bottom: var(--st-lg);
    color: var(--hue-quiet);
    text-align: center;
}

.catafalque-calme-form {
    max-width: 620px;
    margin-inline: auto;
}

.catafalque-calme-box {
    margin-bottom: var(--st-md);
}

.catafalque-calme-mark {
    display: block;
    margin-bottom: var(--st-xs);
    color: var(--hue-script);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
}

.catafalque-calme-input {
    width: 100%;
    padding: 13px 14px;
    border: var(--bd-thin) solid var(--hue-rule-bold);
    border-radius: var(--crn-sm);
    background: var(--hue-raised);
    color: var(--hue-script);
    font-family: var(--typ-prose);
    font-size: var(--fs-reading);
}

textarea.catafalque-calme-input {
    min-height: 150px;
    resize: vertical;
}

.catafalque-calme-send {
    width: 100%;
    height: 52px;
    border: 0;
    border-radius: var(--crn-sm);
    background: var(--hue-brand-hot);
    color: #06222f;
    font-family: var(--typ-lead);
    font-size: var(--fs-sm-2);
    font-weight: var(--fw-black);
    letter-spacing: var(--trk-spread);
    cursor: pointer;
    transition: background var(--tm-swift) var(--bz-out);
}

.catafalque-calme-send:hover {
    background: var(--hue-ramp-start);
    color: #06222f;
}

.catafalque-calme-done {
    display: none;
    margin-top: var(--st-md);
    padding: var(--st-md);
    border: var(--bd-thin) solid var(--hue-brand-hot);
    border-radius: var(--crn-sm);
    background: var(--hue-raised);
    color: var(--hue-script);
}

.catafalque-calme-done.is-shown {
    display: block;
    opacity: 1;
    transform: none;
}

.catafalque-calme-line {
    margin-top: var(--st-lg);
    color: var(--hue-quiet);
    text-align: center;
    font-size: var(--fs-sm);
}

/* == error-block (ERR-06) == */
.loggia-haute-profond {
    padding-block: var(--st-xl);
}

.loggia-haute-profond-body {
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
}

.loggia-haute-profond-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--st-md);
    max-width: var(--cont-narrow);
    margin-inline: auto;
    padding: 40px 32px;
    border: var(--bd-mid) solid var(--hue-brand-hot);
    border-radius: var(--crn-lg);
    background: var(--hue-raised);
    box-shadow: var(--sh-md);
    text-align: center;
}

.loggia-haute-profond-text {
    margin: 0;
    color: var(--hue-quiet);
    background: var(--hue-raised);
    line-height: var(--ld-relaxed);
}

.loggia-haute-profond-goto {
    display: inline-flex;
    align-items: center;
    height: 48px;
    padding-inline: var(--st-lg);
    border-radius: var(--crn-sm);
    background: var(--hue-brand-hot);
    color: #06222f;
    font-family: var(--typ-lead);
    font-weight: var(--fw-black);
    text-decoration: none;
}

.loggia-haute-profond-goto:hover {
    background: var(--hue-ramp-start);
    color: #06222f;
}

/* == footer (FOOT-03) == */
.parure-leger {
    padding-block: var(--st-xl);
    border-top: var(--bd-thin) solid var(--hue-edge);
    background: var(--hue-page);
}

.parure-leger-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--st-lg);
    max-width: var(--wide);
    margin-inline: auto;
    padding-inline: var(--cont-padding-desktop);
    text-align: center;
}

.parure-leger-warn {
    display: block;
    width: 100%;
    text-align: center;
    padding-bottom: var(--st-md);
    border-bottom: var(--bd-thin) solid var(--hue-edge);
    color: var(--hue-quiet);
    font-size: var(--fs-sm);
}

.parure-leger-badge {
    display: inline-block;
    margin-inline-end: 8px;
    vertical-align: baseline;
    padding: 3px 11px;
    border-radius: var(--crn-lozenge);
    background: var(--hue-notice);
    color: #ffffff;
    font-family: var(--typ-lead);
    font-size: var(--fs-tiny);
    font-weight: var(--fw-black);
    letter-spacing: var(--trk-spread);
}

.parure-leger-help {
    color: var(--hue-ramp-start);
    background: var(--hue-page);
}

.parure-leger-help:hover {
    color: var(--hue-script);
    background: var(--hue-page);
}

.parure-leger-logo {
    display: inline-flex;
    line-height: 0;
}

.parure-leger-logo img {
    width: auto;
    height: 66px;
}

.parure-leger-map {
    width: 100%;
}

.parure-leger-series {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--st-md) var(--st-lg);
    margin: 0;
    padding: 0;
    list-style: none;
}

.parure-leger-series li {
    margin: 0;
}

.parure-leger-step {
    color: var(--hue-script);
    background: var(--hue-page);
    font-family: var(--typ-lead);
    font-size: var(--fs-reading);
    font-weight: var(--fw-medium);
    text-decoration: none;
}

.parure-leger-step:hover {
    color: var(--hue-ramp-start);
    background: var(--hue-page);
}

.parure-leger-tagline {
    max-width: var(--cont-narrow);
    margin: 0;
    color: var(--hue-quiet);
    font-size: var(--fs-sm);
    line-height: var(--ld-relaxed);
}

.parure-leger-legalLine {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--st-sm);
    color: var(--hue-quiet);
}

.parure-leger-legalStep {
    color: var(--hue-quiet);
    background: var(--hue-page);
    font-size: var(--fs-tiny);
    letter-spacing: var(--trk-spread);
    text-transform: uppercase;
    text-decoration: none;
}

.parure-leger-legalStep:hover {
    color: var(--hue-script);
    background: var(--hue-page);
}

.parure-leger-copyright {
    color: var(--hue-quiet);
    background: var(--hue-page);
    font-size: var(--fs-tiny);
}

/* == cookie-banner (COOK-15) == */
.bordure-dense {
    position: fixed;
    inset-block: auto 0;
    inset-inline-end: 0;
    z-index: 200;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: min(360px, 100vw);
    padding: 30px 26px;
    border-inline-start: var(--bd-thin) solid rgba(255, 255, 255, 0.12);
    background: var(--hue-raised);
    transform: translateX(104%);
    visibility: hidden;
    opacity: 0;
}

.bordure-dense.is-open {
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
    animation: keepWipe-ea93 var(--tm-gentle) var(--bz-out) both;
}

@keyframes keepWipe-ea93 {
    from {
        clip-path: inset(0 0 0 100%);
    }
    to {
        clip-path: inset(0 0 0 0);
    }
}

.bordure-dense-say {
    margin: 0 0 var(--st-md);
    color: var(--hue-quiet);
    background: var(--hue-raised);
    font-size: var(--fs-sm);
    line-height: var(--ld-normal);
}

.bordure-dense-actions {
    display: flex;
    flex-direction: column;
    gap: var(--st-sm);
}

.bordure-dense-approve {
    width: 100%;
    min-height: 44px;
    border: 0;
    border-radius: var(--crn-sm);
    background: var(--hue-brand-hot);
    color: #06222f;
    font-family: var(--typ-lead);
    font-size: var(--fs-sm);
    font-weight: var(--fw-black);
    cursor: pointer;
}

.bordure-dense-approve:hover {
    background: var(--hue-ramp-start);
    color: #06222f;
}

.bordure-dense-refuse {
    width: 100%;
    min-height: 44px;
    border: var(--bd-thin) solid var(--hue-rule-bold);
    border-radius: var(--crn-sm);
    background: var(--hue-raised);
    color: var(--hue-script);
    font-family: var(--typ-lead);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    cursor: pointer;
}

.bordure-dense-refuse:hover {
    background: var(--hue-script);
    color: var(--hue-page);
}


/* == section roots == */
.gardien-vaste,
.sanctuaire-voile,
.garde-corps-voile,
.oriflamme-large,
.verriere-vif,
.catafalque-calme,
.cellule-dense {
    position: relative;
}

.crucifix-bas-text {
    display: block;
}

/* == offer button slots == */
.support-vaste-offer,
.gardien-vaste-offer,
.baptistere-profond-offer,
.ostensoir-noble-offer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* == responsive == */
@media (max-width: 1620px) {
    .niche-brut-series {
        gap: 18px;
    }

    .niche-brut-series > .niche-brut-entry + .niche-brut-entry::before {
        left: -12px;
    }
}

@media (max-width: 1499px) {
    .niche-brut-quietButton {
        display: none;
    }
}

@media (max-width: 1200px) {
    .niche-brut-logo img {
        height: 52px;
    }

    .niche-brut-series {
        gap: 15px;
    }

    .niche-brut-step,
    .niche-brut-groupOpener,
    .niche-brut-moreOpener {
        font-size: 14px;
    }
}

@media (max-width: 1120px) {
    .support-vaste-main {
        padding-left: 30%;
    }

    .oriflamme-large-series {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .niche-brut-map {
        display: none;
    }

    .niche-brut-opener {
        display: block;
        margin-left: 0;
    }

    .niche-brut-more[hidden] {
    display: none;
}

.niche-brut-actions {
        order: 4;
        margin-left: auto;
    }

    .niche-brut-tierBody,
    .niche-brut-baseBody,
    .support-vaste-body,
    .amphitheatre-dense-body,
    .gardien-vaste-body,
    .oriflamme-large-body,
    .verriere-vif-body,
    .sanctuaire-voile-body,
    .garde-corps-voile-body,
    .baptistere-profond-body,
    .ostensoir-noble-body,
    .crucifix-bas-body,
    .cellule-dense-body,
    .estafette-calme-body,
    .catafalque-calme-body,
    .loggia-haute-profond-body,
    .parure-leger-body {
        padding-inline: var(--cont-inset-tablet);
    }
}

@media (max-width: 880px) {
    :root {
        --sec-y: 40px;
        --fs-reading: 15px;
        --fs-sm: 13px;
        --fs-tiny: 11px;
        --fs-display-4: 18px;
        --fs-sm-2: 15px;
    }

    .support-vaste {
        min-height: auto;
    }

    .support-vaste-mark {
        inset-inline-start: var(--cont-inset-mobile);
        width: 46%;
        font-size: 34vh;
    }


    .support-vaste-main {
        padding-left: 0;
    }

    .support-vaste-deck {
        max-width: none;
    }

    .cellule-dense-card {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        padding: 28px 20px;
        text-align: center;
    }

    .cellule-dense-mug {
        width: 120px;
        height: 120px;
    }

    .cellule-dense-tags {
        justify-content: center;
    }

    .crucifix-bas-body {
        flex-direction: column;
        align-items: flex-start;
    }

    .crucifix-bas-jump {
        width: 100%;
        justify-content: center;
    }

    .ostensoir-noble-body {
        flex-direction: column;
        align-items: stretch;
    }

    .ostensoir-noble .ostensoir-noble-offer {
        justify-content: center;
        text-align: center;
    }

    .garde-corps-voile-ask {
        grid-template-columns: 38px minmax(0, 1fr) 20px;
    }

    .garde-corps-voile-reply {
        padding-left: 46px;
    }

    .parure-leger {
        padding-block: var(--st-lg);
    }

    .parure-leger-series {
        gap: var(--st-sm) 22px;
    }

    .parure-leger-step {
        font-size: var(--fs-sm);
    }
}

@media (max-width: 720px) {
    .bordure-dense {
        inset-block: auto 0;
        inset-inline: 0;
        width: 100vw;
        padding: 12px 14px !important;
        gap: 8px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        border-inline-start: 0;
        border-top: var(--bd-thin) solid rgba(255, 255, 255, 0.12);
        transform: translateY(104%);
    }

    .bordure-dense.is-open {
        transform: translateY(0);
    }

    .bordure-dense-say {
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .bordure-dense-actions {
        flex-direction: row;
    }

    .bordure-dense-approve,
    .bordure-dense-refuse {
        min-height: 40px !important;
        padding: 8px 14px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 640px) {
    .oriflamme-large-series {
        grid-template-columns: minmax(0, 1fr);
    }

    .sanctuaire-voile-card {
        width: 82vw;
    }

    .niche-brut-note {
        display: none;
    }
}

@media (max-width: 599px) {
    .niche-brut-baseBody {
        flex-wrap: wrap;
        row-gap: var(--st-sm);
    }

    .niche-brut-opener {
        order: 2;
    }

    .niche-brut-actions {
        order: 3;
        width: 100%;
        margin-left: 0;
    }

    .niche-brut-offer {
        width: 100%;
    }
}

@media (max-width: 540px) {
    .niche-brut-tierBody,
    .niche-brut-baseBody,
    .support-vaste-body,
    .amphitheatre-dense-body,
    .gardien-vaste-body,
    .oriflamme-large-body,
    .verriere-vif-body,
    .sanctuaire-voile-body,
    .garde-corps-voile-body,
    .baptistere-profond-body,
    .ostensoir-noble-body,
    .crucifix-bas-body,
    .cellule-dense-body,
    .estafette-calme-body,
    .catafalque-calme-body,
    .loggia-haute-profond-body,
    .parure-leger-body {
        padding-inline: var(--cont-inset-mobile);
    }

    .niche-brut-logo img {
        height: 44px;
    }

    .niche-brut-mail {
        display: none;
    }

    .parure-leger-logo img {
        height: 52px;
    }

    .verriere-vif-sheet {
        min-width: 460px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }

    [data-enter] {
        opacity: 1;
        transform: none;
    }
}
.crest-step{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--st-md);min-height:44px;border-radius:var(--crn-sm);border:var(--bd-thin) solid var(--hue-rule-bold);font-size:13px;font-weight:600;letter-spacing:var(--trk-spread)}
.crest-step{
  background:#16A34A;color:#111213;text-decoration:none;
  transition:background 0.22s ease-out;}
.crest-step.crest-step{color:#111213;text-decoration:none;}
.crest-step:hover{background:#15803D;color:#FFFFFF;animation:none}
.crest-step.crest-step:hover{color:#FFFFFF;text-decoration:none}
.crest-step:hover::after{animation:none}
.crest-step:active{background:#166534;color:#FFFFFF}
.crest-step:focus-visible{outline:3px solid #111213;outline-offset:3px}
.crest-step{animation:crest-sweep 1.64s ease-in-out infinite}
@keyframes crest-sweep{0%{transform:translateY(0)}23.171%{transform:translateY(-5px)}51.220%,100%{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.crest-step,.crest-step::after{animation:none!important;transition:none!important}}
.support-vaste-offer{animation-delay:-0.41s}
.gardien-vaste-offer{animation-delay:-0.87s}
.ostensoir-noble-offer{animation-delay:-1.13s}
.baptistere-profond-offer{animation-delay:-0.29s}

@media (max-width: 512px) {
  .niche-brut-mail,
  .niche-brut-map,
  .niche-brut-series,
  .niche-brut-step,
  .niche-brut-quietButton { display: none !important; }
  .niche-brut-moreOpener { display: inline-flex !important; }
}
