@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/glyphes/montserrat-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/glyphes/montserrat-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+0304, U+0308, U+0329, U+2000-206F, 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('/glyphes/montserrat-latin-ext-600.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/glyphes/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+0304, U+0308, U+0329, U+2000-206F, 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('/glyphes/inter-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/glyphes/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+0304, U+0308, U+0329, U+2000-206F, 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('/glyphes/inter-latin-ext-500.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/glyphes/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+0304, U+0308, U+0329, U+2000-206F, 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: 600;
  font-display: swap;
  src: url('/glyphes/inter-latin-ext-600.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/glyphes/inter-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+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --tone-core: #39003c;
  --tone-key: #f94500;
  --tone-spot-deep: #dd3900;
  --tone-page: #FFFFFF;
  --tone-raised: #f8f4f8;
  --tone-script: #212c38;
  --tone-subtle: #000000;
  --tone-hairline: #e2dbe3;
  --tone-stroke-heavy: #b9a8bc;
  --tone-ramp-start: #ffa27e;
  --tone-blend-b: #fd6936;
  --tone-advisory: #a71e34;

  --gap-hair: 4px;
  --gap-tiny: 8px;
  --gap-snug: 12px;
  --gap-base: 16px;
  --gap-wide: 24px;
  --gap-roomy: 40px;
  --gap-vast: 64px;
  --gap-huge: 96px;

  --crn-hair: 1px;
  --crn-tiny: 2px;
  --crn-snug: 6px;
  --crn-base: 8px;
  --crn-wide: 14px;
  --crn-roomy: 20px;
  --crn-vast: 26px;
  --crn-huge: 34px;
  --crn-capsule: 9999px;
  --crn-orb: 50%;

  --ff-head: 'Montserrat', 'Trebuchet MS', sans-serif;
  --ff-copy: 'Inter', 'Segoe UI', sans-serif;

  --fs-display-1: 48px;
  --fs-head: 36px;
  --fs-lg-2: 26px;
  --fs-md-2: 21px;
  --fs-sm-2: 18px;
  --fs-micro-head: 16px;
  --fs-copy: 19px;
  --fs-sm: 16px;
  --fs-mini: 14px;

  --ld-snug: 1.2;
  --ld-base: 1.7;
  --ld-relaxed: 2.0;

  --fw-book: 400;
  --fw-medium: 500;
  --fw-strong: 600;

  --ls-tight: -0.01em;
  --ls-normal: 0;
  --ls-open: 0.02em;

  --elev-hair: 0 1px 1px rgba(57, 0, 60, 0.04);
  --elev-tiny: 0 1px 2px rgba(57, 0, 60, 0.05);
  --elev-snug: 0 2px 4px rgba(57, 0, 60, 0.08);
  --elev-base: 0 4px 10px rgba(57, 0, 60, 0.10);
  --elev-wide: 0 8px 20px rgba(57, 0, 60, 0.14);
  --elev-roomy: 0 14px 30px rgba(57, 0, 60, 0.16);
  --elev-vast: 0 20px 44px rgba(57, 0, 60, 0.18);
  --elev-huge: 0 28px 60px rgba(57, 0, 60, 0.20);

  --dur-brisk: 124ms;
  --dur-base: 260ms;
  --dur-long: 492ms;

  --crv-land: cubic-bezier(0.15, 0.94, 0.45, 0.99);
  --crv-start: cubic-bezier(0.57, 0.08, 0.53, 0.93);
  --crv-both: cubic-bezier(0.57, 0.08, 0.53, 0.93);
  --crv-spring: cubic-bezier(0.44, 1.3, 0.62, 1.1);

  --cont-page: 1180px;
  --cont-text: 1180px;
  --cont-slim: 630px;
  --cont-edge-wide: 32px;
  --cont-pad-md: 20px;
  --cont-padding-mobile: 12px;

  --rl-slim: 1px;
  --rl-regular: 2px;
  --rl-heavy: 3px;

  --top-tall: 62px;
  --top-size-mobile: 62px;

  --sec-y: 48px;
  --rg-height: 34px;
  --band: calc(var(--cont-page) + 2 * var(--cont-edge-wide));
}

@media (max-width: 759px) {
  :root {
    --fs-display-1: 32px;
    --fs-head: 26px;
    --fs-lg-2: 22px;
    --fs-md-2: 19px;
    --fs-sm-2: 17px;
    --fs-micro-head: 15px;
    --fs-copy: 18px;
    --fs-sm: 15px;
    --fs-mini: 13px;
    --sec-y: 34px;
    --cont-edge-wide: 16px;
  }
}

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

html,
body {
  overflow-x: clip;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-bottom: var(--rg-height);
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: var(--fs-copy);
  font-weight: var(--fw-book);
  line-height: var(--ld-relaxed);
  letter-spacing: var(--ls-normal);
  -webkit-font-smoothing: antialiased;
  animation: fondu var(--dur-long) var(--crv-land) both;
}

@keyframes fondu {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  overflow-wrap: anywhere;
  font-family: var(--ff-head);
  color: var(--tone-core);
  line-height: var(--ld-snug);
}

h1 {
  font-size: clamp(29px, 4.4vw, 48px);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-tight);
}

h2 {
  font-size: clamp(24px, 3vw, var(--fs-head));
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-tight);
}

h3 {
  font-size: var(--fs-lg-2);
  font-weight: var(--fw-strong);
}

h4 {
  font-size: var(--fs-md-2);
  font-weight: var(--fw-strong);
}

