/* Mexgana Casino — hoja de estilos */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/glyphs/mont-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/glyphs/mont-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/glyphs/mont-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/glyphs/mont-700.woff2') format('woff2');
}

:root {
  --ink-main: #c39e61;
  --ink-accent: #cb022e;
  --ink-key-active: #a90120;
  --ink-page: #060505;
  --ink-bg-elevated: #14100f;
  --ink-fg: #ffffff;
  --ink-dim: #c1c0c0;
  --ink-edge: rgba(193, 192, 192, 0.16);
  --ink-edge-hard: rgba(193, 192, 192, 0.36);
  --ink-ramp-start: #ff4f74;
  --ink-ramp-end: #ff0b45;
  --ink-warn-band: #a4161a;

  --st-2xs: 3px;
  --st-xs: 8px;
  --st-sm: 13px;
  --st-md: 21px;
  --st-lg: 34px;
  --st-xl: 55px;
  --st-2xl: 89px;
  --st-3xl: 144px;

  --crn-2xs: 1px 1px 0 0;
  --crn-xs: 2px 2px 0 0;
  --crn-sm: 6px 6px 0 0;
  --crn-md: 12px 12px 0 0;
  --crn-lg: 20px 20px 0 0;
  --crn-xl: 28px 28px 0 0;
  --crn-2xl: 36px 36px 0 0;
  --crn-3xl: 44px 44px 0 0;
  --crn-stadium: 9999px 9999px 0 0;
  --crn-circle: 50%;

  --elev-2xs: 0 -1px 0 rgba(0, 0, 0, 0.06) inset;
  --elev-xs: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
  --elev-sm: 0 2px 4px rgba(0, 0, 0, 0.06);
  --elev-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --elev-lg: 0 10px 28px rgba(0, 0, 0, 0.14);
  --elev-xl: 0 16px 40px rgba(0, 0, 0, 0.2);
  --elev-2xl: 0 24px 60px rgba(0, 0, 0, 0.26);
  --elev-3xl: 0 32px 80px rgba(0, 0, 0, 0.32);

  --str-light: 1px;
  --str-mid: 2px;
  --str-strong: 3px;

  --fnt-heading: 'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --fnt-text: 'Montserrat', 'Segoe UI', system-ui, sans-serif;

  --ts-display-1: clamp(30px, 8vw, 36px);
  --ts-xl-2: clamp(24px, 6.4vw, 28px);
  --ts-h3: 22px;
  --ts-display-4: 18px;
  --ts-h5: 16px;
  --ts-h6: 14px;
  --ts-normal: 16px;
  --ts-small: 13px;
  --ts-mini: 11px;

  --ld-compact: 1.14;
  --ld-default: 1.5;
  --ld-roomy: 1.75;

  --wg-normal: 400;
  --wg-semi: 500;
  --wg-black: 700;

  --tr-close: -0.02em;
  --tr-normal: 0;
  --tr-loose: 0.04em;

  --dur-snap: 142ms;
  --dur-normal: 260ms;
  --dur-calm: 481ms;
  --ease-exit: cubic-bezier(0.14, 0.67, 0.53, 0.96);
  --ease-launch: cubic-bezier(0.47, 0.04, 0.86, 0.33);
  --ease-smooth: cubic-bezier(0.54, 0.05, 0.37, 0.88);
  --ease-overshoot: cubic-bezier(0.41, 1.1, 0.72, 1.1);

  --shl-outer: 1240px;
  --shl-prose: 1240px;
  --shl-narrow: 620px;
  --shl-edge-wide: 24px;
  --shl-edge-mid: 32px;
  --shl-edge-narrow: 16px;

  --top-height-desktop: 76px;
  --top-short: 64px;

  --shell-frame: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  --band-top: var(--st-xl);
  --band-bottom: var(--st-lg);
}

@media (min-width: 760px) {
  :root {
    --ts-display-1: clamp(40px, 4.6vw, 64px);
    --ts-xl-2: clamp(30px, 3vw, 40px);
    --ts-h3: 28px;
    --ts-display-4: 22px;
    --ts-h5: 18px;
    --ts-h6: 16px;
    --ts-normal: 17px;
    --ts-small: 14px;
    --ts-mini: 12px;
  }
}

/* reset / base */

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

html,
body {
  overflow-x: clip;
}

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

body {
  margin: 0;
  background: var(--ink-page);
  color: var(--ink-fg);
  font-family: var(--fnt-text);
  font-size: var(--ts-normal);
  font-weight: var(--wg-normal);
  line-height: var(--ld-roomy);
}

img,
svg,
video {
  max-width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: anywhere;
  word-break: normal;
  margin: 0 0 var(--st-sm);
}

h1,
h2 {
  font-family: var(--fnt-heading);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-close);
  line-height: var(--ld-compact);
}

h3,
h4 {
  font-family: var(--fnt-heading);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-normal);
  line-height: var(--ld-compact);
}

h5,
h6 {
  font-family: var(--fnt-text);
  font-weight: var(--wg-semi);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

h1 {
  font-size: var(--ts-display-1);
}

h2 {
  font-size: var(--ts-xl-2);
}

h3 {
  font-size: var(--ts-h3);
}

h4 {
  font-size: var(--ts-display-4);
}

h5 {
  font-size: var(--ts-h5);
}

h6 {
  font-size: var(--ts-h6);
}

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

a {
  color: var(--ink-main);
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% var(--str-light);
  transition: background-size var(--dur-normal) var(--ease-exit);
}

a:hover,
a:focus-visible {
  background-size: 100% var(--str-light);
}

button {
  font: inherit;
}

table {
  border-collapse: collapse;
}

.skip-link {
  position: absolute;
  left: var(--st-sm);
  top: var(--st-sm);
  z-index: 300;
  padding: var(--st-xs) var(--st-md);
  background: var(--ink-fg);
  color: var(--ink-page);
  font-weight: var(--wg-black);
  border-radius: var(--crn-sm);
}

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

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

.page-main {
  display: block;
}

/* reveal */

.has-js [data-rise] {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity var(--dur-calm) var(--ease-exit), transform var(--dur-calm) var(--ease-exit);
}

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

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

  .has-js [data-rise] {
    opacity: 1;
    transform: none;
  }
}

