/* fonderie — self-hosted faces */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonderie/montserrat-latin-600.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonderie/montserrat-latin-ext-600.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonderie/montserrat-latin-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonderie/montserrat-latin-ext-700.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonderie/inter-latin-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonderie/inter-latin-ext-400.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonderie/inter-latin-500.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/fonderie/inter-latin-ext-500.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonderie/inter-latin-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonderie/inter-latin-ext-700.woff2") format("woff2");
  unicode-range: U+0100-02AF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+2C60-2C7F, U+A720-A7FF;
}

/* tokens */
:root {
  --ink-base: #0982d6;
  --ink-zest: #39c05b;
  --ink-press: #2f9c4b;
  --ink-field: #0e1228;
  --ink-surface-2: #161b34;
  --ink-script: #ffffff;
  --ink-muted: #c0bfbf;
  --ink-edge: #252b47;
  --ink-edge-hard: #3a4165;
  --ink-blend-a: #a1e1ad;
  --ink-ramp-end: #65cd7f;
  --ink-notice: #dc2626;

  --pgn-sky: #7cc7f2;
  --pgn-deep: #07406e;
  --pgn-plate: #141a30;
  --pgn-hot: #17311f;
  --pgn-low: #12253a;
  --pgn-narrow: 470px;
  --pgn-sec-y: 44px;

  --st-1: 2px;
  --st-2: 6px;
  --st-3: 10px;
  --st-4: 14px;
  --st-5: 20px;
  --st-6: 28px;
  --st-7: 48px;
  --st-8: 72px;

  --rd-stadium: 9999px;
  --rd-circle: 50%;
  --rd-1: 1px;
  --rd-2: 2px;
  --rd-3: 8px;
  --rd-4: 14px;
  --rd-5: 22px;
  --rd-6: 28px;
  --rd-7: 34px;
  --rd-8: 42px;

  --ff-banner: "Montserrat", "Trebuchet MS", sans-serif;
  --ff-copy: "Inter", "Helvetica Neue", Arial, sans-serif;

  --ts-xxl: clamp(28px, 1.2rem + 2.6vw, 52px);
  --ts-h2: clamp(23px, 1.1rem + 0.9vw, 32px);
  --ts-h3: clamp(19px, 1rem + 0.5vw, 24px);
  --ts-md-2: 19px;
  --ts-sm-2: 16px;
  --ts-xs-2: 14px;
  --ts-normal: 17px;
  --ts-caption: 14px;
  --ts-xs: 12px;

  --ld-compact: 1.15;
  --ld-base: 1.55;
  --ld-roomy: 1.7;

  --wt-book: 400;
  --wt-medium: 500;
  --wt-strong: 700;

  --ls-narrow: 0;
  --ls-base: 0;
  --ls-loose: 0.02em;

  --elev-1: 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  --elev-2: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
  --elev-3: 0 4px 12px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
  --elev-4: 0 8px 24px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  --elev-5: 0 16px 48px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
  --elev-6: 0 20px 56px rgba(0, 0, 0, 0.36), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
  --elev-7: 0 26px 64px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.14) inset;
  --elev-8: 0 32px 78px rgba(0, 0, 0, 0.48), 0 0 0 1px rgba(255, 255, 255, 0.14) inset;

  --dur-snap: 104ms;
  --dur-mid: 180ms;
  --dur-slow: 286ms;
  --bz-land: cubic-bezier(0.25, 0.92, 0.34, 0.99);
  --bz-start: cubic-bezier(0.66, 0.08, 0.75, 0.12);
  --bz-both: cubic-bezier(0.55, 0.11, 0.53, 0.95);
  --bz-spring: cubic-bezier(0.4, 1, 0.6, 0.95);

  --shl-outer: 1000px;
  --shl-column: 1000px;
  --shl-inset-desktop: 64px;
  --shl-pad-md: 32px;
  --shl-inset-mobile: 20px;

  --bd-fine: 1px;
  --bd-even: 2px;
  --bd-thick: 3px;

  --top-h-lg: 50px;
  --top-size-mobile: 50px;
}

/* reset / base */
*,
*::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;
  background: var(--ink-field);
  color: var(--ink-script);
  font-family: var(--ff-copy);
  font-size: var(--ts-normal);
  font-weight: var(--wt-book);
  line-height: var(--ld-base);
  letter-spacing: var(--ls-base);
  -webkit-text-size-adjust: 100%;
}

.page-main {
  flex: 1 0 auto;
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: anywhere;
  margin: 0;
  font-family: var(--ff-banner);
  font-weight: var(--wt-strong);
  line-height: var(--ld-compact);
  letter-spacing: var(--ls-narrow);
}

h3 {
  font-family: var(--ff-copy);
  font-weight: var(--wt-medium);
}

p {
  margin: 0;
}

img {
  max-width: 100%;
}

.skipLane {
  position: absolute;
  inset-inline-start: var(--st-4);
  inset-block-start: var(--st-4);
  z-index: 200;
  background: var(--ink-zest);
  color: var(--ink-field);
  padding: var(--st-3) var(--st-5);
  border-radius: var(--rd-3);
  font-weight: var(--wt-strong);
  text-decoration: none;
}

.skipLane:not(:focus) {
  inset-block-start: -260px;
}

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

/* shared section shell */
.ledge-edge-guts,
.module-zone-guts,
.fenetre-refined-guts,
.ledge-grand-guts,
.buffet-edge-guts,
.trefoil-core-guts,
.belfry-fast-guts,
.crypte-true-guts,
.planche-deep-guts,
.bureau-pure-guts,
.encart-opus-guts,
.stele-fresh-guts,
.mullion-grand-guts,
.trefoil-core-railHold,
.bureau-pure-shelfHold {
  width: 100%;
  max-width: calc(var(--shl-outer) + 2 * var(--shl-inset-desktop));
  margin-inline: auto;
  padding-inline: var(--shl-inset-desktop);
}