p {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

.skiplink {
  position: absolute;
  z-index: 200;
  left: var(--gap-base);
  padding: var(--gap-tiny) var(--gap-base);
  background: var(--tone-core);
  color: var(--tone-page);
  font-family: var(--ff-head);
  font-size: var(--fs-sm);
  text-decoration: none;
  border-radius: 0 0 var(--crn-snug) var(--crn-snug);
}

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

.skiplink:focus {
  top: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[data-show] {
  opacity: 0;
  transform: scale(0.965) translateY(18px);
  transition: opacity var(--dur-long) var(--crv-land), transform var(--dur-long) var(--crv-land);
}

[data-show].is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  [data-show] {
    opacity: 1;
    transform: none;
  }
}

.fondement-robuste {
  flex: 1 0 auto;
  display: block;
}

/* ── header · HEAD-SPLIT ─────────────────────────────────────────── */

.estafette-moderne {
  position: relative;
  z-index: 60;
  background: var(--tone-page);
  border-bottom: 0;
  backdrop-filter: blur(0px);
  transition: backdrop-filter var(--dur-base) var(--crv-both);
}

.estafette-moderne-strip {
  height: 62px;
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: var(--gap-snug);
  max-width: calc(var(--cont-page) + 2 * var(--cont-pad-md));
  margin-inline: auto;
  padding-inline: var(--cont-pad-md);
}

.estafette-moderne-glyph {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--gap-tiny);
  text-decoration: none;
  color: var(--tone-core);
  background: var(--tone-page);
}

.estafette-moderne-orb {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  overflow: hidden;
  background: var(--tone-raised);
  border: var(--rl-slim) solid var(--tone-hairline);
  border-radius: var(--crn-orb);
}

.estafette-moderne-art {
  flex-shrink: 0;
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.estafette-moderne-wordmark {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  font-family: var(--ff-head);
  color: var(--tone-core);
}

.estafette-moderne-brandtop {
  font-size: 17px;
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-tight);
}

.estafette-moderne-brandsub {
  font-size: 10px;
  font-weight: var(--fw-medium);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tone-spot-deep);
  background: var(--tone-page);
}

.estafette-moderne-menu-trigger {
  order: 5;
  margin-left: auto;
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 10px;
  background: var(--tone-page);
  color: var(--tone-core);
  border: var(--rl-slim) solid var(--tone-stroke-heavy);
  border-radius: var(--crn-snug);
  cursor: pointer;
}

.estafette-moderne-lines {
  display: block;
  height: 2px;
  width: 100%;
  background: var(--tone-core);
  transition: transform var(--dur-brisk) var(--crv-land), opacity var(--dur-brisk) var(--crv-land);
}

.estafette-moderne-menu-trigger[aria-expanded='true'] .estafette-moderne-lines:nth-child(1) {
  transform: translateY(3px) rotate(45deg);
}

.estafette-moderne-menu-trigger[aria-expanded='true'] .estafette-moderne-lines:nth-child(2) {
  transform: translateY(-4px) rotate(-45deg);
}

.estafette-moderne-guide {
  display: none;
  flex: 0 0 auto;
  margin-inline: auto;
  min-width: 0;
}

.estafette-moderne-set {
  display: flex;
  align-items: center;
  gap: var(--gap-tiny);
  list-style: none;
}

.estafette-moderne-node {
  display: block;
  position: relative;
}

.estafette-moderne-node[hidden] {
  display: none;
}

.estafette-moderne-href {
  display: block;
  padding: 12px 6px;
  color: var(--tone-script);
  background: var(--tone-page);
  font-family: var(--ff-copy);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: var(--rl-regular) solid transparent;
  transition: color var(--dur-brisk) var(--crv-land), border-color var(--dur-brisk) var(--crv-land);
}

.estafette-moderne-href:hover {
  color: var(--tone-spot-deep);
  border-bottom-color: var(--tone-key);
}

.estafette-moderne-href[aria-current='page'] {
  color: var(--tone-core);
  font-weight: var(--fw-strong);
  border-bottom-color: var(--tone-key);
}

.estafette-moderne-rest {
  display: none;
  position: relative;
}

.estafette-moderne-rest.is-shown {
  display: block;
}

.estafette-moderne-extra {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-hair);
  padding: 12px 6px;
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  white-space: nowrap;
  border: 0;
  border-bottom: var(--rl-regular) solid transparent;
  cursor: pointer;
}

.estafette-moderne-extra:hover {
  color: var(--tone-spot-deep);
  border-bottom-color: var(--tone-key);
}

.estafette-moderne-stash {
  display: none;
  position: absolute;
  z-index: 80;
  top: calc(100% + 6px);
  right: 0;
  min-width: 230px;
  max-height: 70vh;
  overflow-y: auto;
  padding: var(--gap-tiny);
  list-style: none;
  background: var(--tone-page);
  border: var(--rl-slim) solid var(--tone-hairline);
  border-radius: var(--crn-base);
  box-shadow: var(--elev-wide);
}

.estafette-moderne-stash.is-open {
  display: block;
}

.estafette-moderne-stashnode {
  display: block;
}

.estafette-moderne-stashhref {
  display: block;
  padding: 11px var(--gap-snug);
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  text-decoration: none;
  border-radius: var(--crn-snug);
}

.estafette-moderne-stashhref:hover {
  background: var(--tone-raised);
  color: var(--tone-spot-deep);
}

.estafette-moderne-controls {
  order: 6;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: var(--gap-tiny);
  margin-left: auto;
}

.estafette-moderne-mark {
  display: none;
  padding: 5px 9px;
  background: var(--tone-raised);
  color: var(--tone-core);
  font-family: var(--ff-head);
  font-size: var(--fs-mini);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-open);
  border-radius: var(--crn-tiny);
}

.estafette-moderne-quiet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--gap-base);
  background: var(--tone-page);
  color: var(--tone-core);
  font-family: var(--ff-head);
  font-size: var(--fs-mini);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-open);
  text-decoration: none;
  white-space: nowrap;
  border: var(--rl-slim) solid var(--tone-core);
  border-radius: var(--crn-tiny);
  transition: background-color var(--dur-brisk) var(--crv-land), color var(--dur-brisk) var(--crv-land);
}

.estafette-moderne-quiet:hover {
  background: var(--tone-core);
  color: var(--tone-page);
}

