:root {
  --sm-lead: #fbd406;
  --sm-vivid: #fdae03;
  --sm-accent-pressed: #da9c00;
  --sm-sheet: #301438;
  --sm-above: #3b2742;
  --sm-glyph: #ffffff;
  --sm-faint: #c1c0bf;
  --sm-divider: rgba(255, 255, 255, 0.14);
  --sm-stroke-heavy: rgba(255, 255, 255, 0.3);
  --sm-fade-top: #22102a;
  --sm-blend-b: #3b2742;
  --sm-rg-banner: #b3001b;

  --sm-banner: "Poppins", Arial, sans-serif;
  --sm-prose: "Poppins", Arial, sans-serif;

  --sm-title: clamp(29px, 4.4vw + 12px, 48px);
  --sm-xl-2: clamp(24px, 2.6vw + 13px, 36px);
  --sm-lg-2: clamp(21px, 1vw + 17px, 26px);
  --sm-md-2: clamp(19px, 0.5vw + 17px, 21px);
  --sm-sm-2: clamp(17px, 0.3vw + 16px, 18px);
  --sm-h6: clamp(15px, 0.2vw + 14px, 16px);
  --sm-normal: clamp(18px, 0.3vw + 17px, 19px);
  --sm-caption: clamp(15px, 0.2vw + 14px, 16px);
  --z-xs: clamp(13px, 0.2vw + 12px, 14px);

  --sm-compact: 1.2;
  --sm-even: 1.7;
  --sm-loose: 2;
  --sm-base: 400;
  --sm-medium: 500;
  --sm-bold: 600;
  --sm-snug: -0.01em;
  --e-base: 0;
  --sm-open: 0.02em;

  --sm-2xs: 2px;
  --sm-xs: 6px;
  --sm-sm: 10px;
  --sm-md: 16px;
  --sm-lg: 48px;
  --sm-xl: 80px;
  --sm-2xl: 128px;
  --sm-3xl: 200px;
  --sm-gap-head: calc(var(--sm-lg) - var(--sm-md));

  --r-2xs: 1px;
  --r-xs: 2px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 22px;
  --r-2xl: 28px;
  --r-3xl: 36px;
  --sm-pill: 9999px;
  --sm-circle: 50%;

  --d-2xs: none;
  --d-xs: none;
  --d-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
  --d-md: 0 4px 12px rgba(0, 0, 0, 0.09);
  --d-lg: 0 8px 24px rgba(0, 0, 0, 0.13);
  --d-xl: 0 14px 34px rgba(0, 0, 0, 0.17);
  --d-2xl: 0 20px 48px rgba(0, 0, 0, 0.21);
  --d-3xl: 0 28px 66px rgba(0, 0, 0, 0.25);

  --sm-snap: 195ms;
  --sm-steady: 410ms;
  --sm-long: 811ms;
  --sm-exit: cubic-bezier(0.15, 0.57, 0.48, 0.96);
  --sm-swing: cubic-bezier(0.51, 0.04, 0.53, 0.9);
  --sm-pop: cubic-bezier(0.4, 1, 0.5, 1.05);
  --sm-nudge: 3px;
  --sm-swell: 1.05;
  --sm-swell-shot: 1.055;
  --sm-rule: 6px;

  --sm-site: 980px;
  --sm-brief: 420px;
  --sm-edge-wide: 48px;
  --sm-pad-md: 32px;
  --sm-pad-sm: 16px;

  --sm-fine: 1px;
  --sm-regular: 2px;
  --b-bold: 3px;

  --sm-tall: 60px;
  --sm-height-mobile: 56px;

  --sm-rg-height: 0px;
  --sm-cookie-offset: 0px;
  --sm-head-height: 96px;
}

@media (max-width: 619px) {
  :root {
    --sm-edge-wide: var(--sm-pad-sm);
  }
}

@media (min-width: 620px) and (max-width: 939px) {
  :root {
    --sm-edge-wide: var(--sm-pad-md);
  }
}

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

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--sm-sheet);
  color: var(--sm-glyph);
  font-family: var(--sm-prose);
  font-size: var(--sm-normal);
  font-weight: var(--sm-base);
  line-height: var(--sm-loose);
  letter-spacing: var(--e-base);
  padding-block-start: calc(var(--sm-cookie-offset) + var(--sm-rg-height) + var(--sm-head-height));
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 var(--sm-md);
  overflow-wrap: anywhere;
  letter-spacing: var(--sm-snug);
}

h1 {
  font-family: var(--sm-banner);
  font-size: var(--sm-title);
  font-weight: var(--sm-bold);
  line-height: var(--sm-compact);
}

h2 {
  font-family: var(--sm-banner);
  font-size: var(--sm-xl-2);
  font-weight: var(--sm-bold);
  line-height: var(--sm-compact);
}

h3 {
  font-family: var(--sm-prose);
  font-size: var(--sm-lg-2);
  font-weight: var(--sm-bold);
  line-height: var(--sm-compact);
}