/* reveal (slide) */
[data-rise] {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition: opacity var(--dur-slow) var(--bz-land), transform var(--dur-slow) var(--bz-land);
}

[data-rise].has-entered {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* 18+ notice — RG-05 */
.rg-banner {
  display: block;
  text-align: center;
  background: var(--ink-surface-2);
  color: var(--ink-muted);
  font-size: var(--ts-xs);
  line-height: 1.4;
  padding: var(--st-3) var(--st-5);
  border-block-end: var(--bd-fine) solid var(--ink-edge);
  margin: 0;
}

.rg-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 26px;
  block-size: 26px;
  margin-inline-end: var(--st-3);
  vertical-align: middle;
  border-radius: var(--rd-4);
  background: var(--ink-notice);
  color: var(--ink-script);
  font-family: var(--ff-banner);
  font-size: 11px;
  font-weight: var(--wt-strong);
  letter-spacing: 0;
}

.rg-copy {
  display: inline;
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.rg-link {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
  font-size: inherit;
  text-decoration: underline;
}

.rg-link:hover {
  color: var(--ink-blend-a);
  background: var(--ink-surface-2);
}

/* header — HEAD-BANNER */
.pignon-light {
  position: relative;
  z-index: 50;
  background: var(--ink-field);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.45);
}

.pignon-light-crown {
  background: var(--ink-field);
  padding-block: var(--st-5);
  border-block-end: var(--bd-fine) solid var(--ink-edge);
}

.pignon-light-crownHold {
  position: relative;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: var(--st-5);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 104px;
}

.pignon-light-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 16px 52px;
  border-radius: var(--rd-circle);
  background: var(--ink-surface-2);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  box-shadow: var(--elev-3);
  text-decoration: none;
}

.pignon-light-image {
  display: block;
  height: 72px;
  width: auto;
  flex-shrink: 0;
}

.pignon-light-menu-opener {
  display: none;
  position: absolute;
  inset-inline-end: var(--st-5);
  inset-block-start: 50%;
  transform: translateY(-50%);
  align-items: center;
  justify-content: center;
  inline-size: 48px;
  block-size: 44px;
  cursor: pointer;
  background: var(--ink-surface-2);
  color: var(--ink-script);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  border-radius: var(--rd-3);
}

.pignon-light-lines {
  position: relative;
  display: block;
  inline-size: 22px;
  block-size: 2px;
  background: var(--ink-script);
}

.pignon-light-lines::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 8px;
  block-size: 2px;
  background: var(--ink-script);
}

.pignon-light-strip {
  height: 50px;
  min-height: 50px;
  background: var(--ink-field);
}

.pignon-light-stripHold {
  height: 50px;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: var(--st-5);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pignon-light-routes {
  flex: 0 0 auto;
  width: 100%;
}

.pignon-light-roll {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: var(--st-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.pignon-light-slot {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.pignon-light-slot[hidden] {
  display: none;
}

.pignon-light-link {
  display: block;
  position: relative;
  line-height: 50px;
  padding-inline: var(--st-1);
  font-family: var(--ff-copy);
  font-size: 13px;
  font-weight: 600;
  font-variant: small-caps;
  letter-spacing: var(--ls-loose);
  white-space: nowrap;
  text-decoration: none;
  color: var(--ink-script);
  background: var(--ink-field);
  transition: color var(--dur-mid) var(--bz-land);
}

.pignon-light-link:hover {
  color: var(--ink-zest);
  background: var(--ink-field);
  text-decoration: underline;
}

.pignon-light-link[aria-current="page"] {
  color: var(--ink-zest);
  background: var(--ink-field);
}

.pignon-light-link[aria-current="page"]::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  block-size: 3px;
  background: var(--ink-zest);
}

.pignon-light-more {
  position: relative;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.pignon-light-more[hidden] {
  display: none;
}

.pignon-light-more-opener {
  min-height: 36px;
  padding: var(--st-2) var(--st-4);
  cursor: pointer;
  font-family: var(--ff-copy);
  font-size: 13px;
  font-weight: 600;
  font-variant: small-caps;
  letter-spacing: var(--ls-loose);
  white-space: nowrap;
  color: var(--ink-script);
  background: var(--ink-surface-2);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  border-radius: var(--rd-3);
}

.pignon-light-more-opener:hover {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
}

.pignon-light-more-pane {
  display: none;
  position: absolute;
  inset-block-start: calc(100% + 6px);
  inset-inline-end: 0;
  z-index: 80;
  min-inline-size: 236px;
  max-block-size: 62vh;
  overflow-y: auto;
  margin: 0;
  padding: var(--st-3);
  list-style: none;
  background: var(--ink-surface-2);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  border-radius: var(--rd-4);
  box-shadow: var(--elev-5);
}

.pignon-light-more-pane.is-open {
  display: block;
}

.pignon-light-more-pane .pignon-light-slot {
  display: block;
}

.pignon-light-more-pane .pignon-light-link {
  display: flex;
  align-items: center;
  min-height: 42px;
  line-height: 1.4;
  padding: var(--st-2) var(--st-3);
  white-space: normal;
  border-radius: var(--rd-2);
  color: var(--ink-script);
  background: var(--ink-surface-2);
}

.pignon-light-more-pane .pignon-light-link:hover {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
}

.pignon-light-more-pane .pignon-light-link[aria-current="page"]::before {
  display: none;
}

.pignon-light-tray {
  display: none;
  padding: var(--st-4) var(--st-5) var(--st-5);
  max-block-size: 68vh;
  overflow-y: auto;
  background: var(--ink-surface-2);
  border-block-start: var(--bd-fine) solid var(--ink-edge);
}

.pignon-light-tray.is-open {
  display: block;
}

.pignon-light-trayRoll {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}

.pignon-light-traySlot {
  display: block;
}

.pignon-light-trayLink {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: var(--st-2) var(--st-3);
  font-size: var(--ts-sm-2);
  font-weight: var(--wt-medium);
  text-decoration: none;
  color: var(--ink-script);
  background: var(--ink-surface-2);
  border-block-end: var(--bd-fine) solid var(--ink-edge);
}

.pignon-light-trayLink:hover {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
}

.pignon-light-trayLink[aria-current="page"] {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
}

/* hero — HERO-01 */
.ardoise-smart {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(520px, 76vh, 760px);
  overflow: hidden;
  background: var(--ink-field);
  color: var(--ink-script);
}

.ardoise-smart-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 62% 50%;
  pointer-events: none;
}

.ardoise-smart-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image: linear-gradient(180deg, rgba(14, 18, 40, 0.18) 0%, rgba(14, 18, 40, 0.62) 52%, rgba(14, 18, 40, 0.94) 100%);
}

.ardoise-smart-main {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: calc(var(--shl-outer) + 2 * var(--shl-inset-desktop));
  margin-inline: auto;
  padding-inline: var(--shl-inset-desktop);
  padding-block: var(--st-7) var(--st-8);
}

.ardoise-smart-lede {
  max-width: calc(var(--pgn-narrow) * 1.62);
  font-size: var(--ts-xxl);
  color: var(--ink-script);
  text-wrap: balance;
}

.ardoise-smart-under {
  margin-block-start: var(--st-4);
  max-width: var(--pgn-narrow);
  font-size: var(--ts-sm-2);
  line-height: var(--ld-base);
  color: var(--ink-script);
}

.ardoise-smart-offer {
  margin-block-start: var(--st-5);
}

.ardoise-smart-terms {
  display: block;
  margin-block-start: var(--st-3);
  font-size: var(--ts-xs);
  letter-spacing: var(--ls-loose);
  color: var(--ink-blend-a);
}

/* page header — PHEAD-08 */
.ledge-edge {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.ledge-edge-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--st-3);
  margin: 0 0 var(--st-5);
  padding: 0;
  list-style: none;
}

.ledge-edge-tag {
  padding: var(--st-2) var(--st-4);
  border-radius: var(--rd-stadium);
  font-size: var(--ts-xs);
  font-weight: var(--wt-medium);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-script);
  background: var(--pgn-deep);
}