.estafette-moderne-pane {
  display: none;
  position: absolute;
  z-index: 70;
  top: 100%;
  left: 0;
  right: 0;
  max-height: calc(100vh - 62px);
  overflow-y: auto;
  padding: var(--gap-snug) var(--cont-padding-mobile) var(--gap-wide);
  background: var(--tone-page);
  border-top: var(--rl-slim) solid var(--tone-hairline);
  box-shadow: var(--elev-wide);
}

.estafette-moderne-pane.is-open {
  display: block;
}

.estafette-moderne-pane-set {
  display: flex;
  flex-direction: column;
  list-style: none;
}

.estafette-moderne-pane-node {
  display: block;
}

.estafette-moderne-pane-href {
  display: block;
  padding: 13px 4px;
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: var(--rl-slim) solid var(--tone-hairline);
}

.estafette-moderne-pane-href[aria-current='page'] {
  color: var(--tone-core);
  font-weight: var(--fw-strong);
}

@media (min-width: 760px) {
  .estafette-moderne-mark {
    display: inline-block;
  }
}

@media (min-width: 1024px) {
  .estafette-moderne-guide {
    display: block;
  }
  .estafette-moderne-menu-trigger {
    display: none;
  }
  .estafette-moderne-pane {
    display: none;
  }
}

@media (max-width: 1023px) {
  .estafette-moderne-menu-trigger {
    order: 7;
    display: flex;
    margin-left: 0;
  }
}

@media (max-width: 559px) {
  .estafette-moderne-wordmark {
    display: none;
  }
  .estafette-moderne-strip {
    gap: var(--gap-tiny);
    padding-inline: var(--cont-padding-mobile);
  }
}

/* ── responsible-gaming strip · RG-06 ─────────────────────────────── */

.veilleuse-brut {
  position: fixed;
  z-index: 95;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  padding: 6px var(--cont-padding-mobile);
  text-align: center;
  pointer-events: none;
  background: var(--tone-advisory);
  color: #ffffff;
  font-family: var(--ff-copy);
  font-size: var(--fs-mini);
  line-height: 1.25;
  animation: fondu var(--dur-long) var(--crv-land) both;
}

.veilleuse-brut-sign {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  margin-inline-end: 6px;
  padding: 1px 5px;
  background: #ffffff;
  color: var(--tone-advisory);
  font-family: var(--ff-head);
  font-size: 11px;
  font-weight: var(--fw-strong);
  border-radius: var(--crn-tiny);
}

.veilleuse-brut-more {
  display: inline;
}

.veilleuse-brut-route {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 2px auto 0;
  pointer-events: auto;
  background: var(--tone-advisory);
  color: #ffffff;
  text-underline-offset: 2px;
}

@media (max-width: 640px) {
  .veilleuse-brut {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.2;
  }
  .veilleuse-brut-more {
    display: none;
  }
  .veilleuse-brut-sign {
    font-size: 10px;
  }
}

/* ── breadcrumbs · BREAD-05 ──────────────────────────────────────── */

.lampadaire-mince {
  display: block;
  padding-block: var(--gap-base);
}

.lampadaire-mince-frame {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.lampadaire-mince-href {
  font-family: var(--ff-head);
  font-size: var(--fs-sm-2);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-tight);
  text-transform: uppercase;
  text-decoration: none;
  background: var(--tone-page);
  color: #4a4a4a;
}

.lampadaire-mince-href:hover {
  color: var(--tone-spot-deep);
}

.lampadaire-mince-sep {
  margin-inline: var(--gap-tiny);
  font-family: var(--ff-head);
  font-size: var(--fs-sm-2);
  font-weight: var(--fw-strong);
  background: var(--tone-page);
  color: var(--tone-spot-deep);
}

.lampadaire-mince-now {
  font-family: var(--ff-head);
  font-size: var(--fs-sm-2);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-tight);
  text-transform: uppercase;
  background: var(--tone-page);
  color: var(--tone-script);
}

/* ── hero · HERO-05 ──────────────────────────────────────────────── */

.ecrin-secret {
  display: block;
  position: relative;
  padding-block: var(--sec-y);
  background-color: var(--tone-raised);
  background-image: linear-gradient(rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.94)), url('/assets/artwork-premium.webp');
  background-size: cover;
  background-position: center;
}

.ecrin-secret-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.ecrin-secret-fill {
  display: block;
  padding: var(--gap-roomy) var(--gap-wide);
  text-align: center;
  background: var(--tone-page);
  color: var(--tone-script);
  outline: 4px solid var(--tone-script);
  box-shadow: 0 0 0 8px var(--tone-page), 0 0 0 9px var(--tone-script);
}

.ecrin-secret-eyebrow {
  display: block;
  margin-block-end: var(--gap-snug);
  background: var(--tone-page);
  color: var(--tone-spot-deep);
  font-family: var(--ff-copy);
  font-size: var(--fs-sm);
  font-style: italic;
  letter-spacing: var(--ls-open);
}

.ecrin-secret-rule {
  width: 80px;
  height: 1px;
  margin: var(--gap-wide) auto;
  background: var(--tone-key);
  border: 0;
}

.ecrin-secret-under {
  margin-inline: auto;
  max-width: var(--cont-slim);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: var(--fs-sm-2);
  line-height: var(--ld-base);
}

.ecrin-secret-bar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-tiny);
  margin-block-start: var(--gap-wide);
}

.ecrin-secret-terms {
  display: block;
  background: var(--tone-page);
  color: #4a4a4a;
  font-size: var(--fs-mini);
  line-height: 1.4;
}

/* ── page header · PHEAD-05 ──────────────────────────────────────── */

.cellule-leger {
  display: block;
  padding-block: var(--sec-y);
  background: var(--tone-raised);
}

.cellule-leger-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.cellule-leger-crumbs {
  display: block;
  margin-block-end: var(--gap-snug);
  font-size: var(--fs-mini);
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  color: #4a4a4a;
  background: var(--tone-raised);
}