h4 {
  font-family: var(--sm-prose);
  font-size: var(--sm-md-2);
  font-weight: var(--sm-bold);
}

h5 {
  font-family: var(--sm-prose);
  font-size: var(--sm-sm-2);
  font-weight: var(--sm-medium);
}

h6 {
  font-family: var(--sm-prose);
  font-size: var(--sm-h6);
  font-weight: var(--sm-medium);
}

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

a {
  color: var(--sm-vivid);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: background-size var(--sm-snap) var(--sm-exit), color var(--sm-snap) var(--sm-exit);
  background-image: linear-gradient(var(--sm-accent-pressed), var(--sm-accent-pressed));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0;
}

a:hover {
  color: var(--sm-sheet);
  background-size: 100% 100%;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: var(--sm-regular) solid var(--sm-lead);
  outline-offset: 2px;
}

table {
  border-collapse: collapse;
}

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

.jump-path {
  position: absolute;
  inset-block-start: -200px;
  inset-inline-start: var(--sm-md);
  z-index: 120;
  padding: var(--sm-sm) var(--sm-md);
  border-radius: var(--r-sm);
  background: var(--sm-lead);
  color: var(--sm-sheet);
  text-decoration: none;
  font-weight: var(--sm-bold);
}

.jump-path:focus {
  inset-block-start: var(--sm-md);
  color: var(--sm-sheet);
}

/* shared section shell — единая ширина всех секций */
.support-austere-body,
.support-austere-dock-body,
.catafalque-lumineux-body,
.console-moderne-body,
.oriflamme-noble-body,
.reliquaire-dore-body,
.lampadaire-profond-body,
.pavois-lourd-body,
.veilleuse-classique-body,
.gardien-grand-body,
.monstrance-profond-body,
.gardien-robuste-body,
.amphitheatre-haut-body,
.tribune-brut-body,
.pavois-mince-body,
.presbytere-lourd-body,
.baptistere-classique-body,
.veille-18-body {
  display: block;
  max-width: calc(var(--sm-site) + 2 * var(--sm-edge-wide));
  margin-inline: auto;
  padding-inline: var(--sm-edge-wide);
}

.console-moderne,
.oriflamme-noble,
.reliquaire-dore,
.lampadaire-profond,
.pavois-lourd,
.veilleuse-classique,
.gardien-grand,
.monstrance-profond,
.gardien-robuste,
.amphitheatre-haut,
.tribune-brut,
.baptistere-classique {
  padding-block: var(--sm-lg);
}

/* ── 18+ полоса над шапкой (RG-01) ─────────────────────────────── */
.veille-18 {
  position: fixed;
  inset-block-start: var(--sm-cookie-offset);
  inset-inline: 0;
  z-index: 96;
  background: var(--sm-rg-banner);
  color: var(--sm-glyph);
}

.veille-18-para {
  margin: 0;
  padding-block: var(--sm-xs);
  text-align: center;
  font-size: var(--z-xs);
  line-height: var(--sm-even);
  letter-spacing: var(--sm-open);
  color: var(--sm-glyph);
}

/* ── шапка HEAD-BANNER + STICKY-01 ─────────────────────────────── */
.support-austere {
  position: fixed;
  inset-block-start: calc(var(--sm-cookie-offset) + var(--sm-rg-height));
  inset-inline: 0;
  z-index: 90;
  background: var(--sm-fade-top);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition: backdrop-filter var(--sm-steady) var(--sm-swing), background var(--sm-steady) var(--sm-swing);
}

.support-austere.is-drifted {
  background: rgba(34, 16, 42, 0.82);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.support-austere-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sm-md);
  padding-block: var(--sm-sm);
  position: relative;
}

.support-austere-emblem {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--sm-xs) var(--sm-lg);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--sm-circle);
  background: rgba(255, 255, 255, 0.05);
  text-decoration: none;
  color: var(--sm-glyph);
}

.support-austere-emblem:hover {
  border-color: var(--sm-vivid);
  background: rgba(255, 255, 255, 0.05);
  color: var(--sm-glyph);
}

.support-austere-shot {
  display: block;
  height: var(--sm-tall);
  width: auto;
}

.support-austere-geo {
  position: absolute;
  inset-inline-end: 0;
  inset-block-start: 50%;
  transform: translateY(-50%);
  font-size: var(--z-xs);
  font-weight: var(--sm-bold);
  letter-spacing: var(--sm-open);
  color: var(--sm-faint);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--sm-pill);
  padding: var(--sm-2xs) var(--sm-sm);
}

.support-austere-lever {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--sm-xs);
  min-width: 48px;
  min-height: 48px;
  padding: var(--sm-sm);
  border: var(--sm-fine) solid var(--sm-stroke-heavy);
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--sm-glyph);
  cursor: pointer;
}