.ledge-edge-lede {
  font-size: var(--ts-xxl);
  color: var(--ink-script);
}

/* prose — PROSE-16 */
.trefoil-core {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.trefoil-core-eyebrow {
  display: block;
  text-align: start;
  margin-block-end: var(--st-2);
  font-family: var(--ff-copy);
  font-size: var(--ts-xs);
  font-weight: var(--wt-medium);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-zest);
  background: var(--ink-field);
}

.trefoil-core-heading {
  margin-block: 0 var(--st-4);
  font-size: var(--ts-h2);
  text-align: start;
  color: var(--ink-script);
  scroll-margin-block-start: var(--st-6);
}

.trefoil-core-copy {
  margin-block-end: var(--st-4);
  color: var(--ink-script);
  background: var(--ink-field);
  line-height: var(--ld-base);
}

.trefoil-core-copy:last-child {
  margin-block-end: 0;
}

.trefoil-core-roll {
  margin-block: 0 var(--st-4);
  padding-inline-start: var(--st-6);
}

.trefoil-core-slot {
  margin-block-end: var(--st-3);
  color: var(--ink-script);
  line-height: var(--ld-base);
}

.trefoil-core-slot::marker {
  color: var(--ink-zest);
}

.trefoil-core-rollNum {
  list-style: decimal;
}

.trefoil-core-link {
  color: var(--ink-zest);
  background: var(--ink-field);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.trefoil-core-link:hover {
  color: var(--ink-blend-a);
  background: var(--ink-field);
}

.trefoil-core-frame {
  margin: 0 auto var(--st-6);
  padding-inline: var(--shl-inset-desktop);
  max-width: calc(var(--shl-outer) + 2 * var(--shl-inset-desktop));
  text-align: center;
}

.trefoil-core-image {
  display: block;
  margin-inline: auto;
  height: auto;
  max-width: 100%;
  border-radius: var(--rd-4);
  border: var(--bd-fine) solid var(--ink-edge);
}

.trefoil-core-imageSq {
  width: 440px;
}

.trefoil-core-imageWide {
  width: 660px;
}

.trefoil-core-imageTall {
  width: 300px;
}

/* prose — offer rail between sections */
.trefoil-core-rail {
  padding-block: var(--st-5);
  background: var(--ink-field);
}

.trefoil-core-railHold {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--st-3) var(--st-5);
  padding-block: var(--st-5);
  border-block: var(--bd-fine) solid var(--ink-edge);
  background: var(--ink-field);
}

.trefoil-core-railCopy {
  flex: 1 1 260px;
  font-size: var(--ts-sm-2);
  font-weight: var(--wt-medium);
  color: var(--ink-script);
  background: var(--ink-field);
}

.trefoil-core-railTerms {
  flex: 1 1 100%;
  font-size: var(--ts-xs);
  color: var(--ink-muted);
  background: var(--ink-field);
}

.trefoil-core-offer {
  flex: 0 0 auto;
}