.cellule-leger-crumbs a {
  color: #4a4a4a;
  background: var(--tone-raised);
  text-decoration: none;
}

.cellule-leger-crumbs a:hover {
  color: var(--tone-spot-deep);
}

.cellule-leger-top {
  display: block;
}

.cellule-leger-under {
  margin-block-start: var(--gap-snug);
  color: var(--tone-script);
  background: var(--tone-raised);
  font-size: var(--fs-sm-2);
  line-height: var(--ld-base);
}

/* ── prose · PROSE-20 ────────────────────────────────────────────── */

.veilleur-profond {
  display: block;
  padding-block: var(--sec-y);
}

.veilleur-profond-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.veilleur-profond-fill {
  display: block;
}

.veilleur-profond-fill h2 {
  margin-block-start: var(--gap-roomy);
  margin-block-end: var(--gap-base);
  font-size: var(--fs-lg-2);
  font-weight: var(--fw-book);
  letter-spacing: var(--ls-normal);
}

.veilleur-profond-fill h2:first-child {
  margin-block-start: 0;
}

.veilleur-profond-fill p {
  margin-block-end: var(--gap-wide);
  line-height: var(--ld-relaxed);
}

.veilleur-profond-lead {
  font-size: 115%;
  line-height: var(--ld-base);
}

.veilleur-profond-fill a {
  color: var(--tone-spot-deep);
  background: var(--tone-page);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--dur-brisk) var(--crv-land);
}

.veilleur-profond-fill a:hover {
  color: var(--tone-core);
}

.veilleur-profond-fill ul,
.veilleur-profond-fill ol {
  margin-block-end: var(--gap-wide);
  padding-inline-start: var(--gap-wide);
}

.veilleur-profond-fill li {
  margin-block-end: var(--gap-snug);
  line-height: var(--ld-base);
}

.veilleur-profond-fill ul li::marker {
  color: var(--tone-key);
}

.veilleur-profond-fill ol li::marker {
  color: var(--tone-spot-deep);
  font-family: var(--ff-head);
  font-weight: var(--fw-strong);
}

.veilleur-profond-figure {
  display: block;
  max-width: 744px;
  margin: var(--gap-roomy) auto;
  padding: var(--gap-snug);
  background: var(--tone-raised);
  border: var(--rl-slim) solid var(--tone-hairline);
  border-radius: var(--crn-base);
}

.veilleur-profond-figure--tall {
  max-width: 560px;
}

.veilleur-profond-art {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--crn-snug);
}

.veilleur-profond-cap {
  display: block;
  margin-block-start: var(--gap-tiny);
  background: var(--tone-raised);
  color: #4a4a4a;
  font-size: var(--fs-mini);
  line-height: 1.4;
  text-align: center;
}

/* ── items grid · GRID-04 ────────────────────────────────────────── */

.preau-secret {
  display: block;
  padding-block: var(--sec-y);
  background: var(--tone-raised);
}

.preau-secret-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.preau-secret-heading {
  margin-block-end: var(--gap-wide);
}

.preau-secret-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: var(--gap-wide);
}

.preau-secret-card {
  display: block;
  padding: var(--gap-wide);
  background: var(--tone-page);
  color: var(--tone-script);
  border: var(--rl-slim) solid var(--tone-hairline);
  border-radius: var(--crn-base);
  transition: background-color var(--dur-base) var(--crv-land), border-color var(--dur-base) var(--crv-land);
}

.preau-secret-card:hover {
  background: #fff6f2;
  border-color: var(--tone-ramp-start);
}

.preau-secret-orb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-block-end: var(--gap-base);
  background: var(--tone-key);
  color: var(--tone-core);
  border-radius: var(--crn-orb);
}

.preau-secret-num {
  font-family: var(--ff-head);
  font-size: var(--fs-md-2);
  font-weight: var(--fw-strong);
  background: var(--tone-key);
  color: var(--tone-core);
}

.preau-secret-pict {
  display: block;
  width: 26px;
  height: 26px;
  fill: none;
  stroke: var(--tone-core);
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.preau-secret-top {
  margin-block-end: var(--gap-snug);
  font-family: var(--ff-copy);
  font-size: var(--fs-md-2);
  font-weight: var(--fw-strong);
  color: var(--tone-core);
}

.preau-secret-words {
  display: block;
  color: var(--tone-script);
  background: var(--tone-page);
  font-size: var(--fs-copy);
  line-height: var(--ld-base);
}

.preau-secret-slot {
  display: block;
  grid-column: 1 / -1;
}

/* ── data table · TABLE-06 ───────────────────────────────────────── */

.receptacle-fin {
  display: block;
  padding-block: var(--sec-y);
}

.receptacle-fin-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.receptacle-fin-cap {
  display: block;
  margin-block-end: var(--gap-base);
  text-align: center;
  background: var(--tone-page);
  color: #4a4a4a;
  font-family: var(--ff-head);
  font-size: var(--fs-md-2);
  font-style: italic;
}

.receptacle-fin-cap::before {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  margin: 0 auto var(--gap-snug);
  background: var(--tone-key);
}

.receptacle-fin-scroll {
  display: block;
  overflow-x: auto;
}

.receptacle-fin-grid {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-sm);
}

.receptacle-fin-grid th,
.receptacle-fin-grid td {
  padding: var(--gap-snug) var(--gap-base);
  text-align: start;
  vertical-align: top;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  border-bottom: var(--rl-slim) solid var(--tone-hairline);
  line-height: 1.5;
}

.receptacle-fin-grid thead th {
  background: var(--tone-core);
  color: var(--tone-page);
  font-family: var(--ff-head);
  font-size: var(--fs-mini);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  white-space: nowrap;
}

.receptacle-fin-grid tbody th {
  background: var(--tone-page);
  color: var(--tone-core);
  font-family: var(--ff-copy);
  font-weight: var(--fw-strong);
}

.receptacle-fin-grid tbody td {
  background: var(--tone-page);
  color: var(--tone-script);
}