.support-austere-lever-bar {
  display: block;
  width: 22px;
  height: var(--sm-regular);
  border-radius: var(--sm-pill);
  background: var(--sm-glyph);
}

.support-austere-bar {
  border-block-start: var(--sm-fine) solid var(--sm-divider);
  display: none;
}

.support-austere-nav {
  min-height: var(--sm-tall);
  display: flex;
  align-items: center;
}

.support-austere-series {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--sm-sm);
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

.support-austere-node {
  display: flex;
  align-items: center;
  gap: var(--sm-sm);
}

.support-austere-node + .support-austere-node::before {
  content: "/";
  color: var(--sm-faint);
  font-size: var(--sm-caption);
}

.support-austere-node.is-tucked {
  display: none;
}

.support-austere-node + .support-austere-node--more::before {
  content: none;
}

.support-austere-path {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
  font-family: var(--sm-prose);
  font-size: 15px;
  font-weight: 500;
  font-variant-caps: small-caps;
  letter-spacing: var(--sm-open);
  color: var(--sm-glyph);
  text-decoration: none;
  background-image: none;
}

.support-austere-path:hover {
  color: var(--sm-lead);
  background: transparent;
  text-decoration: underline;
  text-decoration-thickness: var(--sm-regular);
  text-underline-offset: 5px;
}

.support-austere-path[aria-current="page"]::after {
  content: "";
  position: absolute;
  inset-block-end: 6px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  width: var(--sm-xs);
  height: var(--sm-xs);
  border-radius: var(--sm-circle);
  background: var(--sm-lead);
}

.support-austere-more {
  min-height: 44px;
  padding: 0 var(--sm-sm);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--r-sm);
  background: transparent;
  color: var(--sm-glyph);
  font-family: var(--sm-prose);
  font-size: 15px;
  font-weight: 500;
  font-variant-caps: small-caps;
  cursor: pointer;
}

.support-austere-more:hover {
  border-color: var(--sm-lead);
  background: transparent;
  color: var(--sm-lead);
}

.support-austere-node--more {
  position: relative;
  margin-inline-start: auto;
}

.support-austere-node--more.is-tucked {
  display: none;
}

.support-austere-more-series {
  position: absolute;
  inset-block-start: calc(100% + var(--sm-xs));
  inset-inline-end: 0;
  z-index: 5;
  display: none;
  min-width: 220px;
  max-height: 60vh;
  overflow-y: auto;
  margin: 0;
  padding: var(--sm-xs);
  list-style: none;
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--r-md);
  background: var(--sm-above);
  color: var(--sm-glyph);
  box-shadow: var(--d-lg);
}

.support-austere-more-series.is-open {
  display: block;
}

.support-austere-more-series .support-austere-node {
  display: block;
}

.support-austere-more-series .support-austere-node::before {
  content: none;
}

.support-austere-more-series .support-austere-path {
  display: flex;
  padding: var(--sm-xs) var(--sm-sm);
}

@media (min-width: 940px) {
  .support-austere-bar {
    display: block;
  }

  .support-austere-lever {
    display: none;
  }
}

/* ── мобильная панель ──────────────────────────────────────────── */
.support-austere-dock {
  position: absolute;
  inset-block-start: 100%;
  inset-inline: 0;
  z-index: 5;
  display: none;
  max-height: 70vh;
  overflow-y: auto;
  padding-block: var(--sm-md);
  border-block-end: var(--sm-fine) solid var(--sm-divider);
  background: var(--sm-fade-top);
  color: var(--sm-glyph);
}

.support-austere-dock-node {
  display: block;
}

.support-austere-dock.is-open {
  display: block;
}

.support-austere-dock-series {
  display: flex;
  flex-direction: column;
  gap: var(--sm-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.support-austere-dock-path {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding-inline: var(--sm-sm);
  border-radius: var(--r-sm);
  font-size: var(--sm-sm-2);
  font-weight: 500;
  color: var(--sm-glyph);
  text-decoration: none;
  background-image: none;
}

.support-austere-dock-path:hover {
  background: var(--sm-above);
  color: var(--sm-lead);
}

.support-austere-dock-path[aria-current="page"] {
  color: var(--sm-lead);
}

@media (min-width: 940px) {
  .support-austere-dock,
  .support-austere-dock.is-open {
    display: none;
  }
}

/* ── куки-плашка COOK-12 ───────────────────────────────────────── */
.presbytere-lourd {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 97;
  visibility: hidden;
  transform: translateY(-100%);
  background: var(--sm-above);
  color: var(--sm-glyph);
  border-block-end: var(--sm-fine) solid var(--sm-divider);
}

.presbytere-lourd.is-open {
  visibility: visible;
  transform: translateY(0);
}

.presbytere-lourd-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sm-md);
  padding-block: var(--sm-md);
}

.presbytere-lourd-copy {
  margin: 0;
  flex: 1 1 320px;
  font-size: var(--sm-caption);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

.presbytere-lourd-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-sm);
}