/* header — HEAD-RIGHT */

.mosaique-opus {
  position: relative;
  z-index: 100;
  background: var(--ink-page);
  border-block-end: var(--str-light) solid var(--ink-edge);
}

.mosaique-opus__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--st-sm);
  min-height: var(--top-short);
  display: flex;
  align-items: center;
  gap: var(--st-md);
}

.mosaique-opus__brand {
  order: 1;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  background-image: none;
}

.mosaique-opus__plate {
  display: inline-flex;
  align-items: center;
  padding: var(--st-2xs) var(--st-sm);
  background: rgba(193, 192, 192, 0.08);
  border-radius: var(--crn-sm);
}

.mosaique-opus__pic {
  display: block;
  height: 60px;
  width: auto;
  flex-shrink: 0;
}

.mosaique-opus__menu {
  order: 2;
  display: none;
  flex: 0 0 auto;
  margin-inline-start: auto;
}

.mosaique-opus__roll {
  display: flex;
  align-items: center;
  gap: var(--st-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.mosaique-opus__item {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.mosaique-opus__roll > li + li::before {
  content: '/';
  margin-inline-end: var(--st-xs);
  color: var(--ink-dim);
  font-size: var(--ts-small);
}

.mosaique-opus__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ink-fg);
  background: var(--ink-page);
  font-family: var(--fnt-text);
  font-size: 16px;
  font-weight: 500;
  text-transform: none;
  white-space: nowrap;
  background-image: none;
}

.mosaique-opus__link:hover,
.mosaique-opus__link:focus-visible {
  color: var(--ink-main);
  background: var(--ink-page);
}

.mosaique-opus__link[aria-current='page'] {
  color: var(--ink-main);
  background: var(--ink-page);
}

.mosaique-opus__extra {
  display: none;
  position: relative;
  align-items: center;
  flex-shrink: 0;
}

.mosaique-opus__extra.is-live {
  display: inline-flex;
}

.mosaique-opus__spread {
  display: inline-flex;
  align-items: center;
  gap: var(--st-2xs);
  min-height: 44px;
  padding: 0;
  border: 0;
  background: var(--ink-page);
  color: var(--ink-fg);
  font-family: var(--fnt-text);
  font-size: 16px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}

.mosaique-opus__spread:hover,
.mosaique-opus__spread:focus-visible {
  color: var(--ink-main);
  background: var(--ink-page);
}

.mosaique-opus__spread::after {
  content: '';
  width: 0;
  height: 0;
  border-inline: 4px solid transparent;
  border-block-start: 5px solid currentColor;
}

.mosaique-opus__stack {
  display: none;
  position: absolute;
  inset-block-start: calc(100% + var(--st-xs));
  inset-inline-end: 0;
  z-index: 120;
  min-width: 210px;
  max-height: 70vh;
  overflow-y: auto;
  margin: 0;
  padding: var(--st-xs) 0;
  list-style: none;
  background: var(--ink-bg-elevated);
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-sm);
  box-shadow: var(--elev-lg);
}

.mosaique-opus__stack.is-open {
  display: block;
}

.mosaique-opus__stack .mosaique-opus__link {
  display: flex;
  width: 100%;
  padding-inline: var(--st-md);
  background: var(--ink-bg-elevated);
  color: var(--ink-fg);
}

.mosaique-opus__stack .mosaique-opus__link:hover,
.mosaique-opus__stack .mosaique-opus__link:focus-visible {
  color: var(--ink-main);
  background: var(--ink-bg-elevated);
}

.mosaique-opus__tag {
  order: 3;
  display: none;
  flex-shrink: 0;
  padding: var(--st-2xs) var(--st-xs);
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-xs);
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-mini);
  font-weight: var(--wg-semi);
  letter-spacing: var(--tr-loose);
}

.mosaique-opus__actions {
  order: 4;
  display: flex;
  align-items: center;
  gap: var(--st-sm);
  flex-shrink: 0;
  margin-inline-start: auto;
}

.mosaique-opus__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--st-md);
  border: var(--str-mid) solid var(--ink-main);
  border-radius: var(--crn-sm);
  background: var(--ink-page);
  color: var(--ink-main);
  font-family: var(--fnt-heading);
  font-size: var(--ts-small);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
  white-space: nowrap;
  background-image: none;
}

.mosaique-opus__cta:hover,
.mosaique-opus__cta:focus-visible {
  background: var(--ink-main);
  color: var(--ink-page);
}

.mosaique-opus__toggle {
  order: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--st-2xs);
  min-width: 44px;
  min-height: 44px;
  margin-left: auto !important;
  padding: 0;
  border: 0;
  background: var(--ink-page);
  color: var(--ink-fg);
  cursor: pointer;
}

.mosaique-opus__grid {
  display: grid;
  grid-template-columns: repeat(3, 4px);
  grid-auto-rows: 4px;
  gap: 3px;
}

.mosaique-opus__dot {
  display: block;
  width: 4px;
  height: 4px;
  background: currentColor;
  border-radius: var(--crn-circle);
}