/* items grid — GRID-12 */
.module-zone {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.module-zone-heading {
  margin-block: 0 var(--st-5);
  font-size: var(--ts-h2);
  color: var(--ink-script);
}

.module-zone-roll {
  display: block;
}

.module-zone-slot {
  display: flex;
  align-items: flex-start;
  gap: var(--st-5);
  padding: var(--st-5) 0;
  border-block-end: var(--bd-fine) solid var(--ink-edge);
}

.module-zone-glyph {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 120px;
  block-size: 120px;
  border-radius: var(--rd-4);
  font-family: var(--ff-banner);
  font-size: 46px;
  font-weight: var(--wt-strong);
  line-height: 1;
}

.module-zone-glyphT0 {
  background: var(--ink-zest);
  color: var(--ink-field);
}

.module-zone-glyphT1 {
  background: var(--pgn-sky);
  color: var(--ink-field);
}

.module-zone-glyphT2 {
  background: var(--ink-ramp-end);
  color: var(--ink-field);
}

.module-zone-glyphT3 {
  background: var(--ink-blend-a);
  color: var(--ink-field);
}

.module-zone-main {
  flex: 1 1 auto;
  min-width: 0;
}

.module-zone-lede {
  margin-block: 0 var(--st-3);
  font-family: var(--ff-copy);
  font-size: var(--ts-md-2);
  font-weight: var(--wt-strong);
  color: var(--ink-script);
}

.module-zone-copy {
  color: var(--ink-script);
  background: var(--ink-field);
  line-height: var(--ld-base);
}

/* reviews — REV-07 */
.ledge-grand {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.ledge-grand-heading {
  margin-block: 0 var(--st-5);
  font-size: var(--ts-h2);
  color: var(--ink-script);
}

.ledge-grand-roll {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--st-5);
}

.ledge-grand-slot {
  margin: 0;
  padding: var(--st-5);
  border-radius: var(--rd-4);
  border: var(--bd-fine) solid var(--ink-edge);
  color: var(--ink-script);
}

.ledge-grand-slotHot {
  background: var(--pgn-hot);
  color: var(--ink-script);
}

.ledge-grand-slotMid {
  background: var(--ink-surface-2);
  color: var(--ink-script);
}

.ledge-grand-slotLow {
  background: var(--pgn-low);
  color: var(--ink-script);
}

.ledge-grand-score {
  display: flex;
  align-items: baseline;
  gap: var(--st-3);
  margin-block-end: var(--st-3);
}

.ledge-grand-grade {
  font-family: var(--ff-banner);
  font-size: var(--ts-h2);
  font-weight: var(--wt-strong);
  line-height: 1;
  color: var(--ink-zest);
}

.ledge-grand-stars {
  font-size: var(--ts-sm-2);
  letter-spacing: 2px;
  color: var(--ink-ramp-end);
}

.ledge-grand-copy {
  color: var(--ink-script);
  line-height: var(--ld-base);
}

.ledge-grand-by {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--st-3);
  margin-block-start: var(--st-4);
}

.ledge-grand-name {
  font-size: var(--ts-xs-2);
  font-weight: var(--wt-strong);
  color: var(--ink-script);
}

.ledge-grand-time {
  font-size: var(--ts-xs);
  color: var(--ink-muted);
}

.ledge-grand-plug {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--st-3) var(--st-5);
  padding: var(--st-5);
  border-radius: var(--rd-4);
  border: var(--bd-fine) dashed var(--ink-edge-hard);
  background: var(--ink-field);
}

.ledge-grand-plugCopy {
  flex: 1 1 240px;
  font-weight: var(--wt-medium);
  color: var(--ink-script);
  background: var(--ink-field);
}

.ledge-grand-plugTerms {
  flex: 1 1 100%;
  font-size: var(--ts-xs);
  color: var(--ink-muted);
  background: var(--ink-field);
}

.ledge-grand-offer {
  flex: 0 0 auto;
}

/* faq — FAQ-03 */
.fenetre-refined {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.fenetre-refined-heading {
  margin-block: 0 var(--st-5);
  font-size: var(--ts-h2);
  color: var(--ink-script);
}

.fenetre-refined-roll {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--st-5);
  align-items: start;
}

.fenetre-refined-slot {
  padding: var(--st-5);
  border-radius: var(--rd-4);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  background: var(--ink-field);
  color: var(--ink-script);
}

.fenetre-refined-ask {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: var(--st-3);
  align-items: start;
  cursor: pointer;
  list-style: none;
  margin-block-end: var(--st-4);
}

.fenetre-refined-ask::-webkit-details-marker {
  display: none;
}

.fenetre-refined-cue {
  font-family: var(--ff-banner);
  font-size: var(--ts-md-2);
  font-weight: var(--wt-strong);
  line-height: 1.3;
  color: var(--ink-zest);
  background: var(--ink-field);
}

.fenetre-refined-lede {
  margin: 0;
  font-family: var(--ff-copy);
  font-size: var(--ts-sm-2);
  font-weight: var(--wt-strong);
  line-height: 1.35;
  color: var(--ink-script);
}

.fenetre-refined-copy {
  color: var(--ink-script);
  background: var(--ink-field);
  line-height: var(--ld-base);
}

/* data table — TABLE-07 */
.belfry-fast {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.belfry-fast-heading {
  margin-block: 0 var(--st-5);
  font-size: var(--ts-h2);
  color: var(--ink-script);
}

.belfry-fast-scroll {
  overflow-x: auto;
}

.belfry-fast-grid {
  inline-size: 100%;
  min-inline-size: 640px;
  border-collapse: collapse;
  font-size: var(--ts-xs-2);
}

.belfry-fast-headCell {
  padding: var(--st-4);
  text-align: start;
  font-family: var(--ff-copy);
  font-weight: var(--wt-strong);
  color: var(--ink-script);
  background: var(--pgn-deep);
  border: var(--bd-fine) solid var(--ink-edge);
}

.belfry-fast-cell {
  padding: var(--st-4);
  vertical-align: top;
  color: var(--ink-script);
  background: var(--ink-field);
  border: var(--bd-fine) solid var(--ink-edge);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.belfry-fast-cell:nth-child(even) {
  background: var(--pgn-plate);
  color: var(--ink-script);
}

/* cta block — CTA-02 */
.buffet-edge {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
  scroll-margin-block-start: var(--st-6);
}

.buffet-edge-box {
  max-width: var(--pgn-narrow);
  margin-inline: auto;
  padding: var(--st-7) var(--st-6);
  text-align: center;
  border-radius: var(--rd-5);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  background: var(--pgn-plate);
  color: var(--ink-script);
}

.buffet-edge-lede {
  font-size: var(--ts-h2);
  color: var(--ink-script);
}

.buffet-edge-copy {
  margin-block: var(--st-4);
  line-height: var(--ld-roomy);
  color: var(--ink-muted);
  background: var(--pgn-plate);
}

.buffet-edge-terms {
  display: block;
  margin-block-start: var(--st-4);
  font-size: var(--ts-xs);
  color: var(--ink-muted);
  background: var(--pgn-plate);
}

/* author byline — BYLINE-05 */
.encart-opus {
  padding-block: var(--st-5);
  background: var(--pgn-deep);
  color: var(--ink-script);
}

.encart-opus-guts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--st-4);
  padding-block: var(--st-5);
}