.receptacle-fin-grid tbody tr:nth-child(even) th,
.receptacle-fin-grid tbody tr:nth-child(even) td {
  background: var(--tone-raised);
}

@media (max-width: 640px) {
  .receptacle-fin-grid thead th {
    white-space: normal;
  }
  .receptacle-fin-grid th,
  .receptacle-fin-grid td {
    padding: var(--gap-tiny);
    font-size: var(--fs-mini);
  }
}

@media (max-width: 480px) {
  .receptacle-fin-grid th,
  .receptacle-fin-grid td {
    padding: 6px 5px;
    font-size: 11px;
    line-height: 1.45;
  }
}

/* ── reviews · REV-06 ────────────────────────────────────────────── */

.pavois-grand {
  display: block;
  padding-block: var(--sec-y);
}

.pavois-grand-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.pavois-grand-heading {
  margin-block-end: var(--gap-wide);
}

.pavois-grand-set {
  display: block;
}

.pavois-grand-node {
  display: block;
  padding-block: var(--gap-base);
  border-bottom: var(--rl-slim) solid var(--tone-hairline);
}

.pavois-grand-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--gap-tiny);
  margin-block-end: var(--gap-tiny);
}

.pavois-grand-who {
  background: var(--tone-page);
  color: var(--tone-core);
  font-size: var(--fs-copy);
  font-weight: var(--fw-strong);
}

.pavois-grand-score {
  background: var(--tone-page);
  color: var(--tone-spot-deep);
  font-family: var(--ff-head);
  font-size: var(--fs-sm);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-open);
}

.pavois-grand-quote {
  display: block;
  margin: 0;
}

.pavois-grand-words {
  color: var(--tone-script);
  background: var(--tone-page);
  font-size: var(--fs-copy);
  line-height: var(--ld-base);
}

.pavois-grand-slot {
  display: block;
  padding-block: var(--gap-wide);
}

/* ── faq · FAQ-02 ────────────────────────────────────────────────── */

.preau-grand {
  display: block;
  padding-block: var(--sec-y);
  background: var(--tone-raised);
}

.preau-grand-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.preau-grand-heading {
  margin-block-end: var(--gap-wide);
}

.preau-grand-set {
  display: block;
}

.preau-grand-node {
  display: block;
  padding-block: var(--gap-base);
  border-bottom: var(--rl-slim) solid var(--tone-hairline);
}

.preau-grand-ask {
  display: block;
  list-style: none;
  cursor: pointer;
}

.preau-grand-ask::-webkit-details-marker {
  display: none;
}

.preau-grand-top {
  display: block;
  font-family: var(--ff-head);
  font-size: var(--fs-md-2);
  font-weight: var(--fw-strong);
  color: var(--tone-core);
  background: var(--tone-raised);
}

.preau-grand-fill {
  display: block;
  margin-block-start: var(--gap-snug);
  color: var(--tone-script);
  background: var(--tone-raised);
  font-size: var(--fs-copy);
  line-height: var(--ld-relaxed);
}

.preau-grand-slot {
  display: block;
  padding-block: var(--gap-wide);
}

/* ── cta block · CTA-02 ──────────────────────────────────────────── */

.parure-prime {
  display: block;
  padding-block: var(--sec-y);
}

.parure-prime-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.parure-prime-box {
  max-width: var(--cont-slim);
  margin-inline: auto;
  padding: var(--gap-roomy) var(--gap-wide);
  text-align: center;
  background: #f5eff5;
  color: var(--tone-script);
  border: var(--rl-slim) solid var(--tone-hairline);
  border-radius: var(--crn-wide);
}

.parure-prime-top {
  margin-block-end: var(--gap-base);
}

.parure-prime-words {
  margin-block-end: var(--gap-wide);
  background: #f5eff5;
  color: var(--tone-script);
  line-height: var(--ld-base);
}

.parure-prime-terms {
  display: block;
  margin-block-start: var(--gap-snug);
  background: #f5eff5;
  color: #3d3d3d;
  font-size: var(--fs-mini);
  line-height: 1.4;
}

/* ── inline offer slot ───────────────────────────────────────────── */

.appel-vif {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-tiny);
  margin-block: var(--gap-roomy);
  padding: var(--gap-wide);
  text-align: center;
  background: var(--tone-raised);
  color: var(--tone-script);
  border: var(--rl-slim) dashed var(--tone-stroke-heavy);
  border-radius: var(--crn-base);
}

.appel-vif-heading {
  font-family: var(--ff-head);
  font-size: var(--fs-md-2);
  font-weight: var(--fw-strong);
  background: var(--tone-raised);
  color: var(--tone-core);
}

.appel-vif-terms {
  display: block;
  background: var(--tone-raised);
  color: #3d3d3d;
  font-size: var(--fs-mini);
  line-height: 1.4;
}

/* ── author byline · BYLINE-05 ───────────────────────────────────── */

.piedestal-austere {
  display: block;
  background: var(--tone-core);
}

.piedestal-austere-frame {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-base);
  max-width: var(--band);
  margin-inline: auto;
  padding: var(--gap-wide) var(--cont-edge-wide);
}

.piedestal-austere-who {
  display: flex;
  align-items: center;
  gap: var(--gap-snug);
}

.piedestal-austere-shot {
  flex-shrink: 0;
  display: block;
  position: relative;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border-radius: var(--crn-orb);
}

.piedestal-austere-avatar {
  display: block;
  width: 123px;
  height: 123px;
  max-width: none;
  margin-left: -23px;
  margin-top: -2px;
  object-fit: cover;
}

.piedestal-austere-words {
  display: block;
}

.piedestal-austere-heading {
  display: block;
  background: var(--tone-core);
  color: var(--tone-page);
  font-family: var(--ff-head);
  font-size: var(--fs-sm-2);
  font-weight: var(--fw-strong);
}

.piedestal-austere-heading a {
  background: var(--tone-core);
  color: var(--tone-page);
  text-decoration: none;
}