.presbytere-lourd-accept,
.presbytere-lourd-deny {
  min-height: 44px;
  padding: 0 var(--sm-md);
  border-radius: var(--sm-pill);
  font-family: var(--sm-banner);
  font-size: var(--sm-caption);
  font-weight: var(--sm-medium);
  cursor: pointer;
  transition: transform var(--sm-snap) var(--sm-exit);
}

.presbytere-lourd-accept {
  border: none;
  background: var(--sm-lead);
  color: var(--sm-sheet);
}

.presbytere-lourd-accept:hover {
  background: var(--sm-accent-pressed);
  color: var(--sm-sheet);
  transform: translateY(2px);
}

.presbytere-lourd-deny {
  border: var(--sm-fine) solid var(--sm-stroke-heavy);
  background: transparent;
  color: var(--sm-glyph);
}

.presbytere-lourd-deny:hover {
  background: transparent;
  color: var(--sm-lead);
  border-color: var(--sm-lead);
  transform: translateY(2px);
}

@media (max-width: 619px) {
  .presbytere-lourd-body {
    flex-direction: column;
    align-items: stretch;
  }

  .presbytere-lourd-copy {
    flex: 0 0 auto;
  }

  .presbytere-lourd-buttons {
    flex-direction: row;
  }

  .presbytere-lourd-accept,
  .presbytere-lourd-deny {
    flex: 1 1 auto;
  }
}

/* ── офферная кнопка (база) ────────────────────────────────────── */
.jalon-vif {
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 30px;
  border-radius: var(--sm-pill);
  font-family: var(--sm-banner);
  font-size: var(--sm-sm-2);
  font-weight: var(--sm-bold);
  letter-spacing: var(--sm-open);
  text-align: center;
  text-decoration: none;
  background-image: none;
  cursor: pointer;
}

.jalon-vif-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--sm-xs);
  margin-block: var(--sm-md) 0;
}

.jalon-vif-note {
  margin: 0;
  font-size: var(--z-xs);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

/* ── HERO-09 ───────────────────────────────────────────────────── */
.console-moderne {
  background: linear-gradient(160deg, var(--sm-fade-top), var(--sm-sheet) 55%, var(--sm-blend-b));
}

.console-moderne-body {
  display: grid;
  gap: var(--sm-lg);
}

.console-moderne-inside {
  min-width: 0;
}

.console-moderne-lede {
  margin-block-end: var(--sm-md);
}

.console-moderne-subtitle {
  max-width: var(--sm-brief);
  margin-block-end: var(--sm-md);
  color: var(--sm-faint);
  font-size: var(--sm-normal);
  line-height: var(--sm-even);
}

.console-moderne-hook {
  margin-block-start: var(--sm-md);
}

.console-moderne-shot {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
  border-radius: var(--r-lg);
  margin-block-start: var(--sm-md);
}

.console-moderne-series {
  display: flex;
  flex-direction: column;
  gap: var(--sm-md);
  margin: 0;
  padding: 0;
  list-style: none;
}

.console-moderne-node {
  display: flex;
  align-items: center;
  gap: var(--sm-md);
  padding: var(--sm-md);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--r-md);
  background: var(--sm-above);
  color: var(--sm-glyph);
  transition: border-color var(--sm-steady) var(--sm-exit);
}

.console-moderne-node:hover {
  border-color: var(--sm-vivid);
}

.console-moderne-node-num {
  flex: none;
  font-family: var(--sm-banner);
  font-size: var(--sm-lg-2);
  font-weight: var(--sm-bold);
  line-height: var(--sm-compact);
  color: var(--sm-vivid);
}

.console-moderne-node-lede {
  margin: 0;
  overflow-wrap: break-word;
  font-size: var(--sm-caption);
  font-weight: var(--sm-bold);
  line-height: var(--sm-compact);
  color: var(--sm-glyph);
}

@media (min-width: 620px) {
  .console-moderne-body {
    grid-template-columns: 60% 1fr;
    align-items: center;
  }

  .console-moderne-shot {
    max-width: 100%;
  }
}

/* ── PHEAD-02 ──────────────────────────────────────────────────── */
.oriflamme-noble {
  background: var(--sm-sheet);
  text-align: center;
}

.oriflamme-noble-lede {
  margin-block-end: var(--sm-md);
}

.oriflamme-noble-rule {
  width: 64px;
  height: var(--sm-regular);
  margin-inline: auto;
  margin-block-end: var(--sm-md);
  border: 0;
  background: var(--sm-vivid);
}

.oriflamme-noble-para {
  max-width: var(--sm-brief);
  margin-inline: auto;
  color: var(--sm-faint);
}

.oriflamme-noble-detail {
  margin: 0;
  font-size: var(--z-xs);
  color: var(--sm-faint);
}

/* ── PROSE-18: заголовок в рамке ───────────────────────────────── */
.gardien-grand-inside > :first-child {
  margin-block-start: 0;
}