.encart-opus-who {
  display: flex;
  align-items: center;
  gap: var(--st-4);
}

.encart-opus-photo {
  inline-size: 56px;
  block-size: 56px;
  border-radius: var(--rd-circle);
  object-fit: cover;
  flex: 0 0 auto;
}

.encart-opus-copy {
  display: flex;
  flex-direction: column;
}

.encart-opus-tagline {
  font-size: var(--ts-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-blend-a);
  background: var(--pgn-deep);
}

.encart-opus-name {
  font-family: var(--ff-banner);
  font-size: var(--ts-md-2);
  font-weight: var(--wt-strong);
  color: var(--ink-script);
}

.encart-opus-job {
  font-size: var(--ts-xs-2);
  color: var(--ink-script);
  background: var(--pgn-deep);
}

.encart-opus-link {
  color: var(--ink-script);
  background: var(--pgn-deep);
  text-decoration: none;
}

.encart-opus-link:hover {
  color: var(--ink-blend-a);
  background: var(--pgn-deep);
  text-decoration: underline;
}

.encart-opus-goto {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: var(--st-3) var(--st-5);
  border-radius: var(--rd-3);
  border: var(--bd-fine) solid var(--ink-blend-a);
  font-size: var(--ts-xs-2);
  font-weight: var(--wt-medium);
  text-decoration: none;
  color: var(--ink-script);
  background: var(--pgn-deep);
}

.encart-opus-goto:hover {
  color: var(--ink-field);
  background: var(--ink-blend-a);
}

/* author card — AUTH-06 */
.bureau-pure {
  padding-block: var(--pgn-sec-y);
  background-color: var(--pgn-deep);
  background-image: linear-gradient(135deg, var(--pgn-deep) 0%, var(--ink-field) 100%);
  color: var(--ink-script);
}

.bureau-pure-guts {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: var(--st-7);
  align-items: start;
}

.bureau-pure-frame {
  inline-size: 280px;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--rd-5);
  box-shadow: var(--elev-5);
  background: var(--ink-surface-2);
}

.bureau-pure-photo {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center 22%;
  display: block;
}

.bureau-pure-main {
  min-width: 0;
}

.bureau-pure-eyebrow {
  display: block;
  font-family: var(--ff-copy);
  font-size: var(--ts-caption);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-ramp-end);
  background: var(--ink-field);
}

.bureau-pure-lede {
  margin-block: var(--st-3) var(--st-4);
  font-size: clamp(34px, 2rem + 2vw, 58px);
  color: var(--ink-script);
}

.bureau-pure-copy {
  font-size: var(--ts-sm-2);
  line-height: var(--ld-base);
  color: var(--ink-script);
  background: var(--ink-field);
}

.bureau-pure-roll {
  display: flex;
  flex-wrap: wrap;
  gap: var(--st-3);
  margin-block: var(--st-5) 0;
  padding: 0;
  list-style: none;
}

.bureau-pure-slot {
  padding: var(--st-2) var(--st-4);
  border-radius: var(--rd-stadium);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  font-size: var(--ts-xs);
  color: var(--ink-script);
  background: var(--ink-surface-2);
}

.bureau-pure-shelf {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.bureau-pure-heading {
  margin-block: 0 var(--st-5);
  font-size: var(--ts-h2);
  color: var(--ink-script);
}

.bureau-pure-shelfRoll {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--st-3);
}

.bureau-pure-shelfSlot {
  border-block-end: var(--bd-fine) solid var(--ink-edge);
}

.bureau-pure-link {
  display: block;
  padding-block: var(--st-3);
  font-size: var(--ts-xs-2);
  text-decoration: none;
  color: var(--ink-script);
  background: var(--ink-field);
}

.bureau-pure-link:hover {
  color: var(--ink-zest);
  background: var(--ink-field);
  text-decoration: underline;
}

/* contact form — FORM-02 */
.planche-deep {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.planche-deep-guts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--st-6);
  align-items: start;
}

.planche-deep-aside {
  padding: var(--st-5);
  border-radius: var(--rd-4);
  border: var(--bd-fine) solid var(--ink-edge);
  background: var(--ink-surface-2);
  color: var(--ink-script);
}

.planche-deep-heading {
  margin-block: 0 var(--st-4);
  font-family: var(--ff-banner);
  font-size: var(--ts-h3);
  color: var(--ink-script);
}

.planche-deep-copy {
  font-size: var(--ts-xs-2);
  line-height: var(--ld-base);
  color: var(--ink-script);
  background: var(--ink-surface-2);
}

.planche-deep-roll {
  margin-block: var(--st-5) 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--st-3);
}

.planche-deep-slot {
  display: flex;
  align-items: center;
  gap: var(--st-3);
  font-size: var(--ts-xs-2);
  color: var(--ink-script);
}