.mosaique-opus__pane {
  display: none;
  position: absolute;
  inset-inline: 0;
  inset-block-start: 100%;
  z-index: 110;
  max-height: 76vh;
  overflow-y: auto;
  background: var(--ink-bg-elevated);
  border-block-end: var(--str-light) solid var(--ink-edge-hard);
  box-shadow: var(--elev-lg);
}

.mosaique-opus__pane.is-open {
  display: block;
}

.mosaique-opus__aisle {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.mosaique-opus__file {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mosaique-opus__file .mosaique-opus__link {
  display: flex;
  width: 100%;
  min-height: 48px;
  background: var(--ink-bg-elevated);
  border-block-end: var(--str-light) solid var(--ink-edge);
  color: var(--ink-fg);
}

.mosaique-opus__file .mosaique-opus__link:hover,
.mosaique-opus__file .mosaique-opus__link:focus-visible {
  color: var(--ink-main);
  background: var(--ink-bg-elevated);
}

@media (max-width: 999px) {
  .mosaique-opus__pic {
    height: 40px;
  }

  .mosaique-opus__plate {
    padding: 0;
    background: none;
  }
}

@media (max-width: 479px) {
  .mosaique-opus__body {
    gap: var(--st-xs);
  }

  .mosaique-opus__pic {
    height: 32px;
  }

  .mosaique-opus__cta {
    padding-inline: var(--st-sm);
    font-size: var(--ts-mini);
  }
}

@media (min-width: 1000px) {
  .mosaique-opus__body {
    min-height: var(--top-height-desktop);
  }

  .mosaique-opus__menu {
    display: block;
  }

  .mosaique-opus__tag {
    display: inline-flex;
    margin-inline-start: 0;
  }

  .mosaique-opus__actions {
    margin-inline-start: 0;
  }

  .mosaique-opus__toggle {
    display: none;
  }

  .mosaique-opus__pane {
    display: none !important;
  }
}

/* hero — HERO-12 */

.socle-sleek {
  padding-block: var(--st-2xl) var(--st-lg);
  background: var(--ink-page);
  color: var(--ink-fg);
}

.socle-sleek__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
  text-align: center;
}

.socle-sleek__kicker {
  display: block;
  margin-block-end: var(--st-sm);
  color: var(--ink-main);
  background: var(--ink-page);
  font-size: var(--ts-small);
  font-style: italic;
  letter-spacing: var(--tr-loose);
}

.socle-sleek__head {
  margin-block-end: var(--st-md);
}

.socle-sleek__lead {
  max-width: var(--shl-narrow);
  margin-inline: auto;
  margin-block-end: var(--st-md);
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-h5);
  font-style: italic;
  line-height: var(--ld-default);
}

.socle-sleek__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--st-xs);
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-mini);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

.socle-sleek__info > span + span::before,
.socle-sleek__info > time + span::before,
.socle-sleek__info > span + time::before {
  content: '\00B7';
  margin-inline-end: var(--st-xs);
  color: var(--ink-main);
}

.socle-sleek__figure {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin: var(--st-lg) auto 0;
  padding-inline: var(--shl-edge-narrow);
}

.socle-sleek__shot {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  border-radius: var(--crn-lg);
}

.socle-sleek__note {
  margin-block-start: var(--st-xs);
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-mini);
  font-style: italic;
  text-align: center;
}

@media (min-width: 760px) {
  .socle-sleek__body,
  .socle-sleek__figure {
    padding-inline: var(--shl-edge-wide);
  }
}

/* page header — PHEAD-02 */

.shelf-fine {
  padding-block: var(--st-xl) var(--st-lg);
  background: var(--ink-page);
}

.shelf-fine__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
  text-align: center;
}

.shelf-fine__rule {
  width: 80px;
  height: var(--str-strong);
  margin: var(--st-md) auto 0;
  border: 0;
  background: var(--ink-accent);
}

.shelf-fine__info {
  max-width: var(--shl-narrow);
  margin-inline: auto;
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-small);
}

@media (min-width: 760px) {
  .shelf-fine__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* prose — PROSE-24 */

.corniche-raw {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.corniche-raw__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.corniche-raw__body > h2 {
  margin-block: var(--st-lg) var(--st-sm);
}

.corniche-raw__body > h2:first-child {
  margin-block-start: 0;
}

.corniche-raw__body > h3 {
  margin-block: var(--st-md) var(--st-xs);
}

.corniche-raw__spark {
  color: var(--ink-main);
  font-weight: var(--wg-black);
}

.corniche-raw__para {
  margin-block-end: var(--st-sm);
  color: var(--ink-fg);
  background: var(--ink-page);
  line-height: var(--ld-roomy);
}

.corniche-raw__roll {
  margin-block: 0 var(--st-md);
  padding-inline-start: var(--st-md);
  color: var(--ink-fg);
  background: var(--ink-page);
}

.corniche-raw__item {
  margin-block-end: var(--st-xs);
  line-height: var(--ld-roomy);
}

.corniche-raw__item::marker {
  color: var(--ink-main);
}

.corniche-raw strong {
  color: var(--ink-main);
  font-weight: var(--wg-black);
}

.corniche-raw__frame {
  margin: var(--st-lg) auto;
  max-width: calc(var(--shl-narrow) * 0.62);
}

.corniche-raw__band {
  margin: var(--st-lg) auto;
  max-width: calc(var(--shl-narrow) * 1.35);
}

.corniche-raw__pic {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--crn-md);
  border: var(--str-light) solid var(--ink-edge);
}

.corniche-raw__cap {
  margin-block-start: var(--st-xs);
  margin-block-end: 0;
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-mini);
  font-style: italic;
  text-align: center;
}