.gardien-grand-inside h2 {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-block: var(--sm-gap-head) var(--sm-md);
  margin-inline: auto;
  padding: var(--sm-sm) var(--sm-md);
  border: var(--b-bold) solid var(--sm-vivid);
  border-radius: var(--r-md);
  font-size: var(--sm-xl-2);
  font-weight: var(--sm-base);
  text-align: center;
}

.gardien-grand-inside h3 {
  margin-block: var(--sm-md) var(--sm-sm);
}

.gardien-grand-inside p {
  margin-block: 0 var(--sm-md);
  line-height: var(--sm-loose);
}

.gardien-grand-inside ul,
.gardien-grand-inside ol {
  margin-block: 0 var(--sm-md);
  padding-inline-start: var(--sm-md);
}

.gardien-grand-inside li {
  margin-block-end: var(--sm-sm);
  line-height: var(--sm-even);
}

.gardien-grand-inside strong {
  font-weight: var(--sm-bold);
  color: var(--sm-lead);
}

/* ── GRID-04 ───────────────────────────────────────────────────── */
.reliquaire-dore-hdr {
  margin-block-end: var(--sm-md);
}

.reliquaire-dore-series {
  display: grid;
  gap: var(--sm-md);
  margin: 0;
  padding: 0;
  list-style: none;
}

.reliquaire-dore-node {
  padding: calc(var(--sm-md) * 1.5);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--r-md);
  background: var(--sm-above);
  color: var(--sm-glyph);
  transition: border-color var(--sm-steady) var(--sm-exit);
}

.reliquaire-dore-node:hover {
  border-color: var(--sm-vivid);
}

.reliquaire-dore-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-block-end: var(--sm-md);
  border-radius: var(--sm-circle);
  background: var(--sm-vivid);
  color: var(--sm-sheet);
}

.reliquaire-dore-badge svg {
  width: 26px;
  height: 26px;
}

.reliquaire-dore-node-lede {
  margin: 0 0 var(--sm-sm);
  font-size: var(--sm-md-2);
  font-weight: var(--sm-bold);
}