.piedestal-austere-heading a:hover {
  color: var(--tone-ramp-start);
}

.piedestal-austere-position {
  display: block;
  background: var(--tone-core);
  color: #e6d6e7;
  font-size: var(--fs-mini);
  line-height: 1.4;
}

.piedestal-austere-prompt {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-hair);
  min-height: 44px;
  padding-inline: var(--gap-base);
  background: var(--tone-core);
  color: var(--tone-ramp-start);
  font-family: var(--ff-head);
  font-size: var(--fs-mini);
  font-weight: var(--fw-strong);
  text-decoration: none;
  border: var(--rl-slim) solid var(--tone-ramp-start);
  border-radius: var(--crn-tiny);
  transition: background-color var(--dur-brisk) var(--crv-land), color var(--dur-brisk) var(--crv-land);
}

.piedestal-austere-prompt::after {
  content: '\2192';
  display: inline-block;
  transition: transform var(--dur-brisk) var(--crv-land);
}

.piedestal-austere-prompt:hover {
  background: var(--tone-ramp-start);
  color: var(--tone-core);
}

.piedestal-austere-prompt:hover::after {
  transform: translateX(3px);
}

/* ── author card · AUTH-07 ───────────────────────────────────────── */

.crucifix-voile {
  display: block;
  padding-block: var(--sec-y);
}

.crucifix-voile-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.crucifix-voile-card {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: var(--gap-wide);
  padding: var(--gap-roomy) var(--gap-wide);
  background: var(--tone-raised);
  color: var(--tone-script);
  border-left: 4px solid var(--tone-key);
  border-radius: var(--crn-base);
}

.crucifix-voile-shot {
  display: block;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border-radius: var(--crn-orb);
}

.crucifix-voile-avatar {
  display: block;
  width: 220px;
  height: 220px;
  max-width: none;
  margin-left: -42px;
  margin-top: -3px;
  object-fit: cover;
}

.crucifix-voile-body {
  display: block;
}

.crucifix-voile-glyphquote {
  display: block;
  line-height: 0.7;
  background: var(--tone-raised);
  color: var(--tone-spot-deep);
  font-family: var(--ff-head);
  font-size: var(--fs-display-1);
}

.crucifix-voile-bio {
  margin-block-start: var(--gap-snug);
  background: var(--tone-raised);
  color: var(--tone-script);
  font-size: var(--fs-sm-2);
  font-style: italic;
  line-height: var(--ld-base);
}

.crucifix-voile-attr {
  display: block;
  margin-block-start: var(--gap-base);
  background: var(--tone-raised);
  color: #3d3d3d;
  font-size: var(--fs-sm);
  letter-spacing: var(--ls-open);
}

@media (max-width: 559px) {
  .crucifix-voile-card {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ── legal section · LEGAL-07 ────────────────────────────────────── */

.jube-noble {
  display: block;
  padding-block: var(--sec-y);
}

.jube-noble-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.jube-noble-eyebrow {
  display: block;
  margin-block-end: var(--gap-tiny);
  background: var(--tone-page);
  color: var(--tone-spot-deep);
  font-size: var(--fs-mini);
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
}

.jube-noble-intro {
  margin-block-end: var(--gap-roomy);
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-head);
  font-size: var(--fs-md-2);
  font-style: italic;
  line-height: var(--ld-base);
}

.jube-noble-part {
  display: block;
  margin-block-end: var(--gap-roomy);
}

.jube-noble-part h3 {
  font-family: var(--ff-head);
  font-size: var(--fs-lg-2);
  font-style: italic;
}

.jube-noble-rule {
  width: 80px;
  height: 2px;
  margin: var(--gap-snug) 0 var(--gap-base);
  background: var(--tone-key);
  border: 0;
}

.jube-noble-part p {
  margin-block-end: var(--gap-base);
  line-height: var(--ld-relaxed);
}

.jube-noble-part p:first-of-type::first-letter {
  float: left;
  margin-inline-end: 6px;
  line-height: 0.8;
  color: var(--tone-spot-deep);
  font-family: var(--ff-head);
  font-size: 3em;
  font-weight: var(--fw-strong);
}

.jube-noble-facts {
  display: block;
  margin-block-end: var(--gap-roomy);
  padding: var(--gap-wide);
  list-style: none;
  background: var(--tone-raised);
  color: var(--tone-script);
  border-radius: var(--crn-base);
}

.jube-noble-facts li {
  margin-block-end: var(--gap-snug);
  line-height: var(--ld-base);
}

.jube-noble-note {
  display: block;
  padding: var(--gap-base);
  background: var(--tone-raised);
  color: #3d3d3d;
  border-left: 4px solid var(--tone-stroke-heavy);
  font-size: var(--fs-sm);
  line-height: var(--ld-base);
}

/* ── contact form · FORM-01 ──────────────────────────────────────── */

.peristyle-voile {
  display: block;
  padding-block: var(--sec-y);
}

.peristyle-voile-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.peristyle-voile-intro {
  margin-block-end: var(--gap-wide);
  background: var(--tone-page);
  color: var(--tone-script);
  font-size: var(--fs-copy);
  line-height: var(--ld-relaxed);
}

.peristyle-voile-done {
  display: none;
  padding: var(--gap-base);
  background: #e6f6ec;
  color: #14532d;
  border: var(--rl-slim) solid #86c9a2;
  border-radius: var(--crn-base);
}

.peristyle-voile-done.is-visible {
  display: block;
}

.peristyle-voile-form {
  display: flex;
  flex-direction: column;
  gap: var(--gap-base);
  padding: var(--gap-wide);
  background: var(--tone-raised);
  border-radius: var(--crn-base);
  box-shadow: var(--elev-snug);
}

.peristyle-voile-cell {
  display: flex;
  flex-direction: column;
  gap: var(--gap-tiny);
}

.peristyle-voile-tag {
  background: var(--tone-raised);
  color: var(--tone-core);
  font-family: var(--ff-copy);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
}

.peristyle-voile-input {
  height: 48px;
  padding: var(--gap-snug) var(--gap-base);
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: var(--fs-copy);
  border: var(--rl-slim) solid var(--tone-stroke-heavy);
  border-radius: var(--crn-base);
}

.peristyle-voile-area {
  min-height: 120px;
  padding: var(--gap-snug) var(--gap-base);
  resize: vertical;
  background: var(--tone-page);
  color: var(--tone-script);
  font-family: var(--ff-copy);
  font-size: var(--fs-copy);
  border: var(--rl-slim) solid var(--tone-stroke-heavy);
  border-radius: var(--crn-base);
}

.peristyle-voile-input:focus,
.peristyle-voile-area:focus {
  outline: 2px solid var(--tone-spot-deep);
  border-color: var(--tone-spot-deep);
}

.peristyle-voile-send {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: var(--gap-hair);
  min-height: 48px;
  padding-inline: var(--gap-roomy);
  background: var(--tone-core);
  color: var(--tone-page);
  font-family: var(--ff-head);
  font-size: var(--fs-sm);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-open);
  text-transform: uppercase;
  border: 0;
  border-radius: var(--crn-base);
  cursor: pointer;
  transition: background-color var(--dur-brisk) var(--crv-land);
}