.planche-deep-sign {
  inline-size: 22px;
  block-size: 22px;
  flex: 0 0 auto;
  fill: none;
  stroke: var(--ink-zest);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.planche-deep-link {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
  text-decoration: underline;
  overflow-wrap: anywhere;
}

.planche-deep-link:hover {
  color: var(--ink-blend-a);
  background: var(--ink-surface-2);
}

.planche-deep-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--st-4);
}

.planche-deep-box {
  display: flex;
  flex-direction: column;
  gap: var(--st-2);
  flex: 0 0 auto;
}

.planche-deep-boxWide {
  grid-column: 1 / -1;
}

.planche-deep-label {
  font-size: var(--ts-xs);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-muted);
  background: var(--ink-field);
}

.planche-deep-input {
  min-height: 46px;
  padding: var(--st-3);
  font-family: var(--ff-copy);
  font-size: var(--ts-xs-2);
  color: var(--ink-script);
  background: var(--ink-surface-2);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  border-radius: var(--rd-3);
}

.planche-deep-inputArea {
  min-height: 130px;
  resize: vertical;
}

.planche-deep-send {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 48px;
  padding: var(--st-3) var(--st-6);
  cursor: pointer;
  font-family: var(--ff-copy);
  font-size: var(--ts-xs-2);
  font-weight: var(--wt-strong);
  color: var(--ink-field);
  background: var(--ink-zest);
  border: 0;
  border-radius: var(--rd-3);
}

.planche-deep-send:hover {
  color: var(--ink-field);
  background: var(--ink-press);
}

.planche-deep-done {
  grid-column: 1 / -1;
  padding: var(--st-4);
  border-radius: var(--rd-3);
  border: var(--bd-fine) solid var(--ink-ramp-end);
  font-size: var(--ts-xs-2);
  color: var(--ink-script);
  background: var(--pgn-hot);
}

/* legal — LEGAL-03 */
.crypte-true {
  padding-block: var(--pgn-sec-y);
  background: var(--ink-field);
}

.crypte-true-guts {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: var(--st-7);
  align-items: start;
}

.crypte-true-toc {
  position: sticky;
  inset-block-start: var(--st-6);
  align-self: start;
  padding: var(--st-4);
  border-radius: var(--rd-4);
  border: var(--bd-fine) solid var(--ink-edge);
  background: var(--ink-surface-2);
}

.crypte-true-heading {
  margin-block: 0 var(--st-3);
  font-family: var(--ff-copy);
  font-size: var(--ts-xs);
  font-weight: var(--wt-strong);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-script);
}

.crypte-true-roll {
  margin: 0;
  padding-inline-start: var(--st-5);
}

.crypte-true-slot {
  margin-block-end: var(--st-2);
  font-size: var(--ts-caption);
  color: var(--ink-muted);
}

.crypte-true-link {
  color: var(--ink-muted);
  background: var(--ink-surface-2);
  text-decoration: none;
}

.crypte-true-link:hover {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
  text-decoration: underline;
}

.crypte-true-main {
  min-width: 0;
}

.crypte-true-intro {
  margin-block-end: var(--st-6);
  font-size: var(--ts-sm-2);
  line-height: var(--ld-base);
  color: var(--ink-script);
  background: var(--ink-field);
}

.crypte-true-band {
  margin-block-end: var(--st-6);
  scroll-margin-block-start: var(--st-6);
}

.crypte-true-lede {
  margin-block: 0 var(--st-4);
  font-size: var(--ts-h3);
  font-family: var(--ff-banner);
  color: var(--ink-script);
}

.crypte-true-copy {
  margin-block-end: var(--st-4);
  line-height: var(--ld-base);
  color: var(--ink-script);
  background: var(--ink-field);
}

.crypte-true-bandContacts {
  padding: var(--st-5);
  border-radius: var(--rd-4);
  border: var(--bd-fine) solid var(--ink-edge);
  background: var(--ink-surface-2);
}

.crypte-true-contactRoll {
  margin: 0;
  padding-inline-start: var(--st-5);
}

.crypte-true-contactSlot {
  margin-block-end: var(--st-3);
  font-size: var(--ts-xs-2);
  color: var(--ink-script);
}

.crypte-true-fine {
  padding-block-start: var(--st-5);
  border-block-start: var(--bd-fine) solid var(--ink-edge);
  font-size: var(--ts-xs-2);
  color: var(--ink-muted);
  background: var(--ink-field);
}

/* error — ERR-02 */
.stele-fresh {
  padding-block: var(--st-8);
  background: var(--ink-field);
}

.stele-fresh-guts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--st-7);
  align-items: center;
}

.stele-fresh-main {
  display: flex;
  flex-direction: column;
  gap: var(--st-4);
  align-items: flex-start;
}

.stele-fresh-lede {
  max-width: var(--pgn-narrow);
  font-size: var(--ts-xxl);
  color: var(--ink-script);
}

.stele-fresh-copy {
  max-width: var(--pgn-narrow);
  color: var(--ink-script);
  background: var(--ink-field);
}

.stele-fresh-goto {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: var(--st-3) var(--st-6);
  border-radius: var(--rd-3);
  font-family: var(--ff-copy);
  font-weight: var(--wt-strong);
  text-decoration: none;
  color: var(--ink-field);
  background: var(--ink-zest);
}

.stele-fresh-goto:hover {
  color: var(--ink-field);
  background: var(--ink-press);
}

.stele-fresh-digits {
  display: block;
  overflow: hidden;
  font-family: var(--ff-banner);
  font-size: clamp(96px, 16vw, 230px);
  font-weight: var(--wt-strong);
  line-height: var(--ld-compact);
  color: var(--ink-zest);
  opacity: 0.55;
  text-align: end;
}

/* cookie — COOK-03 */
.threshold-sharp {
  position: fixed;
  inset-block-end: var(--st-4);
  inset-inline-end: var(--st-4);
  z-index: 90;
  inline-size: 360px;
  max-inline-size: calc(100vw - 2 * var(--st-4));
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur-slow) var(--bz-land), visibility var(--dur-slow) var(--bz-land);
}