@media (min-width: 760px) {
  .corniche-raw__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* items grid — GRID-01 */

.galerie-signal {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.galerie-signal__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.galerie-signal__hdr {
  margin-block: 0 var(--st-md);
}

.galerie-signal__roll {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--st-lg);
  margin: 0;
  padding: 0;
  list-style: none;
}

.galerie-signal__item {
  display: flex;
  flex-direction: column;
  padding: var(--st-lg);
  background: var(--ink-bg-elevated);
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-md);
  transition: border-color var(--dur-normal) var(--ease-exit), transform var(--dur-normal) var(--ease-exit);
}

.galerie-signal__item:hover {
  border-color: var(--ink-accent);
  transform: translateY(-2px);
}

.galerie-signal__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-block-end: var(--st-sm);
  border-radius: var(--crn-sm);
  background: rgba(203, 2, 46, 0.16);
  color: var(--ink-main);
}

.galerie-signal__mark svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.galerie-signal__head {
  margin-block: 0 var(--st-sm);
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
  font-size: var(--ts-display-4);
}

.galerie-signal__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
  line-height: var(--ld-default);
}

@media (min-width: 760px) {
  .galerie-signal__body {
    padding-inline: var(--shl-edge-wide);
  }

  .galerie-signal__roll {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1080px) {
  .galerie-signal__roll {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* data table — TABLE-03 */

.affiche-grave {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.affiche-grave__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.affiche-grave__hdr {
  margin-block: 0 var(--st-md);
}

.affiche-grave__sheet {
  width: 100%;
  font-size: var(--ts-small);
}

.affiche-grave__line {
  background: var(--ink-bg-elevated);
}

.affiche-grave__tag {
  padding: var(--st-sm) var(--st-md);
  background: var(--ink-page);
  color: var(--ink-main);
  font-family: var(--fnt-heading);
  font-size: var(--ts-mini);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
  text-align: start;
  border-block-end: var(--str-mid) solid var(--ink-accent);
}

.affiche-grave__box {
  padding: var(--st-sm) var(--st-md);
  background: var(--ink-bg-elevated);
  color: var(--ink-fg);
  border-block-end: var(--str-light) solid var(--ink-edge);
  vertical-align: top;
}

@media (max-width: 759px) {
  .affiche-grave__sheet thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .affiche-grave__line {
    display: block;
    margin-block-end: var(--st-md);
    padding: var(--st-md);
    background: var(--ink-bg-elevated);
    border: var(--str-light) solid var(--ink-edge-hard);
    border-radius: var(--crn-md);
  }

  .affiche-grave__box {
    display: block;
    padding: var(--st-xs) 0;
    border-block-end: 0;
  }

  .affiche-grave__box::before {
    content: attr(data-label);
    display: block;
    color: var(--ink-main);
    background: var(--ink-bg-elevated);
    font-size: var(--ts-mini);
    font-weight: var(--wg-black);
    letter-spacing: var(--tr-loose);
    text-transform: uppercase;
  }
}

@media (min-width: 760px) {
  .affiche-grave__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* reviews — REV-03 */

.piedestal-grand {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.piedestal-grand__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.piedestal-grand__hdr {
  margin-block: 0 var(--st-md);
}

.piedestal-grand__rail {
  display: flex;
  gap: var(--st-md);
  margin: 0;
  padding: 0 0 var(--st-sm);
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
}

.piedestal-grand__card {
  display: flex;
  flex-direction: column;
  gap: var(--st-sm);
  flex: 0 0 auto;
  width: min(360px, 82vw);
  min-height: 240px;
  padding: var(--st-lg);
  background: var(--ink-bg-elevated);
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-md);
  scroll-snap-align: start;
}

.piedestal-grand__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--st-xs);
}

.piedestal-grand__handle {
  margin: 0;
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
  font-family: var(--fnt-heading);
  font-size: var(--ts-h5);
  font-weight: var(--wg-black);
}

.piedestal-grand__date {
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
  font-size: var(--ts-mini);
}

.piedestal-grand__score {
  color: var(--ink-main);
  background: var(--ink-bg-elevated);
  font-size: var(--ts-mini);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
}

.piedestal-grand__bar {
  position: relative;
  width: 60%;
  height: 4px;
  background: rgba(193, 192, 192, 0.2);
  border-radius: var(--crn-2xs);
}

.piedestal-grand__fill {
  display: block;
  height: 100%;
  background: var(--ink-accent);
  border-radius: var(--crn-2xs);
}

.piedestal-grand__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
  font-size: var(--ts-small);
  line-height: var(--ld-default);
}

.piedestal-grand__tick {
  display: flex;
  justify-content: center;
  gap: var(--st-xs);
  margin-block-start: var(--st-sm);
}

.piedestal-grand__spot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: var(--crn-circle);
  background: rgba(193, 192, 192, 0.3);
  cursor: pointer;
}

.piedestal-grand__spot.is-live {
  background: var(--ink-accent);
}

@media (min-width: 760px) {
  .piedestal-grand__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* faq — FAQ-07 */

.portico-opus {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.portico-opus__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.portico-opus__hdr {
  margin-block: 0 var(--st-md);
}

.portico-opus__roll {
  display: flex;
  flex-direction: column;
  gap: var(--st-sm);
}

.portico-opus__item {
  border-block-end: var(--str-light) solid rgba(193, 192, 192, 0.12);
}

.portico-opus__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--st-sm);
  padding-block: var(--st-xs);
  cursor: pointer;
  list-style: none;
}

.portico-opus__head::-webkit-details-marker {
  display: none;
}

.portico-opus__ask {
  margin: 0;
  color: var(--ink-fg);
  background: var(--ink-page);
  font-family: var(--fnt-text);
  font-size: var(--ts-small);
  font-weight: var(--wg-semi);
  line-height: var(--ld-default);
}

.portico-opus__head:hover .portico-opus__ask {
  color: var(--ink-main);
  background: var(--ink-page);
}

.portico-opus__mark {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  position: relative;
  color: var(--ink-main);
}

.portico-opus__mark::before,
.portico-opus__mark::after {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 12px;
  height: var(--str-mid);
  translate: -50% -50%;
  background: currentColor;
}

.portico-opus__mark::after {
  rotate: 90deg;
}

.portico-opus__item[open] .portico-opus__mark::after {
  display: none;
}

.portico-opus__say {
  padding-block: var(--st-xs) var(--st-sm);
}

.portico-opus__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-small);
  line-height: var(--ld-default);
}