.peristyle-voile-send::after {
  content: '\2192';
  display: inline-block;
  transition: transform var(--dur-brisk) var(--crv-land);
}

.peristyle-voile-send:hover {
  background: var(--tone-spot-deep);
  color: var(--tone-page);
}

.peristyle-voile-send:hover::after {
  transform: translateX(3px);
}

/* ── error block · ERR-07 ────────────────────────────────────────── */

.sentinelle-large {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: var(--gap-vast);
  background-color: var(--tone-page);
  background-image: linear-gradient(rgba(249, 69, 0, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(249, 69, 0, 0.08) 1px, transparent 1px);
  background-size: 40px 40px;
}

.sentinelle-large-frame {
  display: block;
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
  text-align: center;
}

.sentinelle-large-top {
  max-width: var(--cont-slim);
  margin-inline: auto;
}

.sentinelle-large-words {
  max-width: var(--cont-slim);
  margin: var(--gap-base) auto var(--gap-wide);
  background: var(--tone-page);
  color: var(--tone-script);
  line-height: var(--ld-base);
}

.sentinelle-large-back {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-hair);
  min-height: 48px;
  padding-inline: var(--gap-roomy);
  background: var(--tone-core);
  color: var(--tone-page);
  font-family: var(--ff-head);
  font-size: var(--fs-sm);
  font-weight: var(--fw-strong);
  letter-spacing: var(--ls-open);
  text-decoration: none;
  border-radius: var(--crn-base);
  transition: background-color var(--dur-brisk) var(--crv-land);
}

.sentinelle-large-back::after {
  content: '\2192';
  display: inline-block;
  transition: transform var(--dur-brisk) var(--crv-land);
}

.sentinelle-large-back:hover {
  background: var(--tone-spot-deep);
  color: var(--tone-page);
}

.sentinelle-large-back:hover::after {
  transform: translateX(3px);
}

/* ── cookie banner · COOK-02 ─────────────────────────────────────── */

.prie-dieu-pur {
  position: fixed;
  z-index: 90;
  bottom: var(--rg-height);
  left: 0;
  right: 0;
  display: none;
  padding: var(--gap-base) var(--cont-edge-wide);
  background: var(--tone-core);
  border-top: var(--rl-slim) solid rgba(255, 255, 255, 0.10);
  animation: fondu var(--dur-base) var(--crv-land) both;
}

.prie-dieu-pur.is-open {
  display: block;
}

.prie-dieu-pur-frame {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-base);
  max-width: var(--band);
  margin-inline: auto;
}

.prie-dieu-pur-blurb {
  flex: 1 1 300px;
  background: var(--tone-core);
  color: #ede2ee;
  font-size: var(--fs-sm);
  line-height: 1.45;
}

.prie-dieu-pur-controls {
  flex-shrink: 0;
  display: flex;
  gap: var(--gap-snug);
}

.prie-dieu-pur-yes {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--gap-base);
  background: var(--tone-key);
  color: var(--tone-core);
  font-family: var(--ff-head);
  font-size: var(--fs-mini);
  font-weight: var(--fw-strong);
  border: 0;
  border-radius: var(--crn-snug);
  cursor: pointer;
  transition: background-color var(--dur-brisk) var(--crv-land);
}

.prie-dieu-pur-yes:hover {
  background: var(--tone-ramp-start);
  color: var(--tone-core);
}

.prie-dieu-pur-refuse {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--gap-base);
  background: var(--tone-core);
  color: #ffffff;
  font-family: var(--ff-head);
  font-size: var(--fs-mini);
  font-weight: var(--fw-strong);
  border: var(--rl-slim) solid #b79bb9;
  border-radius: var(--crn-snug);
  cursor: pointer;
  transition: background-color var(--dur-brisk) var(--crv-land), color var(--dur-brisk) var(--crv-land);
}

.prie-dieu-pur-refuse:hover {
  background: #ffffff;
  color: var(--tone-core);
}

@media (max-width: 720px) {
  .prie-dieu-pur {
    padding: 12px 14px;
  }
  .prie-dieu-pur-frame {
    gap: var(--gap-tiny);
  }
  .prie-dieu-pur-blurb {
    font-size: 13px;
    line-height: 1.35;
  }
  .prie-dieu-pur-yes,
  .prie-dieu-pur-refuse {
    min-height: 36px;
    padding-inline: 14px;
    font-size: 12px;
  }
}

/* ── footer · FOOT-09 ────────────────────────────────────────────── */

.amphitheatre-dense {
  flex-shrink: 0;
  display: block;
  background: var(--tone-core);
  border-top: var(--rl-heavy) solid var(--tone-key);
  padding-block: var(--gap-base);
}