.threshold-sharp.is-open {
  opacity: 1;
  visibility: visible;
}

.threshold-sharp-panel {
  display: flex;
  flex-direction: column;
  gap: var(--st-4);
  padding: var(--st-5);
  border-radius: var(--rd-5);
  border: var(--bd-fine) solid var(--ink-edge-hard);
  background: var(--ink-surface-2);
  box-shadow: var(--elev-5);
}

.threshold-sharp-lede {
  font-family: var(--ff-banner);
  font-size: var(--ts-sm-2);
  font-weight: var(--wt-strong);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-zest);
  background: var(--ink-surface-2);
}

.threshold-sharp-line {
  font-size: var(--ts-caption);
  line-height: var(--ld-base);
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.threshold-sharp-acts {
  display: flex;
  gap: var(--st-3);
}

.threshold-sharp-grant,
.threshold-sharp-decline {
  flex: 1 1 50%;
  min-height: 40px;
  padding: var(--st-2) var(--st-3);
  cursor: pointer;
  font-family: var(--ff-copy);
  font-size: var(--ts-xs-2);
  font-weight: var(--wt-medium);
  border-radius: var(--rd-3);
}

.threshold-sharp-grant {
  color: var(--ink-field);
  background: var(--ink-zest);
  border: var(--bd-fine) solid var(--ink-zest);
}

.threshold-sharp-grant:hover {
  color: var(--ink-field);
  background: var(--ink-press);
}

.threshold-sharp-decline {
  color: var(--ink-script);
  background: var(--ink-field);
  border: var(--bd-fine) solid var(--ink-edge-hard);
}

.threshold-sharp-decline:hover {
  color: var(--ink-zest);
  background: var(--ink-field);
}

/* footer — FOOT-10 */
.mullion-grand {
  margin-block-start: var(--st-6);
  padding-block: var(--st-6);
  background: var(--ink-surface-2);
  border-block-start: var(--bd-fine) solid var(--ink-edge);
  color: var(--ink-script);
}

.mullion-grand-band {
  padding-block: var(--st-5);
  border-block-end: var(--bd-fine) solid var(--ink-edge);
}

.mullion-grand-bandBrand {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--st-5);
}

.mullion-grand-mark {
  display: inline-flex;
  flex: 0 0 auto;
}

.mullion-grand-image {
  display: block;
  inline-size: auto;
  block-size: 46px;
}

.mullion-grand-slogan {
  flex: 1 1 380px;
  font-size: var(--ts-xs-2);
  line-height: var(--ld-base);
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.mullion-grand-bandNav {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr);
  gap: var(--st-6);
}

.mullion-grand-routes {
  min-width: 0;
}

.mullion-grand-heading {
  margin-block: 0 var(--st-4);
  font-family: var(--ff-copy);
  font-size: var(--ts-xs);
  font-weight: var(--wt-strong);
  text-transform: uppercase;
  letter-spacing: var(--ls-loose);
  color: var(--ink-blend-a);
}

.mullion-grand-roll {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--st-2) var(--st-5);
}

.mullion-grand-rollLegal {
  grid-template-columns: minmax(0, 1fr);
}

.mullion-grand-slot {
  display: block;
}

.mullion-grand-link {
  display: inline-block;
  padding-block: var(--st-2);
  font-size: var(--ts-xs-2);
  text-decoration: none;
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.mullion-grand-link:hover {
  color: var(--ink-zest);
  background: var(--ink-surface-2);
  text-decoration: underline;
}

.mullion-grand-bandFine {
  padding-block: var(--st-4);
}

.mullion-grand-fine .mullion-grand-link {
  font-size: inherit;
  display: inline;
}

.mullion-grand-fine {
  font-size: var(--ts-xs);
  line-height: var(--ld-base);
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.mullion-grand-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 26px;
  block-size: 20px;
  margin-inline-end: var(--st-2);
  border-radius: var(--rd-2);
  font-size: 11px;
  font-weight: var(--wt-strong);
  color: var(--ink-script);
  background: var(--ink-notice);
}

.mullion-grand-bandTail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--st-3);
  padding-block: var(--st-4);
  border-block-end: 0;
}

.mullion-grand-copy {
  font-size: var(--ts-xs);
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.mullion-grand-mail {
  font-size: var(--ts-xs);
  color: var(--ink-muted);
  background: var(--ink-surface-2);
}

.mullion-grand-routesLegal {
  min-width: 0;
}

/* ---- tablet ---- */
@media (max-width: 1180px) {
  .ledge-edge-guts,
  .module-zone-guts,
  .fenetre-refined-guts,
  .ledge-grand-guts,
  .buffet-edge-guts,
  .trefoil-core-guts,
  .belfry-fast-guts,
  .crypte-true-guts,
  .planche-deep-guts,
  .bureau-pure-guts,
  .encart-opus-guts,
  .stele-fresh-guts,
  .mullion-grand-guts,
  .trefoil-core-railHold,
  .bureau-pure-shelfHold,
  .ardoise-smart-main,
  .trefoil-core-frame {
    padding-inline: var(--shl-pad-md);
  }
}

@media (max-width: 900px) {
  .pignon-light-strip {
    display: none;
  }

  .pignon-light-menu-opener {
    display: inline-flex;
  }

  .pignon-light-crownHold {
    min-height: 84px;
    justify-content: flex-start;
  }

  .pignon-light-mark {
    padding: 12px 34px;
  }

  .pignon-light-image {
    height: 54px;
  }

  .crypte-true-guts,
  .planche-deep-guts,
  .bureau-pure-guts {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--st-5);
  }

  .crypte-true-toc {
    position: static;
  }

  .bureau-pure-frame {
    inline-size: 220px;
  }

  .stele-fresh-guts {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--st-5);
  }

  .stele-fresh-digits {
    text-align: start;
    font-size: clamp(88px, 22vw, 150px);
  }
}