@media (min-width: 760px) {
  .portico-opus__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* cta block — CTA-03 */

.fresque-sharp {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.fresque-sharp__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.fresque-sharp__split {
  display: grid;
  grid-template-columns: 1fr;
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-lg);
  overflow: hidden;
}

.fresque-sharp__main {
  padding: var(--st-xl) var(--st-lg);
  background: var(--ink-page);
}

.fresque-sharp__kicker {
  display: block;
  margin-block-end: var(--st-xs);
  color: var(--ink-main);
  background: var(--ink-page);
  font-size: var(--ts-mini);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

.fresque-sharp__head {
  margin-block: 0 var(--st-sm);
}

.fresque-sharp__para {
  max-width: var(--shl-narrow);
  margin-block-end: var(--st-md);
  color: var(--ink-dim);
  background: var(--ink-page);
  line-height: var(--ld-default);
}

.fresque-sharp__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--st-sm);
}

.fresque-sharp__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding-inline: var(--st-lg);
  border: 0;
  border-radius: var(--crn-sm);
  background: var(--ink-accent);
  color: var(--ink-fg);
  font-family: var(--fnt-heading);
  font-size: var(--ts-small);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
  background-image: none;
}

.fresque-sharp__cta:hover,
.fresque-sharp__cta:focus-visible {
  background: var(--ink-key-active);
  color: var(--ink-fg);
}

.fresque-sharp__note {
  margin-block: var(--st-sm) 0;
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-mini);
}

.fresque-sharp__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  padding: var(--st-lg);
  background: linear-gradient(135deg, var(--ink-ramp-start), var(--ink-main));
}

.fresque-sharp__figure {
  margin: 0;
  color: #0b0808;
  background: transparent;
  font-family: var(--fnt-heading);
  font-size: clamp(56px, 14vw, 104px);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-close);
  line-height: 1;
}

@media (min-width: 760px) {
  .fresque-sharp__body {
    padding-inline: var(--shl-edge-wide);
  }

  .fresque-sharp__split {
    grid-template-columns: 1fr 1fr;
  }

  .fresque-sharp__main {
    padding: var(--st-xl);
  }

  .fresque-sharp__panel {
    min-height: 400px;
  }
}

/* inline cta — INLINE-CTA-06 */

.mantle-clean {
  display: block;
  padding-block: var(--st-md);
  background: var(--ink-page);
}

.mantle-clean__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.mantle-clean__slab {
  max-width: var(--shl-narrow);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--st-sm);
  padding-block: var(--st-md);
  border-block: var(--str-light) solid var(--ink-edge);
}

.mantle-clean__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-page);
  text-align: center;
}

.mantle-clean__actions {
  display: flex;
  flex-direction: column;
  gap: var(--st-sm);
}

.mantle-clean__cta,
.mantle-clean__press {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding-inline: var(--st-lg);
  border-radius: var(--crn-sm);
  font-family: var(--fnt-heading);
  font-size: var(--ts-small);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
  text-align: center;
  background-image: none;
}

.mantle-clean__cta {
  border: 0;
  background: var(--ink-accent);
  color: var(--ink-fg);
}

.mantle-clean__cta:hover,
.mantle-clean__cta:focus-visible {
  background: var(--ink-key-active);
  color: var(--ink-fg);
}

.mantle-clean__press {
  border: var(--str-light) solid var(--ink-dim);
  background: var(--ink-page);
  color: var(--ink-fg);
}

.mantle-clean__press:hover,
.mantle-clean__press:focus-visible {
  border-color: var(--ink-fg);
  background: var(--ink-bg-elevated);
  color: var(--ink-fg);
}

@media (min-width: 760px) {
  .mantle-clean__body {
    padding-inline: var(--shl-edge-wide);
  }

  .mantle-clean__actions {
    flex-direction: row;
    justify-content: center;
  }
}

/* legal section — LEGAL-07 */