.amphitheatre-dense-frame {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap-base);
  max-width: var(--band);
  margin-inline: auto;
  padding-inline: var(--cont-edge-wide);
}

.amphitheatre-dense-glyph {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: var(--gap-tiny);
  background: var(--tone-core);
  color: var(--tone-page);
  text-decoration: none;
}

.amphitheatre-dense-art {
  display: block;
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.amphitheatre-dense-brandtop {
  font-family: var(--ff-head);
  font-size: var(--fs-sm);
  font-weight: var(--fw-strong);
  background: var(--tone-core);
  color: var(--tone-page);
}

.amphitheatre-dense-guide {
  flex: 1 1 520px;
  display: block;
}

.amphitheatre-dense-set {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-base);
  list-style: none;
}

.amphitheatre-dense-node {
  display: block;
}

.amphitheatre-dense-href {
  background: var(--tone-core);
  color: #ede2ee;
  font-size: var(--fs-sm);
  letter-spacing: var(--ls-open);
  text-decoration: none;
  transition: color var(--dur-brisk) var(--crv-land);
}

.amphitheatre-dense-href:hover {
  color: var(--tone-ramp-start);
}

.amphitheatre-dense-fine {
  flex: 1 1 62%;
  display: block;
}

.amphitheatre-dense-fineset {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-snug);
  list-style: none;
}

.amphitheatre-dense-finehref {
  background: var(--tone-core);
  color: #cbb6cd;
  font-size: var(--fs-mini);
  text-decoration: none;
  transition: color var(--dur-brisk) var(--crv-land);
}

.amphitheatre-dense-finehref:hover {
  color: var(--tone-ramp-start);
}

.amphitheatre-dense-note {
  margin-inline-start: auto;
  background: var(--tone-core);
  color: #cbb6cd;
  font-size: var(--fs-mini);
  line-height: 1.4;
}

@media (max-width: 1023px) {
  .amphitheatre-dense-frame {
    flex-direction: column;
    align-items: flex-start;
  }
  .amphitheatre-dense-note {
    margin-inline-start: 0;
  }
}

/* ── offer button base geometry ──────────────────────────────────── */

.estafette-moderne-go,
.ecrin-secret-go,
.parure-prime-go,
.appel-vif-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 28px;
  font-family: var(--ff-head);
  font-size: 15px;
  font-weight: var(--fw-strong);
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
  border-radius: var(--crn-tiny);
  cursor: pointer;
}

.estafette-moderne-strip .estafette-moderne-go {
  min-height: 44px;
  padding: 10px 16px;
  font-size: 13px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

@media (max-width: 559px) {
  .estafette-moderne-strip .estafette-moderne-go {
    padding: 9px 12px;
    font-size: 12px;
  }
}

/* ── offer button · cta-style.mjs (green #16A34A, shine-breathe) ──── */

.pojamo-act {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-width: 100%;
  background: #16A34A;
  color: #000000;
  text-decoration: none;
  border: var(--rl-slim) solid var(--tone-ramp-start);
  border-radius: var(--crn-tiny);
  animation: pojamo-glow 1.71s linear infinite;
  transition: background var(--dur-brisk) var(--crv-land), color var(--dur-brisk) var(--crv-land), transform var(--dur-brisk) var(--crv-land);
}

.pojamo-act.pojamo-act {
  color: #000000;
  text-decoration: none;
}

.pojamo-act::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  pointer-events: none;
  background-image: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .42) 50%, transparent 100%);
  background-size: 45% 100%;
  background-repeat: no-repeat;
  background-position: -160% 0;
  animation: pojamo-sheen 1.71s ease-in-out infinite;
}

.pojamo-act:hover {
  background: #15803D;
  color: #FFFFFF;
  animation: none;
}

.pojamo-act.pojamo-act:hover {
  color: #FFFFFF;
  text-decoration: none;
}

.pojamo-act:hover::after {
  animation: none;
}

.pojamo-act:active {
  background: #166534;
  color: #FFFFFF;
}

.pojamo-act:focus-visible {
  outline: 3px solid #000000;
  outline-offset: 3px;
}

@keyframes pojamo-glow {
  0% {
    transform: scale(1);
    animation-timing-function: cubic-bezier(.25, .8, .35, 1);
  }
  16.959% {
    transform: scale(1.045);
    animation-timing-function: cubic-bezier(.45, .05, .55, .95);
  }
  61.988%,
  100% {
    transform: scale(1);
  }
}

@keyframes pojamo-sheen {
  0%,
  7.018% {
    background-position: -160% 0;
  }
  53.216%,
  100% {
    background-position: 330% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pojamo-act,
  .pojamo-act::after {
    animation: none !important;
    transition: none !important;
  }
}

/* ── offer button geometry keeps the site scale (wins over the block above) */

.ecrin-secret-bar .pojamo-act,
.appel-vif .pojamo-act,
.parure-prime-box .pojamo-act {
  min-height: 50px;
  padding: 14px 28px;
  font-family: var(--ff-head);
  font-size: 15px;
  font-weight: var(--fw-strong);
  letter-spacing: 0.04em;
}

.estafette-moderne-strip .pojamo-act {
  min-height: 44px;
  padding: 10px 16px;
  font-family: var(--ff-head);
  font-size: 13px;
  font-weight: var(--fw-strong);
  letter-spacing: 0.02em;
  white-space: nowrap;
  animation-delay: -0.85s;
}

@media (max-width: 559px) {
  .estafette-moderne-strip .pojamo-act {
    padding: 9px 12px;
    font-size: 12px;
  }
  .ecrin-secret-bar .pojamo-act,
  .appel-vif .pojamo-act,
  .parure-prime-box .pojamo-act {
    padding: 13px 18px;
    font-size: 14px;
  }
}

@media (max-width: 1055px) {
  .estafette-moderne-guide,
  .estafette-moderne-set,
  .estafette-moderne-href { display: none !important; }
  .estafette-moderne-menu-trigger { display: flex !important; }
}