.reliquaire-dore-para {
  margin: 0;
  font-size: var(--sm-normal);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

@media (min-width: 620px) {
  .reliquaire-dore-series {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 940px) {
  .reliquaire-dore-series {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── TABLE-03 ──────────────────────────────────────────────────── */
.monstrance-profond-hdr {
  margin-block-end: var(--sm-md);
}

.monstrance-profond-scroll {
  overflow-x: auto;
}

.monstrance-profond-table {
  width: 100%;
  border-radius: var(--r-md);
  overflow: hidden;
}

.monstrance-profond-table th {
  padding: var(--sm-md);
  background: var(--sm-fade-top);
  color: var(--sm-glyph);
  font-size: var(--sm-caption);
  font-weight: var(--sm-bold);
  text-align: start;
  letter-spacing: var(--sm-open);
}

.monstrance-profond-table td {
  padding: var(--sm-md);
  background: var(--sm-above);
  color: var(--sm-faint);
  font-size: var(--sm-caption);
  line-height: var(--sm-even);
  border-block-start: var(--sm-fine) solid var(--sm-divider);
}

.monstrance-profond-table td:first-child {
  color: var(--sm-glyph);
  font-weight: var(--sm-medium);
}

@media (max-width: 619px) {
  .monstrance-profond-table,
  .monstrance-profond-table tbody,
  .monstrance-profond-table tr,
  .monstrance-profond-table td {
    display: block;
  }

  .monstrance-profond-table thead {
    display: none;
  }

  .monstrance-profond-table tr {
    margin-block-end: var(--sm-md);
    padding: var(--sm-md);
    border-radius: var(--r-md);
    background: var(--sm-above);
  }

  .monstrance-profond-table td {
    padding: var(--sm-xs) 0;
    border-block-start: 0;
    background: transparent;
  }

  .monstrance-profond-table td::before {
    content: attr(data-label) " — ";
    color: var(--sm-glyph);
    font-weight: var(--sm-bold);
  }
}

/* ── FAQ-05 ────────────────────────────────────────────────────── */
.lampadaire-profond-hdr {
  margin-block-end: var(--sm-md);
}

.lampadaire-profond-series {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lampadaire-profond-node {
  padding-block: var(--sm-md);
  border-block-end: var(--sm-fine) solid var(--sm-divider);
}

.lampadaire-profond-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sm-md);
  list-style: none;
  cursor: pointer;
  font-size: var(--sm-sm-2);
  font-weight: var(--sm-bold);
  line-height: var(--sm-even);
  color: var(--sm-glyph);
}

.lampadaire-profond-question::-webkit-details-marker {
  display: none;
}

.lampadaire-profond-question::after {
  content: "";
  flex: none;
  width: 10px;
  height: 10px;
  border-inline-end: var(--sm-regular) solid var(--sm-vivid);
  border-block-end: var(--sm-regular) solid var(--sm-vivid);
  transform: rotate(45deg);
  transition: transform var(--sm-steady) var(--sm-swing);
}

.lampadaire-profond-node[open] .lampadaire-profond-question::after {
  transform: rotate(225deg);
}

.lampadaire-profond-question:hover {
  color: var(--sm-lead);
}

.lampadaire-profond-answer {
  padding-block-start: var(--sm-sm);
  color: var(--sm-faint);
}

.lampadaire-profond-answer p {
  margin: 0;
  line-height: var(--sm-loose);
}

/* ── REV-10 ────────────────────────────────────────────────────── */
.pavois-lourd-hdr {
  margin-block-end: var(--sm-md);
}

.pavois-lourd-series {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pavois-lourd-node {
  padding-block: var(--sm-md);
  border-block-end: var(--sm-fine) dotted var(--sm-stroke-heavy);
}

.pavois-lourd-byname {
  font-size: var(--sm-normal);
  font-weight: var(--sm-medium);
  color: var(--sm-glyph);
}

.pavois-lourd-score,
.pavois-lourd-on {
  font-size: var(--sm-normal);
  color: var(--sm-faint);
}

.pavois-lourd-para {
  margin: var(--sm-xs) 0 0;
  padding: 0;
  border: 0;
  font-size: var(--sm-normal);
  line-height: var(--sm-loose);
  color: var(--sm-faint);
}

/* ── CTA-07 ────────────────────────────────────────────────────── */
.veilleuse-classique-box {
  padding: calc(var(--sm-md) * 2);
  border: var(--sm-regular) solid var(--sm-vivid);
  border-radius: var(--r-lg);
  background: var(--sm-sheet);
  color: var(--sm-glyph);
  text-align: center;
}

.veilleuse-classique-mark {
  display: block;
  margin-block-end: var(--sm-sm);
  font-family: var(--sm-banner);
  font-size: var(--sm-title);
  font-weight: var(--sm-bold);
  line-height: var(--sm-compact);
  color: var(--sm-vivid);
}

.veilleuse-classique-lede {
  margin-block-end: var(--sm-sm);
}

.veilleuse-classique-para {
  margin-block-end: var(--sm-md);
  color: var(--sm-faint);
}

.veilleuse-classique .jalon-vif-wrap {
  align-items: center;
}

.veilleuse-classique-hook {
  margin-block-start: 0;
}

/* ── LEGAL-05 ──────────────────────────────────────────────────── */
.gardien-robuste-intro {
  margin-block-end: var(--sm-md);
  color: var(--sm-glyph);
}

.gardien-robuste-detail {
  margin-block-end: var(--sm-md);
  font-size: var(--z-xs);
  color: var(--sm-faint);
}

.gardien-robuste-series {
  margin: 0;
}

.gardien-robuste-term {
  position: relative;
  margin-block: var(--sm-lg) var(--sm-xs);
  padding-block-start: var(--sm-sm);
  font-family: var(--sm-banner);
  font-size: var(--sm-md-2);
  font-weight: var(--sm-bold);
  color: var(--sm-glyph);
}

.gardien-robuste-term::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  width: 30px;
  height: var(--sm-regular);
  background: var(--sm-vivid);
}

.gardien-robuste-definition {
  margin-inline-start: 0;
  margin-block-end: var(--sm-md);
  font-size: var(--sm-normal);
  line-height: var(--sm-loose);
  color: var(--sm-faint);
}

.gardien-robuste-definition p {
  margin: 0 0 var(--sm-sm);
}

.gardien-robuste-support {
  margin-block-start: var(--sm-lg);
  padding: calc(var(--sm-md) * 1.5);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--r-md);
  background: var(--sm-above);
  color: var(--sm-glyph);
}

.gardien-robuste-support-hdr {
  margin-block-end: var(--sm-sm);
  font-size: var(--sm-md-2);
}

.gardien-robuste-support-series {
  margin: 0;
  padding-inline-start: var(--sm-md);
  color: var(--sm-faint);
}

.gardien-robuste-support-series li {
  margin-block-end: var(--sm-xs);
  line-height: var(--sm-even);
}

.gardien-robuste-disclaimer {
  margin-block-start: var(--sm-md);
  font-size: var(--sm-caption);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

/* ── FORM-08 ───────────────────────────────────────────────────── */
.amphitheatre-haut-box {
  padding: calc(var(--sm-md) * 1.5);
  border-radius: var(--r-md);
  background: var(--sm-above);
  color: var(--sm-glyph);
}

.amphitheatre-haut-intro {
  margin-block-end: var(--sm-md);
  color: var(--sm-faint);
}

.amphitheatre-haut-form {
  display: block;
}

.amphitheatre-haut-cell {
  display: flex;
  flex-direction: column;
  gap: var(--sm-xs);
  margin-block-end: var(--sm-md);
}

.amphitheatre-haut-tag {
  font-size: var(--sm-caption);
  font-weight: var(--sm-medium);
  color: var(--sm-glyph);
}

.amphitheatre-haut-input,
.amphitheatre-haut-area {
  width: 100%;
  padding: var(--sm-sm) var(--sm-md);
  border: var(--sm-fine) solid var(--sm-stroke-heavy);
  border-radius: var(--r-md);
  background: var(--sm-sheet);
  color: var(--sm-glyph);
  font-family: var(--sm-prose);
  font-size: var(--sm-normal);
}

.amphitheatre-haut-input {
  min-height: 48px;
}

.amphitheatre-haut-area {
  min-height: 140px;
  resize: vertical;
}

.amphitheatre-haut-submit {
  width: 100%;
  min-height: 72px;
  border: none;
  border-radius: var(--sm-pill);
  background: var(--sm-lead);
  color: var(--sm-sheet);
  font-family: var(--sm-banner);
  font-size: var(--sm-md-2);
  font-weight: var(--sm-bold);
  letter-spacing: var(--sm-open);
  text-transform: uppercase;
  cursor: pointer;
  transition: transform var(--sm-snap) var(--sm-exit);
}

.amphitheatre-haut-submit:hover {
  background: var(--sm-accent-pressed);
  color: var(--sm-sheet);
  transform: translateY(2px);
}

.amphitheatre-haut-done {
  display: none;
  padding: var(--sm-md);
  border: var(--sm-fine) solid var(--sm-vivid);
  border-radius: var(--r-md);
  background: var(--sm-sheet);
  color: var(--sm-glyph);
}

.amphitheatre-haut-done.is-open {
  display: block;
}

/* ── BYLINE-03 ─────────────────────────────────────────────────── */
.pavois-mince {
  border-block-end: var(--sm-fine) solid var(--sm-divider);
}

.pavois-mince-body {
  display: flex;
  align-items: center;
  gap: var(--sm-sm);
  padding-block: var(--sm-sm);
}

.pavois-mince-mug {
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: var(--sm-circle);
  object-fit: cover;
}

.pavois-mince-detail {
  font-size: var(--sm-caption);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

.pavois-mince-byname {
  color: var(--sm-vivid);
  text-decoration: none;
  background-image: none;
}

.pavois-mince-byname:hover {
  color: var(--sm-lead);
  background: transparent;
  text-decoration: underline;
}

.pavois-mince-credit,
.pavois-mince-on {
  color: var(--sm-faint);
}

/* ── AUTH-08 ───────────────────────────────────────────────────── */
.tribune-brut-box {
  display: inline-flex;
  align-items: center;
  gap: var(--sm-sm);
  padding: calc(var(--sm-md) * 1.5);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--r-md);
  background: var(--sm-above);
  color: var(--sm-glyph);
}

.tribune-brut-mug {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: var(--sm-circle);
  object-fit: cover;
}

.tribune-brut-byname {
  display: block;
  font-size: var(--sm-normal);
  font-weight: var(--sm-bold);
  color: var(--sm-glyph);
}

.tribune-brut-credit {
  display: block;
  font-size: var(--z-xs);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

.tribune-brut-skills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sm-xs);
  margin: var(--sm-md) 0 0;
  padding: 0;
  list-style: none;
}

.tribune-brut-skill {
  padding: var(--sm-2xs) var(--sm-sm);
  border: var(--sm-fine) solid var(--sm-divider);
  border-radius: var(--sm-pill);
  font-size: var(--z-xs);
  color: var(--sm-faint);
}

.tribune-brut-articles {
  padding-block: var(--sm-lg) 0;
}

.tribune-brut-articles-hdr {
  margin-block-end: var(--sm-md);
  font-family: var(--sm-banner);
  font-size: var(--sm-md-2);
  font-weight: var(--sm-bold);
}

.tribune-brut-articles-series {
  display: flex;
  flex-direction: column;
  gap: var(--sm-xs);
  list-style: none;
  padding: 0;
  margin: 0;
}

.tribune-brut-articles-node {
  font-size: var(--sm-normal);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

/* ── ERR-07 ────────────────────────────────────────────────────── */
.baptistere-classique {
  text-align: center;
  background-color: var(--sm-sheet);
  background-image:
    linear-gradient(rgba(253, 174, 3, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(253, 174, 3, 0.08) 1px, transparent 1px);
  background-size: 40px 40px;
}

.baptistere-classique-lede {
  max-width: var(--sm-brief);
  margin-inline: auto;
  margin-block-end: var(--sm-md);
}

.baptistere-classique-para {
  margin-block-end: var(--sm-md);
  color: var(--sm-faint);
}

.baptistere-classique-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 var(--sm-md);
  border-radius: var(--sm-pill);
  background: var(--sm-lead);
  color: var(--sm-sheet);
  font-family: var(--sm-banner);
  font-weight: var(--sm-bold);
  text-decoration: none;
  background-image: none;
}

.baptistere-classique-back:hover {
  background: var(--sm-accent-pressed);
  color: var(--sm-sheet);
}

/* ── FOOT-02 ───────────────────────────────────────────────────── */
.catafalque-lumineux {
  border-block-start: var(--sm-fine) solid var(--sm-divider);
  padding-block: var(--sm-lg);
  background: var(--sm-sheet);
}

.catafalque-lumineux-nav,
.catafalque-lumineux-legal-nav {
  min-width: 0;
}

.catafalque-lumineux-node {
  display: flex;
}

.catafalque-lumineux-rank--top {
  align-items: center;
}

.catafalque-lumineux-rank {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sm-md);
  text-align: center;
}

.catafalque-lumineux-rank--bottom {
  margin-block-start: var(--sm-md);
  padding-block-start: var(--sm-md);
  border-block-start: var(--sm-fine) solid var(--sm-divider);
}

.catafalque-lumineux-emblem {
  display: inline-flex;
  text-decoration: none;
  background-image: none;
}

.catafalque-lumineux-shot {
  display: block;
  height: 72px;
  width: auto;
}

.catafalque-lumineux-hdr {
  margin: 0 0 var(--sm-sm);
  font-size: var(--sm-caption);
  font-weight: var(--sm-medium);
  color: var(--sm-faint);
  letter-spacing: var(--sm-open);
}

.catafalque-lumineux-series,
.catafalque-lumineux-legal-series {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--sm-sm) var(--sm-md);
  margin: 0;
  padding: 0;
  list-style: none;
}

.catafalque-lumineux-path {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: var(--sm-caption);
  color: var(--sm-faint);
  text-decoration: none;
  background-image: none;
}

.catafalque-lumineux-path:hover {
  color: var(--sm-glyph);
  background: transparent;
  text-decoration: underline;
}

.catafalque-lumineux-legal-series .catafalque-lumineux-path {
  font-size: var(--z-xs);
}

.catafalque-lumineux-copy {
  display: block;
  font-size: var(--z-xs);
  line-height: var(--sm-even);
  color: var(--sm-faint);
}

@media (min-width: 940px) {
  .catafalque-lumineux-rank {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: start;
  }

  .catafalque-lumineux-series,
  .catafalque-lumineux-legal-series {
    justify-content: flex-end;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
/* Offer CTA */
.zwgo-act{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 24px;border:1px solid #22102A;border-radius:6px;
  background:#0891B2;color:#22102A;text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;
  transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}
.zwgo-act:hover{background:#0E7490;color:#FFFFFF;animation:none}
.zwgo-act:hover::after{animation:none}
.zwgo-act:active{background:#155E75;color:#FFFFFF}
.zwgo-act:focus-visible{outline:3px solid #22102A;outline-offset:3px}
.zwgo-act{overflow:hidden}
.zwgo-act::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.42) 50%,transparent 100%);background-repeat:no-repeat;background-size:45% 100%;background-position:-72% 0;animation:shine_zwgo 2.4s ease-in-out infinite}
@keyframes shine_zwgo{0%{background-position:-72% 0}58.333%,100%{background-position:172% 0}}
@media (prefers-reduced-motion:reduce){.zwgo-act,.zwgo-act::after{animation:none!important;transition:none!important}}


@media (max-width: 970px) {
  /* .support-austere-body убран: это обёртка шапки, внутри которой лежит и
     кнопка меню — с display:none она получала размер 0×0, и мобильное меню
     было недоступно. */
  .support-austere-bar,
  .support-austere-nav,
  .support-austere-series,
  .support-austere-path { display: none !important; }
  .support-austere-lever { display: flex !important; }
}


/* ---- цвет офферной кнопки ----
   Разведён по партии: у нескольких сайтов кнопки совпадали цветом до последней
   цифры. Состояния и цвет текста подобраны по контрасту (WCAG): 7.8:1 в покое. */
.jalon-vif {
	background: #6926C7;
	color: #FFFFFF;
	border-color: #6926C7;
}
.jalon-vif:hover {
	background: #7623EB;
	color: #FFFFFF;
	border-color: #7623EB;
}
.jalon-vif:active {
	background: #5519A9;
	color: #FFFFFF;
	border-color: #5519A9;
}

/* ---- картинки внутри страниц ----
   Кадры бывают квадратные и вертикальные, поэтому ограничиваем и по ширине,
   и по высоте, но не режем — картинка вписывается целиком. */
.pavois-lourd-page-figure,
.gardien-grand-page-figure {
  margin: var(--sm-2xl) auto;
  max-width: 560px;
  border-radius: var(--sm-edge-wide);
  overflow: hidden;
  border: var(--sm-fine) solid var(--sm-divider);
}
.pavois-lourd-page-figure img,
.gardien-grand-page-figure img {
  display: block;
  max-width: 100%;
  max-height: 56vh;
  width: auto;
  height: auto;
  margin-inline: auto;
}