.pulpit-clean {
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.pulpit-clean__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.pulpit-clean__kicker {
  display: block;
  margin-block-end: var(--st-xs);
  color: var(--ink-main);
  background: var(--ink-page);
  font-size: var(--ts-mini);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

.pulpit-clean__lead {
  margin-block-end: var(--st-lg);
  color: var(--ink-fg);
  background: var(--ink-page);
  font-family: var(--fnt-heading);
  font-size: var(--ts-display-4);
  font-style: italic;
  line-height: var(--ld-default);
}

.pulpit-clean__head {
  margin-block: var(--st-lg) var(--st-xs);
  font-style: italic;
}

.pulpit-clean__rule {
  width: 80px;
  height: var(--str-mid);
  margin: 0 0 var(--st-sm);
  border: 0;
  background: var(--ink-accent);
}

.pulpit-clean__para {
  margin-block-end: var(--st-sm);
  color: var(--ink-fg);
  background: var(--ink-page);
  line-height: var(--ld-roomy);
}

.pulpit-clean__opener::first-letter {
  float: inline-start;
  margin-inline-end: var(--st-xs);
  color: var(--ink-main);
  font-family: var(--fnt-heading);
  font-size: 3em;
  font-weight: var(--wg-black);
  line-height: 0.9;
}

.pulpit-clean__roll {
  margin-block: 0 var(--st-md);
  padding-inline-start: var(--st-md);
  color: var(--ink-fg);
  background: var(--ink-page);
}

.pulpit-clean__item {
  margin-block-end: var(--st-xs);
  line-height: var(--ld-roomy);
}

.pulpit-clean__item::marker {
  color: var(--ink-main);
}

.pulpit-clean__note {
  margin-block-start: var(--st-lg);
  padding: var(--st-md);
  background: var(--ink-bg-elevated);
  border-inline-start: var(--str-strong) solid var(--ink-main);
  color: var(--ink-dim);
  font-size: var(--ts-small);
  line-height: var(--ld-default);
}

@media (min-width: 760px) {
  .pulpit-clean__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* contact form — FORM-08 */

.canopy-grave {
  display: block;
  padding-block: var(--band-top) var(--band-bottom);
  background: var(--ink-page);
}

.canopy-grave__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.canopy-grave__card {
  padding: var(--st-xl) var(--st-lg);
  background: var(--ink-bg-elevated);
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-md);
}

.canopy-grave__hdr {
  margin-block: 0 var(--st-sm);
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
}

.canopy-grave__para {
  margin-block-end: var(--st-md);
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
  line-height: var(--ld-default);
}

.canopy-grave__box {
  display: block;
  margin-block-end: var(--st-md);
}

.canopy-grave__tag {
  display: block;
  margin-block-end: var(--st-2xs);
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
  font-size: var(--ts-small);
  font-weight: var(--wg-semi);
}

.canopy-grave__slot {
  display: block;
  width: 100%;
  padding: var(--st-sm) var(--st-md);
  background: var(--ink-page);
  color: var(--ink-fg);
  border: var(--str-light) solid var(--ink-edge-hard);
  border-radius: var(--crn-sm);
  font-family: var(--fnt-text);
  font-size: var(--ts-normal);
}

.canopy-grave__slot:focus-visible {
  border-color: var(--ink-main);
  outline: var(--str-mid) solid var(--ink-main);
  outline-offset: 1px;
}

.canopy-grave__press {
  display: block;
  width: 100%;
  min-height: 72px;
  padding-inline: var(--st-lg);
  border: 0;
  border-radius: var(--crn-sm);
  background: var(--ink-main);
  color: var(--ink-page);
  font-family: var(--fnt-heading);
  font-size: var(--ts-display-4);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
  cursor: pointer;
}

.canopy-grave__press:hover,
.canopy-grave__press:focus-visible {
  background: var(--ink-fg);
  color: var(--ink-page);
}

.canopy-grave__say {
  margin-block-start: var(--st-md);
  padding: var(--st-md);
  background: var(--ink-page);
  border: var(--str-light) solid var(--ink-main);
  border-radius: var(--crn-sm);
  color: var(--ink-fg);
}

.canopy-grave__say[hidden] {
  display: none;
}

@media (min-width: 760px) {
  .canopy-grave__body {
    padding-inline: var(--shl-edge-wide);
  }

  .canopy-grave__card {
    padding: var(--st-xl);
  }
}

/* author byline — BYLINE-01 */

.quai-modern {
  display: block;
  padding-block: var(--st-md) var(--st-lg);
  background: var(--ink-page);
}

.quai-modern__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
  display: flex;
  align-items: center;
  gap: var(--st-sm);
  padding-block: var(--st-md);
  border-block-start: var(--str-light) solid var(--ink-edge);
}

.quai-modern__shot {
  display: block;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: var(--crn-circle);
  background-image: none;
}

.quai-modern__pic {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.quai-modern__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-page);
}

.quai-modern__handle {
  color: var(--ink-main);
  background: var(--ink-page);
  background-size: 100% var(--str-light);
}

.quai-modern__credit {
  margin-block: var(--st-2xs) 0;
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-small);
  font-style: italic;
}