/* ---- mobile ---- */
@media (max-width: 820px) {
  :root {
    --ts-xxl: clamp(26px, 1rem + 4.4vw, 30px);
    --ts-h2: clamp(21px, 1rem + 2.2vw, 24px);
    --ts-h3: 20px;
    --ts-md-2: 17px;
    --ts-sm-2: 15px;
    --ts-xs-2: 13px;
    --ts-normal: 16px;
    --ts-caption: 13px;
    --ts-xs: 11px;
    --pgn-sec-y: 34px;
  }

  .ledge-edge-guts,
  .module-zone-guts,
  .fenetre-refined-guts,
  .ledge-grand-guts,
  .buffet-edge-guts,
  .trefoil-core-guts,
  .belfry-fast-guts,
  .crypte-true-guts,
  .planche-deep-guts,
  .bureau-pure-guts,
  .encart-opus-guts,
  .stele-fresh-guts,
  .mullion-grand-guts,
  .trefoil-core-railHold,
  .bureau-pure-shelfHold,
  .ardoise-smart-main,
  .trefoil-core-frame {
    padding-inline: var(--shl-inset-mobile);
  }

  .ardoise-smart {
    min-height: clamp(440px, 72vh, 600px);
  }

  .ardoise-smart-main {
    padding-block: var(--st-6) var(--st-7);
  }

  .ardoise-smart-offer {
    display: flex;
    width: 100%;
  }

  .ledge-grand-roll,
  .fenetre-refined-roll,
  .bureau-pure-shelfRoll,
  .planche-deep-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .module-zone-slot {
    flex-direction: column;
    gap: var(--st-4);
  }

  .module-zone-glyph {
    inline-size: 80px;
    block-size: 80px;
    font-size: 34px;
  }

  .trefoil-core-imageTall {
    width: 240px;
  }

  .mullion-grand-bandNav {
    grid-template-columns: minmax(0, 1fr);
  }

  .mullion-grand-roll {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .belfry-fast-grid {
    min-inline-size: 520px;
  }

  .planche-deep-send {
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 720px) {
  .threshold-sharp {
    inset-inline: var(--st-4);
    inline-size: auto;
  }

  .threshold-sharp-panel {
    padding: 12px 14px;
    gap: 8px;
    font-size: 13px;
    line-height: 1.35;
  }

  .threshold-sharp-lede {
    display: none;
  }

  .threshold-sharp-grant,
  .threshold-sharp-decline {
    padding: 8px 14px;
    font-size: 12px;
    min-height: 36px;
  }
}

@media (max-width: 430px) {
  .pignon-light-mark {
    padding: 10px 20px;
  }

  .pignon-light-image {
    height: 42px;
  }

  .mullion-grand-roll {
    grid-template-columns: minmax(0, 1fr);
  }

  .belfry-fast-grid {
    min-inline-size: 440px;
    font-size: 12px;
  }

  .belfry-fast-headCell,
  .belfry-fast-cell {
    padding: var(--st-3);
  }

  .threshold-sharp-acts {
    flex-direction: column;
  }

  .threshold-sharp-grant,
  .threshold-sharp-decline {
    flex: 0 0 auto;
    white-space: normal;
  }
}

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

  *,
  *::before,
  *::after {
    animation: none !important;
    transition-duration: 1ms !important;
  }

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

/* offer button — colour, technique and numbers from scripts/cta-style.mjs (fuchsia / lift / 1.86s) */
.rbet-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--st-3);
  min-height: 52px;
  padding: var(--st-3) var(--st-6);
  border: 0;
  border-radius: var(--rd-3);
  font-family: var(--ff-copy);
  font-size: var(--ts-xs-2);
  font-weight: var(--wt-strong);
  letter-spacing: var(--ls-loose);
  text-align: center;
  text-decoration: none;
  background: #c026d3;
  color: #ffffff;
  box-shadow: var(--elev-4);
  transition: background var(--dur-mid) var(--bz-both), color var(--dur-mid) var(--bz-both);
  animation: rbet-tide 1.86s var(--bz-both) infinite;
}

.rbet-act:hover {
  background: #a21caf;
  color: #ffffff;
  text-decoration: none;
  animation: none;
}

.rbet-act:active {
  background: #86198f;
  color: #ffffff;
}

.rbet-act:focus-visible {
  outline: var(--bd-thick) solid var(--ink-script);
  outline-offset: 3px;
}

@keyframes rbet-tide {
  0% {
    transform: translateY(0);
  }

  17.204% {
    transform: translateY(-3px);
  }

  46.237%,
  100% {
    transform: translateY(0);
  }
}

.ardoise-smart .rbet-act,
.buffet-edge .rbet-act {
  min-height: 56px;
  padding: var(--st-4) var(--st-7);
  font-size: var(--ts-sm-2);
}

.buffet-edge .rbet-act {
  display: inline-flex;
  width: auto;
}

@media (max-width: 820px) {
  .ardoise-smart .rbet-act,
  .buffet-edge .rbet-act,
  .trefoil-core-rail .rbet-act,
  .ledge-grand-plug .rbet-act {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rbet-act {
    animation: none !important;
  }
}

.buffet-edge-offer {
  margin-block-start: var(--st-5);
}

@media (max-width: 492px) {
  .pignon-light-strip,
  .pignon-light-stripHold,
  .pignon-light-routes,
  .pignon-light-roll,
  .pignon-light-link { display: none !important; }
  .pignon-light-more-opener { display: block !important; }
}

/* nojs guard 28.09.2026: без JS контент виден */
html.no-js [data-rise]{opacity:1!important;transform:none!important;visibility:visible!important;clip-path:none!important}