@media (min-width: 760px) {
  .quai-modern__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* author card — AUTH-01 */

.banner-fluid {
  display: block;
  padding-block: var(--st-xl) var(--band-bottom);
  background: var(--ink-page);
}

.banner-fluid__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.banner-fluid__card {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: var(--st-lg);
  padding: var(--st-xl) var(--st-lg);
  background: var(--ink-bg-elevated);
  border-radius: var(--crn-lg);
  box-shadow: var(--elev-sm);
}

.banner-fluid__shot {
  display: block;
  width: 120px;
  height: 120px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: var(--crn-circle);
}

.banner-fluid__pic {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.banner-fluid__main {
  display: flex;
  flex-direction: column;
  gap: var(--st-md);
}

.banner-fluid__credit {
  margin: 0;
  color: var(--ink-main);
  background: var(--ink-bg-elevated);
  font-family: var(--fnt-text);
  font-size: var(--ts-small);
  font-weight: var(--wg-semi);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

.banner-fluid__handle {
  margin: 0;
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
  font-family: var(--fnt-heading);
  font-size: var(--ts-xl-2);
  font-weight: var(--wg-black);
  line-height: var(--ld-compact);
}

.banner-fluid__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
  line-height: var(--ld-roomy);
}

.banner-fluid__roll {
  display: flex;
  flex-wrap: wrap;
  gap: var(--st-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.banner-fluid__item {
  padding: var(--st-2xs) var(--st-sm);
  background: var(--ink-main);
  color: var(--ink-page);
  border-radius: var(--crn-stadium);
  font-size: var(--ts-mini);
  font-weight: var(--wg-semi);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

.banner-fluid__papers {
  margin-block-start: var(--st-lg);
  padding-block-start: var(--st-md);
  border-block-start: var(--str-light) solid var(--ink-edge);
}

.banner-fluid__hdr {
  margin-block: 0 var(--st-sm);
  color: var(--ink-fg);
  background: var(--ink-page);
  font-size: var(--ts-h3);
}

.banner-fluid__file {
  display: flex;
  flex-direction: column;
  gap: var(--st-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.banner-fluid__line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--st-xs);
}

.banner-fluid__link {
  color: var(--ink-main);
  background: var(--ink-page);
}

.banner-fluid__date {
  color: var(--ink-dim);
  background: var(--ink-page);
  font-size: var(--ts-mini);
}

@media (min-width: 760px) {
  .banner-fluid__body {
    padding-inline: var(--shl-edge-wide);
  }

  .banner-fluid__card {
    grid-template-columns: 160px 1fr;
    justify-items: start;
    align-items: start;
    gap: var(--st-xl);
    padding: var(--st-xl) var(--st-lg);
  }

  .banner-fluid__shot {
    width: 160px;
    height: 160px;
  }
}

/* error block — ERR-06 */

.mullion-neat {
  padding-block: var(--st-2xl) var(--band-bottom);
  background: var(--ink-page);
}

.mullion-neat__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
}

.mullion-neat__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--st-md);
  max-width: var(--shl-narrow);
  margin-inline: auto;
  padding: var(--st-xl) var(--st-lg);
  background: var(--ink-bg-elevated);
  border: var(--str-mid) solid var(--ink-accent);
  border-radius: var(--crn-lg);
  box-shadow: var(--elev-md);
  text-align: center;
}

.mullion-neat__head {
  margin: 0;
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
}

.mullion-neat__para {
  margin: 0;
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
  line-height: var(--ld-default);
}

.mullion-neat__press {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding-inline: var(--st-lg);
  border-radius: var(--crn-sm);
  background: var(--ink-main);
  color: var(--ink-page);
  font-family: var(--fnt-heading);
  font-size: var(--ts-small);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
  background-image: none;
}

.mullion-neat__press:hover,
.mullion-neat__press:focus-visible {
  background: var(--ink-fg);
  color: var(--ink-page);
}

@media (min-width: 760px) {
  .mullion-neat__body {
    padding-inline: var(--shl-edge-wide);
  }
}

/* footer — FOOT-05 + RG-07 */

.medaillon-classic {
  background: var(--ink-main);
  color: #100c07;
}

.medaillon-classic__warn {
  background: #f5f1ea;
  border-block-end: var(--str-mid) solid var(--ink-warn-band);
}

.medaillon-classic__band {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding: var(--st-sm) var(--shl-edge-narrow);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--st-xs);
  background: #f5f1ea;
  color: var(--ink-warn-band);
  font-size: var(--ts-small);
  font-weight: var(--wg-semi);
  text-align: center;
}

.medaillon-classic__age {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 0 var(--st-2xs);
  border: var(--str-mid) solid var(--ink-warn-band);
  border-radius: var(--crn-stadium);
  background: #f5f1ea;
  color: var(--ink-warn-band);
  font-weight: var(--wg-black);
}

.medaillon-classic__say {
  color: var(--ink-warn-band);
  background: #f5f1ea;
}

.medaillon-classic__aid {
  color: #6b0f12;
  background: #f5f1ea;
  background-size: 100% var(--str-light);
}

.medaillon-classic__aid:hover,
.medaillon-classic__aid:focus-visible {
  color: #45080a;
  background: #f5f1ea;
}

.medaillon-classic__body {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding-inline: var(--shl-edge-narrow);
  padding-block: var(--st-xl);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--st-lg);
}

.medaillon-classic__strip {
  display: flex;
  flex-direction: column;
  gap: var(--st-sm);
}

.medaillon-classic__brand {
  display: inline-flex;
  align-self: flex-start;
  background-image: none;
}

.medaillon-classic__pic {
  display: block;
  height: 80px;
  width: auto;
}

.medaillon-classic__para {
  margin: 0;
  color: #241c12;
  background: var(--ink-main);
  font-size: var(--ts-small);
  line-height: var(--ld-default);
}

.medaillon-classic__hdr {
  margin-block: 0 var(--st-md);
  color: #100c07;
  background: var(--ink-main);
  font-family: var(--fnt-heading);
  font-size: var(--ts-small);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  text-transform: uppercase;
}

.medaillon-classic__roll {
  display: flex;
  flex-direction: column;
  gap: var(--st-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.medaillon-classic__link {
  color: #241c12;
  background: var(--ink-main);
  font-size: var(--ts-small);
}

.medaillon-classic__link:hover,
.medaillon-classic__link:focus-visible {
  color: #4a0210;
  background: var(--ink-main);
}

.medaillon-classic__tail {
  border-block-start: var(--str-light) solid rgba(16, 12, 7, 0.28);
}

.medaillon-classic__line {
  max-width: calc(var(--shl-outer) + 2 * var(--shl-edge-wide));
  margin-inline: auto;
  padding: var(--st-md) var(--shl-edge-narrow);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--st-xs);
  color: #241c12;
  background: var(--ink-main);
  font-size: var(--ts-mini);
  text-align: center;
}

@media (min-width: 760px) {
  .medaillon-classic__band,
  .medaillon-classic__body,
  .medaillon-classic__line {
    padding-inline: var(--shl-edge-wide);
  }

  .medaillon-classic__body {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1080px) {
  .medaillon-classic__body {
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: var(--st-xl);
  }
}

/* cookie banner — COOK-09 */

.shelf-premium {
  position: fixed;
  inset-block-end: var(--st-lg);
  inset-inline-start: var(--st-lg);
  inset-inline-end: auto;
  z-index: 90;
  max-width: min(420px, calc(100vw - 2 * var(--st-lg)));
  padding: var(--st-lg);
  background: var(--ink-page);
  border-inline-start: 4px solid var(--ink-accent);
  border-start-end-radius: 6px;
  box-shadow: var(--elev-lg);
  animation: shelf-premium-lift var(--dur-normal) var(--ease-exit) both;
}

.shelf-premium[hidden] {
  display: none;
}

@keyframes shelf-premium-lift {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.shelf-premium__body {
  display: flex;
  flex-direction: column;
  gap: var(--st-sm);
}

.shelf-premium__say {
  margin: 0;
  color: var(--ink-fg);
  background: var(--ink-page);
  font-size: var(--ts-small);
  line-height: var(--ld-default);
}

.shelf-premium__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--st-sm);
  justify-content: flex-start;
}

.shelf-premium__agree,
.shelf-premium__later {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding-inline: var(--st-md);
  border-radius: var(--crn-sm);
  font-family: var(--fnt-heading);
  font-size: var(--ts-small);
  font-weight: var(--wg-black);
  letter-spacing: var(--tr-loose);
  cursor: pointer;
}

.shelf-premium__agree {
  border: 0;
  background: var(--ink-accent);
  color: var(--ink-fg);
}

.shelf-premium__agree:hover,
.shelf-premium__agree:focus-visible {
  background: var(--ink-key-active);
  color: var(--ink-fg);
}

.shelf-premium__later {
  border: var(--str-light) solid var(--ink-edge-hard);
  background: var(--ink-page);
  color: var(--ink-fg);
}

.shelf-premium__later:hover,
.shelf-premium__later:focus-visible {
  background: var(--ink-bg-elevated);
  color: var(--ink-fg);
}

@media (max-width: 720px) {
  .shelf-premium {
    inset-inline: var(--st-sm);
    inset-block-end: var(--st-sm);
    max-width: none;
    padding: 12px 14px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .shelf-premium__body {
    gap: 8px !important;
  }

  .shelf-premium__agree,
  .shelf-premium__later {
    flex: 1 1 auto;
    padding: 8px 14px !important;
    font-size: 12px !important;
    min-height: 36px !important;
  }
}

/* offer buttons */

.para-grab{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--st-lg);min-height:46px;border-radius:var(--crn-sm);font-size:var(--ts-small);font-weight:var(--wg-black);letter-spacing:var(--tr-loose)}
.para-grab{position:relative;
  background:#4F46E5;color:#FFFFFF;text-decoration:none;text-transform:uppercase;
  transition:background 0.22s cubic-bezier(.2,.7,.3,1),color 0.22s cubic-bezier(.2,.7,.3,1),transform 0.22s cubic-bezier(.2,.7,.3,1);}
.para-grab.para-grab{color:#FFFFFF;text-decoration:none;}
.para-grab:hover{background:#4338CA;color:#FFFFFF;animation:none}
.para-grab.para-grab:hover{color:#FFFFFF;text-decoration:none}
.para-grab:hover::after{animation:none}
.para-grab:active{background:#3730A3;color:#FFFFFF}
.para-grab:focus-visible{outline:3px solid #060505;outline-offset:3px}
.para-grab{overflow:hidden;animation:para-flare 1.71s linear infinite}
.para-grab::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.42) 50%,transparent 100%);transform:translateX(-160%);animation:para-flare-2 1.71s ease-in-out infinite}
@keyframes para-flare{0%{transform:scale(1);animation-timing-function:cubic-bezier(.25,.8,.35,1)}23.392%{transform:scale(1.055);animation-timing-function:cubic-bezier(.45,.05,.55,.95)}70.760%,100%{transform:scale(1)}}
@keyframes para-flare-2{0%,3.509%{transform:translateX(-160%)}61.988%,100%{transform:translateX(330%)}}
@media (prefers-reduced-motion:reduce){.para-grab,.para-grab::after{animation:none!important;transition:none!important}}
.para-bar{display:flex;flex-direction:column;align-items:center;gap:14px;padding:var(--st-xl) var(--st-lg);background:var(--ink-bg-elevated);border-radius:var(--crn-md);border:var(--str-light) solid var(--ink-edge-hard);text-align:center;margin:var(--st-lg) 0}
.para-cond.para-cond{margin:0;border:0;padding:0;font-weight:600;font-size:0.9em}
.para-warn.para-warn{margin:0;border:0;padding:0;font-size:0.9em;opacity:.75}

.mosaique-opus__cta.para-grab {
  border: var(--str-mid) solid #8b84ff;
  min-height: 44px;
  padding-inline: var(--st-md);
}

.mosaique-opus__cta.para-grab:hover,
.mosaique-opus__cta.para-grab:focus-visible {
  background: #4338ca;
  color: #ffffff;
}

.para-bar {
  margin-block: var(--st-md) 0;
}

.para-cond {
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
}

.para-warn {
  color: var(--ink-dim);
  background: var(--ink-bg-elevated);
}

.canopy-grave__form {
  display: block;
}

.galerie-signal__plug {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--st-md);
  padding: var(--st-lg);
  background: var(--ink-bg-elevated);
  border: var(--str-mid) solid var(--ink-accent);
  border-radius: var(--crn-md);
  text-align: center;
}

.galerie-signal__plug .galerie-signal__para {
  color: var(--ink-fg);
  background: var(--ink-bg-elevated);
}

.galerie-signal__cta {
  align-self: center;
  background-image: none;
}

@media (min-width: 1000px) and (max-width: 1279px) {
  .mosaique-opus__pic {
    height: 48px;
  }
}

@media (max-width: 1012px) {
  .mosaique-opus__menu,
  .mosaique-opus__roll { display: none !important; }
  .mosaique-opus__toggle { display: flex !important; }
}
