:root {
  --ink: #020608;
  --ink-soft: #061018;
  --surface: #08151d;
  --surface-2: #0b171d;
  --gold: #d89a27;
  --gold-light: #f3c15a;
  --gold-dark: #6f4a12;
  --ivory: #f3efe6;
  --text: #c8cdd0;
  --muted: #879198;
  --teal: #28cbb8;
  --border: rgb(216 154 39 / 38%);
  --border-soft: rgb(216 154 39 / 18%);
  --shadow: 0 24px 80px rgb(0 0 0 / 48%);
  --container: 1480px;
  --gutter: clamp(18px, 3.6vw, 64px);
  --section-gap: clamp(70px, 7vw, 112px);
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--ink);
  color-scheme: dark;
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: clip;
  background:
    radial-gradient(circle at 68% 8%, rgb(30 75 77 / 13%), transparent 26rem),
    radial-gradient(circle at 8% 46%, rgb(125 85 20 / 7%), transparent 34rem),
    var(--ink);
  color: var(--text);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgb(255 255 255 / 1.2%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 1.2%) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(circle at 50% 30%, black, transparent 75%);
  content: "";
  pointer-events: none;
}

::selection {
  background: var(--gold);
  color: #060708;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select {
  font: inherit;
}

button,
summary,
a {
  -webkit-tap-highlight-color: transparent;
}

button:not(:disabled),
summary,
a[href] {
  cursor: pointer;
}

button:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
}

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

h1,
h2,
h3,
p,
ul,
ol,
dl,
dd {
  margin-top: 0;
}

h1,
h2,
h3 {
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-weight: 500;
  line-height: 1.05;
}

:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 4px;
}

.container-wide {
  width: min(calc(100% - var(--gutter) * 2), var(--container));
  margin-inline: auto;
}

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

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 200;
  padding: 10px 16px;
  border-radius: 4px;
  background: var(--gold-light);
  color: #070807;
  font-weight: 700;
  transform: translateY(-150%);
  transition: transform 160ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  margin-bottom: 16px;
  color: var(--gold-light);
  font-size: 0.87rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.button {
  position: relative;
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0.8rem 1.45rem;
  overflow: hidden;
  border: 1px solid var(--gold-dark);
  border-radius: 5px;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.015em;
  transition:
    border-color 220ms ease,
    color 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease,
    transform 220ms var(--ease-premium);
}

.button:not(:disabled):hover {
  transform: translateY(-2px);
}

.button--gold {
  border-color: var(--gold-light);
  background: linear-gradient(110deg, #9e6814 0%, #f0c15d 45%, #c78618 100%);
  background-size: 180% 100%;
  box-shadow:
    inset 0 1px rgb(255 255 255 / 30%),
    0 8px 28px rgb(216 154 39 / 15%);
  color: #0a0b09;
}

.button--gold::after {
  position: absolute;
  inset: -30% auto -30% -45%;
  width: 28%;
  background: linear-gradient(
    90deg,
    transparent,
    rgb(255 255 255 / 58%),
    transparent
  );
  content: "";
  opacity: 0;
  transform: skewX(-18deg);
  transition:
    left 620ms var(--ease-premium),
    opacity 160ms ease;
}

.button--gold:hover {
  background-position: 100% 0;
  box-shadow: 0 12px 34px rgb(216 154 39 / 24%);
}

.button--gold:hover::after {
  left: 120%;
  opacity: 1;
}

.button--outline {
  background: rgb(2 6 8 / 62%);
  color: var(--gold-light);
}

.button--outline::after {
  position: absolute;
  inset: -30% auto -30% -45%;
  width: 26%;
  background: linear-gradient(
    90deg,
    transparent,
    rgb(243 193 90 / 30%),
    transparent
  );
  content: "";
  opacity: 0;
  transform: skewX(-18deg);
  transition:
    left 620ms var(--ease-premium),
    opacity 160ms ease;
}

.button--outline:hover {
  border-color: var(--gold-light);
  background: rgb(216 154 39 / 9%);
  box-shadow: 0 10px 30px rgb(216 154 39 / 12%);
  color: #ffe0a1;
}

.button--outline:hover::after {
  left: 120%;
  opacity: 1;
}

.button--small {
  min-height: 38px;
  padding-inline: 1rem;
  font-size: 0.83rem;
}

.site-header {
  position: relative;
  z-index: 80;
  border-bottom: 1px solid var(--border-soft);
  background: rgb(1 6 9 / 90%);
  box-shadow: 0 12px 40px rgb(0 0 0 / 22%);
  backdrop-filter: blur(18px);
}

.announcement-bar {
  display: grid;
  min-height: 38px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 6px max(var(--gutter), calc((100vw - var(--container)) / 2));
  border-bottom: 1px solid var(--border-soft);
  color: var(--gold-light);
  font-size: 0.72rem;
  letter-spacing: 0.045em;
}

.announcement-bar p {
  margin: 0;
  text-align: center;
}

.announcement-gem {
  font-size: 1.07rem;
}

.announcement-actions {
  display: flex;
  align-items: center;
  gap: 15px;
  color: var(--ivory);
}

.announcement-actions a {
  padding: 3px 10px;
  border: 1px solid var(--gold-dark);
  border-radius: 3px;
  color: var(--gold-light);
}

/* Login became a real link once the Participant Portal page existed. The strip
   only ever framed one action, so the login keeps the plain treatment the
   disabled span had and the waitlist keeps the frame. */
.announcement-actions a.announcement-login {
  padding: 3px 0;
  border: 0;
  color: var(--ivory);
}

.announcement-actions a.announcement-login:hover {
  color: var(--gold-light);
}

.site-nav-shell {
  display: grid;
  min-height: 88px;
  grid-template-columns: minmax(200px, 1fr) minmax(0, auto) minmax(200px, 1fr);
  align-items: center;
  gap: clamp(14px, 1.4vw, 30px);
  width: min(calc(100% - var(--gutter) * 2), var(--container));
  margin-inline: auto;
}

.brand-logo {
  display: block;
  width: min(100%, 232px);
}

.brand-logo img {
  width: 100%;
  height: auto;
}

.brand-logo--compact {
  width: 210px;
}

.desktop-nav {
  display: flex;
  min-width: 0;
  align-items: stretch;
  justify-content: center;
  gap: clamp(0px, 0.25vw, 6px);
  align-self: stretch;
}

.desktop-nav-group {
  position: relative;
  display: flex;
  align-items: center;
}

.desktop-nav-trigger,
.desktop-nav-link,
.desktop-nav-future {
  position: relative;
  display: inline-flex;
  height: 100%;
  align-items: center;
  gap: 5px;
  padding: 0 clamp(5px, 0.62vw, 9px);
  border: 0;
  background: transparent;
  color: #e5e5df;
  font-size: clamp(0.72rem, 0.64vw, 0.76rem);
  font-weight: 600;
  letter-spacing: 0.015em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* The caret used to be the U+2304 glyph, which is absent from the UI face and
   fell back to whatever the system offered, so it landed at a different size and
   baseline in every browser. An inline icon renders identically everywhere and
   can be turned when the menu opens. */
.desktop-nav-caret {
  flex: 0 0 auto;
  margin-top: 1px;
  opacity: 0.72;
  transition:
    transform 200ms var(--ease-premium),
    opacity 180ms ease;
}

.desktop-nav-trigger[aria-expanded="true"] .desktop-nav-caret {
  opacity: 1;
  transform: rotate(180deg);
}

.desktop-nav-trigger:hover .desktop-nav-caret {
  opacity: 1;
}

.desktop-nav-trigger::after {
  position: absolute;
  right: 5px;
  bottom: 15px;
  left: 5px;
  height: 1px;
  background: var(--gold);
  content: "";
  opacity: 0;
  transform: scaleX(0.35);
  transition:
    opacity 180ms ease,
    transform 220ms var(--ease-premium);
}

.desktop-nav-trigger:hover,
.desktop-nav-trigger.is-active,
.desktop-nav-trigger[aria-expanded="true"] {
  color: var(--gold-light);
}

.desktop-nav-trigger.is-active::after,
.desktop-nav-trigger[aria-expanded="true"]::after {
  opacity: 1;
  transform: scaleX(1);
}

.desktop-nav-trigger span {
  color: var(--gold);
  font-size: 0.87rem;
  transition: transform 180ms ease;
}

.desktop-nav-future {
  color: var(--muted);
}

.desktop-nav-link {
  text-decoration: none;
}

.desktop-nav-link::after {
  position: absolute;
  right: clamp(5px, 0.62vw, 9px);
  bottom: 16px;
  left: clamp(5px, 0.62vw, 9px);
  height: 1px;
  background: var(--gold);
  content: "";
  opacity: 0;
  transition: opacity 200ms ease;
}

.desktop-nav-link:hover::after,
.desktop-nav-link:focus-visible::after {
  opacity: 1;
}

.desktop-dropdown {
  position: absolute;
  top: calc(100% - 8px);
  left: 50%;
  width: 286px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: linear-gradient(145deg, rgb(10 24 31 / 98%), rgb(2 8 12 / 98%));
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 10px) scale(0.98);
  transform-origin: top center;
  transition:
    opacity 180ms ease,
    transform 220ms var(--ease-premium);
}

.desktop-nav-group:nth-last-of-type(-n + 2) .desktop-dropdown {
  right: 0;
  left: auto;
  transform: translate(0, 10px) scale(0.98);
}

.desktop-nav-group:nth-last-of-type(-n + 2) .desktop-dropdown.is-open {
  transform: translate(0, 0) scale(1);
}

.desktop-dropdown.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
}

.desktop-dropdown > p {
  margin: 0 0 8px;
  padding: 0 9px 9px;
  border-bottom: 1px solid var(--border-soft);
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.05rem;
}

.desktop-dropdown ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.desktop-dropdown a,
.desktop-dropdown li > span {
  display: flex;
  min-height: 38px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 9px;
  border-radius: 3px;
  color: var(--text);
  font-size: 0.85rem;
  transition:
    background 160ms ease,
    color 160ms ease;
}

.desktop-dropdown a:hover {
  background: rgb(216 154 39 / 9%);
  color: var(--gold-light);
}

.desktop-dropdown li > span {
  color: #6f797e;
}

.desktop-dropdown small,
.mobile-navigation small {
  flex: 0 0 auto;
  color: var(--gold-dark);
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  white-space: nowrap;
}

.login-link {
  color: var(--text);
  font-size: 0.84rem;
}

.mobile-menu-trigger,
.mobile-navigation {
  display: none;
}

.mobile-menu-trigger {
  width: 46px;
  height: 46px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: rgb(6 16 24 / 78%);
}

.mobile-menu-trigger span {
  width: 20px;
  height: 1px;
  background: var(--gold-light);
}

.site-footer {
  padding-top: clamp(48px, 6vw, 82px);
  border-top: 1px solid var(--border-soft);
  background:
    radial-gradient(circle at 15% 10%, rgb(32 74 74 / 12%), transparent 22rem),
    #010609;
}

.footer-grid {
  display: grid;
  /* Brand plus nine link columns: the eight navigation groups and the Early
     Participation rail. The count is the navigation's, so a group added to
     content/navigation.ts needs a column added here or the last one wraps
     underneath the brand. */
  grid-template-columns: minmax(196px, 1.4fr) repeat(9, minmax(82px, 1fr));
  gap: clamp(16px, 1.7vw, 30px);
  padding-bottom: 50px;
}

.footer-brand .brand-logo {
  width: min(224px, 100%);
  margin-bottom: 18px;
}

.footer-brand > p {
  max-width: 28ch;
  margin-bottom: 14px;
  color: #aab0b2;
  font-size: 0.82rem;
  line-height: 1.7;
}

.footer-location {
  color: var(--ivory) !important;
}

.footer-socials {
  display: flex;
  gap: 8px;
  margin-top: 18px;
}

.footer-socials span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  color: var(--gold-light);
  font-size: 0.74rem;
}

.footer-column h2 {
  margin-bottom: 15px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.footer-column ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-column a,
.footer-column li > span {
  color: #a7adb0;
  font-size: 0.76rem;
  line-height: 1.4;
}

.footer-column a:hover {
  color: var(--gold-light);
}

.footer-column li > span {
  color: #727c81;
}

.footer-bottom {
  display: grid;
  min-height: 52px;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  border-top: 1px solid var(--border-soft);
  color: #929b9f;
  font-size: 0.78rem;
}

.footer-bottom p {
  margin: 0;
}

/* The bottom strip is a three-column grid, so the registered-entity line takes a
   full-width row of its own beneath the other three rather than a quarter of a
   row that has no room for it. `order` moves it past its DOM siblings. */
.footer-legal {
  order: 4;
  grid-column: 1 / -1;
  margin: 0;
  padding-bottom: 14px;
  color: #8b9295;
  font-size: 0.68rem;
  line-height: 1.6;
  text-align: center;
}

.footer-motto {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.97rem;
  text-align: center;
}

.footer-tagline {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  letter-spacing: 0.2em;
  text-align: right;
}

.hero {
  position: relative;
  min-height: min(clamp(520px, 46vw, 760px), 72vh);
  overflow: hidden;
  border-bottom: 1px solid var(--border-soft);
  isolation: isolate;
}

.home-hero {
  min-height: min(clamp(500px, 40vw, 840px), 76vh);
}

.hero__media,
.hero__scrim {
  position: absolute;
  inset: 0;
}

.hero__media {
  z-index: -2;
  background: #010508;
}

/* The global `img { max-width: 100% }` capped the width but left the height
   attribute in place, so the hero image resolved to a box taller than the hero
   and was clipped by overflow instead of being fitted. Both the picture and the
   image have to fill the media layer for object-fit to mean anything. */
.hero__picture {
  position: absolute;
  inset: 0;
  display: block;
}

.hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.1) contrast(1.07);
  transform: scale(1.002);
  animation: hero-breathe 14s ease-in-out both;
}

.hero__image--mobile {
  display: none;
}

.hero__scrim {
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 93%) 0%,
      rgb(1 5 8 / 80%) 30%,
      rgb(1 5 8 / 16%) 58%,
      transparent 72%
    ),
    linear-gradient(
      0deg,
      rgb(1 5 8 / 55%) 0%,
      transparent 24%,
      transparent 80%,
      rgb(1 5 8 / 14%) 100%
    );
}

.hero__inner {
  position: relative;
  display: grid;
  min-height: inherit;
  grid-template-columns: minmax(300px, 0.62fr) 1fr;
  align-items: center;
  gap: 28px;
  padding-block: clamp(44px, 4.6vw, 82px);
}

.hero__copy {
  grid-column: 1;
  max-width: 565px;
}

.hero__title {
  margin-bottom: 24px;
  font-size: clamp(2.7rem, 4.3vw, 4.6rem);
  letter-spacing: -0.025em;
  text-shadow: 0 3px 30px rgb(0 0 0 / 50%);
}

.hero__title span {
  display: block;
}

.hero__title-accent {
  background: linear-gradient(110deg, #b97917, #ffd67b 52%, #c48418);
  background-clip: text;
  color: transparent;
}

.hero__description {
  max-width: 48ch;
  margin-bottom: 30px;
  color: #c9cdcf;
  font-size: clamp(1rem, 1.11vw, 1.03rem);
  line-height: 1.8;
  text-shadow: 0 2px 14px #000;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.breadcrumbs {
  margin-bottom: 26px;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #d6dadb;
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.breadcrumbs li:not(:last-child)::after {
  color: var(--gold);
  content: "›";
}

.breadcrumbs a {
  color: var(--gold-light);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(30px, 1fr) auto minmax(30px, 1fr);
  align-items: center;
  gap: 18px;
  width: 100%;
  margin-bottom: 24px;
}

.section-heading h2 {
  max-width: 100%;
  margin: 0;
  color: var(--gold-light);
  font-size: clamp(1.31rem, 2.33vw, 1.79rem);
  letter-spacing: 0.025em;
  text-align: center;
  text-transform: uppercase;
}

@supports (background-clip: text) or (-webkit-background-clip: text) {
  .motion-reveal.is-visible .section-heading h2 {
    background: linear-gradient(
      100deg,
      var(--gold-light) 0%,
      var(--gold-light) 40%,
      #fff4dc 50%,
      var(--gold-light) 60%,
      var(--gold-light) 100%
    );
    background-clip: text;
    background-size: 300% 100%;
    -webkit-text-fill-color: transparent;
    animation: heading-sheen 1700ms var(--ease-premium) 280ms both;
  }
}

@keyframes heading-sheen {
  from {
    background-position: 130% 0;
  }
  to {
    background-position: -30% 0;
  }
}

.section-heading-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dark));
}

.section-heading-line:last-child {
  background: linear-gradient(90deg, var(--gold-dark), transparent);
}

.section-heading h2::before,
.section-heading h2::after {
  margin-inline: 9px;
  color: var(--gold);
  content: "◆";
  font-size: 0.35em;
  vertical-align: middle;
}

.section-heading--left {
  grid-template-columns: auto 1fr;
}

.section-heading--left .section-heading-line:first-of-type {
  display: none;
}

.section-heading--left h2 {
  text-align: left;
}

.section-heading--left h2::before {
  display: none;
}

.section-heading--left .section-heading-line:last-child {
  background: linear-gradient(90deg, var(--gold-dark), transparent);
}

.trust-pillars {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 22px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
  list-style: none;
}

.trust-pillars li {
  display: flex;
  min-height: 122px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 10px clamp(10px, 1.2vw, 22px);
  text-align: center;
}

.trust-pillars li + li {
  border-left: 1px solid var(--border-soft);
}

.trust-pillars li {
  transition: transform 320ms var(--ease-premium);
}

.trust-pillars li:hover {
  transform: translateY(-3px);
}

.trust-pillars svg {
  margin-bottom: 12px;
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
  transition:
    filter 320ms ease,
    transform 320ms var(--ease-premium);
}

.trust-pillars li:hover svg {
  filter: drop-shadow(0 0 18px rgb(243 193 90 / 42%));
  transform: scale(1.08);
}

.trust-pillars h3 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.97rem, 1.33vw, 1.2rem);
}

.trust-pillars p {
  max-width: 22ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.76rem, 0.76vw, 0.86rem);
  line-height: 1.55;
}

/* The phase band sits on the same eight-column grid as the steps, so each label
   spans exactly the steps it covers and the join between the two halves lands in
   the gap between step four and step five. That join is the whole point of the
   section: the stone stops being only physical and starts being ownable. */
.process-flow {
  display: grid;
  gap: 10px;
}

.process-phases {
  display: grid;
  gap: 8px;
}

.home-process .process-phases {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.process-phase {
  position: relative;
  grid-column: span var(--phase-span);
  display: flex;
  min-width: 0;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  padding: 7px 14px 9px;
  border-top: 2px solid var(--gold);
  border-radius: 2px 2px 0 0;
  background: linear-gradient(180deg, rgb(216 154 39 / 11%), transparent 88%);
}

.process-phase[data-phase="digital"] {
  border-top-color: var(--teal);
  background: linear-gradient(180deg, rgb(40 203 184 / 11%), transparent 88%);
}

.process-phase__label {
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.process-phase[data-phase="digital"] .process-phase__label {
  color: var(--teal);
}

.process-phase__caption {
  min-width: 0;
  color: var(--muted);
  font-size: 0.73rem;
}

/* A step carries a hairline of its phase colour so the two halves stay legible
   once the eye leaves the band above. */
.process-timeline li[data-phase]::before {
  position: absolute;
  top: -1px;
  right: 18%;
  left: 18%;
  height: 2px;
  border-radius: 0 0 2px 2px;
  background: var(--gold);
  content: "";
  opacity: 0.75;
}

.process-timeline li[data-phase="digital"]::before {
  background: var(--teal);
}

.process-timeline li[data-phase="digital"] .process-number {
  border-color: rgb(40 203 184 / 72%);
  color: var(--teal);
}

.process-timeline {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  counter-reset: process;
  list-style: none;
}

.home-process .process-timeline {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.how-process .process-timeline {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.process-timeline li {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 255px;
  align-items: center;
  flex-direction: column;
  padding: 18px 12px 16px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background:
    radial-gradient(circle at 50% 16%, rgb(216 154 39 / 8%), transparent 34%),
    linear-gradient(155deg, rgb(9 20 25 / 95%), rgb(2 8 11 / 95%));
  text-align: center;
  transition:
    border-color 220ms ease,
    transform 220ms var(--ease-premium),
    background 220ms ease;
}

.process-timeline li:hover {
  border-color: rgb(243 193 90 / 68%);
  background-color: rgb(216 154 39 / 5%);
  transform: translateY(-4px);
}

.process-plate {
  width: clamp(84px, 7.4vw, 116px);
  height: auto;
  margin-bottom: 10px;
  object-fit: contain;
  filter: drop-shadow(0 10px 16px rgb(0 0 0 / 55%));
  transition: transform 320ms var(--ease-premium);
}

.process-timeline li:hover .process-plate {
  transform: scale(1.07);
}

.process-number {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 15px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.16rem;
}

.process-timeline h3 {
  min-height: 2.45em;
  margin-bottom: 10px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: clamp(0.72rem, 0.78vw, 0.87rem);
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
}

.process-timeline p {
  margin: 0;
  color: #bdc3c5;
  font-size: clamp(0.72rem, 0.7vw, 0.8rem);
  line-height: 1.55;
}

.metric-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 20px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(130deg, rgb(9 21 28 / 88%), rgb(2 8 11 / 88%));
}

.metric-item {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 4px 18px;
}

.metric-item + .metric-item {
  border-left: 1px solid var(--border-soft);
}

.metric-item > svg {
  flex: 0 0 auto;
  color: var(--gold-light);
}

.metric-item dt {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.55rem, 2.65vw, 2.17rem);
  line-height: 1;
  white-space: nowrap;
}

.metric-item dd {
  margin: 6px 0 0;
  color: #d0d4d5;
  font-size: 0.74rem;
  line-height: 1.35;
}

.metric-item dd small {
  display: block;
  color: var(--muted);
  font-size: inherit;
}

/* A status word in the figure slot.

   The rules above set the figure at up to 2.17rem with white-space: nowrap,
   which is right for "25+" and wrong for "Evidence-controlled" — in a
   six-column strip a word at that size runs straight out of its cell. These
   cards keep their icon, their position and the panel's spacing; only the type
   scale changes, because a word is read, not counted. */
.metric-item--textual dt {
  font-size: clamp(0.92rem, 1.15vw, 1.12rem);
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* A flex child will not shrink below its content's minimum width unless it is
   told it may. Without this the six-column strip pushes a long status word a
   few pixels past its cell at 1024. */
.metric-item--textual > div {
  min-width: 0;
}

.metric-item--textual dd,
.metric-item--textual dd small {
  overflow-wrap: anywhere;
}

.image-with-glow {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  border-radius: inherit;
  isolation: isolate;
}

.image-with-glow picture {
  display: contents;
}

.image-with-glow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 700ms var(--ease-premium),
    filter 300ms ease;
}

.image-with-glow:hover img {
  filter: brightness(1.06) saturate(1.04);
  transform: scale(1.035);
}

.image-glint {
  position: absolute;
  inset: -50%;
  z-index: 2;
  background: linear-gradient(
    110deg,
    transparent 42%,
    rgb(255 236 182 / 17%) 49%,
    transparent 56%
  );
  opacity: 0;
  pointer-events: none;
  transform: translateX(-28%);
}

.image-with-glow:hover .image-glint {
  animation: glint-once 850ms var(--ease-premium);
}

.motion-reveal {
  opacity: 1;
  transform: none;
  transition:
    opacity 700ms var(--ease-premium) var(--reveal-delay, 0ms),
    transform 900ms var(--ease-premium) var(--reveal-delay, 0ms);
}

.motion-reveal[data-motion-ready="true"]:not(.is-visible) {
  opacity: 0;
  transform: translate3d(0, 26px, 0) scale(0.985);
}

@keyframes hero-breathe {
  0% {
    transform: scale(1.015) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.002) translate3d(0, -0.4%, 0);
  }
}

@keyframes glint-once {
  0% {
    opacity: 0;
    transform: translateX(-25%);
  }
  35% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(30%);
  }
}

.home-trust {
  position: relative;
  z-index: 4;
  margin-top: -34px;
}

.home-process,
.catalog-preview,
.how-process,
.how-power,
.how-core,
.assets-metrics,
.assets-catalog {
  padding-top: var(--section-gap);
}

.home-process__timeline,
.how-process__timeline {
  padding: 8px;
  border: 1px solid var(--border-soft);
  border-radius: 9px;
  background: rgb(2 8 11 / 68%);
}

.catalog-preview__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
}

.catalog-preview__reveal {
  height: 100%;
}

.catalog-preview__card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: linear-gradient(155deg, #111a1d, #050a0d);
  transition:
    border-color 220ms ease,
    transform 250ms var(--ease-premium),
    box-shadow 250ms ease;
}

.catalog-preview__card:hover {
  border-color: rgb(243 193 90 / 68%);
  box-shadow: 0 20px 50px rgb(0 0 0 / 36%);
  transform: translateY(-5px);
}

.catalog-preview__image {
  min-height: clamp(165px, 14vw, 224px);
  border-bottom: 1px solid var(--border-soft);
  border-radius: 0;
  background:
    radial-gradient(
      ellipse 58% 54% at 50% 60%,
      rgb(216 154 39 / 12%),
      transparent 72%
    ),
    linear-gradient(168deg, #0e1a21, #04090c 70%);
}

/* Cut-out stones have to sit inside the frame, not fill it. */
.catalog-preview__image img {
  padding: 15px 16px 17px;
  object-fit: contain;
  filter: drop-shadow(0 12px 16px rgb(0 0 0 / 62%));
}

.catalog-preview__card:hover .catalog-preview__image img {
  transform: scale(1.06);
}

/* Both card types sweep from anywhere on the card, not only from the image, so
   the two sections behave the same way under the pointer. */
.catalog-preview__card:hover .image-glint {
  animation: glint-once 850ms var(--ease-premium);
}

.catalog-preview__content {
  display: flex;
  flex: 1;
  align-items: center;
  flex-direction: column;
  padding: 18px 12px 14px;
  text-align: center;
}

.catalog-preview__content h3 {
  margin-bottom: 5px;
  font-size: clamp(0.97rem, 1.33vw, 1.22rem);
}

.catalog-preview__content p {
  min-height: 2.5em;
  margin-bottom: 13px;
  color: #adb4b7;
  font-size: 0.76rem;
}

.catalog-preview__details {
  width: 100%;
  min-height: 36px;
  margin-top: auto;
  padding: 0.48rem 0.8rem;
  opacity: 0.62;
}

.catalog-preview__all {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

.home-metrics {
  padding-block: var(--section-gap) 0;
}

.waitlist {
  position: relative;
  margin-top: var(--section-gap);
  overflow: hidden;
  border-block: 1px solid var(--border);
  background:
    radial-gradient(circle at 85% 50%, rgb(21 81 79 / 13%), transparent 30rem),
    linear-gradient(100deg, #02080c, #07131a 50%, #02080c);
}

.waitlist__inner {
  display: grid;
  min-height: 320px;
  grid-template-columns: minmax(250px, 0.9fr) minmax(280px, 1.2fr) minmax(
      270px,
      0.8fr
    );
  align-items: center;
  gap: clamp(28px, 4vw, 68px);
  padding-block: 36px;
}

.waitlist__visual {
  align-self: stretch;
}

.waitlist__image {
  min-height: 100%;
  border-radius: 7px;
  mask-image: linear-gradient(90deg, black 65%, transparent 100%);
}

.waitlist__copy h2 {
  margin-bottom: 16px;
  font-size: clamp(1.79rem, 2.89vw, 3.06rem);
}

.waitlist__copy h2 span {
  display: block;
}

.waitlist__copy > p:last-child {
  max-width: 47ch;
  margin: 0;
  color: #bdc3c5;
  font-size: 0.94rem;
}

.waitlist-form {
  display: grid;
  gap: 10px;
}

.waitlist-form input {
  width: 100%;
  min-height: 50px;
  padding: 0 15px;
  border: 1px solid var(--gold-dark);
  border-radius: 5px;
  outline: none;
  background: rgb(2 7 10 / 86%);
  color: var(--ivory);
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.waitlist-form input:focus {
  border-color: var(--gold-light);
  box-shadow: 0 0 0 3px rgb(216 154 39 / 13%);
}

.waitlist-form input::placeholder {
  color: #798389;
}

.waitlist-error {
  min-height: 1.3em;
  margin: 0;
  color: #ff8d94;
  font-size: 0.78rem;
}

.waitlist-success {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgb(107 203 112 / 45%);
  border-radius: 6px;
  background: rgb(107 203 112 / 8%);
}

.waitlist-success > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #6bcb70;
  color: #061008;
  font-weight: 800;
}

.waitlist-success strong {
  color: var(--ivory);
}

.waitlist-success p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 0.75rem;
}

.waitlist-success button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  grid-column: 2;
  justify-self: start;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--gold-light);
  font-size: 0.75rem;
  text-decoration: underline;
}

.how-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 82%) 30%,
      rgb(1 5 8 / 16%) 56%,
      transparent 70%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 48%), transparent 28%);
}

.how-hero__inner {
  grid-template-columns: minmax(310px, 0.6fr) 1fr;
}

.how-hero__rule {
  position: relative;
  width: 78%;
  height: 1px;
  margin: 6px 0 26px;
  background: linear-gradient(90deg, var(--gold), transparent);
}

.how-hero__rule span {
  position: absolute;
  top: 50%;
  left: 53%;
  width: 8px;
  height: 8px;
  border: 1px solid var(--gold);
  transform: translateY(-50%) rotate(45deg);
}

.how-power__pillars {
  border-radius: 8px;
}

.how-core {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  padding-bottom: var(--section-gap);
}

.technology-security,
.technology-lifecycle {
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 90%));
}

.technology-security .section-heading,
.technology-lifecycle .section-heading {
  margin-bottom: 16px;
}

.technology-security .section-heading h2,
.technology-lifecycle .section-heading h2 {
  font-size: clamp(0.97rem, 1.54vw, 1.41rem);
}

.technology-security__body {
  display: grid;
  grid-template-columns: minmax(205px, 0.72fr) minmax(240px, 1fr);
  align-items: center;
  gap: 20px;
}

.technology-security__list {
  display: grid;
  gap: 21px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.technology-security__list li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
}

.technology-security__list svg {
  color: var(--gold-light);
}

.technology-security__list h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.84rem;
  font-weight: 700;
}

.technology-security__list p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.75rem;
  line-height: 1.55;
}

.technology-security__image {
  min-height: 440px;
  border-radius: 7px;
}

.lifecycle-diagram {
  position: relative;
  min-height: 525px;
}

.lifecycle-desktop,
.lifecycle-connectors {
  position: absolute;
  inset: 4% 9%;
}

.lifecycle-connectors {
  inset: 0;
  width: 100%;
  height: 100%;
  color: rgb(216 154 39 / 72%);
  transform: rotate(-88deg);
}

.lifecycle-crest {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24%;
  height: auto;
  filter: drop-shadow(0 14px 22px #000);
  transform: translate(-50%, -50%);
}

.lifecycle-diagram ol {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.lifecycle-diagram li {
  --angle: calc(var(--stage-index) * 60deg - 90deg);
  position: absolute;
  top: calc(50% + sin(var(--angle)) * 41%);
  left: calc(50% + cos(var(--angle)) * 41%);
  display: flex;
  width: 160px;
  align-items: center;
  gap: 9px;
  transform: translate(-50%, -50%);
}

.lifecycle-diagram li > span {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  background: #061018;
  color: var(--gold-light);
}

.lifecycle-diagram h3 {
  margin-bottom: 2px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
}

.lifecycle-diagram p {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.72rem;
  line-height: 1.35;
}

.trust-cta {
  display: grid;
  min-height: 190px;
  grid-template-columns: minmax(260px, 0.95fr) minmax(320px, 1.2fr) minmax(
      200px,
      0.55fr
    );
  align-items: center;
  gap: 32px;
  margin-bottom: var(--section-gap);
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #061018;
}

.trust-cta__visual,
.trust-cta__image {
  min-height: 190px;
  align-self: stretch;
  border-radius: 0;
}

.trust-cta__image {
  mask-image: linear-gradient(90deg, black 72%, transparent 100%);
}

.trust-cta__image img {
  object-position: left center;
}

.trust-cta__copy h2 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-size: clamp(1.31rem, 2.12vw, 1.7rem);
}

.trust-cta__copy p,
.trust-cta__action p {
  margin: 0;
  color: #b9c0c2;
  font-size: 0.83rem;
}

.trust-cta__action {
  padding-right: 26px;
  text-align: center;
}

.trust-cta__action .button {
  width: 100%;
  margin-bottom: 8px;
}

.assets-hero {
  min-height: min(clamp(640px, 44vw, 900px), 88vh);
}

.assets-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 82%) 26%,
      rgb(1 5 8 / 18%) 50%,
      transparent 66%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 68%) 0%, transparent 36%);
}

.assets-hero__inner {
  /* .hero__inner centres its grid items; as a column flex container that would
     centre these children horizontally instead, which pulled the breadcrumb
     into the middle of the hero. */
  display: flex;
  align-items: stretch;
  flex-direction: column;
  padding-block: 26px 24px;
}

.assets-hero__breadcrumb {
  position: relative;
  z-index: 2;
}

.assets-hero__layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) 1fr;
  align-items: end;
  gap: 26px;
}

/* The value cards and the technology callout share the foot of the hero, so the
   callout sits level with them rather than floating halfway up the plate. */
.assets-hero__base {
  display: grid;
  align-items: end;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.34fr);
  gap: 24px;
  margin-top: auto;
  padding-top: 16px;
}

.assets-hero__copy {
  grid-column: 1;
  align-self: start;
  padding-top: 24px;
}

.assets-hero__title {
  font-size: clamp(2.75rem, 3.7vw, 4.1rem);
}

.assets-hero__lead {
  margin-bottom: 5px;
  color: var(--ivory);
  font-size: 1rem;
}

.assets-hero__description {
  font-size: clamp(0.92rem, 0.95vw, 1rem);
}

.assets-hero__callout {
  align-self: end;
}

.hero-callout aside {
  position: relative;
  padding: 20px 22px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 84%);
  text-align: center;
  backdrop-filter: blur(12px);
}

.hero-callout__icon {
  margin: 0 auto 12px;
  color: var(--gold-light);
}

.hero-callout__title {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: 0.97rem;
  line-height: 1.3;
}

.hero-callout__title span {
  display: block;
}

.hero-callout p {
  margin: 0;
  color: #c5cacc;
  font-size: 0.78rem;
  line-height: 1.55;
}

.assets-hero__values {
  min-width: 0;
}

.hero-value-row__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.assets-hero__value-grid {
  width: 100%;
  padding: 15px 6px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 84%);
  box-shadow: 0 18px 44px rgb(0 0 0 / 34%);
  backdrop-filter: blur(12px);
}

/* Each cell lays its parts on the same three rows, so the icons sit on one
   line, the titles on the next and every description starts at the same height
   no matter whether its title wrapped. */
.assets-hero__value-grid li {
  display: grid;
  min-height: 0;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 7px;
  padding-block: 0;
}

.assets-hero__value-grid svg {
  margin: 0;
}

.assets-hero__value-grid p {
  margin: 0;
}

.assets-hero__value-grid h3 {
  display: flex;
  min-height: 2.6em;
  align-items: center;
  margin: 0;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.assets-metrics {
  padding-top: var(--section-gap);
}

.assets-metrics__layout {
  display: grid;
  grid-template-columns: 1fr minmax(250px, 0.28fr);
  gap: 12px;
}

/* Two metrics, not four: the asset-count and total-value claims were removed
   as unsubstantiated. The strip is sized to what it actually holds so the
   hairline dividers still fall between items rather than leaving half the
   panel empty. */
.assets-metrics__strip {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assets-registry-control {
  display: grid;
  min-height: 100%;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: linear-gradient(145deg, rgb(11 24 30 / 85%), rgb(3 9 12 / 90%));
  color: var(--gold-light);
  text-align: left;
  transition:
    border-color 220ms ease,
    background 220ms ease,
    transform 300ms var(--ease-premium);
}

/* It shipped dimmed because it was a disabled control; it is a link to the
   published Asset Registry now, so it carries the same hover the other
   navigational panels do. */
.assets-registry-control:hover {
  border-color: var(--gold-light);
  background: linear-gradient(145deg, rgb(216 154 39 / 12%), rgb(3 9 12 / 90%));
  transform: translateY(-2px);
}

.assets-registry-control__arrow {
  transition: transform 220ms var(--ease-premium);
}

.assets-registry-control:hover .assets-registry-control__arrow {
  transform: translateX(4px);
}

.assets-registry-control__copy {
  display: flex;
  flex-direction: column;
}

.assets-registry-control__copy strong {
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.02rem;
}

.assets-registry-control__copy span {
  color: #acb3b5;
  font-size: 0.72rem;
  line-height: 1.45;
}

.catalog-root {
  padding-bottom: 0;
}

.catalog-heading-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 18px;
  margin-bottom: 26px;
}

.catalog-heading {
  margin: 0;
  color: var(--gold-light);
  font-size: clamp(1.36rem, 2.33vw, 1.83rem);
  letter-spacing: 0.03em;
  text-align: center;
}

.catalog-heading::before,
.catalog-heading::after {
  margin: 0 9px;
  color: var(--gold);
  content: "◆";
  font-size: 0.34em;
  vertical-align: middle;
}

.catalog-heading-rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-dark));
}

.catalog-heading-rule:last-child {
  background: linear-gradient(90deg, var(--gold-dark), transparent);
}

.catalog-controls {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  margin-bottom: 14px;
}

.catalog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.catalog-filter-button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  padding: 7px 17px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: rgb(6 16 22 / 72%);
  color: #c8cdcf;
  font-size: 0.77rem;
  transition:
    border-color 180ms ease,
    background 180ms ease,
    color 180ms ease,
    transform 180ms ease;
}

.catalog-filter-button:hover {
  border-color: var(--gold-dark);
  color: var(--gold-light);
  transform: translateY(-1px);
}

.catalog-filter-button--active {
  border-color: var(--gold-light);
  background: linear-gradient(110deg, #9f6712, #e9b849);
  color: #090a08;
  font-weight: 700;
}

/* The chip already reads as pressed visually and through aria-pressed, so the
   word only needs to exist for assistive tech, not to crowd the pill. */
.catalog-filter-state {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.catalog-sort-control {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding-left: 13px;
  border: 1px solid var(--border-soft);
  border-radius: 5px;
  background: #061018;
}

.catalog-sort-label {
  color: #9fa7aa;
  font-size: 0.75rem;
  white-space: nowrap;
}

.catalog-sort-select {
  min-height: 42px;
  border: 0;
  outline: 0;
  background: #061018;
  color: var(--ivory);
  font-size: 0.78rem;
}

.catalog-sort-select:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 3px;
}

.catalog-results-status {
  min-height: 1.3em;
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 0.72rem;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.catalog-grid--updating {
  opacity: 0.65;
  transform: translateY(3px);
}

.catalog-grid-item {
  min-width: 0;
}

.gemstone-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: linear-gradient(155deg, #111a1d, #050a0d);
  box-shadow: 0 14px 32px rgb(0 0 0 / 16%);
  transition:
    border-color 220ms ease,
    transform 250ms var(--ease-premium),
    box-shadow 250ms ease;
}

.gemstone-card:hover {
  border-color: rgb(243 193 90 / 62%);
  box-shadow: 0 20px 48px rgb(0 0 0 / 34%);
  transform: translateY(-4px);
}

.gemstone-card-image-frame {
  position: relative;
  aspect-ratio: 1.24 / 1;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--border-soft);
  background:
    radial-gradient(
      ellipse 58% 54% at 50% 60%,
      rgb(216 154 39 / 11%),
      transparent 72%
    ),
    linear-gradient(168deg, #0e1a21, #04090c 70%);
}

.gemstone-card-image {
  width: 100%;
  height: 100%;
  padding: 13px 14px 15px;
  object-fit: contain;
  filter: drop-shadow(0 12px 16px rgb(0 0 0 / 62%));
  transition: transform 550ms var(--ease-premium);
}

.gemstone-card:hover .gemstone-card-image {
  transform: scale(1.06);
}

.gemstone-card:hover .image-glint {
  animation: glint-once 850ms var(--ease-premium);
}

.gemstone-card-body {
  padding: 15px 13px 13px;
}

.gemstone-card-header {
  min-height: 47px;
  margin-bottom: 12px;
}

.gemstone-card-title {
  margin-bottom: 1px;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
}

.gemstone-card-origin {
  margin: 0;
  color: #9ba4a8;
  font-size: 0.72rem;
}

.gemstone-card-details {
  display: grid;
  gap: 3px;
  margin: 0 0 13px;
}

.gemstone-card-detail-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  color: #aeb5b8;
  font-size: 0.72rem;
}

.gemstone-card-detail-row dd {
  margin: 0;
  color: #e0e2df;
  text-align: right;
}

.gemstone-card-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
  font-size: 0.72rem;
}

.gemstone-card-price {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.97rem;
}

.gemstone-card-details-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--gold-dark);
  border-radius: 4px;
  background: transparent;
  color: var(--gold-light);
  font-size: 0.73rem;
  opacity: 0.68;
  text-decoration: none;
}

.gemstone-card-details-button--active {
  opacity: 1;
  transition:
    color 160ms ease,
    border-color 160ms ease,
    background 160ms ease;
}

.gemstone-card-details-button--active:hover,
.gemstone-card-details-button--active:focus-visible {
  border-color: var(--gold-light);
  background: rgb(190 143 60 / 10%);
}

.assets-investment {
  margin-top: calc(var(--section-gap) - 30px);
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.assets-investment__layout {
  display: grid;
  grid-template-columns: minmax(500px, 1.35fr) minmax(350px, 0.75fr);
  align-items: stretch;
  gap: 28px;
}

.assets-investment__reasons {
  display: grid;
  align-content: center;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.investment-reason {
  display: flex;
  padding: 2px 18px;
}

.investment-reason__inner {
  display: flex;
  flex-direction: column;
}

.investment-reason + .investment-reason {
  border-left: 1px solid var(--border-soft);
}

.investment-reason__icon {
  margin-bottom: 12px;
  color: var(--gold-light);
}

.investment-reason h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  /* "INTERGENERATIONAL" is 7px wider than its column in the four-across row at
     around 768px, which clipped it. Hyphenation only engages when a word cannot
     otherwise fit, so every width where the label already fitted renders exactly
     as before. The document sets lang="en", so the break points are correct. */
  hyphens: auto;
}

.investment-reason p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.78rem;
  line-height: 1.6;
}

.assets-investment__visual,
.assets-investment__image {
  min-height: 268px;
  border-radius: 6px;
}

.assets-waitlist {
  position: relative;
  margin-top: var(--section-gap);
  background:
    radial-gradient(
      ellipse 46% 120% at 12% 50%,
      rgb(216 154 39 / 13%),
      transparent 70%
    ),
    radial-gradient(circle at 88% 50%, rgb(21 81 79 / 12%), transparent 55%),
    linear-gradient(100deg, #02080c, #08141b 52%, #02080c);
}

/* A hairline of gold along the top and bottom edges, brightest at the centre,
   so the band reads as a framed panel rather than a change of background. */
.assets-waitlist::before,
.assets-waitlist::after {
  position: absolute;
  right: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgb(216 154 39 / 62%) 22%,
    var(--gold-light) 50%,
    rgb(216 154 39 / 62%) 78%,
    transparent
  );
  content: "";
}

.assets-waitlist::before {
  top: -1px;
}

.assets-waitlist::after {
  bottom: -1px;
}

.assets-waitlist__inner {
  position: relative;
  min-height: 280px;
  grid-template-columns: auto minmax(320px, 1.3fr) minmax(290px, 0.72fr);
}

.assets-waitlist__mark {
  display: grid;
  width: 108px;
  height: 108px;
  place-items: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 38%,
    rgb(216 154 39 / 16%),
    rgb(2 8 12 / 70%) 72%
  );
  box-shadow:
    inset 0 1px rgb(255 255 255 / 8%),
    0 0 38px rgb(216 154 39 / 14%);
  color: var(--gold-light);
}

.assets-waitlist__copy {
  display: grid;
  grid-template-columns: minmax(270px, 0.8fr) minmax(280px, 1fr);
  align-items: center;
  gap: 50px;
}

.assets-waitlist__copy h2 {
  position: relative;
  margin: 0;
  padding-bottom: 16px;
  color: var(--gold-light);
  font-size: clamp(1.7rem, 2.55vw, 2.55rem);
}

.assets-waitlist__copy h2::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 78px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
  content: "";
}

.assets-waitlist__copy > p {
  color: #c6ccce;
  font-size: 0.95rem;
  line-height: 1.75;
}

.assets-waitlist__action {
  text-align: center;
}

.assets-waitlist__action .button {
  width: 100%;
}

.assets-waitlist__action p {
  margin: 11px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}

/* ---------------------------------------------------------------------------
   Technology page. Every rule here either extends a shared pattern (the pillar
   grid, the metric strip, the closing trust band) or adds the one layout the other
   pages do not have: the five-layer architecture flow.
   --------------------------------------------------------------------------- */

.technology-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 84%) 30%,
      rgb(1 5 8 / 22%) 56%,
      transparent 72%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 55%), transparent 28%);
}

.technology-hero__inner {
  grid-template-columns: minmax(300px, 0.62fr) 1fr;
}

.tech-pillars,
.tech-architecture,
.tech-highlights {
  padding-top: var(--section-gap);
}

/* Six pillars on one row, the same count the home page carries. */
.tech-pillars__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.tech-architecture__panel {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

/* The layers read left to right as a pipeline. The arrow between them is drawn
   on the list item rather than inserted into the markup, so it never reaches a
   screen reader and disappears cleanly once the row wraps. */
.tech-architecture__flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tech-layer {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  padding: 16px 14px 18px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 14 / 72%);
  text-align: center;
  transition:
    border-color 220ms ease,
    transform 260ms var(--ease-premium);
}

.tech-layer:hover {
  border-color: rgb(243 193 90 / 62%);
  transform: translateY(-3px);
}

.tech-layer:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -21px;
  color: var(--gold);
  content: "\2192";
  font-size: 1.1rem;
  line-height: 1;
  transform: translateY(-50%);
}

.tech-layer h3 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.tech-layer__plate {
  width: clamp(62px, 5.6vw, 84px);
  height: auto;
  margin-bottom: 13px;
  object-fit: contain;
  filter: drop-shadow(0 9px 15px rgb(0 0 0 / 55%));
  transition: transform 320ms var(--ease-premium);
}

.tech-layer:hover .tech-layer__plate {
  transform: scale(1.07);
}

.tech-layer ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.tech-layer ul li {
  position: relative;
  padding-left: 13px;
  color: #b7bec0;
  font-size: 0.74rem;
  line-height: 1.75;
}

.tech-layer ul li::before {
  position: absolute;
  left: 0;
  color: var(--gold);
  content: "\2022";
}

.tech-integration {
  margin-top: 22px;
  padding: 14px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  background: rgb(2 8 11 / 62%);
  text-align: center;
}

.tech-integration h3 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.tech-integration ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tech-integration ul li {
  position: relative;
  color: #c2c8ca;
  font-size: 0.78rem;
}

.tech-integration ul li:not(:last-child)::after {
  position: absolute;
  right: -14px;
  color: var(--gold-dark);
  content: "|";
}

.tech-detail {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.06fr) minmax(0, 1.18fr);
  gap: 16px;
  padding-top: var(--section-gap);
}

.tech-detail__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 92%));
}

.tech-detail__title {
  margin-bottom: 18px;
  color: var(--gold-light);
  font-size: clamp(0.98rem, 1.22vw, 1.18rem);
  letter-spacing: 0.01em;
}

.tech-detail__title--center {
  text-align: center;
}

.tech-detail__intro {
  margin-bottom: 16px;
  color: #b8bec1;
  font-size: 0.8rem;
  line-height: 1.6;
}

.tech-detail__list {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tech-detail__list > li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 13px;
}

.tech-detail__list svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.tech-detail__list h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
}

.tech-detail__list p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.76rem;
  line-height: 1.6;
}

.tech-security {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.tech-security__vault {
  width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 20px 36px rgb(0 0 0 / 62%));
}

/* The passport runs the full height of the card beside the copy, so the intro
   sits inside the left column rather than above both of them. */
.tech-onchain {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 1fr) clamp(140px, 12.5vw, 215px);
  align-items: stretch;
  gap: 18px;
}

.tech-onchain__passport {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 20px 38px rgb(0 0 0 / 55%));
}

.tech-highlights__strip {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.tech-highlights__strip .metric-item > div {
  min-width: 0;
}

.tech-highlights__strip dt {
  font-size: clamp(1.05rem, 1.4vw, 1.32rem);
  white-space: normal;
}

.tech-highlights__strip dd {
  overflow-wrap: anywhere;
}

.tech-cta {
  margin-top: var(--section-gap);
}

/* The server room sits deeper in the dark than the castle scene does, so it takes
   a touch more contrast to hold its rack lights against the band. */
.tech-cta__visual .trust-cta__image img {
  filter: brightness(1.06) saturate(1.05);
}

/* ---------------------------------------------------------------------------
   Enterprise page.
   --------------------------------------------------------------------------- */

.enterprise-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 86%) 32%,
      rgb(1 5 8 / 24%) 58%,
      transparent 74%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.enterprise-hero {
  min-height: min(clamp(560px, 45vw, 880px), 82vh);
}

.enterprise-hero__inner {
  grid-template-columns: minmax(300px, 0.66fr) 1fr;
}

/* The reference sets ENTERPRISE in ivory and SERVICES in gold, one above the
   other, with the tagline in teal beneath. */
.enterprise-hero__title {
  font-size: clamp(2.5rem, 4vw, 4.2rem);
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.enterprise-hero__tagline {
  margin: 6px 0 14px;
  color: var(--teal);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.05rem, 1.5vw, 1.42rem);
}

.enterprise-hero__callout {
  display: grid;
  max-width: 460px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 15px 18px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 82%);
  backdrop-filter: blur(10px);
}

.enterprise-hero__callout svg {
  color: var(--gold-light);
}

.enterprise-hero__callout h2 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.enterprise-hero__callout p {
  margin: 0;
  color: #bcc3c5;
  font-size: 0.78rem;
  line-height: 1.55;
}

.enterprise-solutions,
.enterprise-process,
.enterprise-close,
.enterprise-trusted {
  padding-top: var(--section-gap);
}

.enterprise-solutions__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.enterprise-solutions__grid > li {
  min-width: 0;
}

/* Solution cards are flex columns so the LEARN MORE control sits on one line
   across the row however long the card copy runs. */
.solution-card {
  display: flex;
  height: 100%;
  align-items: center;
  flex-direction: column;
  padding: 22px 16px 18px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: linear-gradient(155deg, rgb(11 24 31 / 92%), rgb(3 9 12 / 94%));
  text-align: center;
  transition:
    border-color 220ms ease,
    transform 250ms var(--ease-premium),
    box-shadow 250ms ease;
}

.solution-card:hover {
  border-color: rgb(243 193 90 / 62%);
  box-shadow: 0 20px 48px rgb(0 0 0 / 34%);
  transform: translateY(-4px);
}

.solution-card > svg {
  margin-bottom: 14px;
  color: var(--teal);
}

.solution-card h3 {
  min-height: 2.5em;
  margin-bottom: 10px;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.solution-card > p {
  margin-bottom: 12px;
  color: #b7bec0;
  font-size: 0.75rem;
  line-height: 1.6;
}

.solution-card ul {
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.solution-card ul li {
  position: relative;
  padding-left: 12px;
  color: #c0c6c8;
  font-size: 0.74rem;
  line-height: 1.75;
}

.solution-card ul li::before {
  position: absolute;
  left: 0;
  color: var(--gold);
  content: "\2022";
}

.solution-card__action {
  width: 100%;
  margin-top: auto;
  opacity: 0.72;
}

.enterprise-process__panel {
  padding: 26px 22px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.enterprise-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.enterprise-steps > li {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  text-align: center;
}

/* The connector is drawn between the circular badges, so it is anchored to the
   badge row rather than the middle of the whole card. */
.enterprise-steps > li:not(:last-child)::after {
  position: absolute;
  top: 38px;
  right: -18px;
  color: var(--gold);
  content: "\2192";
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-50%);
}

.enterprise-steps__plate {
  margin-bottom: 12px;
}

.enterprise-steps__number {
  display: grid;
  width: 24px;
  height: 24px;
  margin-bottom: 9px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.78rem;
}

.enterprise-steps h3 {
  margin-bottom: 7px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.enterprise-steps p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.74rem;
  line-height: 1.6;
}

.enterprise-close {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.66fr);
  align-items: start;
  gap: 16px;
}

.enterprise-benefits,
.enterprise-invite {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.enterprise-benefits__title {
  margin-bottom: 22px;
  color: var(--gold-light);
  font-size: clamp(1.1rem, 1.75vw, 1.5rem);
}

.enterprise-benefits ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.enterprise-benefits ul > li {
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
}

.enterprise-benefits svg {
  margin-top: 2px;
  color: var(--teal);
}

.enterprise-benefits h3 {
  margin-bottom: 5px;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.enterprise-benefits p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.74rem;
  line-height: 1.6;
}

.enterprise-invite {
  border-color: var(--gold-dark);
  text-align: left;
}

.enterprise-invite h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.1rem, 1.75vw, 1.5rem);
}

.enterprise-invite h2 span {
  display: block;
}

.enterprise-invite > p {
  margin-bottom: 18px;
  color: #b7bec0;
  font-size: 0.79rem;
  line-height: 1.65;
}

.enterprise-invite .button {
  width: 100%;
}

.enterprise-invite__divider {
  margin: 12px 0;
  color: var(--muted);
  font-size: 0.76rem;
  text-align: center;
}

.enterprise-invite__secondary {
  display: flex;
  border-color: var(--teal);
  color: var(--teal);
  opacity: 0.82;
}

.enterprise-invite__assurances {
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.enterprise-invite__assurances li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #b7bec0;
  font-size: 0.76rem;
  line-height: 2;
}

.enterprise-invite__assurances svg {
  flex: 0 0 auto;
  color: var(--gold-light);
}

.enterprise-trusted {
  padding-bottom: var(--section-gap);
}

.enterprise-trusted__title {
  margin-bottom: 22px;
  color: var(--teal);
  font-size: clamp(1.05rem, 1.65vw, 1.42rem);
  letter-spacing: 0.02em;
  text-align: center;
}

.enterprise-trusted__row {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 0;
  padding: 18px 8px;
  border-block: 1px solid var(--border-soft);
  list-style: none;
}

.enterprise-trusted__row li {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  padding-inline: 8px;
  color: #c3c9cb;
  font-size: 0.76rem;
  text-align: center;
}

.enterprise-trusted__row li + li {
  border-left: 1px solid var(--border-soft);
}

.enterprise-trusted__row svg {
  color: var(--gold-light);
  transition: transform 320ms var(--ease-premium);
}

.enterprise-trusted__row li:hover svg {
  transform: scale(1.09);
}

/* ---------------------------------------------------------------------------
   Investors page.
   --------------------------------------------------------------------------- */

.investors-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 86%) 32%,
      rgb(1 5 8 / 24%) 58%,
      transparent 74%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.investors-hero {
  min-height: min(clamp(560px, 45vw, 880px), 82vh);
}

.investors-hero__inner {
  grid-template-columns: minmax(300px, 0.66fr) 1fr;
}

.investors-hero__title {
  font-size: clamp(2.4rem, 3.8vw, 4rem);
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.investors-hero__tagline {
  margin: 6px 0 14px;
  color: var(--teal);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.45vw, 1.36rem);
}

.investors-hero__callout {
  display: grid;
  max-width: 470px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 15px 18px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 82%);
  backdrop-filter: blur(10px);
}

.investors-hero__callout svg {
  color: var(--gold-light);
}

.investors-hero__callout h2 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.investors-hero__callout p {
  margin: 0;
  color: #bcc3c5;
  font-size: 0.77rem;
  line-height: 1.55;
}

.investors-executive,
.investors-thesis,
.investors-financials,
.investors-roadmap-row,
.investors-assurance {
  padding-top: var(--section-gap);
}

.investors-executive__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 2fr);
  align-items: center;
  gap: 26px;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.investors-executive__summary {
  margin: 0;
  color: #bcc2c4;
  font-size: 0.82rem;
  line-height: 1.75;
}

.investors-executive__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.investors-executive__grid > li {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  padding: 4px 16px;
  text-align: center;
}

.investors-executive__grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.investors-executive__grid svg {
  margin-bottom: 12px;
  color: var(--gold-light);
}

.investors-executive__grid h3 {
  margin-bottom: 8px;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.investors-executive__grid p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.73rem;
  line-height: 1.6;
}

.investors-thesis,
.investors-financials,
.investors-roadmap-row {
  display: grid;
  gap: 16px;
}

.investors-thesis {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.investors-financials {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr);
}

.investors-roadmap-row {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.6fr);
}

.investors-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.investors-card__title {
  margin-bottom: 14px;
  color: var(--teal);
  font-size: clamp(1rem, 1.5vw, 1.32rem);
  letter-spacing: 0.02em;
}

.investors-card__intro {
  margin-bottom: 18px;
  color: #b8bec1;
  font-size: 0.78rem;
  line-height: 1.6;
}

.investors-card__list {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.investors-card__list > li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
}

.investors-card__list svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.investors-card__list--checks svg {
  color: var(--teal);
}

.investors-card__list h3 {
  margin-bottom: 4px;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
}

.investors-card__list p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.75rem;
  line-height: 1.6;
}

/* The $84B figure is a headline number, not a chart: one value with no parts to
   compare, so it is set as a hero figure rather than a one-slice ring. */
.financial-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}

.financial-grid > div {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  padding: 6px 12px;
  text-align: center;
}

.financial-grid > div + div {
  border-left: 1px solid var(--border-soft);
}

.financial-grid svg {
  margin-bottom: 10px;
  color: var(--gold-light);
}

.financial-grid dt {
  margin-bottom: 6px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  line-height: 1;
}

.financial-grid dd {
  margin: 0;
  color: #b7bec0;
  font-size: 0.72rem;
  line-height: 1.5;
}

.financial-grid dd small {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
}

.proceeds {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 22px;
  margin: 0;
}

.proceeds__ring {
  flex: 0 0 auto;
}

.proceeds__legend {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.proceeds__legend li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.proceeds__swatch {
  width: 11px;
  height: 11px;
  border-radius: 2px;
}

/* Legend text wears text tokens, never the slice colour; the swatch beside it
   carries the identity. */
.proceeds__label {
  color: #b7bec0;
  font-size: 0.75rem;
}

.proceeds__value {
  color: var(--ivory);
  font-size: 0.75rem;
  font-variant-numeric: tabular-nums;
}

.roadmap {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 14px 0 0;
  list-style: none;
}

.roadmap > li {
  position: relative;
  min-width: 0;
  padding-top: 50px;
  text-align: center;
}

/* One rule threaded behind the markers, drawn on the list so it cannot drift
   out of step with them. */
.roadmap::before {
  position: absolute;
  top: 27px;
  right: 8%;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
  content: "";
}

/* The board closes the rule with an arrowhead, which is what makes the row read
   as a direction of travel rather than five equal dots. Drawn on the list so it
   stays in step with the rule and disappears with it once the row wraps. */
.roadmap::after {
  position: absolute;
  top: 22px;
  right: calc(8% - 7px);
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--gold);
  content: "";
}

.roadmap__marker {
  position: absolute;
  top: 14px;
  left: 50%;
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  background: #051016;
  color: var(--gold-light);
  transform: translateX(-50%);
}

.roadmap__year {
  margin: 0 0 3px;
  color: var(--teal);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.9rem;
}

.roadmap h3 {
  margin-bottom: 7px;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.roadmap__description {
  margin: 0;
  color: #b7bec0;
  font-size: 0.72rem;
  line-height: 1.55;
}

.investors-partner {
  border-color: var(--gold-dark);
  text-align: center;
}

.investors-partner > p {
  margin: 0 0 4px;
  color: #b7bec0;
  font-size: 0.78rem;
  line-height: 1.6;
}

.investors-partner__accent {
  margin-bottom: 18px !important;
  color: var(--gold-light) !important;
}

.investors-partner .button {
  width: 100%;
  flex-direction: column;
  gap: 2px;
  line-height: 1.25;
}

.investors-partner__note {
  margin: 12px 0 0 !important;
  color: var(--muted) !important;
  font-size: 0.73rem !important;
}

.investors-assurance {
  padding-bottom: var(--section-gap);
}

.investors-assurance__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 20px 8px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 86%), rgb(2 8 11 / 92%));
  list-style: none;
}

.investors-assurance__row li {
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 13px;
  padding-inline: 16px;
}

.investors-assurance__row li + li {
  border-left: 1px solid var(--border-soft);
}

.investors-assurance__row svg {
  color: var(--gold-light);
}

.investors-assurance__row h2 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.investors-assurance__row p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.72rem;
  line-height: 1.55;
}

/* ---------------------------------------------------------------------------
   Company pages: About, Governance and Contact.
   --------------------------------------------------------------------------- */

.about-hero__scrim,
.governance-hero__scrim,
.contact-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 86%) 30%,
      rgb(1 5 8 / 26%) 56%,
      transparent 74%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 60%), transparent 32%);
}

/* The About board stacks copy, a four-cell value row and the mission panel down
   the left of the plate, so the hero runs as a column the way Assets does
   rather than as the two-column grid the other heroes use. */
.about-hero {
  min-height: min(clamp(660px, 46vw, 900px), 90vh);
}

.about-hero__inner {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 22px;
  padding-block: 26px 28px;
}

.about-hero__copy {
  max-width: 640px;
}

/* The title alternates plain and gold runs inside one line, so its spans stay
   inline instead of taking the stacked treatment the other heroes use. */
.about-hero__title span {
  display: inline;
}

.about-hero__title {
  margin-bottom: 18px;
  font-size: clamp(2.3rem, 3.5vw, 3.7rem);
}

.about-hero__copy .eyebrow {
  margin-bottom: 10px;
}

.about-hero__values {
  min-width: 0;
  max-width: 700px;
}

.about-hero__value-grid {
  width: 100%;
  padding: 15px 6px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 84%);
  box-shadow: 0 18px 44px rgb(0 0 0 / 34%);
  backdrop-filter: blur(12px);
}

.about-hero__value-grid li {
  display: grid;
  min-height: 0;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 7px;
  padding-block: 0;
}

.about-hero__value-grid svg,
.about-hero__value-grid p {
  margin: 0;
}

.about-hero__value-grid h3 {
  display: flex;
  min-height: 2.6em;
  align-items: center;
  margin: 0;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

/* The mission panel sits under the plate's stones on the board, clear of the
   copy column, so it is aligned to the right of the hero rather than the left. */
.about-hero__callout {
  align-self: end;
  width: min(100%, 460px);
}

.about-hero__callout h2 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-size: 0.97rem;
  letter-spacing: 0.04em;
}

.governance-hero__callout {
  align-self: start;
  width: min(100%, 500px);
  /* Without this the panel auto-places into the hero's second column, which is
     the photograph, and lands across the crest. */
  grid-column: 1;
  grid-row: 2;
  margin-top: -6px;
}

.governance-hero__callout aside {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
  text-align: left;
}

.governance-hero__callout svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.governance-hero__callout h2 {
  margin-bottom: 6px;
  color: var(--gold-light);
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}

.governance-hero__inner,
.contact-hero__inner {
  grid-template-columns: minmax(300px, 0.66fr) 1fr;
}

.governance-hero__inner {
  align-content: center;
  grid-template-rows: auto auto;
  row-gap: 18px;
}

.governance-hero__copy {
  grid-row: 1;
}

.governance-hero__copy .hero__description {
  margin-bottom: 22px;
}

.contact-hero__rule {
  display: block;
  width: 220px;
  max-width: 100%;
  height: 1px;
  margin: 22px 0;
  background: linear-gradient(
    90deg,
    var(--gold),
    rgb(216 154 39 / 20%) 88%,
    transparent
  );
}

.contact-hero__eyebrow {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.02rem;
  letter-spacing: 0.05em;
}

/* --- About: story and vision ------------------------------------------------ */

.about-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  padding-top: var(--section-gap);
}

.about-story__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.about-card__title {
  margin-bottom: 16px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  letter-spacing: 0.02em;
}

.about-card__title--spaced {
  margin-top: 26px;
}

.about-story__body {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.about-story__image {
  aspect-ratio: 1 / 1;
  border: 1px solid var(--border);
  border-radius: 7px;
}

.about-story__body p {
  margin: 0 0 14px;
  color: #c1c7c9;
  font-size: 0.83rem;
  line-height: 1.75;
}

.about-story__body p:last-child {
  margin-bottom: 0;
}

.about-story__card > .about-values {
  margin-top: auto;
  padding-top: 8px;
}

.about-vision {
  margin: 0;
  color: #c1c7c9;
  font-size: 0.87rem;
  line-height: 1.75;
}

.about-values {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-values li {
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 8px;
  padding: 4px 8px;
  text-align: center;
}

.about-values li + li {
  border-left: 1px solid var(--border-soft);
}

.about-values svg {
  color: var(--gold-light);
}

.about-values h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.about-values p {
  margin: 0;
  color: #aeb5b8;
  font-size: 0.7rem;
  line-height: 1.5;
}

/* --- About: capability row -------------------------------------------------- */

.about-capabilities {
  padding-top: var(--section-gap);
}

.about-capabilities__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 22px 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.about-capabilities__grid li {
  display: grid;
  min-width: 0;
  align-content: start;
  grid-template-rows: auto auto 1fr;
  gap: 10px;
  padding: 0 16px;
  text-align: center;
}

.about-capabilities__grid li + li {
  border-left: 1px solid var(--border-soft);
}

.about-capabilities__grid h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.about-capabilities__grid p {
  margin: 0;
  color: #b4babd;
  font-size: 0.74rem;
  line-height: 1.55;
}

.about-capabilities__grid img {
  width: 100%;
  height: auto;
  align-self: end;
  aspect-ratio: 4 / 3;
  border-radius: 6px;
  object-fit: cover;
  transition: transform 340ms var(--ease-premium);
}

.about-capabilities__image--top {
  object-position: center top;
}

.about-capabilities__grid li:hover img {
  transform: scale(1.04);
}

.about-metrics {
  padding-top: var(--section-gap);
}

.about-metrics__strip {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.about-metrics__strip .metric-item > div {
  min-width: 0;
}

.about-metrics__strip dd small {
  display: block;
  margin-top: 3px;
  color: #98a0a3;
  font-size: 0.66rem;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

.about-waitlist {
  margin-top: var(--section-gap);
}

/* --- Governance ------------------------------------------------------------- */

.governance-principles,
.governance-accountability {
  padding-top: var(--section-gap);
}

.governance-principles__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.governance-accountability__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.governance-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 18px;
  padding-top: var(--section-gap);
}

.governance-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.governance-card__title {
  margin-bottom: 18px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  letter-spacing: 0.02em;
  text-align: center;
}

.governance-structure {
  display: grid;
  flex: 1;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
}

.governance-pyramid {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 14px 26px rgb(0 0 0 / 55%));
}

.governance-pyramid__label {
  fill: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.governance-pyramid__label--on-gold {
  fill: #17110a;
}

.governance-pyramid__members {
  fill: #b7bec0;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 12px;
}

.governance-pyramid__members--on-gold {
  fill: #2b2213;
}

.governance-structure__list,
.governance-steps {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.governance-structure__list > li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
}

.governance-steps {
  flex: 1;
  align-content: space-between;
}

/* The board runs a dotted rail down the numbers; it is drawn on the item so it
   never reaches a screen reader and disappears cleanly on the last step. */
.governance-steps > li {
  position: relative;
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: start;
  gap: 12px;
}

.governance-steps > li:not(:last-child)::after {
  position: absolute;
  top: 34px;
  bottom: -20px;
  left: 15px;
  border-left: 1px dashed rgb(216 154 39 / 45%);
  content: "";
}

.governance-steps__number {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  background: rgb(3 10 14 / 92%);
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.92rem;
}

.governance-structure__list svg,
.governance-steps svg {
  margin-top: 3px;
  color: var(--gold-light);
}

.governance-structure__list h3,
.governance-steps h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.governance-structure__list p,
.governance-steps p {
  margin: 0;
  color: #b6bcbf;
  font-size: 0.75rem;
  line-height: 1.6;
}

/* The commitment band reuses the closing-band shape but ends in a mark strip
   rather than a button, so its third column is a list. */
.governance-commitment {
  grid-template-columns:
    minmax(230px, 0.8fr) minmax(280px, 1.05fr)
    minmax(300px, 0.95fr);
  margin-top: var(--section-gap);
}

.governance-commitment__marks ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0 22px 0 0;
  list-style: none;
}

.governance-commitment__marks li {
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 8px;
  padding: 4px 6px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
  text-align: center;
}

.governance-commitment__marks li + li {
  border-left: 1px solid var(--border-soft);
}

/* --- Contact ---------------------------------------------------------------- */

.contact-body {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  align-items: stretch;
  gap: 18px;
  padding-top: var(--section-gap);
}

.contact-column {
  display: grid;
  gap: 18px;
}

.contact-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.contact-panel__title {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  letter-spacing: 0.02em;
}

.contact-panel__intro {
  margin-bottom: 18px;
  color: #b6bcbf;
  font-size: 0.8rem;
  line-height: 1.6;
}

.contact-channels {
  display: grid;
  gap: clamp(18px, 2.4vw, 26px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-channels > li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
}

.contact-channels__icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  color: var(--gold-light);
  transition:
    border-color 220ms ease,
    transform 260ms var(--ease-premium);
}

.contact-channels > li:hover .contact-channels__icon {
  border-color: rgb(243 193 90 / 70%);
  transform: translateY(-2px);
}

.contact-channels h3 {
  margin-bottom: 3px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.contact-channels a {
  display: block;
  color: var(--ivory);
  font-size: 0.92rem;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.contact-channels a:hover {
  color: var(--gold-light);
}

.contact-channels p {
  margin: 3px 0 0;
  color: #a7aeb1;
  font-size: 0.73rem;
  line-height: 1.5;
}

.contact-privacy {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
  margin-top: auto;
  padding-top: 22px;
  padding: 16px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(2 8 11 / 60%);
}

.contact-privacy svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.contact-privacy h3 {
  margin-bottom: 6px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.contact-privacy p {
  margin: 0;
  color: #a7aeb1;
  font-size: 0.71rem;
  line-height: 1.6;
}

/* --- Contact form ----------------------------------------------------------- */

.contact-form {
  display: grid;
  gap: 14px;
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.contact-field {
  display: grid;
  min-width: 0;
  gap: 6px;
}

.contact-field label {
  color: #c2c8ca;
  font-size: 0.76rem;
  letter-spacing: 0.02em;
}

.contact-field label span {
  color: var(--gold);
}

.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid var(--gold-dark);
  border-radius: 6px;
  background: rgb(2 8 11 / 72%);
  color: var(--ivory);
  font-family: inherit;
  font-size: 0.85rem;
  transition:
    border-color 200ms ease,
    box-shadow 200ms ease;
}

.contact-field textarea {
  min-height: 132px;
  resize: vertical;
}

.contact-field select {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, #d89a27 50%),
    linear-gradient(135deg, #d89a27 50%, transparent 50%);
  background-position:
    calc(100% - 19px) calc(50% + 1px),
    calc(100% - 13px) calc(50% + 1px);
  background-repeat: no-repeat;
  background-size:
    6px 6px,
    6px 6px;
  padding-right: 38px;
}

.contact-field input:focus-visible,
.contact-field select:focus-visible,
.contact-field textarea:focus-visible {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgb(216 154 39 / 24%);
  outline: none;
}

.contact-field [aria-invalid="true"] {
  border-color: #d4574a;
}

.contact-error {
  margin: 0;
  color: #f0a196;
  font-size: 0.72rem;
}

.contact-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
}

.contact-consent input {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: #d89a27;
}

.contact-consent label {
  color: #b6bcbf;
  font-size: 0.76rem;
  line-height: 1.5;
}

.contact-form__submit {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 10px;
}

.contact-success {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px 14px;
  padding: 18px 20px;
  border: 1px solid rgb(107 203 112 / 42%);
  border-radius: 7px;
  background: rgb(107 203 112 / 8%);
}

.contact-success > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: rgb(107 203 112 / 20%);
  color: #8fd894;
}

.contact-success strong {
  display: block;
  margin-bottom: 5px;
  color: var(--ivory);
  font-size: 0.9rem;
}

.contact-success p {
  margin: 0;
  color: #b6bcbf;
  font-size: 0.78rem;
  line-height: 1.6;
}

.contact-success a {
  color: var(--gold-light);
}

.contact-success button {
  grid-column: 2;
  justify-self: start;
  padding: 0;
  border: 0;
  background: none;
  color: var(--gold-light);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.78rem;
  text-decoration: underline;
}

/* --- Contact offices and closing band --------------------------------------- */

.contact-offices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-offices > li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  padding: 4px 14px;
  text-align: center;
}

.contact-offices > li + li {
  border-left: 1px solid var(--border-soft);
}

.contact-offices svg {
  color: var(--gold-light);
}

.contact-offices h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.contact-offices address {
  display: grid;
  gap: 2px;
  color: #b6bcbf;
  font-size: 0.76rem;
  font-style: normal;
  line-height: 1.5;
}

.contact-offices__registration {
  margin: 0;
  color: #b6bcbf;
  font-size: 0.72rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.contact-offices a {
  color: #c9cdcf;
  font-size: 0.76rem;
  overflow-wrap: anywhere;
}

.contact-offices a:last-child {
  color: var(--gold-light);
}

.contact-jurisdiction {
  margin-top: var(--section-gap);
}

.contact-jurisdiction .trust-cta__copy h2 span {
  display: block;
}

.contact-jurisdiction__marks ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 14px 22px 14px 0;
  list-style: none;
}

.contact-jurisdiction__marks li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
  text-align: left;
}

.contact-jurisdiction__marks svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.contact-jurisdiction__marks h3 {
  margin: 0 0 2px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.contact-jurisdiction__marks p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.72rem;
  line-height: 1.45;
}

/* ---------------------------------------------------------------------------
   Early Participation: waitlist, Eligibility & KYC, FAQ.
   --------------------------------------------------------------------------- */

.waitlist-hero__scrim,
.kyc-hero__scrim,
.faq-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 87%) 31%,
      rgb(1 5 8 / 26%) 57%,
      transparent 75%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 60%), transparent 32%);
}

.waitlist-hero__inner,
.faq-hero__inner {
  grid-template-columns: minmax(300px, 0.66fr) 1fr;
}

.waitlist-hero__tagline,
.kyc-hero__tagline,
.faq-hero__tagline {
  margin-bottom: 14px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.5vw, 1.24rem);
}

.faq-hero__tagline {
  color: var(--teal);
}

/* The KYC board stacks copy over a four-cell value row, the way Assets does. */
.kyc-hero {
  min-height: min(clamp(620px, 44vw, 860px), 88vh);
}

.kyc-hero__inner {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 22px;
  padding-block: 26px 28px;
}

.kyc-hero__copy {
  max-width: 620px;
}

.kyc-hero__title span {
  display: inline;
}

.kyc-hero__title {
  margin-bottom: 14px;
  font-size: clamp(2.5rem, 3.9vw, 4.1rem);
}

.kyc-hero__values {
  min-width: 0;
  max-width: 720px;
}

.kyc-hero__value-grid {
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 15px 6px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 84%);
  box-shadow: 0 18px 44px rgb(0 0 0 / 34%);
  backdrop-filter: blur(12px);
}

.kyc-hero__value-grid li {
  display: grid;
  min-height: 0;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 7px;
  padding-block: 0;
}

.kyc-hero__value-grid svg,
.kyc-hero__value-grid p {
  margin: 0;
}

.kyc-hero__value-grid h2 {
  display: flex;
  min-height: 2.6em;
  align-items: center;
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.faq-hero__title span {
  display: block;
}

/* --- Waitlist page ---------------------------------------------------------- */

.waitlist-body {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  align-items: start;
  gap: 18px;
  padding-top: var(--section-gap);
}

.waitlist-column {
  display: grid;
  gap: 18px;
}

.waitlist-benefits {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 18px 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.waitlist-benefits li {
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 8px;
  padding-block: 0;
}

.waitlist-benefits h2 {
  display: flex;
  min-height: 2.6em;
  align-items: center;
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-align: center;
}

.waitlist-benefits p {
  margin: 0;
}

.waitlist-panel {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.waitlist-panel__title {
  margin-bottom: 18px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  letter-spacing: 0.02em;
}

.waitlist-panel__title--center {
  margin-bottom: 8px;
  text-align: center;
}

.waitlist-form-panel__intro {
  margin-bottom: 20px;
  color: #b6bcbf;
  font-size: 0.8rem;
  line-height: 1.6;
  text-align: center;
}

.waitlist-why {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.waitlist-why > li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
}

.waitlist-why svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.waitlist-why h3 {
  margin-bottom: 4px;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.waitlist-why p {
  margin: 0;
  color: #b6bcbf;
  font-size: 0.78rem;
  line-height: 1.6;
}

.waitlist-form__submit {
  width: 100%;
  margin-top: 4px;
  font-size: 0.98rem;
}

.waitlist-form__privacy {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 8px;
  margin: 0;
  color: #a7aeb1;
  font-size: 0.72rem;
  line-height: 1.5;
  text-align: center;
}

.waitlist-form__privacy svg {
  flex: none;
  margin-top: 2px;
  color: var(--gold-light);
}

.waitlist-next {
  padding-top: var(--section-gap);
}

.waitlist-next__panel {
  display: grid;
  gap: 20px;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

/* Each step is a card rather than a column of loose text, so the four of them
   share one baseline grid and the sequence cannot drift out of alignment as the
   descriptions run to different lengths. */
.waitlist-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: waitlist-step;
}

.waitlist-steps > li {
  position: relative;
  display: grid;
  align-content: start;
  grid-template-rows: auto auto 1fr;
  gap: 11px;
  padding: 18px 16px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(2 8 11 / 55%);
  transition:
    border-color 240ms ease,
    transform 300ms var(--ease-premium);
}

.waitlist-steps > li:hover {
  border-color: rgb(243 193 90 / 55%);
  transform: translateY(-3px);
}

/* The chevron between cards sits in the gutter, drawn on the item so it never
   reaches a screen reader and disappears with the row once it wraps. It hangs
   off the left of the following card rather than the right of the preceding
   one: a decoration placed past an element's right edge grows that element's
   scrollWidth and registers as content overflow in any audit, while the same
   mark past its left edge does not. Same gutter, same glyph, no false flag. */
.waitlist-steps > li + li::before {
  position: absolute;
  top: 50%;
  left: -11px;
  z-index: 1;
  color: var(--gold);
  content: "\203A";
  font-size: 1.15rem;
  line-height: 1;
  transform: translateY(-50%);
}

.waitlist-steps__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.waitlist-steps__number {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  background: rgb(3 10 14 / 95%);
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.96rem;
}

.waitlist-steps svg {
  flex: none;
  color: var(--gold-light);
  opacity: 0.75;
}

.waitlist-steps h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35;
}

.waitlist-steps p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.74rem;
  line-height: 1.6;
}

/* The note closes the panel across its full width instead of taking a narrow
   column beside the steps, which is what squeezed them. */
.waitlist-miss {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(216 154 39 / 7%);
}

.waitlist-miss svg {
  color: var(--gold-light);
}

.waitlist-miss h3 {
  margin-bottom: 3px;
  color: var(--teal);
  font-size: 0.98rem;
  letter-spacing: 0.02em;
}

.waitlist-miss p {
  margin: 0;
  color: #c1c7c9;
  font-size: 0.79rem;
  line-height: 1.55;
}

.waitlist-miss .button {
  white-space: nowrap;
}

.waitlist-assurance {
  padding-top: var(--section-gap);
}

.waitlist-assurance__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 20px 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.waitlist-assurance__row li {
  display: grid;
  min-width: 0;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 13px;
  padding: 2px 16px;
}

.waitlist-assurance__row li + li {
  border-left: 1px solid var(--border-soft);
}

.waitlist-assurance__row svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.waitlist-assurance__row h2 {
  margin: 0 0 3px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.waitlist-assurance__row p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.73rem;
  line-height: 1.5;
}

/* --- Eligibility & KYC ------------------------------------------------------ */

.kyc-detail,
.kyc-policy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  align-items: stretch;
  gap: 18px;
  padding-top: var(--section-gap);
}

.kyc-policy {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.kyc-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.kyc-card__title {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.35vw, 1.24rem);
  letter-spacing: 0.02em;
}

.kyc-card__title--warn {
  color: #e2857a;
}

.kyc-card__title--teal {
  color: var(--teal);
}

.kyc-card__intro {
  margin-bottom: 18px;
  color: #b6bcbf;
  font-size: 0.8rem;
  line-height: 1.6;
}

.kyc-groups {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.kyc-groups > div + div {
  padding-left: 20px;
  border-left: 1px solid var(--border-soft);
}

.kyc-groups h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.kyc-groups ul,
.kyc-restrictions,
.kyc-privacy {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kyc-groups li,
.kyc-restrictions li,
.kyc-privacy li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 9px;
  color: #b8bec1;
  font-size: 0.77rem;
  line-height: 1.55;
}

.kyc-groups svg,
.kyc-privacy svg {
  margin-top: 3px;
  color: #8fd894;
}

.kyc-restrictions > li > span:first-child {
  margin-top: 1px;
  color: #e2857a;
  font-size: 0.8rem;
  line-height: 1.4;
}

.kyc-restrictions {
  flex: 1;
  align-content: start;
}

.kyc-privacy {
  flex: 1;
  align-content: start;
}

.kyc-footnote {
  margin: 16px 0 0;
  color: #929a9d;
  font-size: 0.7rem;
  line-height: 1.5;
}

.kyc-steps {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.kyc-steps > li {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto auto 1fr;
  gap: 10px;
  text-align: center;
}

.kyc-steps > li:not(:last-child)::after {
  position: absolute;
  top: 34px;
  right: -14px;
  color: var(--gold);
  content: "\2192";
  font-size: 1rem;
  line-height: 1;
}

.kyc-steps svg {
  color: var(--gold-light);
}

.kyc-steps__number {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.8rem;
}

.kyc-steps h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.kyc-steps p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.72rem;
  line-height: 1.5;
}

.kyc-documents {
  padding-top: var(--section-gap);
}

.kyc-documents__intro {
  margin: -8px 0 22px;
  color: #b6bcbf;
  font-size: 0.82rem;
  text-align: center;
}

.kyc-documents__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 22px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.kyc-documents__grid li {
  display: grid;
  min-width: 0;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 10px;
  padding: 0 14px;
  text-align: center;
}

.kyc-documents__grid li + li {
  border-left: 1px solid var(--border-soft);
}

.kyc-documents__grid svg {
  color: var(--gold-light);
}

.kyc-documents__grid h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1.35;
}

.kyc-documents__grid h3 small {
  display: block;
  margin-top: 2px;
  color: #9aa2a5;
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0;
}

.kyc-documents__grid p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.71rem;
  line-height: 1.55;
}

.kyc-cta {
  margin-top: var(--section-gap);
}

.kyc-cta__lead {
  margin-bottom: 8px;
  color: var(--teal);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.98rem;
}

/* --- FAQ -------------------------------------------------------------------- */

.faq-hero__callout {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  width: min(100%, 470px);
  margin-top: 4px;
  padding: 15px 18px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 84%);
  backdrop-filter: blur(12px);
}

.faq-hero__callout svg {
  color: var(--gold-light);
}

.faq-hero__callout h2 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.faq-hero__callout p {
  margin: 0;
  color: #c1c7c9;
  font-size: 0.76rem;
}

.faq-body {
  padding-top: var(--section-gap);
}

.faq-help {
  margin-bottom: 18px;
}

.faq-help a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 14px;
  padding: 15px 20px;
  border: 1px solid var(--gold-dark);
  border-radius: 8px;
  background: rgb(3 10 13 / 70%);
  color: inherit;
  text-decoration: none;
  transition:
    border-color 220ms ease,
    transform 260ms var(--ease-premium);
}

.faq-help a:hover {
  border-color: rgb(243 193 90 / 70%);
  transform: translateY(-2px);
}

.faq-help svg {
  color: var(--gold-light);
}

.faq-help strong {
  display: block;
  margin-bottom: 3px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

.faq-help span span,
.faq-help a > span {
  color: #b6bcbf;
  font-size: 0.78rem;
}

.faq-layout {
  display: grid;
  grid-template-columns: minmax(230px, 0.34fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.faq-rail {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 96px;
}

.faq-search {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(2 8 11 / 72%);
}

.faq-search svg {
  color: var(--gold-light);
}

.faq-search input {
  width: 100%;
  border: 0;
  background: none;
  color: var(--ivory);
  font-family: inherit;
  font-size: 0.84rem;
}

.faq-search input:focus-visible {
  outline: none;
}

.faq-search:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgb(216 154 39 / 22%);
}

.faq-categories {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.faq-categories h2 {
  margin-bottom: 12px;
  color: var(--teal);
  font-size: 1rem;
  letter-spacing: 0.02em;
}

.faq-categories ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq-categories button {
  display: grid;
  width: 100%;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 11px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: none;
  color: #c2c8ca;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.79rem;
  text-align: left;
  transition:
    background-color 200ms ease,
    border-color 200ms ease,
    color 200ms ease;
}

.faq-categories button svg {
  color: var(--gold-light);
}

.faq-categories button:hover {
  background: rgb(216 154 39 / 8%);
  color: var(--ivory);
}

.faq-categories button[aria-pressed="true"] {
  border-color: var(--gold-dark);
  background: rgb(216 154 39 / 12%);
  color: var(--gold-light);
}

.faq-categories__count {
  color: #98a0a3;
  font-size: 0.74rem;
  font-variant-numeric: tabular-nums;
}

.faq-column {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 18px;
}

.faq-status {
  margin: 0;
  color: #98a0a3;
  font-size: 0.74rem;
}

.faq-empty {
  margin: 0;
  padding: 26px 22px;
  border: 1px dashed var(--border);
  border-radius: 8px;
  color: #b6bcbf;
  font-size: 0.82rem;
  line-height: 1.6;
  text-align: center;
}

.faq-group {
  min-width: 0;
  padding: 20px 22px 22px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.faq-group h3 {
  margin-bottom: 12px;
  color: var(--teal);
  font-size: clamp(0.96rem, 1.2vw, 1.1rem);
  letter-spacing: 0.02em;
}

.faq-group ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq-group li + li {
  border-top: 1px solid var(--border-soft);
}

.faq-group li > button {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 13px 2px;
  border: 0;
  background: none;
  color: #c9cdcf;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.84rem;
  line-height: 1.5;
  text-align: left;
  transition: color 200ms ease;
}

.faq-group li > button:hover,
.faq-group li.is-open > button {
  color: var(--gold-light);
}

/* Drawn rather than typed so it can rotate into a minus on open. */
.faq-toggle {
  position: relative;
  display: block;
  width: 15px;
  height: 15px;
  flex: none;
}

.faq-toggle::before,
.faq-toggle::after {
  position: absolute;
  top: 7px;
  left: 0;
  width: 15px;
  height: 1px;
  background: var(--gold);
  content: "";
  transition: transform 260ms var(--ease-premium);
}

.faq-toggle::after {
  transform: rotate(90deg);
}

.is-open .faq-toggle::after {
  transform: rotate(0deg);
}

.faq-panel {
  padding: 0 2px 15px;
}

.faq-panel p {
  margin: 0;
  color: #b3babd;
  font-size: 0.79rem;
  line-height: 1.75;
}

.faq-contact {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  text-align: center;
}

.faq-contact h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-size: 0.98rem;
  letter-spacing: 0.02em;
}

.faq-contact p {
  margin: 0 0 14px;
  color: #b6bcbf;
  font-size: 0.77rem;
  line-height: 1.6;
}

.faq-contact .button {
  width: 100%;
}

.faq-assurance {
  padding-top: var(--section-gap);
}

.faq-assurance__row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 22px 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.faq-assurance__row li {
  display: grid;
  min-width: 0;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 9px;
  padding: 0 16px;
  text-align: center;
}

.faq-assurance__row li + li {
  border-left: 1px solid var(--border-soft);
}

.faq-assurance__row svg {
  color: var(--gold-light);
}

.faq-assurance__row h2 {
  margin: 0;
  color: var(--teal);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.faq-assurance__row p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.73rem;
  line-height: 1.55;
}

/* ---------------------------------------------------------------------------
   Section plates, the market ring and the crest callouts.
   --------------------------------------------------------------------------- */

/* The cut-out plate that replaced the line icon at the head of a card. It sits
   on the same drop-shadow and hover-lift as the process and architecture
   plates, so the four sections that use it read as one family. */
.section-plate {
  width: clamp(58px, 5vw, 76px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 9px 15px rgb(0 0 0 / 55%));
  transition: transform 320ms var(--ease-premium);
}

li:hover > .section-plate {
  transform: scale(1.07);
}

/* The hero callouts lead with the brand mark rather than a stock shield. The
   crest is taller than it is wide, so it is sized by height to sit on the same
   optical line the icon did. */
.hero-callout__crest {
  width: auto;
  height: clamp(38px, 3.4vw, 46px);
  object-fit: contain;
  filter: drop-shadow(0 6px 12px rgb(0 0 0 / 55%));
}

/* --- The market ring --------------------------------------------------------- */

.market-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  margin-bottom: 4px;
}

.market-donut {
  position: relative;
  display: grid;
  margin: 0;
  place-items: center;
}

.market-donut svg {
  width: 100%;
  max-width: 210px;
  height: auto;
  filter: drop-shadow(0 12px 24px rgb(0 0 0 / 45%));
}

.market-donut__accent {
  transition: stroke-dasharray 900ms var(--ease-premium);
}

/* The caption sits inside the ring rather than beneath it, which is where the
   board puts the figure. */
.market-donut figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: min(62%, 132px);
  justify-items: center;
  gap: 4px;
  text-align: center;
  transform: translate(-50%, -50%);
}

.market-donut__value {
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.35rem, 1.9vw, 1.72rem);
  line-height: 1;
}

.market-donut__label {
  color: #b7bec0;
  font-size: 0.68rem;
  line-height: 1.3;
}

.market-layout__list {
  min-width: 0;
}

/* ---------------------------------------------------------------------------
   Gemstone Tokenization.
   --------------------------------------------------------------------------- */

.tokenization-hero {
  min-height: min(clamp(600px, 46vw, 840px), 86vh);
}

.tokenization-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 82%) 28%,
      rgb(1 5 8 / 20%) 52%,
      transparent 68%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%) 0%, transparent 30%);
}

.tokenization-hero__inner {
  grid-template-columns: minmax(300px, 0.68fr) minmax(0, 1fr);
}

/* The board rules the title off with a hairline broken by a lozenge. It is
   drawn from two flex children rather than a border so the lozenge sits on the
   line instead of over it. */
.tokenization-hero__rule {
  display: flex;
  width: min(100%, 360px);
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

.tokenization-hero__rule span {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.tokenization-hero__rule em {
  color: var(--gold);
  font-size: 0.62rem;
  font-style: normal;
  line-height: 1;
}

.tokenization-hero__badges {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tokenization-hero__badges li {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
}

.tokenization-hero__badges svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 10px rgb(216 154 39 / 22%));
}

.tokenization-hero__badges span {
  color: #d7dbdc;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  text-shadow: 0 2px 10px #000;
}

.tokenization-hero__callout {
  grid-column: 2;
  justify-self: end;
  width: min(100%, 312px);
}

.tokenization-hero__callout .hero-callout__crest {
  margin: 0 auto 10px;
}

.tokenization-hero__callout .hero-callout__title {
  margin-bottom: 6px;
  font-size: 1.16rem;
}

.hero-callout .token-card__reference {
  margin-bottom: 12px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.12rem;
  letter-spacing: 0.05em;
}

.hero-callout .token-card__backing {
  display: inline-block;
  margin: 14px 0 12px;
  padding: 5px 16px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  color: var(--gold-light);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.token-card__assurances {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.token-card__assurances li {
  position: relative;
  color: #c5cacc;
  font-size: 0.7rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.token-card__assurances li + li::before {
  position: absolute;
  left: -9px;
  color: var(--gold);
  content: "•";
}

.tokenization-process {
  padding-top: var(--section-gap);
}

.tokenization-process .process-timeline {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.tokenization-detail {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: 16px;
  padding-top: var(--section-gap);
}

/* The standards read as six boxes on the board rather than a list, so they keep
   their own borders inside the card the list on the left sits flat in. */
.tokenization-standards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tokenization-standards > li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 15px 14px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 16 / 62%);
  transition:
    border-color 220ms ease,
    transform 220ms var(--ease-premium);
}

.tokenization-standards > li:hover {
  border-color: rgb(243 193 90 / 58%);
  transform: translateY(-3px);
}

.tokenization-standards svg {
  margin-top: 1px;
  color: var(--gold-light);
}

.tokenization-standards h3 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.tokenization-standards p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.74rem;
  line-height: 1.55;
}

.tokenization-example {
  padding-top: var(--section-gap);
}

.tokenization-example__panel {
  display: grid;
  align-items: center;
  grid-template-columns:
    minmax(0, 0.6fr) minmax(0, 1.08fr) minmax(0, 1.12fr)
    minmax(0, 1.05fr);
  gap: 26px;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.tokenization-example__stone img {
  width: 100%;
  max-width: 210px;
  height: auto;
  margin-inline: auto;
  filter: drop-shadow(0 18px 34px rgb(0 0 0 / 62%));
}

.tokenization-example__facts .eyebrow {
  margin-bottom: 8px;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
}

.tokenization-example__facts h3 {
  margin-bottom: 16px;
  color: var(--ivory);
  font-size: clamp(1.02rem, 1.3vw, 1.24rem);
}

.tokenization-example__attributes,
.tokenization-example__custody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 0 0 14px;
}

.tokenization-example__custody {
  grid-template-columns: minmax(0, 1fr);
  padding-top: 12px;
  border-top: 1px solid var(--border-soft);
}

.tokenization-example__attributes div,
.tokenization-example__custody div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tokenization-example__attributes dt,
.tokenization-example__custody dt {
  color: var(--muted);
  font-size: 0.74rem;
}

.tokenization-example__attributes dt::after,
.tokenization-example__custody dt::after {
  content: ":";
}

.tokenization-example__attributes dd,
.tokenization-example__custody dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.74rem;
  font-weight: 700;
}

.tokenization-example__supply {
  display: inline-block;
  margin-bottom: 10px;
  padding: 7px 15px;
  border: 1px solid var(--gold);
  border-radius: 5px;
  color: var(--gold-light);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.tokenization-example__unit {
  margin: 0;
  color: #b8bec1;
  font-size: 0.75rem;
}

.tokenization-example__allocation h4,
.tokenization-example__passport h4 {
  margin: 0 0 14px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-align: center;
}

.tokenization-example__passport {
  padding: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 16 / 62%);
  text-align: center;
}

.tokenization-example__passport-body {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 16px;
  text-align: left;
}

.tokenization-example__passport-body img {
  width: clamp(78px, 8vw, 108px);
  height: auto;
  filter: drop-shadow(0 12px 22px rgb(0 0 0 / 58%));
}

.tokenization-example__passport-body ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tokenization-example__passport-body li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  color: #c2c8ca;
  font-size: 0.72rem;
  line-height: 1.45;
}

.tokenization-example__passport-body svg {
  margin-top: 3px;
  color: var(--teal);
}

.tokenization-proof {
  padding-top: var(--section-gap);
}

.tokenization-proof__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.tokenization-cta {
  margin-top: var(--section-gap);
}

.tokenization-cta .trust-cta__copy h2 span {
  display: block;
}

/* ---------------------------------------------------------------------------
   Physical Redemption.
   --------------------------------------------------------------------------- */

.redemption-hero {
  min-height: min(clamp(580px, 44vw, 820px), 84vh);
}

.redemption-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 84%) 27%,
      rgb(1 5 8 / 26%) 50%,
      rgb(1 5 8 / 40%) 78%,
      rgb(1 5 8 / 72%) 100%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 56%) 0%, transparent 32%);
}

.redemption-hero__inner {
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr);
}

.redemption-hero__tagline {
  margin-bottom: 18px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.28rem, 1.9vw, 1.68rem);
  line-height: 1.2;
}

.redemption-hero__callout {
  grid-column: 2;
  justify-self: end;
  width: min(100%, 372px);
}

.redemption-hero__callout aside {
  padding: 20px 22px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 86%);
  backdrop-filter: blur(12px);
}

.redemption-hero__callout ul {
  display: grid;
  gap: 17px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.redemption-hero__callout li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
}

.redemption-hero__callout svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.redemption-hero__callout h2 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.redemption-hero__callout p {
  margin: 0;
  color: #c0c6c8;
  font-size: 0.75rem;
  line-height: 1.55;
}

.redemption-process {
  padding-top: var(--section-gap);
}

.redemption-process__panel {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.redemption-steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.redemption-steps > li {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  grid-template-rows: auto auto auto 1fr;
  text-align: center;
}

/* The arrow is anchored to the numbered badge at the head of each step, which
   is the row the board draws it on. */
.redemption-steps > li:not(:last-child)::after {
  position: absolute;
  top: 15px;
  right: -16px;
  color: var(--gold);
  content: "\2192";
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-50%);
}

.redemption-steps__number {
  display: grid;
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.95rem;
}

.redemption-steps__plate {
  width: clamp(64px, 6vw, 84px);
  margin-bottom: 12px;
}

.redemption-steps h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.redemption-steps p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.73rem;
  line-height: 1.6;
}

.redemption-process__footnote {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 24px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--border-soft);
  color: #b7bec0;
  font-size: 0.78rem;
}

.redemption-process__footnote svg {
  flex: none;
  color: var(--gold-light);
}

.redemption-assurance {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.9fr) minmax(0, 1.05fr);
  gap: 16px;
  padding-top: var(--section-gap);
}

.redemption-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 92%));
}

.redemption-card__title {
  margin-bottom: 18px;
  color: var(--gold-light);
  font-size: clamp(0.98rem, 1.22vw, 1.18rem);
}

.redemption-card__title--center {
  text-align: center;
}

.redemption-card__list {
  display: grid;
  align-content: start;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.redemption-card__list > li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
}

.redemption-card__list svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.redemption-card__list h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
}

.redemption-card__list p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.76rem;
  line-height: 1.6;
}

.redemption-receive {
  align-items: center;
  text-align: center;
}

.redemption-receive__image {
  width: min(100%, 196px);
  height: auto;
  margin-bottom: 20px;
  filter: drop-shadow(0 20px 38px rgb(0 0 0 / 66%));
}

.redemption-receive__checks {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.redemption-receive__checks li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  color: #c8ced0;
  font-size: 0.79rem;
  line-height: 1.45;
}

.redemption-receive__checks svg {
  margin-top: 2px;
  color: var(--teal);
}

.redemption-logistics {
  padding-top: var(--section-gap);
}

.redemption-logistics__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.redemption-close {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr) minmax(0, 0.94fr);
  gap: 16px;
  padding-top: var(--section-gap);
}

.redemption-fees__scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.redemption-fees table {
  width: 100%;
  min-width: 300px;
  border-collapse: collapse;
}

.redemption-fees th,
.redemption-fees td {
  padding: 9px 8px;
  border-bottom: 1px solid var(--border-soft);
  font-size: 0.76rem;
  text-align: left;
}

.redemption-fees thead th {
  color: var(--gold-light);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.redemption-fees tbody th {
  color: #d3d8d9;
  font-weight: 400;
}

.redemption-fees tbody td {
  color: #b8bec1;
}

.redemption-fees tbody tr:last-child th,
.redemption-fees tbody tr:last-child td {
  border-bottom: 0;
}

.redemption-fees__footnote {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 0.71rem;
  line-height: 1.5;
}

.redemption-chain {
  text-align: center;
}

.redemption-chain__intro {
  margin-bottom: 22px;
  color: #b8bec1;
  font-size: 0.79rem;
  line-height: 1.6;
}

.redemption-chain__flow {
  display: grid;
  align-items: start;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.redemption-chain__flow li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 9px;
}

.redemption-chain__flow li:not(:last-child)::after {
  position: absolute;
  top: 15px;
  right: -10px;
  color: var(--gold);
  content: "\2192";
  font-size: 0.92rem;
  line-height: 1;
  transform: translateY(-50%);
}

.redemption-chain__flow svg {
  color: var(--gold-light);
}

.redemption-chain__flow span {
  color: #c2c8ca;
  font-size: 0.73rem;
  line-height: 1.35;
}

.redemption-ready {
  align-items: center;
  text-align: center;
}

.redemption-ready > p {
  margin-bottom: 20px;
  color: #b8bec1;
  font-size: 0.8rem;
  line-height: 1.6;
}

.redemption-ready .button {
  width: 100%;
  margin-top: auto;
}

.redemption-ready__support {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.76rem;
}

.redemption-ready__support a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.redemption-cta {
  margin-top: var(--section-gap);
}

.redemption-cta__tagline {
  margin-bottom: 6px;
  color: var(--ivory);
  font-size: 0.92rem;
}

/* ---------------------------------------------------------------------------
   Digital Asset Passports.
   --------------------------------------------------------------------------- */

.passports-hero {
  min-height: min(clamp(680px, 50vw, 960px), 92vh);
}

.passports-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 80%) 30%,
      rgb(1 5 8 / 24%) 54%,
      rgb(1 5 8 / 34%) 100%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 76%) 0%, transparent 42%);
}

.passports-hero__inner {
  /* .hero__inner is a two-column grid; this hero stacks a breadcrumb, a split
     row and a badge strip, so it becomes a column instead. */
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 22px;
  padding-block: 26px 26px;
}

.passports-hero__breadcrumb {
  position: relative;
  z-index: 2;
}

/* Copy first, then the card beneath it running the full width. */
.passports-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(22px, 2.4vw, 32px);
}

.passports-hero__copy {
  max-width: 560px;
}

.passports-hero__tagline {
  margin-bottom: 18px;
  color: var(--ivory);
  font-size: clamp(1.02rem, 1.4vw, 1.24rem);
}

.passports-hero__copy .hero__description {
  margin-bottom: 0;
}

.passport-card {
  width: 100%;
}

.passport-card aside {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1.9fr) auto;
  grid-template-areas:
    "head head head"
    "stone fields foot";
  gap: 14px clamp(18px, 2.2vw, 30px);
  padding: 16px 22px 18px;
  border: 1px solid var(--gold-dark);
  border-radius: 9px;
  background: rgb(3 10 13 / 88%);
  box-shadow: 0 22px 54px rgb(0 0 0 / 46%);
  backdrop-filter: blur(12px);
}

.passport-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  grid-area: head;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-soft);
}

.passport-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--gold-light);
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.passport-card__eyebrow svg {
  flex: none;
}

.passport-card__id {
  margin: 0;
  text-align: right;
}

.passport-card__id span {
  display: block;
  color: var(--muted);
  font-size: 0.6rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.passport-card__id strong {
  color: #d7dbdc;
  font-size: 0.76rem;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.passport-card__body {
  grid-area: fields;
  min-width: 0;
}

.passport-card__stone {
  width: clamp(96px, 9vw, 132px);
  height: auto;
  grid-area: stone;
  margin: 0;
  filter: drop-shadow(0 16px 30px rgb(0 0 0 / 64%));
}

.passport-card h2 {
  margin-bottom: 2px;
  color: var(--ivory);
  font-size: 1.24rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.passport-card__species {
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.passport-card__fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 12px clamp(14px, 1.6vw, 24px);
  margin: 0;
}

.passport-card__fields div {
  display: grid;
  align-content: start;
  gap: 3px;
}

.passport-card__fields dt {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 0.66rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.passport-card__fields dt svg {
  flex: none;
  color: var(--gold);
}

.passport-card__fields dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.76rem;
  line-height: 1.3;
}

.passport-card footer {
  display: grid;
  justify-items: center;
  grid-area: foot;
  gap: 7px;
  width: max-content;
  padding: 0 0 0 clamp(16px, 2vw, 26px);
  border-left: 1px solid var(--border-soft);
  text-align: center;
}

.passport-card__qr {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid var(--border-soft);
  border-radius: 5px;
  color: var(--gold-light);
}

.passport-card__scan {
  max-width: 15ch;
  color: #c2c8ca;
  font-size: 0.71rem;
  line-height: 1.35;
}

.passport-card__sample {
  color: var(--muted);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.passports-hero__badges ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: auto 0 0;
  padding: 16px 8px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 82%);
  box-shadow: 0 18px 44px rgb(0 0 0 / 34%);
  list-style: none;
  backdrop-filter: blur(12px);
}

.passports-hero__badges li {
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 8px;
  padding: 0 clamp(10px, 1.2vw, 20px);
  text-align: center;
}

.passports-hero__badges li + li {
  border-left: 1px solid var(--border-soft);
}

.passports-hero__badges svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 20%));
}

.passports-hero__badges h2 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.passports-hero__badges p {
  margin: 0;
  max-width: 24ch;
  color: #b9c0c2;
  font-size: 0.71rem;
  line-height: 1.5;
}

.passports-what {
  padding-top: var(--section-gap);
}

.passports-what__panel {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.7fr);
  gap: 28px;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.passports-what .section-heading {
  margin-bottom: 26px;
}

.passports-what__intro p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.83rem;
  line-height: 1.75;
}

.passports-what__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.passports-what__grid li {
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 10px;
  padding: 6px clamp(10px, 1.1vw, 18px);
  text-align: center;
}

.passports-what__grid li + li {
  border-left: 1px solid var(--border-soft);
}

.passports-what__grid .section-plate {
  width: clamp(58px, 5vw, 74px);
}

.passports-what__grid h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.77rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.passports-what__grid p {
  margin: 0;
  color: #b9c0c2;
  font-size: 0.72rem;
  line-height: 1.55;
}

.passports-inside {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
  gap: 16px;
  padding-top: var(--section-gap);
}

.passports-inside__main {
  min-width: 0;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.passports-inside__main .section-heading {
  margin-bottom: 22px;
}

.passports-inside__aside {
  display: grid;
  gap: 16px;
}

.passports-card {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 92%));
}

.passports-card__title {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(0.98rem, 1.22vw, 1.18rem);
  text-align: center;
}

.passports-card__intro {
  margin-bottom: 18px;
  color: #b8bec1;
  font-size: 0.79rem;
  line-height: 1.6;
  text-align: center;
}

.passport-explorer {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 0.52fr) minmax(0, 1.48fr);
  gap: 20px;
}

.passport-explorer__rail {
  display: grid;
  gap: 3px;
  padding: 6px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(3 10 13 / 62%);
}

.passport-explorer__tab {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 9px 11px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #b9c0c2;
  font-size: 0.76rem;
  text-align: left;
  transition:
    background-color 200ms ease,
    color 200ms ease;
}

.passport-explorer__tab svg {
  color: var(--gold);
  transition: color 200ms ease;
}

.passport-explorer__tab:hover {
  background: rgb(216 154 39 / 9%);
  color: var(--ivory);
}

.passport-explorer__tab--active {
  background: linear-gradient(100deg, var(--gold), #b07d17);
  color: #0a0d0f;
  font-weight: 700;
}

.passport-explorer__tab--active svg {
  color: #0a0d0f;
}

.passport-explorer__record {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 22px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 16 / 62%);
}

.passport-explorer__record:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 3px;
}

.passport-explorer__stone {
  width: clamp(112px, 12vw, 164px);
  height: auto;
  filter: drop-shadow(0 18px 32px rgb(0 0 0 / 62%));
}

.passport-explorer__body {
  min-width: 0;
}

.passport-explorer__body .eyebrow {
  margin-bottom: 6px;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
}

.passport-explorer__body h3 {
  margin-bottom: 2px;
  color: var(--ivory);
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.passport-explorer__species {
  margin-bottom: 12px;
  color: var(--muted);
  font-size: 0.71rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.passport-explorer__summary {
  margin-bottom: 16px;
  color: #b8bec1;
  font-size: 0.77rem;
  line-height: 1.65;
}

.passport-explorer__fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px 20px;
  margin: 0 0 18px;
}

.passport-explorer__fields div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--border-soft);
}

.passport-explorer__fields dt {
  color: var(--muted);
  font-size: 0.69rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.passport-explorer__fields dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.75rem;
  text-align: right;
}

.id-lookup form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
}

.id-lookup input {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border-soft);
  border-radius: 5px;
  background: rgb(2 7 10 / 82%);
  color: var(--ivory);
  font-size: 0.82rem;
}

.id-lookup input::placeholder {
  color: #6f797e;
}

.id-lookup input:focus-visible {
  border-color: var(--gold);
  outline: 2px solid var(--gold-light);
  outline-offset: 2px;
}

.id-lookup .button {
  min-height: 46px;
  padding-inline: 1.1rem;
}

.id-lookup__status {
  min-height: 1.4em;
  margin: 9px 0 0;
  color: var(--teal);
  font-size: 0.74rem;
  line-height: 1.45;
}

.id-lookup__status--error {
  color: #f0a68f;
}

.id-lookup__divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  color: var(--muted);
  font-size: 0.72rem;
}

.id-lookup__divider span {
  height: 1px;
  flex: 1;
  background: var(--border-soft);
}

.id-lookup > .button {
  width: 100%;
}

.passport-validation {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}

.passport-validation__mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--teal);
  border-radius: 50%;
  background: rgb(40 203 184 / 12%);
  color: var(--teal);
}

.passport-validation__status {
  margin-bottom: 4px;
  color: var(--teal);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.passport-validation p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.75rem;
  line-height: 1.55;
}

.passport-validation__fields {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
}

.passport-validation__fields div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--border-soft);
}

.passport-validation__fields dt {
  color: var(--muted);
  font-size: 0.69rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.passport-validation__fields dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.75rem;
  text-align: right;
}

.passport-validation__foot {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
}

.passport-validation__foot span {
  color: var(--gold-light);
  font-size: 0.76rem;
  font-weight: 700;
}

.passport-validation__foot em {
  color: var(--muted);
  font-size: 0.64rem;
  font-style: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.passports-benefits {
  padding-top: var(--section-gap);
}

.passports-cta {
  margin-top: var(--section-gap);
}

.passports-cta .trust-cta__copy h2 span {
  display: block;
}

/* ---------------------------------------------------------------------------
   Platform Infrastructure.
   --------------------------------------------------------------------------- */

.infrastructure-hero {
  min-height: min(clamp(540px, 42vw, 780px), 78vh);
}

.infrastructure-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 93%) 0%,
      rgb(1 5 8 / 78%) 30%,
      rgb(1 5 8 / 14%) 56%,
      transparent 72%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 60%) 0%, transparent 32%);
}

.infrastructure-hero__inner {
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr);
}

/* The board rules the title off with a hairline broken by a lozenge, the same
   mark the tokenization hero carries. */
.infrastructure-hero__rule {
  display: flex;
  width: min(100%, 380px);
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}

.infrastructure-hero__rule span {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

.infrastructure-hero__rule em {
  color: var(--gold);
  font-size: 0.62rem;
  font-style: normal;
  line-height: 1;
}

.infrastructure-badges {
  padding-top: clamp(34px, 3.4vw, 52px);
}

.infrastructure-badges__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* The badge strips on these pages head their cells with an h2, because the
   section around them has no visible heading of its own. */
.infrastructure-badges__grid h2,
.programs-badges__grid h2,
.registry-badges__grid h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.2vw, 1.06rem);
}

.infrastructure-badges__grid p,
.programs-badges__grid p,
.registry-badges__grid p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.75vw, 0.83rem);
  line-height: 1.55;
}

.infrastructure-architecture {
  padding-top: var(--section-gap);
}

/* The governance band runs beneath all five layers rather than beside them,
   because it applies across every one of them. */
.infrastructure-security-layer h3 em {
  color: var(--muted);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.infrastructure-detail {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr) minmax(0, 1fr);
}

.infrastructure-map {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: #02070a;
}

.infrastructure-cta {
  margin-top: var(--section-gap);
  grid-template-columns: minmax(210px, 0.7fr) minmax(260px, 0.94fr) minmax(
      340px,
      1.16fr
    );
}

.infrastructure-cta .trust-cta__copy h2 span {
  display: block;
}

.infrastructure-cta__metrics dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 14px 6px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(3 10 13 / 62%);
}

.infrastructure-cta__metrics dl > div {
  display: grid;
  justify-items: center;
  gap: 5px;
  padding-inline: clamp(6px, 0.9vw, 14px);
  text-align: center;
}

.infrastructure-cta__metrics dl > div + div {
  border-left: 1px solid var(--border-soft);
}

.infrastructure-cta__metrics svg {
  color: var(--gold-light);
}

.infrastructure-cta__metrics dt {
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.4vw, 1.32rem);
  line-height: 1;
}

.infrastructure-cta__metrics dd {
  margin: 0;
  color: #b7bec0;
  font-size: 0.66rem;
  letter-spacing: 0.07em;
  line-height: 1.3;
  text-transform: uppercase;
}

/* A one-line pointer at the pages either side of this one in the story. */
.infrastructure-next {
  padding-top: 28px;
}

.infrastructure-next p {
  margin: 0;
  padding-top: 22px;
  border-top: 1px solid var(--border-soft);
  color: var(--muted);
  font-size: 0.82rem;
  text-align: center;
}

.infrastructure-next a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------------------------------------------------------------------------
   All Gemstone Programs.
   --------------------------------------------------------------------------- */

.programs-hero {
  min-height: min(clamp(560px, 42vw, 800px), 80vh);
}

.programs-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 80%) 28%,
      rgb(1 5 8 / 16%) 54%,
      transparent 70%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%) 0%, transparent 30%);
}

.programs-hero__inner {
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1fr);
}

/* The board sets only the middle word in gold, so the accent is inline rather
   than one of the stacked lines the other heroes use. */
.programs-hero__title .hero__title-accent {
  display: inline;
}

.programs-hero__tagline {
  margin-bottom: 20px;
  color: var(--ivory);
  font-size: clamp(0.86rem, 1.02vw, 1rem);
  letter-spacing: 0.05em;
}

.programs-badges {
  padding-top: clamp(34px, 3.4vw, 52px);
}

.programs-badges__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.programs-grid-section {
  padding-top: var(--section-gap);
}

.programs-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.programs-grid > li {
  display: flex;
  min-width: 0;
}

.program-card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background:
    radial-gradient(circle at 24% 12%, rgb(216 154 39 / 7%), transparent 42%),
    linear-gradient(155deg, rgb(9 20 25 / 95%), rgb(2 8 11 / 95%));
  transition:
    border-color 220ms ease,
    transform 220ms var(--ease-premium);
}

.program-card:hover {
  border-color: rgb(243 193 90 / 66%);
  transform: translateY(-4px);
}

.program-card__head {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}

.program-card__stone {
  width: clamp(58px, 5.6vw, 82px);
  height: auto;
  filter: drop-shadow(0 12px 22px rgb(0 0 0 / 62%));
  transition: transform 320ms var(--ease-premium);
}

.program-card:hover .program-card__stone {
  transform: scale(1.06);
}

.program-card h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  color: var(--ivory);
  font-size: clamp(0.94rem, 1.1vw, 1.08rem);
}

.program-card__swatch {
  width: 11px;
  height: 11px;
  flex: none;
  border-radius: 50%;
  box-shadow: 0 0 8px currentcolor;
}

.program-card__epithet {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-size: 0.7rem;
  line-height: 1.35;
}

.program-card__description {
  margin: 0;
  color: #b7bec0;
  font-size: 0.73rem;
  line-height: 1.55;
}

.program-card__specs {
  display: grid;
  gap: 6px;
  margin: auto 0 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border-soft);
}

.program-card__specs > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.program-card__specs dt {
  color: var(--muted);
  font-size: 0.7rem;
}

.program-card__specs dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.72rem;
  text-align: right;
}

.program-card__action {
  width: 100%;
}

.rough-programs-section {
  scroll-margin-top: 120px;
  padding-top: var(--section-gap);
}

.rough-programs-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rough-programs-grid > li {
  display: flex;
  min-width: 0;
}

.rough-program-card {
  width: 100%;
  min-width: 0;
}

.rough-program-card > a {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 186px;
  grid-template-columns: minmax(104px, 0.86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 50%, rgb(255 255 255 / 5%), transparent 42%),
    linear-gradient(155deg, rgb(9 20 25 / 95%), rgb(2 8 11 / 95%));
  color: inherit;
  text-decoration: none;
  transition:
    border-color 220ms ease,
    transform 220ms var(--ease-premium);
}

.rough-program-card > a:hover,
.rough-program-card > a:focus-visible {
  border-color: rgb(243 193 90 / 66%);
  transform: translateY(-4px);
}

.rough-program-card__stone {
  width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: contain;
  filter: drop-shadow(0 14px 24px rgb(0 0 0 / 66%));
  transition: transform 320ms var(--ease-premium);
}

.rough-program-card > a:hover .rough-program-card__stone,
.rough-program-card > a:focus-visible .rough-program-card__stone {
  transform: scale(1.05) rotate(-1deg);
}

.rough-program-card__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.rough-program-card__title {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--ivory);
  font-family: var(--font-heading), serif;
  font-size: clamp(0.95rem, 1.2vw, 1.16rem);
  font-weight: 600;
  line-height: 1.22;
}

.rough-program-card__title .program-card__swatch {
  margin-top: 0.24em;
}

.rough-program-card__epithet {
  margin-top: 7px;
  color: var(--gold-light);
  font-size: 0.73rem;
  line-height: 1.45;
}

.rough-program-card__action {
  margin-top: 18px;
  color: #d8dede;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.rough-program-card__action::after {
  content: " →";
  color: var(--gold-light);
}

.programs-detail {
  padding-top: var(--section-gap);
}

.programs-detail__panel {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.24fr) minmax(0, 0.78fr);
  gap: 26px;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.programs-detail__visual {
  min-width: 0;
}

.programs-detail__image {
  /* The base .image-with-glow carries min-height: 250px. Against a fixed ratio
     that is a contradiction below about 375px wide, and the box resolves it by
     widening past its column, so the floor is lifted and the ratio governs. */
  aspect-ratio: 3 / 2;
  min-height: 0;
  border-radius: 7px;
}

.programs-detail__copy h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.16rem, 1.7vw, 1.5rem);
}

.programs-detail__copy > p {
  margin-bottom: 18px;
  color: #b8bec1;
  font-size: 0.82rem;
  line-height: 1.75;
}

.programs-detail__checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.programs-detail__checks li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  color: #c6ccce;
  font-size: 0.77rem;
  line-height: 1.45;
}

.programs-detail__checks svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.programs-highlights {
  padding: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 16 / 62%);
}

.programs-highlights h3 {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: 1rem;
}

.programs-highlights dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.programs-highlights dl > div {
  display: grid;
  align-items: center;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 4px 12px;
}

.programs-highlights svg {
  color: var(--gold-light);
}

.programs-highlights dt {
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.06rem, 1.4vw, 1.3rem);
  line-height: 1;
}

.programs-highlights dd {
  margin: 0;
  color: #b7bec0;
  font-size: 0.73rem;
  line-height: 1.35;
}

.programs-cta {
  margin-top: var(--section-gap);
}

.programs-cta .trust-cta__copy h2 span {
  display: block;
}

/* ---------------------------------------------------------------------------
   Asset Registry.
   --------------------------------------------------------------------------- */

.registry-hero {
  min-height: min(clamp(560px, 42vw, 800px), 80vh);
}

.registry-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 80%) 30%,
      rgb(1 5 8 / 18%) 56%,
      transparent 74%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%) 0%, transparent 30%);
}

.registry-hero__inner {
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1fr);
}

.registry-hero__tagline {
  margin-bottom: 20px;
  color: var(--ivory);
  font-size: clamp(1.02rem, 1.4vw, 1.24rem);
}

.registry-badges {
  padding-top: clamp(34px, 3.4vw, 52px);
}

.registry-badges__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.registry-process {
  padding-top: var(--section-gap);
}

.registry-process__panel {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.registry-steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.registry-steps > li {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  grid-template-rows: auto auto auto 1fr;
  gap: 10px;
  text-align: center;
}

/* The board separates the stages with a hairline and threads an arrow between
   the numbered badges; the rule sits on the gap, the arrow on the badge row. */
.registry-steps > li:not(:last-child)::before {
  position: absolute;
  top: 0;
  right: -10px;
  bottom: 0;
  width: 1px;
  background: var(--border-soft);
  content: "";
}

.registry-steps > li:not(:last-child)::after {
  position: absolute;
  top: 15px;
  right: -14px;
  padding-inline: 3px;
  background: #061219;
  color: var(--gold);
  content: "\2192";
  font-size: 0.95rem;
  line-height: 1;
  transform: translateY(-50%);
}

.registry-steps__number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.95rem;
}

.registry-steps .section-plate {
  width: clamp(62px, 5.4vw, 78px);
}

.registry-steps h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.registry-steps p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.71rem;
  line-height: 1.55;
}

.registry-record {
  padding-top: var(--section-gap);
}

.registry-record__panel {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 1.18fr) minmax(0, 1fr);
  gap: 24px;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.registry-record__visual {
  display: grid;
  justify-items: center;
  gap: 16px;
}

.registry-record__visual img {
  width: min(100%, 200px);
  height: auto;
  filter: drop-shadow(0 18px 34px rgb(0 0 0 / 62%));
}

.registry-record__fields .eyebrow {
  margin-bottom: 10px;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
}

.registry-record__fields dl {
  display: grid;
  gap: 0;
  margin: 0;
}

.registry-record__fields dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px solid var(--border-soft);
}

.registry-record__fields dt {
  color: var(--muted);
  font-size: 0.74rem;
}

.registry-record__fields dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.76rem;
  text-align: right;
}

/* Status is the one row on the board drawn as a state rather than a value, so
   it keeps its pill and its own colour. */
.registry-record__status {
  border-bottom: 0 !important;
  padding-top: 12px !important;
}

.registry-record__status dd span {
  display: inline-block;
  padding: 4px 14px;
  border: 1px solid var(--teal);
  border-radius: 999px;
  color: var(--teal);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.registry-record__side {
  display: grid;
  gap: 16px;
}

.registry-chain,
.registry-passport {
  padding: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 16 / 62%);
}

.registry-chain h3,
.registry-passport h3 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: 0.98rem;
}

.registry-chain dl {
  display: grid;
  gap: 0;
  margin: 0 0 16px;
}

.registry-chain dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 0;
  border-bottom: 1px solid var(--border-soft);
}

.registry-chain dl > div:last-child {
  border-bottom: 0;
}

.registry-chain dt {
  color: var(--muted);
  font-size: 0.71rem;
}

.registry-chain dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.73rem;
  text-align: right;
  word-break: break-word;
}

.registry-passport {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
}

.registry-passport svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.registry-passport p {
  margin: 0 0 12px;
  color: #b8bec1;
  font-size: 0.75rem;
  line-height: 1.55;
}

.registry-passport__note {
  margin: 8px 0 0 !important;
  color: var(--muted);
  font-size: 0.68rem;
}

.registry-close {
  display: grid;
  align-items: start;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.04fr);
  gap: 16px;
  padding-top: var(--section-gap);
}

.registry-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 92%));
}

.registry-card__title {
  margin-bottom: 18px;
  color: var(--gold-light);
  font-size: clamp(0.98rem, 1.22vw, 1.18rem);
}

.registry-card__title--center {
  text-align: center;
}

.registry-access {
  display: grid;
  align-content: start;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.registry-access li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  color: #c6ccce;
  font-size: 0.78rem;
  line-height: 1.45;
}

.registry-access svg {
  margin-top: 2px;
  color: var(--teal);
}

.registry-why {
  display: grid;
  align-content: start;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.registry-why li {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  color: #c6ccce;
  font-size: 0.78rem;
  line-height: 1.45;
}

.registry-why svg {
  color: var(--gold-light);
}

.registry-search__intro {
  margin-bottom: 18px;
  color: #b8bec1;
  font-size: 0.79rem;
  line-height: 1.6;
  text-align: center;
}

.registry-search__explore {
  margin: 16px 0 12px;
  color: var(--muted);
  font-size: 0.74rem;
  text-align: center;
}

.registry-search__chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.registry-search__chips a {
  display: inline-block;
  padding: 7px 15px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  background: rgb(2 7 10 / 72%);
  color: #d3d8d9;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition:
    border-color 200ms ease,
    color 200ms ease,
    transform 200ms var(--ease-premium);
}

.registry-search__chips a:hover {
  transform: translateY(-2px);
}

/* Each chip borrows its stone's colour the way the board tints them. */
.registry-search__chips a[data-type="ruby"] {
  border-color: rgb(201 32 47 / 62%);
  color: #f19aa2;
}

.registry-search__chips a[data-type="sapphire"] {
  border-color: rgb(31 79 196 / 62%);
  color: #9db6f4;
}

.registry-search__chips a[data-type="emerald"] {
  border-color: rgb(15 155 99 / 62%);
  color: #86d9b6;
}

.registry-search__chips a[data-type="diamond"] {
  border-color: rgb(207 214 220 / 52%);
  color: #dfe4e8;
}

.registry-cta {
  margin-top: var(--section-gap);
  /* The second title line runs to nine words, so the copy column takes the
     room the action column does not need. */
  grid-template-columns: minmax(230px, 0.82fr) minmax(340px, 1.5fr) minmax(
      190px,
      0.5fr
    );
}

.registry-cta .trust-cta__copy h2 span {
  display: block;
}

/* ---------------------------------------------------------------------------
   Single-gemstone pages. One layout, one accent token per stone.
   --------------------------------------------------------------------------- */

.gem-page {
  /* Every rule below reads the accent from here, so a third stone is a content
     file and three lines of CSS rather than another stylesheet. */
  --gem: #7cc7e8;
  --gem-soft: rgb(124 199 232 / 34%);
  --gem-faint: rgb(124 199 232 / 14%);
  --gem-glow: rgb(124 199 232 / 22%);
}

.gem-page--emerald {
  --gem: #46c98d;
  --gem-soft: rgb(70 201 141 / 34%);
  --gem-faint: rgb(70 201 141 / 14%);
  --gem-glow: rgb(70 201 141 / 22%);
}

.gem-page--peridot {
  --gem: #8ed94f;
  --gem-soft: rgb(142 217 79 / 34%);
  --gem-faint: rgb(142 217 79 / 14%);
  --gem-glow: rgb(142 217 79 / 22%);
  --market-fill: #8ed94f;
}

.gem-page--ruby {
  --gem: #ff3451;
  --gem-soft: rgb(255 52 81 / 34%);
  --gem-faint: rgb(255 52 81 / 14%);
  --gem-glow: rgb(255 52 81 / 22%);
  --market-fill: #ff3451;
}

/* Emerald's sculpted glance plates are the shared six-field set. Ruby keeps
   their relief and changes only the metal, the same way the source boards keep
   one icon vocabulary while changing each gemstone's accent. */
.gem-page--ruby .gem-glance__row .section-plate {
  filter: hue-rotate(225deg) saturate(1.42) brightness(1.08);
}

.gem-page--tourmaline {
  --gem: #62cd52;
  --gem-soft: rgb(98 205 82 / 34%);
  --gem-faint: rgb(98 205 82 / 14%);
  --gem-glow: rgb(98 205 82 / 22%);
  --market-fill: #62cd52;
}

.gem-page--charoite {
  --gem: #b77ae7;
  --gem-soft: rgb(183 122 231 / 34%);
  --gem-faint: rgb(183 122 231 / 14%);
  --gem-glow: rgb(183 122 231 / 22%);
  --market-fill: #b77ae7;
}

.gem-page--charoite .gem-glance__row .section-plate {
  filter: hue-rotate(140deg) saturate(1.28) brightness(1.08);
}

.gem-page--alexandrite {
  --gem: #61d2d8;
  --gem-soft: rgb(97 210 216 / 34%);
  --gem-faint: rgb(97 210 216 / 14%);
  --gem-glow: rgb(97 210 216 / 22%);
  --market-fill: #c177c3;
}

.gem-page--alexandrite .gem-hero__tagline,
.gem-page--alexandrite .gem-cta .trust-cta__copy h2 {
  color: #c78ad2;
}

.gem-page--alexandrite .gem-glance__row .section-plate {
  filter: hue-rotate(48deg) saturate(1.2) brightness(1.12);
}

.gem-page--rough-aquamarine {
  --gem: #5ed8ee;
  --gem-soft: rgb(94 216 238 / 34%);
  --gem-faint: rgb(94 216 238 / 14%);
  --gem-glow: rgb(94 216 238 / 22%);
  --market-fill: #5ed8ee;
}

.gem-page--rough-aquamarine .gem-glance__row .section-plate {
  filter: hue-rotate(48deg) saturate(1.2) brightness(1.14);
}

.gem-page--chrysoprase {
  --gem: #7ed957;
  --gem-soft: rgb(126 217 87 / 34%);
  --gem-faint: rgb(126 217 87 / 14%);
  --gem-glow: rgb(126 217 87 / 22%);
  --market-fill: #7ed957;
}

.gem-page--italian-jade {
  --gem: #71c94b;
  --gem-soft: rgb(113 201 75 / 34%);
  --gem-faint: rgb(113 201 75 / 14%);
  --gem-glow: rgb(113 201 75 / 22%);
  --market-fill: #71c94b;
}

.gem-page--jasper {
  --gem: #f1ad08;
  --gem-soft: rgb(241 173 8 / 34%);
  --gem-faint: rgb(241 173 8 / 14%);
  --gem-glow: rgb(241 173 8 / 22%);
  --market-fill: #f1ad08;
}

.gem-page--jasper .gem-glance__row .section-plate {
  filter: hue-rotate(282deg) saturate(1.42) brightness(1.08);
}

.gem-page--rough-ruby-c {
  --gem: #ff2947;
  --gem-soft: rgb(255 41 71 / 34%);
  --gem-faint: rgb(255 41 71 / 14%);
  --gem-glow: rgb(255 41 71 / 22%);
  --market-fill: #ff2947;
}

.gem-page--rough-ruby-trapiche {
  --gem: #ef4778;
  --gem-soft: rgb(239 71 120 / 34%);
  --gem-faint: rgb(239 71 120 / 14%);
  --gem-glow: rgb(239 71 120 / 22%);
  --market-fill: #ef4778;
}

.gem-page--rough-ruby-gem {
  --gem: #ff3854;
  --gem-soft: rgb(255 56 84 / 34%);
  --gem-faint: rgb(255 56 84 / 14%);
  --gem-glow: rgb(255 56 84 / 22%);
  --market-fill: #ff3854;
}

.gem-page--rough-ruby-c .gem-glance__row .section-plate,
.gem-page--rough-ruby-gem .gem-glance__row .section-plate {
  filter: hue-rotate(225deg) saturate(1.42) brightness(1.08);
}

.gem-page--rough-ruby-trapiche .gem-glance__row .section-plate {
  filter: hue-rotate(214deg) saturate(1.28) brightness(1.1);
}

/* Keep the board's parenthesized grade on its own title line at desktop size. */
.gem-page--rough-ruby-c .gem-hero__title {
  max-width: 11ch;
}

.gem-page--rutilated-quartz {
  --gem: #e7a916;
  --gem-soft: rgb(231 169 22 / 34%);
  --gem-faint: rgb(231 169 22 / 14%);
  --gem-glow: rgb(231 169 22 / 22%);
  --market-fill: #e7a916;
}

.gem-page--rutilated-quartz .gem-glance__row .section-plate {
  filter: hue-rotate(282deg) saturate(1.36) brightness(1.08);
}

.gem-page--rough-tourmaline {
  --gem: #df5c99;
  --gem-soft: rgb(223 92 153 / 34%);
  --gem-faint: rgb(223 92 153 / 14%);
  --gem-glow: rgb(223 92 153 / 22%);
  --market-fill: #df5c99;
}

.gem-page--rough-tourmaline .gem-glance__row .section-plate {
  filter: hue-rotate(198deg) saturate(1.2) brightness(1.1);
}

.gem-page--rough-peridot {
  --gem: #8bd52d;
  --gem-soft: rgb(139 213 45 / 34%);
  --gem-faint: rgb(139 213 45 / 14%);
  --gem-glow: rgb(139 213 45 / 22%);
  --market-fill: #8bd52d;
}

.gem-page--rough-emerald {
  --gem: #49d274;
  --gem-soft: rgb(73 210 116 / 34%);
  --gem-faint: rgb(73 210 116 / 14%);
  --gem-glow: rgb(73 210 116 / 22%);
  --market-fill: #49d274;
}

.gem-hero {
  min-height: min(clamp(600px, 46vw, 860px), 86vh);
}

.gem-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 94%) 0%,
      rgb(1 5 8 / 80%) 28%,
      rgb(1 5 8 / 18%) 52%,
      rgb(1 5 8 / 34%) 76%,
      rgb(1 5 8 / 72%) 100%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%) 0%, transparent 32%);
}

/* Copy first, then the highlights card beneath it running the full width, the
   way the Passports hero already stacks its badge strip. .hero__inner is a
   two-column grid, so this has to become a column flow rather than a re-spanned
   grid — otherwise the card keeps a phantom second track beside it. */
.gem-hero__inner {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: clamp(24px, 2.6vw, 34px);
  padding-block: clamp(34px, 3.6vw, 62px);
}

/* The stone's name is set in ivory at display size, the way the boards do, and
   the accent carries the line beneath it rather than the name itself. */
.gem-hero__title {
  margin-bottom: 10px;
  font-size: clamp(2.9rem, 5vw, 5.1rem);
  letter-spacing: 0.02em;
}

.gem-hero__tagline {
  display: grid;
  gap: 2px;
  margin-bottom: 20px;
  color: var(--gem);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.16rem, 1.9vw, 1.66rem);
  line-height: 1.25;
  text-shadow: 0 2px 18px #000;
}

.gem-promise {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  max-width: 520px;
  margin-top: 26px;
  padding: 16px 20px;
  border: 1px solid var(--gold-dark);
  border-radius: 7px;
  background: rgb(3 10 13 / 84%);
  backdrop-filter: blur(12px);
}

.gem-promise h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1rem;
  letter-spacing: 0.03em;
}

.gem-promise p {
  margin: 0;
  color: #c2c8ca;
  font-size: 0.78rem;
  line-height: 1.6;
}

.gem-highlights {
  margin-top: auto;
  width: 100%;
}

.gem-hero__comparisons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: min(100%, 520px);
  margin-left: auto;
}

.gem-hero__comparisons figure {
  display: grid;
  gap: 7px;
  margin: 0;
}

.gem-hero__comparisons figcaption {
  color: #d7dcdd;
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.gem-hero__comparisons img {
  width: 100%;
  height: 112px;
  padding: 8px;
  border: 1px solid var(--gem-soft);
  border-radius: 7px;
  background: rgb(2 8 11 / 82%);
  object-fit: contain;
}

.gem-highlights aside {
  padding: 20px 22px;
  border: 1px solid var(--gem-soft);
  border-radius: 8px;
  background: rgb(3 12 18 / 84%);
  box-shadow: 0 22px 54px rgb(0 0 0 / 46%);
  backdrop-filter: blur(12px);
}

.gem-highlights h2 {
  margin-bottom: 16px;
  color: var(--gem);
  font-size: 1.02rem;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

.gem-highlights ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.gem-highlights li {
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto 1fr;
  gap: 11px;
  padding-inline: clamp(10px, 1.2vw, 20px);
  text-align: center;
}

.gem-highlights li + li {
  border-left: 1px solid var(--gem-faint);
}

.gem-highlights svg {
  padding: 7px;
  border: 1px solid var(--gem-soft);
  border-radius: 50%;
  color: var(--gem);
  box-sizing: content-box;
}

.gem-highlights h3 {
  margin-bottom: 1px;
  color: var(--ivory);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.81rem;
  font-weight: 700;
}

.gem-highlights p {
  max-width: 22ch;
  margin: 0;
  color: #b7bec0;
  font-size: 0.75rem;
  line-height: 1.45;
}

.gem-assurances {
  padding-top: clamp(30px, 3vw, 46px);
}

.gem-assurances__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-color: var(--gem-soft);
}

.gem-features__grid svg,
.gem-trust__grid svg {
  color: var(--gem);
  filter: drop-shadow(0 0 12px var(--gem-glow));
}

/* The plate replaces the icon that .trust-pillars used to space, so it carries
   that rule's bottom margin itself. */
.gem-assurances__grid .section-plate {
  width: clamp(60px, 5.2vw, 76px);
  margin-bottom: 12px;
}

.gem-assurances__grid h2,
.gem-features__grid h2,
.gem-trust__grid h2 {
  margin-bottom: 5px;
  color: var(--gem);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.88rem, 1.14vw, 1.02rem);
}

.gem-assurances__grid p,
.gem-features__grid p,
.gem-trust__grid p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.72rem, 0.74vw, 0.81rem);
  line-height: 1.55;
}

.gem-glance {
  padding-top: var(--section-gap);
}

.gem-glance .section-heading h2 {
  color: var(--gem);
}

.gem-glance__row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 22px 10px;
  border: 1px solid var(--gem-soft);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(6 18 22 / 86%), rgb(2 8 11 / 92%));
}

.gem-glance__row--7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gem-glance__row > div {
  display: grid;
  align-content: start;
  justify-items: center;
  grid-template-rows: auto auto 1fr;
  gap: 9px;
  padding-inline: clamp(8px, 1.1vw, 18px);
  text-align: center;
}

.gem-glance__row > div + div {
  border-left: 1px solid var(--gem-faint);
}

.gem-glance__row .section-plate {
  width: clamp(58px, 5vw, 74px);
}

.gem-glance__row dt {
  color: var(--gem);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.gem-glance__row dd {
  margin: 0;
  color: #d3d8d9;
  font-size: 0.8rem;
  line-height: 1.45;
}

.gem-glance__row dd span {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
}

.gem-detail,
.gem-story,
.gem-close {
  display: grid;
  align-items: start;
  gap: 16px;
  padding-top: var(--section-gap);
}

.gem-detail {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
}

.gem-story {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  /* The about panel carries a crystal and runs much taller than the lists
     beside it, so cards take their own height rather than every one of them
     stretching to the tallest in the row. */
  align-items: start;
}

.gem-close {
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr) minmax(0, 1.06fr);
}

.gem-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--gem-soft);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(6 18 22 / 88%), rgb(2 8 11 / 93%));
}

.gem-card__title {
  margin-bottom: 16px;
  color: var(--gem);
  font-size: clamp(1rem, 1.28vw, 1.22rem);
  letter-spacing: 0.02em;
}

.gem-card__intro {
  margin-bottom: 16px;
  color: #b8bec1;
  font-size: 0.79rem;
  line-height: 1.65;
}

.gem-card__sample {
  margin-bottom: 10px;
  color: var(--gem);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
}

.gem-details {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 22px;
}

.gem-details dl,
.gem-sample {
  display: grid;
  gap: 0;
  margin: 0;
}

.gem-details dl > div,
.gem-sample > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-bottom: 1px solid var(--gem-faint);
}

.gem-details dl > div:last-child,
.gem-sample > div:last-child {
  border-bottom: 0;
}

.gem-details dt,
.gem-sample dt {
  color: var(--muted);
  font-size: 0.75rem;
}

.gem-details dd,
.gem-sample dd {
  margin: 0;
  color: #d6dbdc;
  font-size: 0.77rem;
  text-align: right;
}

.gem-details__visual {
  display: grid;
  justify-items: center;
  gap: 16px;
}

.gem-details__visual img {
  width: min(100%, 230px);
  height: auto;
  filter: drop-shadow(0 20px 38px rgb(0 0 0 / 62%));
}

.gem-origin__map {
  width: 100%;
  height: auto;
  margin-bottom: 18px;
  border: 1px solid var(--gem-faint);
  border-radius: 7px;
  background: #02070a;
}

.gem-origin__pins {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.gem-origin__pins li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
}

.gem-origin__pins svg {
  margin-top: 2px;
  color: var(--gem);
}

.gem-origin__pins strong {
  display: block;
  color: #d6dbdc;
  font-size: 0.78rem;
  font-weight: 400;
}

.gem-origin__pins span {
  color: var(--muted);
  font-size: 0.72rem;
}

.gem-origin__note {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  margin: auto 0 0;
  padding: 14px 16px;
  border: 1px solid var(--gem-faint);
  border-radius: 7px;
  background: rgb(4 14 18 / 62%);
  color: #c2c8ca;
  font-size: 0.77rem;
  line-height: 1.55;
}

.gem-origin__note svg {
  color: var(--gem);
}

.gem-about p {
  margin-bottom: 14px;
  color: #b8bec1;
  font-size: 0.82rem;
  line-height: 1.75;
}

.gem-about__crystal {
  width: min(100%, 210px);
  height: auto;
  margin: auto auto 0;
  filter: drop-shadow(0 20px 38px rgb(0 0 0 / 66%));
}

.gem-list {
  display: grid;
  align-content: start;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gem-list > li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
}

.gem-list svg {
  margin-top: 2px;
  color: var(--gem);
}

.gem-list h3 {
  margin-bottom: 3px;
  color: var(--gem);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.81rem;
  font-weight: 700;
}

.gem-list p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.76rem;
  line-height: 1.6;
}

.gem-certificate {
  align-items: center;
  text-align: center;
}

.gem-certificate img {
  width: min(100%, 150px);
  height: auto;
  margin-bottom: 18px;
  filter: drop-shadow(0 18px 34px rgb(0 0 0 / 62%));
}

.gem-gallery {
  padding-top: var(--section-gap);
}

.gem-gallery .section-heading h2 {
  color: var(--gem);
}

.gem-gallery__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gem-gallery__grid li {
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: 12px;
  padding: 14px 12px;
  border: 1px solid var(--gem-faint);
  border-radius: 8px;
  background: linear-gradient(160deg, rgb(6 18 22 / 84%), rgb(2 8 11 / 92%));
  transition:
    border-color 220ms ease,
    transform 220ms var(--ease-premium);
}

.gem-gallery__grid li:hover {
  border-color: var(--gem-soft);
  transform: translateY(-4px);
}

.gem-gallery__grid img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
  aspect-ratio: 1;
}

.gem-gallery__grid span {
  color: #c2c8ca;
  font-size: 0.76rem;
  text-align: center;
}

.gem-checks {
  display: grid;
  gap: 11px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.gem-checks li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  color: #c6ccce;
  font-size: 0.78rem;
  line-height: 1.45;
}

.gem-checks svg {
  margin-top: 2px;
  color: var(--gem);
}

.gem-custody__image {
  margin-top: auto;
  aspect-ratio: 3 / 2;
  min-height: 0;
  border-radius: 7px;
}

.gem-ladder {
  display: grid;
  align-content: start;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gem-ladder > li {
  position: relative;
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding-bottom: 20px;
}

/* The rule threads the numbered badges the way the board draws it, and stops
   at the last one rather than trailing off the bottom of the card. */
.gem-ladder > li:not(:last-child)::before {
  position: absolute;
  top: 30px;
  bottom: 4px;
  left: 14px;
  width: 1px;
  background: var(--gem-faint);
  content: "";
}

.gem-ladder > li:last-child {
  padding-bottom: 0;
}

.gem-ladder > li > span {
  display: grid;
  width: 29px;
  height: 29px;
  place-items: center;
  border: 1px solid var(--gem-soft);
  border-radius: 50%;
  background: rgb(4 14 18 / 92%);
  color: var(--gem);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.88rem;
}

.gem-ladder h3 {
  margin-bottom: 3px;
  color: var(--gem);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
}

.gem-ladder p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.76rem;
  line-height: 1.6;
}

.market-trend {
  margin: auto 0 0;
}

.market-trend svg {
  width: 100%;
  height: auto;
}

.market-trend__grid {
  stroke: var(--gem-faint);
  stroke-width: 1;
}

.market-trend__tick,
.market-trend__year {
  fill: #93a0a4;
  font-size: 11px;
}

.market-trend__line {
  fill: none;
  stroke: var(--gem);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.market-trend__dot {
  fill: var(--gem);
}

.market-trend figcaption {
  margin-top: 10px;
  color: var(--muted);
  font-size: 0.7rem;
  text-align: right;
}

.gem-features,
.gem-trust {
  padding-top: var(--section-gap);
}

.gem-features__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-color: var(--gem-soft);
}

.gem-trust__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-color: var(--gem-soft);
}

.gem-cta {
  margin-top: var(--section-gap);
}

.gem-cta .trust-cta__copy h2 {
  color: var(--gem);
}

/* ---------------------------------------------------------------------------
   Redemption Portal.
   --------------------------------------------------------------------------- */

/* This hero carries a rendered interface rather than a photograph, so it draws
   its own ground instead of a plate. */
.portal-hero {
  min-height: auto;
  background:
    radial-gradient(circle at 78% 34%, rgb(216 154 39 / 9%), transparent 46%),
    linear-gradient(160deg, rgb(6 16 22 / 96%), rgb(1 5 8 / 98%));
}

.portal-hero__scrim {
  background: none;
}

.portal-hero__inner {
  align-items: center;
  grid-template-columns: minmax(280px, 0.6fr) minmax(0, 1.4fr);
  gap: 34px;
  padding-block: clamp(40px, 4.4vw, 74px);
}

.portal-hero__title {
  font-size: clamp(2.4rem, 3.5vw, 3.7rem);
}

.portal-hero__tagline {
  margin-bottom: 18px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.1rem, 1.6vw, 1.42rem);
}

.portal-preview {
  min-width: 0;
}

.portal-window {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: linear-gradient(155deg, rgb(8 20 27 / 97%), rgb(2 8 11 / 98%));
  box-shadow: 0 30px 80px rgb(0 0 0 / 54%);
}

.portal-window__bar {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--border-soft);
  background: rgb(3 11 15 / 92%);
}

.portal-window__mark {
  width: 132px;
  height: auto;
}

.portal-window__bar > span {
  color: var(--gold-light);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.portal-window__bar em {
  color: var(--muted);
  font-size: 0.65rem;
  font-style: normal;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.portal-window__body {
  display: grid;
  grid-template-columns: minmax(0, 0.44fr) minmax(0, 1.9fr) minmax(0, 0.66fr);
  gap: 1px;
  background: var(--border-soft);
}

.portal-rail,
.portal-panel,
.portal-status {
  min-width: 0;
  padding: 16px 14px;
  background: rgb(3 11 15 / 96%);
}

.portal-rail ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-rail li {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  padding: 8px 10px;
  border-radius: 5px;
  color: #98a2a6;
  font-size: 0.75rem;
}

.portal-rail svg {
  color: #6d7a80;
}

.portal-rail__item--active {
  background: rgb(216 154 39 / 12%);
  color: var(--gold-light);
  font-weight: 700;
}

.portal-rail__item--active svg {
  color: var(--gold-light);
}

.portal-panel h2,
.portal-status h2 {
  margin-bottom: 14px;
  color: var(--ivory);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 700;
}

.portal-table {
  display: grid;
  gap: 0;
}

.portal-table__head,
.portal-table__row {
  display: grid;
  align-items: center;
  grid-template-columns:
    minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 0.6fr) minmax(0, 0.8fr)
    minmax(0, 0.7fr) minmax(0, 0.7fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-soft);
}

.portal-table__head {
  color: var(--muted);
  font-size: 0.66rem;
  letter-spacing: 0.04em;
}

.portal-table__row {
  color: #c2c8ca;
  font-size: 0.72rem;
}

.portal-table__row:last-child {
  border-bottom: 0;
}

.portal-table__row em {
  display: block;
  color: var(--muted);
  font-size: 0.68rem;
  font-style: normal;
}

.portal-table__asset {
  display: grid;
  align-items: center;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
}

.portal-table__asset img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.portal-table__asset strong {
  display: block;
  color: #d6dbdc;
  font-size: 0.72rem;
  font-weight: 400;
}

.portal-pill {
  display: inline-block;
  padding: 3px 9px;
  border: 1px solid var(--teal);
  border-radius: 999px;
  color: var(--teal);
  font-size: 0.66rem;
  font-weight: 700;
}

.portal-table__action b {
  display: inline-block;
  padding: 6px 11px;
  border-radius: 5px;
  background: linear-gradient(100deg, var(--gold), #b07d17);
  color: #0a0d0f;
  font-size: 0.68rem;
  font-weight: 700;
}

.portal-help {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border-soft);
}

.portal-help strong {
  display: block;
  color: #c2c8ca;
  font-size: 0.73rem;
}

.portal-help > span {
  color: var(--muted);
  font-size: 0.68rem;
}

.portal-help b {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid var(--border-soft);
  border-radius: 5px;
  color: var(--gold-light);
  font-size: 0.7rem;
}

.portal-status ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-status li {
  position: relative;
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding-bottom: 14px;
}

.portal-status li:not(:last-child)::before {
  position: absolute;
  top: 18px;
  bottom: 2px;
  left: 8px;
  width: 1px;
  background: rgb(40 203 184 / 32%);
  content: "";
}

.portal-status svg {
  padding: 2px;
  border: 1px solid var(--teal);
  border-radius: 50%;
  background: rgb(4 14 18 / 96%);
  color: var(--teal);
  box-sizing: content-box;
}

.portal-status strong {
  display: block;
  color: #d6dbdc;
  font-size: 0.72rem;
  font-weight: 400;
}

.portal-status em {
  color: var(--muted);
  font-size: 0.66rem;
  font-style: normal;
}

.portal-assurances {
  padding-top: clamp(30px, 3vw, 46px);
}

.portal-assurances__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-assurances__grid h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.92rem, 1.2vw, 1.08rem);
}

.portal-assurances__grid p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.76vw, 0.84rem);
  line-height: 1.55;
}

.portal-process {
  padding-top: var(--section-gap);
}

.portal-process__panel {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.portal-steps {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-steps > li {
  position: relative;
  display: grid;
  min-width: 0;
  justify-items: center;
  grid-template-rows: auto auto auto 1fr;
  gap: 11px;
  text-align: center;
}

.portal-steps > li:not(:last-child)::before {
  position: absolute;
  top: 0;
  right: -10px;
  bottom: 0;
  width: 1px;
  background: var(--border-soft);
  content: "";
}

.portal-steps > li:not(:last-child)::after {
  position: absolute;
  top: 15px;
  right: -14px;
  padding-inline: 3px;
  background: #061219;
  color: var(--gold);
  content: "\2192";
  font-size: 0.95rem;
  line-height: 1;
  transform: translateY(-50%);
}

.portal-steps__number {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.95rem;
}

.portal-steps svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 20%));
  transition: transform 320ms var(--ease-premium);
}

.portal-steps > li:hover svg {
  transform: scale(1.08);
}

.portal-steps h3 {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.portal-steps p {
  margin: 0;
  color: #b7bec0;
  font-size: 0.71rem;
  line-height: 1.55;
}

.portal-features {
  padding-top: var(--section-gap);
}

.portal-features__card {
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.portal-features__title {
  margin-bottom: 20px;
  color: var(--gold-light);
  font-size: clamp(1.06rem, 1.4vw, 1.3rem);
}

.portal-features__card ul {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-features__card li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
}

.portal-features__card svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.portal-features__card h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.81rem;
  font-weight: 700;
}

.portal-features__card p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.75rem;
  line-height: 1.6;
}

.portal-trust {
  padding-top: var(--section-gap);
}

.portal-trust__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.portal-guarantee {
  padding-top: var(--section-gap);
}

.portal-guarantee__panel {
  display: grid;
  align-items: center;
  grid-template-columns: minmax(0, 1.24fr) minmax(0, 0.94fr) minmax(0, 0.82fr);
  gap: 26px;
  padding: 26px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 89%), rgb(2 8 11 / 94%));
}

.portal-guarantee__copy h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.16rem, 1.7vw, 1.5rem);
}

.portal-guarantee__copy p {
  margin: 0;
  color: #b8bec1;
  font-size: 0.82rem;
  line-height: 1.75;
}

.portal-guarantee__checks {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 16px;
  padding: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 16 / 62%);
}

.portal-guarantee__checks > svg {
  color: var(--gold-light);
}

.portal-guarantee__checks ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.portal-guarantee__checks li {
  display: grid;
  align-items: start;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  color: #c6ccce;
  font-size: 0.78rem;
  line-height: 1.45;
}

.portal-guarantee__checks li svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.portal-guarantee__checks > p {
  grid-column: 2;
  margin: 0;
  color: var(--muted);
  font-size: 0.68rem;
}

.portal-guarantee__image {
  aspect-ratio: 3 / 2;
  min-height: 0;
  border-radius: 7px;
}

/* --- Program Overview ------------------------------------------------ */

.overview-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 87%) 32%,
      rgb(1 5 8 / 28%) 58%,
      transparent 76%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.overview-hero__tagline {
  max-width: 34ch;
  margin-bottom: 22px;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.16rem, 1.62vw, 1.52rem);
  line-height: 1.42;
}

.overview-hero__tagline span {
  display: block;
}

.overview-hero__tagline span:first-child {
  color: #eef1f2;
}

.overview-hero__tagline span:last-child {
  color: var(--gold-light);
}

/* The board's crest card sits against the right edge of the plate. It is drawn
   from the brand shield and the wordmark rather than being part of the
   photograph, so it stays legible at every width and can drop below the copy on
   a phone instead of being cropped away with the plate. */
.overview-hero__crest {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  grid-column: 2;
}

.overview-hero__crest aside {
  display: grid;
  width: min(320px, 100%);
  justify-items: center;
  padding: 26px 24px 22px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 12px;
  background: linear-gradient(155deg, rgb(9 16 22 / 92%), rgb(2 6 9 / 94%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 4%),
    0 26px 70px rgb(0 0 0 / 46%);
  text-align: center;
}

.overview-hero__crest-mark {
  width: auto;
  height: clamp(64px, 6vw, 86px);
  margin-bottom: 14px;
}

.overview-hero__crest-wordmark {
  margin-bottom: 14px;
  color: #f2f4f5;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.24rem, 1.7vw, 1.52rem);
}

.overview-hero__crest-lines {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.38vw, 1.24rem);
  line-height: 1.5;
}

.overview-hero__crest-lines span {
  display: block;
}

.overview-hero__crest-motto {
  margin: 0;
  color: #d8ba7c;
  font-size: clamp(0.72rem, 0.86vw, 0.82rem);
  letter-spacing: 0.22em;
}

.overview-marks {
  margin-top: calc(var(--section-gap) * -0.42);
  margin-bottom: var(--section-gap);
}

.overview-marks__row {
  position: relative;
  z-index: 2;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.overview-marks__row h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.97rem, 1.33vw, 1.2rem);
}

.overview-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(18px, 1.8vw, 28px);
  margin-bottom: var(--section-gap);
}

.overview-card {
  height: 100%;
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.overview-card__title {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.24rem, 1.86vw, 1.6rem);
}

.overview-card__statement {
  margin-bottom: 22px;
  color: #c4cacc;
  font-size: clamp(0.86rem, 0.92vw, 0.94rem);
  line-height: 1.75;
}

.overview-values {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.overview-values li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
}

.overview-values svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.overview-values h3 {
  margin-bottom: 3px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.92rem, 1.06vw, 1.02rem);
  letter-spacing: 0.04em;
}

.overview-values p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.8rem, 0.84vw, 0.88rem);
  line-height: 1.65;
}

/* The board runs SOURCE / CUSTODY / TOKENIZE / DISTRIBUTE as a numbered arrow
   chain. The arrow is a pseudo-element in the gap before each cell, so it only
   draws while the row is still a row; once the grid stacks, the rules below
   remove it rather than leaving arrows pointing sideways down a column. */
.overview-model {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.overview-model li {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 6px;
  text-align: center;
}

.overview-model li + li::before {
  position: absolute;
  top: 26px;
  left: -6px;
  content: "\2192";
  color: rgb(197 141 46 / 62%);
  font-size: 0.9rem;
  line-height: 1;
  transform: translateX(-50%);
}

.overview-model__mark {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgb(197 141 46 / 40%);
  border-radius: 50%;
  color: var(--gold-light);
}

.overview-model__number {
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 1px solid rgb(197 141 46 / 40%);
  border-radius: 50%;
  color: var(--gold-light);
  font-size: 0.72rem;
}

.overview-model h3 {
  margin-bottom: 2px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.88rem, 1vw, 0.98rem);
  letter-spacing: 0.05em;
}

.overview-model p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.76rem, 0.8vw, 0.84rem);
  line-height: 1.6;
}

.overview-unique {
  margin-bottom: var(--section-gap);
}

.overview-unique__grid {
  margin-top: 26px;
}

.overview-cta .trust-cta__copy h2 span {
  display: block;
}

.overview-cta .overview-cta__motto {
  margin-top: 10px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1rem, 1.28vw, 1.16rem);
  letter-spacing: 0.16em;
}

.overview-cta__invitation {
  margin-bottom: 12px;
}

/* --- 20% Discount Methodology ---------------------------------------- */

.discount-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 95%) 0%,
      rgb(1 5 8 / 88%) 34%,
      rgb(1 5 8 / 30%) 60%,
      transparent 78%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.discount-hero__tagline {
  max-width: 40ch;
  margin-bottom: 22px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.06rem, 1.44vw, 1.34rem);
  line-height: 1.45;
}

.discount-hero .hero__description {
  margin-bottom: 14px;
}

/* The board stamps a gold disc beside the stone. It is a ring of type rather
   than an image so the figure stays sharp at every width. */
.discount-hero__badge {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  grid-column: 2;
}

.discount-hero__badge p {
  display: grid;
  width: clamp(150px, 15vw, 208px);
  height: clamp(150px, 15vw, 208px);
  place-content: center;
  justify-items: center;
  margin: 0;
  border: 1px solid rgb(197 141 46 / 55%);
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 40%,
    rgb(10 20 27 / 88%),
    rgb(2 6 9 / 72%) 72%
  );
  text-align: center;
}

.discount-hero__badge span:first-child {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(2.1rem, 3.4vw, 3.1rem);
  line-height: 1;
}

.discount-hero__badge span:last-child {
  margin-top: 6px;
  color: #d8ba7c;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.82rem, 1.06vw, 1rem);
  letter-spacing: 0.2em;
}

.discount-marks {
  margin-top: calc(var(--section-gap) * -0.42);
  margin-bottom: var(--section-gap);
}

.discount-marks__row {
  position: relative;
  z-index: 2;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.discount-marks__row h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.16vw, 1.04rem);
}

.discount-calc,
.discount-example,
.discount-principles {
  margin-bottom: var(--section-gap);
}

.discount-calc__intro {
  max-width: 82ch;
  margin: 18px auto 0;
  color: #c4cacc;
  font-size: clamp(0.86rem, 0.92vw, 0.95rem);
  line-height: 1.8;
  text-align: center;
}

/* Six numbered steps in a chain. The connector is a pseudo-element on the gap
   before each step, so it disappears with the row rather than pointing sideways
   once the grid stacks. */
.discount-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 30px 0 0;
  padding: clamp(22px, 2.2vw, 32px) clamp(14px, 1.6vw, 24px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.discount-steps li {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.discount-steps li + li::before {
  position: absolute;
  top: 62px;
  left: -7px;
  content: "\2192";
  color: rgb(127 216 196 / 60%);
  font-size: 0.9rem;
  line-height: 1;
  transform: translateX(-50%);
}

.discount-steps__number {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgb(127 216 196 / 48%);
  border-radius: 50%;
  color: #7fd8c4;
  font-size: 0.86rem;
}

.discount-steps__mark {
  color: var(--gold-light);
}

.discount-steps h3 {
  margin-bottom: 2px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.82rem, 0.94vw, 0.94rem);
  letter-spacing: 0.04em;
}

.discount-steps p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.78vw, 0.82rem);
  line-height: 1.6;
}

.discount-example__panel {
  margin-top: 30px;
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

/* The board sets the two prices side by side with the discount disc straddling
   the divide. The disc is its own grid cell rather than an overlay, so nothing
   is positioned on top of a column and the three parts reflow together. */
.discount-example__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: start;
  gap: clamp(12px, 1.4vw, 22px);
}

.discount-example__column {
  min-width: 0;
}

.discount-example__heading {
  padding: 11px 16px;
  border-radius: 6px 6px 0 0;
  color: #061018;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.1vw, 1.04rem);
  letter-spacing: 0.03em;
  text-align: center;
}

.discount-example__heading--standard {
  background: linear-gradient(120deg, #2f7f8c, #59aab4);
}

.discount-example__heading--early {
  background: linear-gradient(120deg, #a9761c, #d9a63e);
}

.discount-example__asset {
  margin: 0;
  padding: 14px 16px 8px;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
}

.discount-example__column dl {
  margin: 0;
  padding: 0 16px 6px;
}

.discount-example__column dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-top: 1px solid var(--border-soft);
}

.discount-example__column dt {
  color: #bec4c6;
  font-size: clamp(0.79rem, 0.85vw, 0.87rem);
}

.discount-example__column dd {
  margin: 0;
  color: #eef1f2;
  font-size: clamp(0.82rem, 0.9vw, 0.92rem);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.discount-example__row--total dt,
.discount-example__row--total dd {
  color: #7fd8c4;
  font-size: clamp(0.88rem, 1vw, 1.02rem);
}

.discount-example__column--early .discount-example__row--total dt,
.discount-example__column--early .discount-example__row--total dd {
  color: var(--gold-light);
}

.discount-example__badge {
  display: grid;
  width: clamp(88px, 8vw, 116px);
  height: clamp(88px, 8vw, 116px);
  align-self: center;
  place-content: center;
  justify-items: center;
  margin: 0;
  border: 1px solid rgb(197 141 46 / 46%);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, #0b1720, #030a0e 74%);
  text-align: center;
}

.discount-example__badge span:first-child {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.3rem, 1.9vw, 1.75rem);
  line-height: 1;
}

.discount-example__badge span:last-child {
  margin-top: 3px;
  color: #d8ba7c;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.6rem, 0.7vw, 0.68rem);
  letter-spacing: 0.16em;
}

.discount-example__footnote {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--border-soft);
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.88vw, 0.9rem);
  line-height: 1.7;
}

.discount-example__footnote svg {
  margin-top: 2px;
  color: #7fd8c4;
}

.discount-principles__row {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-top: 26px;
}

/* --- How Token Acquisition Will Work --------------------------------- */

.acquisition-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 96%) 0%,
      rgb(1 5 8 / 88%) 34%,
      rgb(1 5 8 / 30%) 60%,
      transparent 78%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.acquisition-hero__tagline {
  margin-bottom: 22px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
  letter-spacing: 0.02em;
}

.acquisition-hero .hero__description {
  margin-bottom: 14px;
}

.acquisition-marks {
  margin-top: calc(var(--section-gap) * -0.42);
  margin-bottom: var(--section-gap);
}

.acquisition-marks__row {
  position: relative;
  z-index: 2;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.acquisition-marks__row h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.16vw, 1.04rem);
}

.acquisition-process,
.acquisition-options,
.acquisition-detail {
  margin-bottom: var(--section-gap);
}

/* The platform is pre-launch, so the process diagram carries a standing notice
   rather than reading as a working checkout. */
.acquisition-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
  max-width: 88ch;
  margin: 24px auto 0;
  padding: 14px 20px;
  border: 1px solid rgb(127 216 196 / 34%);
  border-radius: 8px;
  background: rgb(9 26 30 / 62%);
  color: #cbd3d4;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
  line-height: 1.7;
}

.acquisition-notice svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.acquisition-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0 0;
  padding: clamp(22px, 2.2vw, 32px) clamp(14px, 1.6vw, 24px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.acquisition-steps li {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.acquisition-steps li + li::before {
  position: absolute;
  top: 34px;
  left: -7px;
  content: "\2192";
  color: rgb(127 216 196 / 60%);
  font-size: 0.9rem;
  line-height: 1;
  transform: translateX(-50%);
}

.acquisition-steps__mark {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border: 1px solid rgb(127 216 196 / 40%);
  border-radius: 50%;
  color: #7fd8c4;
}

.acquisition-steps__number {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  margin-top: -21px;
  border: 1px solid rgb(197 141 46 / 52%);
  border-radius: 50%;
  background: #061018;
  color: var(--gold-light);
  font-size: 0.76rem;
}

.acquisition-steps h3 {
  margin-bottom: 2px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.82rem, 0.94vw, 0.94rem);
  letter-spacing: 0.04em;
}

.acquisition-steps p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.78vw, 0.82rem);
  line-height: 1.6;
}

.acquisition-options__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.7vw, 26px);
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.acquisition-option {
  display: grid;
  align-content: start;
  grid-template-columns: auto 1fr;
  gap: 14px 16px;
  padding: clamp(20px, 2vw, 28px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.acquisition-option__mark {
  display: grid;
  width: 66px;
  height: 66px;
  place-items: center;
  border: 1px solid rgb(127 216 196 / 36%);
  border-radius: 50%;
  color: #7fd8c4;
}

.acquisition-option h3 {
  margin-bottom: 6px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.96rem, 1.2vw, 1.1rem);
  letter-spacing: 0.03em;
}

.acquisition-option > div p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
  line-height: 1.7;
}

.acquisition-option__points {
  display: grid;
  gap: 9px;
  grid-column: 1 / -1;
  margin: 4px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--border-soft);
  list-style: none;
}

.acquisition-option__points li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
  color: #c4cacc;
  font-size: clamp(0.79rem, 0.85vw, 0.87rem);
  line-height: 1.55;
}

.acquisition-option__points svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.acquisition-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(16px, 1.7vw, 26px);
}

.acquisition-card {
  height: 100%;
  padding: clamp(20px, 2.1vw, 30px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.acquisition-card__title {
  margin-bottom: 16px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.36vw, 1.24rem);
  letter-spacing: 0.03em;
  text-align: center;
}

.acquisition-card__intro {
  margin-bottom: 18px;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
  text-align: center;
}

.acquisition-card__footnote {
  margin: 16px 0 0;
  color: #98a0a2;
  font-size: clamp(0.74rem, 0.8vw, 0.81rem);
  text-align: center;
}

.acquisition-card__image {
  max-height: 172px;
  margin-bottom: 18px;
  border-radius: 8px;
}

.acquisition-card__image img {
  height: 172px;
  object-fit: cover;
}

.acquisition-reasons {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.acquisition-reasons li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
}

.acquisition-reasons svg {
  color: #7fd8c4;
}

.acquisition-reasons h3 {
  margin-bottom: 3px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.02vw, 1rem);
  letter-spacing: 0.03em;
}

.acquisition-reasons p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.79rem, 0.83vw, 0.87rem);
  line-height: 1.65;
}

/* The board draws each accepted asset as a coloured disc carrying its mark.
   The discs are typographic rather than logo files: the site does not licence
   those marks, and an initial on the network's own colour identifies the rail
   without reproducing a third party's trademark. */
.acquisition-tokens {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.acquisition-tokens li {
  display: grid;
  justify-items: center;
  gap: 6px;
  text-align: center;
}

.acquisition-tokens__disc {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.16rem;
}

.acquisition-tokens__symbol {
  color: #eef1f2;
  font-size: clamp(0.82rem, 0.88vw, 0.9rem);
}

.acquisition-tokens__networks {
  color: #98a0a2;
  font-size: clamp(0.68rem, 0.74vw, 0.75rem);
}

.acquisition-rails {
  display: grid;
  gap: 14px;
  margin: 20px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--border-soft);
  list-style: none;
}

.acquisition-rails li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
}

.acquisition-rails svg {
  color: var(--gold-light);
}

.acquisition-rails h3 {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.84rem, 0.94vw, 0.92rem);
  letter-spacing: 0.04em;
}

.acquisition-rails p {
  margin: 0;
  color: #98a0a2;
  font-size: clamp(0.72rem, 0.78vw, 0.79rem);
}

.acquisition-checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.acquisition-checks li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 11px;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
}

.acquisition-checks svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.acquisition-cta .trust-cta__copy h2 span {
  display: block;
}

.acquisition-cta .acquisition-cta__tagline {
  margin-top: 10px;
  color: #7fd8c4;
  font-size: clamp(0.86rem, 0.96vw, 0.96rem);
}

/* --- Restricted Jurisdictions ---------------------------------------- */

.restricted-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 96%) 0%,
      rgb(1 5 8 / 88%) 32%,
      rgb(1 5 8 / 28%) 58%,
      transparent 76%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

/* The board sets this title's second line in the compliance teal rather than
   the site's gold, which marks the page as legal copy at a glance. */
.restricted-hero__title-accent {
  color: #7fd8c4;
}

.restricted-hero__tagline {
  margin-bottom: 22px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
}

.restricted-hero .hero__description {
  margin-bottom: 14px;
}

.restricted-hero__card {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  grid-column: 2;
}

.restricted-hero__card aside {
  display: grid;
  width: min(300px, 100%);
  justify-items: center;
  padding: 28px 24px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 12px;
  background: linear-gradient(155deg, rgb(9 16 22 / 92%), rgb(2 6 9 / 94%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 4%),
    0 26px 70px rgb(0 0 0 / 46%);
  text-align: center;
}

.restricted-hero__card-wordmark {
  margin-bottom: 16px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.16rem, 1.6vw, 1.42rem);
  letter-spacing: 0.05em;
}

.restricted-hero__card-lines {
  margin: 0;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.38vw, 1.24rem);
  line-height: 1.6;
}

.restricted-hero__card-lines span {
  display: block;
}

.restricted-list,
.restricted-detail,
.restricted-commitment {
  margin-bottom: var(--section-gap);
}

.restricted-list {
  margin-top: var(--section-gap);
}

.restricted-list__panel {
  padding: clamp(22px, 2.4vw, 36px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.restricted-list__title {
  margin-bottom: 12px;
  color: #7fd8c4;
  font-size: clamp(1.24rem, 1.9vw, 1.66rem);
  text-align: center;
}

.restricted-list__intro {
  max-width: 88ch;
  margin: 0 auto 30px;
  color: #c4cacc;
  font-size: clamp(0.84rem, 0.9vw, 0.93rem);
  line-height: 1.8;
  text-align: center;
}

/* Five columns of compliance copy. The last group is a prose clause rather than
   a list, so it lays out on the same grid without a bullet rail. */
.restricted-groups {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
}

.restricted-group {
  min-width: 0;
  padding-inline: clamp(10px, 1.1vw, 18px);
}

.restricted-group + .restricted-group {
  border-left: 1px solid var(--border-soft);
}

.restricted-group h3 {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 11px;
  margin-bottom: 16px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.88rem, 1vw, 0.98rem);
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.restricted-group h3 svg {
  margin-top: 1px;
  color: var(--gold-light);
}

.restricted-group ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.restricted-group li {
  position: relative;
  padding-left: 16px;
  color: #cbd1d3;
  font-size: clamp(0.79rem, 0.86vw, 0.88rem);
  line-height: 1.5;
}

.restricted-group li::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold-light);
  content: "";
}

.restricted-group p {
  margin: 0;
  color: #cbd1d3;
  font-size: clamp(0.79rem, 0.86vw, 0.88rem);
  line-height: 1.65;
}

.restricted-notice {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 14px;
  margin: 30px 0 0;
  padding: 16px 22px;
  border: 1px solid rgb(197 141 46 / 46%);
  border-radius: 8px;
  background: rgb(24 16 6 / 42%);
  color: #cbd1d3;
  font-size: clamp(0.8rem, 0.88vw, 0.9rem);
  line-height: 1.7;
}

.restricted-notice svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.restricted-notice strong {
  color: var(--gold-light);
  font-weight: 400;
  letter-spacing: 0.04em;
}

.restricted-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(18px, 1.8vw, 28px);
}

.restricted-card {
  height: 100%;
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.restricted-card__title {
  margin-bottom: 22px;
  color: #7fd8c4;
  font-size: clamp(1.14rem, 1.62vw, 1.4rem);
  text-align: center;
}

.restricted-reasons,
.restricted-meaning {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.restricted-reasons li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border-soft);
}

.restricted-reasons li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.restricted-reasons svg {
  color: #7fd8c4;
}

.restricted-reasons h3 {
  margin-bottom: 4px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.92rem, 1.06vw, 1.02rem);
  letter-spacing: 0.04em;
}

.restricted-reasons p,
.restricted-meaning p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.7;
}

.restricted-meaning li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 16px;
}

.restricted-meaning__mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgb(127 216 196 / 34%);
  border-radius: 50%;
  color: var(--gold-light);
}

.restricted-questions {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 16px;
  margin-top: 24px;
  padding: 20px 22px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(24 16 6 / 34%);
}

.restricted-questions__mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgb(197 141 46 / 46%);
  border-radius: 50%;
  color: var(--gold-light);
}

.restricted-questions h3 {
  margin-bottom: 6px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.96rem, 1.1vw, 1.06rem);
  letter-spacing: 0.04em;
}

.restricted-questions p {
  margin: 0 0 6px;
  color: #bec4c6;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.7;
}

.restricted-questions p:last-child {
  margin-bottom: 0;
}

.restricted-questions a {
  color: var(--gold-light);
}

.restricted-commitment {
  display: grid;
  grid-template-columns: minmax(230px, 0.8fr) minmax(0, 1.5fr) minmax(
      190px,
      0.6fr
    );
  align-items: center;
  gap: clamp(18px, 2vw, 32px);
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.restricted-commitment__image {
  border-radius: 8px;
}

.restricted-commitment__copy .section-heading {
  margin-bottom: 14px;
}

.restricted-commitment__copy p {
  margin: 0 0 10px;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.91rem);
  line-height: 1.75;
}

.restricted-commitment__copy p:last-child {
  margin-bottom: 0;
}

.restricted-commitment__marks ul {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.restricted-commitment__marks li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 13px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.92rem, 1.06vw, 1.04rem);
  letter-spacing: 0.06em;
}

/* --- Enterprise Tokenization Services -------------------------------- */

.ets-hero {
  min-height: min(clamp(600px, 48vw, 820px), 82vh);
}

.ets-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 96%) 0%,
      rgb(1 5 8 / 89%) 34%,
      rgb(1 5 8 / 30%) 60%,
      transparent 78%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.ets-hero__tagline {
  margin-bottom: 20px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
}

.ets-hero__callout {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
  padding: 16px 22px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(3 10 14 / 72%);
}

.ets-hero__callout h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.94rem, 1.16vw, 1.08rem);
  letter-spacing: 0.03em;
}

.ets-hero__callout p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
}

.ets-hero__callout .hero-callout__crest {
  width: auto;
  height: clamp(46px, 4.2vw, 58px);
}

.ets-marks {
  margin-top: calc(var(--section-gap) * -0.42);
  margin-bottom: var(--section-gap);
}

.ets-marks__row {
  position: relative;
  z-index: 2;
}

.ets-marks__row h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.88rem, 1.1vw, 1rem);
}

.ets-detail,
.ets-process,
.ets-assets,
.ets-cta {
  margin-bottom: var(--section-gap);
}

.ets-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(18px, 1.8vw, 28px);
}

.ets-card {
  height: 100%;
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.ets-card__title {
  margin-bottom: 22px;
  color: var(--gold-light);
  font-size: clamp(1.14rem, 1.62vw, 1.4rem);
}

.ets-services {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ets-services li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border-soft);
}

.ets-services li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.ets-services svg {
  color: #7fd8c4;
}

.ets-services h3 {
  margin-bottom: 4px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.92rem, 1.06vw, 1.02rem);
  letter-spacing: 0.03em;
}

.ets-services p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.7;
}

.ets-partner {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ets-partner li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 13px;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.91rem);
  line-height: 1.65;
}

.ets-partner svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.ets-statement {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid var(--border-soft);
}

.ets-statement h3 {
  margin-bottom: 10px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.34vw, 1.22rem);
  line-height: 1.4;
}

.ets-statement h3 span {
  display: block;
}

.ets-statement p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.7;
}

.ets-statement__image {
  width: clamp(120px, 12vw, 168px);
  border-radius: 8px;
}

.ets-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 0;
  padding: clamp(22px, 2.2vw, 32px) clamp(14px, 1.6vw, 24px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.ets-steps li {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.ets-steps li + li::before {
  position: absolute;
  top: 34px;
  left: -7px;
  content: "\2192";
  color: rgb(197 141 46 / 66%);
  font-size: 0.9rem;
  line-height: 1;
  transform: translateX(-50%);
}

.ets-steps__mark {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border: 1px solid rgb(127 216 196 / 40%);
  border-radius: 50%;
  color: #7fd8c4;
}

.ets-steps__number {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  margin-top: -21px;
  border: 1px solid rgb(197 141 46 / 52%);
  border-radius: 50%;
  background: #061018;
  color: var(--gold-light);
  font-size: 0.76rem;
}

.ets-steps h3 {
  margin-bottom: 2px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.8rem, 0.92vw, 0.92rem);
  letter-spacing: 0.04em;
}

.ets-steps p {
  max-width: 22ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.78vw, 0.82rem);
  line-height: 1.6;
}

.ets-assets__panel {
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.ets-assets__title {
  margin-bottom: 26px;
  color: var(--gold-light);
  font-size: clamp(1.14rem, 1.72vw, 1.5rem);
  text-align: center;
}

.ets-assets__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: clamp(10px, 1.1vw, 16px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ets-assets__grid li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 12px;
  padding: 22px 10px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: rgb(2 8 11 / 55%);
  text-align: center;
  transition:
    border-color 240ms ease,
    transform 300ms var(--ease-premium);
}

.ets-assets__grid li:hover {
  border-color: rgb(243 193 90 / 50%);
  transform: translateY(-3px);
}

.ets-assets__mark {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.ets-assets__grid h3 {
  color: #eef1f2;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.78rem, 0.9vw, 0.88rem);
  letter-spacing: 0.03em;
  line-height: 1.42;
}

.ets-assets__grid h3 span {
  display: block;
}

.ets-assets__tagline {
  margin: 26px 0 0;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.94rem, 1.24vw, 1.14rem);
  letter-spacing: 0.05em;
  text-align: center;
}

.ets-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.6fr);
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.ets-cta__copy h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.24rem, 1.86vw, 1.6rem);
  line-height: 1.24;
}

.ets-cta__copy h2 span {
  display: block;
}

.ets-cta__copy > p {
  margin: 0 0 18px;
  color: #c4cacc;
  font-size: clamp(0.84rem, 0.9vw, 0.93rem);
  line-height: 1.7;
}

.ets-cta__note {
  margin: 10px 0 0;
  color: #98a0a2;
  font-size: clamp(0.76rem, 0.82vw, 0.83rem);
}

.ets-cta__marks {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.ets-cta__marks li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 9px;
  padding: 4px clamp(8px, 1vw, 16px);
  text-align: center;
}

.ets-cta__marks li + li {
  border-left: 1px solid var(--border-soft);
}

.ets-cta__marks svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.ets-cta__marks h3 {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.82rem, 0.94vw, 0.92rem);
  letter-spacing: 0.04em;
}

.ets-cta__marks p {
  max-width: 20ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.73rem, 0.78vw, 0.81rem);
  line-height: 1.55;
}

/* --- Audience pages: owners/originators and buyers/collectors --------- */

.audience-hero {
  min-height: min(clamp(600px, 48vw, 840px), 84vh);
}

.audience-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 96%) 0%,
      rgb(1 5 8 / 89%) 34%,
      rgb(1 5 8 / 30%) 60%,
      transparent 78%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.audience-hero__tagline {
  margin-bottom: 20px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
}

.audience-hero__callout {
  margin-top: 24px;
  padding: 16px 22px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(3 10 14 / 72%);
}

.audience-hero__callout h2 {
  margin-bottom: 6px;
  color: #eef1f2;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.98rem, 1.2vw, 1.12rem);
  letter-spacing: 0.02em;
}

.audience-hero__callout p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
  line-height: 1.65;
}

/* The owners board sets the mark strip and the trust callout as one band; the
   buyers board carries its callout in the hero and runs the strip full width,
   which is what the modifier switches. */
.audience-marks {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(16px, 1.7vw, 26px);
  margin-top: calc(var(--section-gap) * -0.42);
  margin-bottom: var(--section-gap);
}

.audience-marks--full {
  grid-template-columns: minmax(0, 1fr);
}

.audience-marks__row {
  position: relative;
  z-index: 2;
  height: 100%;
}

.audience-marks__row--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.audience-marks__row h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.88rem, 1.1vw, 1rem);
}

.audience-callout aside {
  display: grid;
  height: 100%;
  align-content: center;
  padding: clamp(20px, 2vw, 28px);
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(9 16 22 / 92%), rgb(2 6 9 / 94%));
}

.audience-callout h2 {
  margin-bottom: 10px;
  color: #eef1f2;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.3vw, 1.2rem);
  letter-spacing: 0.02em;
}

.audience-callout p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.9rem);
  line-height: 1.72;
}

.audience-serve,
.audience-platform,
.audience-process,
.audience-why,
.audience-close {
  margin-bottom: var(--section-gap);
}

.audience-serve__panel {
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.audience-serve__panel .section-heading {
  margin-bottom: 26px;
}

/* The shared heading draws a rule on both sides of its title. Left-aligned in a
   panel that is wider than the title, the leading rule collapses to a stray
   mark, so this one keeps a single rule running out to the right. */
.audience-serve__panel
  .section-heading--left
  .section-heading-line:first-of-type {
  display: none;
}

.audience-serve__panel .section-heading--left h2::after {
  display: none;
}

.audience-groups {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.audience-groups li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 11px;
  padding: 4px clamp(8px, 1vw, 16px);
  text-align: center;
}

.audience-groups li + li {
  border-left: 1px solid var(--border-soft);
}

/* The buyers board boxes each audience rather than dividing them with rules. */
.audience-groups--boxed {
  margin-top: 28px;
}

.audience-groups--boxed li {
  padding: 24px 16px 20px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: rgb(2 8 11 / 55%);
  transition:
    border-color 240ms ease,
    transform 300ms var(--ease-premium);
}

.audience-groups--boxed li + li {
  border-left: 1px solid var(--border-soft);
}

.audience-groups--boxed li:hover {
  border-color: rgb(243 193 90 / 50%);
  transform: translateY(-3px);
}

.audience-groups svg {
  color: #7fd8c4;
  filter: drop-shadow(0 0 12px rgb(127 216 196 / 16%));
}

.audience-groups h3 {
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.86rem, 1vw, 0.98rem);
  letter-spacing: 0.03em;
}

.audience-groups p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.76rem, 0.8vw, 0.84rem);
  line-height: 1.6;
}

.audience-platform {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(18px, 1.9vw, 30px);
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.audience-platform__title {
  margin-bottom: 6px;
  color: var(--gold-light);
  font-size: clamp(1.2rem, 1.8vw, 1.54rem);
}

.audience-platform__subtitle {
  margin-bottom: 16px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1rem, 1.24vw, 1.14rem);
}

.audience-platform__lead {
  margin-bottom: 22px;
  color: #c4cacc;
  font-size: clamp(0.84rem, 0.9vw, 0.93rem);
  line-height: 1.75;
}

.audience-checks {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audience-checks li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.9rem);
  line-height: 1.6;
}

.audience-checks svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.audience-platform__aside {
  display: grid;
  gap: clamp(16px, 1.6vw, 24px);
}

.audience-platform__image {
  border-radius: 8px;
}

.audience-benefits {
  padding: clamp(18px, 1.9vw, 26px);
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(3 10 14 / 68%);
}

.audience-benefits h2 {
  margin-bottom: 16px;
  color: #eef1f2;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.98rem, 1.24vw, 1.14rem);
  letter-spacing: 0.02em;
}

.audience-benefits ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audience-benefits li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 13px;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.55;
}

.audience-benefits svg {
  color: var(--gold-light);
}

.audience-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 0;
  padding: clamp(22px, 2.2vw, 32px) clamp(14px, 1.6vw, 24px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.audience-steps--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.audience-steps li {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  text-align: center;
}

.audience-steps li + li::before {
  position: absolute;
  top: 34px;
  left: -7px;
  content: "\2192";
  color: rgb(197 141 46 / 66%);
  font-size: 0.9rem;
  line-height: 1;
  transform: translateX(-50%);
}

.audience-steps__mark {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border: 1px solid rgb(197 141 46 / 40%);
  border-radius: 50%;
  color: var(--gold-light);
}

.audience-steps__number {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  margin-top: -21px;
  border: 1px solid rgb(127 216 196 / 46%);
  border-radius: 50%;
  background: #061018;
  color: #7fd8c4;
  font-size: 0.76rem;
}

.audience-steps h3 {
  margin-bottom: 2px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.8rem, 0.92vw, 0.92rem);
  letter-spacing: 0.04em;
}

.audience-steps p {
  max-width: 22ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.78vw, 0.82rem);
  line-height: 1.6;
}

.audience-why {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(230px, 0.75fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(16px, 1.7vw, 26px);
}

.audience-card {
  height: 100%;
  padding: clamp(22px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.audience-card__title {
  margin-bottom: 22px;
  color: var(--gold-light);
  font-size: clamp(1.06rem, 1.48vw, 1.3rem);
}

.audience-points {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audience-points li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 13px;
}

.audience-points svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.audience-points--icons svg {
  margin-top: 0;
}

.audience-points h3 {
  margin-bottom: 3px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.02vw, 1rem);
  letter-spacing: 0.03em;
}

.audience-points p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.79rem, 0.84vw, 0.87rem);
  line-height: 1.65;
}

/* The board draws its specimen record on a phone. It is drawn as a card rather
   than photographed so the record stays legible at every width, and it carries
   an EXAMPLE label so it reads as a sample rather than a listing. */
.audience-passport figure {
  margin: 0;
}

.audience-passport__label {
  margin-bottom: 10px;
  color: #98a0a2;
  font-size: clamp(0.68rem, 0.74vw, 0.75rem);
  letter-spacing: 0.2em;
  text-align: center;
}

.audience-passport__card {
  padding: clamp(18px, 1.8vw, 24px);
  border: 1px solid rgb(127 216 196 / 30%);
  border-radius: 18px;
  background: linear-gradient(160deg, rgb(9 18 24 / 95%), rgb(2 6 9 / 96%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 4%),
    0 26px 70px rgb(0 0 0 / 46%);
}

.audience-passport__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.84rem, 0.94vw, 0.92rem);
}

.audience-passport__heading {
  margin-bottom: 4px;
  color: #98a0a2;
  font-size: clamp(0.7rem, 0.76vw, 0.77rem);
  letter-spacing: 0.12em;
}

.audience-passport__name {
  margin-bottom: 14px;
  color: #eef1f2;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1rem, 1.2vw, 1.12rem);
}

.audience-passport__image {
  width: clamp(96px, 9vw, 128px);
  margin: 0 auto 16px;
}

.audience-passport__card dl {
  margin: 0 0 14px;
}

.audience-passport__card dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-top: 1px solid var(--border-soft);
}

.audience-passport__card dt {
  color: #98a0a2;
  font-size: clamp(0.73rem, 0.79vw, 0.8rem);
}

.audience-passport__card dd {
  margin: 0;
  color: #eef1f2;
  font-size: clamp(0.75rem, 0.81vw, 0.83rem);
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.audience-passport__footnote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 14px;
  color: #98a0a2;
  font-size: clamp(0.7rem, 0.76vw, 0.77rem);
}

.audience-passport__verified {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #7fd8c4;
}

.audience-passport__action {
  margin: 0;
  padding: 10px;
  border-radius: 6px;
  background: linear-gradient(120deg, #a9761c, #d9a63e);
  color: #061018;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.74rem, 0.8vw, 0.81rem);
  letter-spacing: 0.08em;
  text-align: center;
}

.audience-close__panel {
  display: grid;
  grid-template-columns: minmax(200px, 0.7fr) minmax(0, 1.6fr) minmax(
      230px,
      0.85fr
    );
  align-items: center;
  gap: clamp(18px, 2vw, 32px);
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.audience-close__image {
  border-radius: 8px;
}

.audience-close__copy h2 {
  margin-bottom: 8px;
  color: #eef1f2;
  font-size: clamp(1.2rem, 1.8vw, 1.52rem);
  line-height: 1.24;
}

.audience-close__copy h2 span {
  display: block;
}

.audience-close__subtitle {
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1rem, 1.26vw, 1.16rem);
}

.audience-close__copy p {
  margin: 0 0 8px;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.91rem);
  line-height: 1.7;
}

.audience-close__marks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.audience-close__marks li {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--gold-light);
  font-size: clamp(0.72rem, 0.8vw, 0.8rem);
  letter-spacing: 0.04em;
  text-align: center;
}

.audience-close__cta {
  padding: clamp(18px, 1.9vw, 26px);
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(3 10 14 / 68%);
  text-align: center;
}

.audience-close__cta h3 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.94rem, 1.16vw, 1.08rem);
  letter-spacing: 0.03em;
}

.audience-close__cta p {
  margin: 0 0 14px;
  color: #c4cacc;
  font-size: clamp(0.78rem, 0.84vw, 0.86rem);
  line-height: 1.65;
}

.audience-close__cta .button {
  width: 100%;
}

.audience-close__note {
  margin: 10px 0 0 !important;
  color: #98a0a2 !important;
  font-size: clamp(0.74rem, 0.8vw, 0.81rem) !important;
}

/* --- Technology, Licensing & White Label ------------------------------ */

.licensing-hero {
  min-height: min(clamp(620px, 50vw, 860px), 86vh);
}

.licensing-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 96%) 0%,
      rgb(1 5 8 / 89%) 34%,
      rgb(1 5 8 / 30%) 60%,
      transparent 78%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

.licensing-hero__tagline {
  margin-bottom: 20px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.06rem, 1.42vw, 1.32rem);
  line-height: 1.42;
}

.licensing-hero__tagline span {
  display: block;
}

.licensing-hero__callout {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
  padding: 16px 22px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(3 10 14 / 72%);
}

.licensing-hero__callout h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.94rem, 1.16vw, 1.08rem);
  letter-spacing: 0.03em;
}

.licensing-hero__callout p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
  line-height: 1.6;
}

.licensing-hero__callout .hero-callout__crest {
  width: auto;
  height: clamp(46px, 4.2vw, 58px);
}

.licensing-foundation,
.licensing-compliance,
.licensing-white,
.licensing-future {
  margin-bottom: var(--section-gap);
}

.licensing-foundation {
  margin-top: var(--section-gap);
}

.licensing-panel {
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.licensing-panel__title {
  margin-bottom: 26px;
  color: #7fd8c4;
  font-size: clamp(1.16rem, 1.72vw, 1.5rem);
  text-align: center;
}

.licensing-panel__title--left {
  margin-bottom: 14px;
  text-align: left;
}

.licensing-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.licensing-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 24px;
}

.licensing-grid li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 11px;
  padding: 4px clamp(8px, 1vw, 16px);
  text-align: center;
}

.licensing-grid li + li {
  border-left: 1px solid var(--border-soft);
}

.licensing-grid svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.licensing-grid h3 {
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.84rem, 0.98vw, 0.96rem);
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.licensing-grid h3 span {
  display: block;
}

.licensing-grid p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.75rem, 0.79vw, 0.83rem);
  line-height: 1.6;
}

.licensing-compliance__panel {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.6fr);
  align-items: center;
  gap: clamp(20px, 2.2vw, 36px);
}

.licensing-compliance__image {
  border-radius: 8px;
}

.licensing-compliance__copy p {
  margin: 0 0 8px;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.91rem);
  line-height: 1.72;
}

.licensing-white__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: start;
  gap: clamp(20px, 2.2vw, 36px);
}

.licensing-white__copy h2 {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: clamp(1.2rem, 1.78vw, 1.52rem);
  line-height: 1.28;
}

.licensing-white__copy h2 span {
  display: block;
}

.licensing-white__lead {
  margin-bottom: 20px;
  color: #c4cacc;
  font-size: clamp(0.84rem, 0.9vw, 0.93rem);
  line-height: 1.75;
}

.licensing-checks {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.licensing-checks li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
  color: #c4cacc;
  font-size: clamp(0.82rem, 0.88vw, 0.9rem);
  line-height: 1.6;
}

.licensing-checks svg {
  margin-top: 3px;
  color: #7fd8c4;
}

.licensing-white__note {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 16px 20px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(24 16 6 / 34%);
}

.licensing-white__note svg {
  color: var(--gold-light);
}

.licensing-white__note p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.68;
}

/* A branded deployment drawn as an empty interface. The board fills the same
   panels with invented totals; these stay blank because the platform holds no
   figures to report yet. */
.licensing-preview {
  margin: 0;
}

.licensing-preview__label {
  margin-bottom: 10px;
  color: #98a0a2;
  font-size: clamp(0.68rem, 0.74vw, 0.75rem);
  letter-spacing: 0.18em;
  text-align: center;
}

.licensing-preview__window {
  overflow: hidden;
  border: 1px solid rgb(127 216 196 / 26%);
  border-radius: 12px;
  background: linear-gradient(160deg, rgb(7 15 21 / 96%), rgb(2 6 9 / 97%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 4%),
    0 26px 70px rgb(0 0 0 / 46%);
}

.licensing-preview__brand {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-soft);
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.8rem, 0.88vw, 0.88rem);
  letter-spacing: 0.06em;
}

.licensing-preview__body {
  display: grid;
  grid-template-columns: minmax(0, 0.4fr) minmax(0, 1.6fr);
  gap: 0;
}

.licensing-preview__nav {
  display: grid;
  align-content: start;
  gap: 9px;
  margin: 0;
  padding: 16px 14px;
  border-right: 1px solid var(--border-soft);
  list-style: none;
}

.licensing-preview__nav li {
  color: #98a0a2;
  font-size: clamp(0.68rem, 0.74vw, 0.76rem);
}

.licensing-preview__nav li:first-child {
  color: var(--gold-light);
}

.licensing-preview__main {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.licensing-preview__panels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.licensing-preview__panels li {
  display: grid;
  gap: 8px;
  padding: 11px 12px;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  color: #98a0a2;
  font-size: clamp(0.65rem, 0.7vw, 0.72rem);
}

.licensing-preview__blank {
  height: 12px;
  border-radius: 3px;
  background: repeating-linear-gradient(
    115deg,
    rgb(127 216 196 / 12%) 0 6px,
    transparent 6px 12px
  );
}

.licensing-preview__charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.licensing-preview__charts li {
  display: grid;
  gap: 8px;
  padding: 11px 12px;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  color: #98a0a2;
  font-size: clamp(0.65rem, 0.7vw, 0.72rem);
}

.licensing-preview__plot {
  height: 74px;
  border-radius: 4px;
  background: repeating-linear-gradient(
    115deg,
    rgb(127 216 196 / 9%) 0 6px,
    transparent 6px 12px
  );
}

.licensing-preview__footnote {
  margin: 12px 0 0;
  color: #98a0a2;
  font-size: clamp(0.72rem, 0.78vw, 0.79rem);
  text-align: center;
}

.licensing-future__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.44fr);
  align-items: stretch;
  gap: clamp(16px, 1.8vw, 26px);
  margin-top: 28px;
}

/* Six cells beside the CTA card leave each one narrower than its own
   heading, so this row runs three across and two down instead. */
.licensing-future__row .licensing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px clamp(12px, 1.3vw, 20px);
  padding: clamp(22px, 2.2vw, 30px) clamp(12px, 1.4vw, 20px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.licensing-future__row .licensing-grid li:nth-child(4) {
  border-left: 0;
}

.licensing-cta {
  display: grid;
  align-content: center;
  padding: clamp(20px, 2.1vw, 28px);
  border: 1px solid rgb(197 141 46 / 46%);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(20 14 6 / 62%), rgb(2 6 9 / 92%));
  text-align: center;
}

.licensing-cta h2 {
  margin-bottom: 10px;
  color: #eef1f2;
  font-size: clamp(1.06rem, 1.42vw, 1.26rem);
  line-height: 1.3;
}

.licensing-cta h2 span {
  display: block;
}

.licensing-cta > p {
  margin: 0 0 16px;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.65;
}

.licensing-cta .button {
  width: 100%;
}

.licensing-cta__or {
  margin: 10px 0;
  color: #98a0a2;
  font-size: clamp(0.74rem, 0.8vw, 0.81rem);
}

.licensing-cta__email {
  margin: 12px 0 0;
  font-size: clamp(0.76rem, 0.82vw, 0.83rem);
}

.licensing-cta__email a {
  color: var(--gold-light);
}

/* --- The Future of Gemstone Asset Infrastructure ---------------------- */

.future-hero {
  min-height: min(clamp(620px, 50vw, 860px), 86vh);
}

.future-hero__scrim {
  background:
    linear-gradient(
      90deg,
      rgb(1 5 8 / 96%) 0%,
      rgb(1 5 8 / 89%) 34%,
      rgb(1 5 8 / 30%) 60%,
      transparent 78%
    ),
    linear-gradient(0deg, rgb(1 5 8 / 58%), transparent 30%);
}

/* The longest title on the site. The shared hero clamp sizes it past its own
   column at every width, so this page steps the scale down; the type ramp and
   the letter-spacing are otherwise unchanged. */
.future-hero .hero__title {
  font-size: clamp(2.1rem, 3.2vw, 3.4rem);
}

.future-hero__tagline {
  margin-bottom: 20px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.06rem, 1.44vw, 1.34rem);
}

.future-hero__callout {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  margin-top: 8px;
  padding: 16px 22px;
  border: 1px solid rgb(197 141 46 / 42%);
  border-radius: 8px;
  background: rgb(3 10 14 / 72%);
}

.future-hero__callout h2 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.94rem, 1.16vw, 1.08rem);
  letter-spacing: 0.03em;
}

.future-hero__callout p {
  margin: 0;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.88rem);
  line-height: 1.6;
}

.future-hero__callout .hero-callout__crest {
  width: auto;
  height: clamp(46px, 4.2vw, 58px);
}

.future-era,
.future-detail,
.future-road,
.future-banner {
  margin-bottom: var(--section-gap);
}

.future-era {
  margin-top: var(--section-gap);
}

.future-panel {
  height: 100%;
  padding: clamp(22px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.future-panel__title {
  margin-bottom: 14px;
  color: #7fd8c4;
  font-size: clamp(1.16rem, 1.72vw, 1.5rem);
  text-align: center;
}

.future-panel__title--left {
  text-align: left;
}

.future-panel__lead {
  margin: 0 auto 6px;
  max-width: 86ch;
  color: #c4cacc;
  font-size: clamp(0.84rem, 0.9vw, 0.93rem);
  line-height: 1.75;
  text-align: center;
}

.future-panel__lead--left {
  margin-bottom: 22px;
  max-width: none;
  text-align: left;
}

.future-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 20px);
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.future-grid li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 11px;
  padding: 4px clamp(8px, 1vw, 16px);
  text-align: center;
}

.future-grid li + li {
  border-left: 1px solid var(--border-soft);
}

.future-grid svg {
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.future-grid h3 {
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.84rem, 0.98vw, 0.96rem);
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.future-grid h3 span {
  display: block;
}

.future-grid p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.75rem, 0.79vw, 0.83rem);
  line-height: 1.6;
}

.future-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(18px, 1.8vw, 28px);
}

/* The board draws the five layers as a stacked isometric diagram. Here they run
   as a numbered stack with a rail down the marks, which carries the same
   layer-on-layer reading without a generated illustration. */
.future-layers {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: future-layer;
}

.future-layers li {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 16px;
}

.future-layers li + li::before {
  position: absolute;
  top: -18px;
  left: 27px;
  width: 1px;
  height: 18px;
  background: rgb(197 141 46 / 40%);
  content: "";
}

.future-layers__mark {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgb(127 216 196 / 36%);
  border-radius: 8px;
  background: rgb(3 10 14 / 72%);
  color: #7fd8c4;
}

.future-layers h3 {
  margin-bottom: 4px;
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.04vw, 1rem);
  letter-spacing: 0.04em;
}

.future-layers p {
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.8rem, 0.85vw, 0.88rem);
  line-height: 1.68;
}

.future-enables {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.future-enables li {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 10px;
  padding: 20px 14px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: rgb(2 8 11 / 55%);
  text-align: center;
  transition:
    border-color 240ms ease,
    transform 300ms var(--ease-premium);
}

.future-enables li:hover {
  border-color: rgb(243 193 90 / 50%);
  transform: translateY(-3px);
}

.future-enables svg {
  color: var(--gold-light);
}

.future-enables h3 {
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.82rem, 0.94vw, 0.92rem);
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.future-enables h3 span {
  display: block;
}

.future-enables p {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.78vw, 0.82rem);
  line-height: 1.6;
}

.future-road__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.46fr);
  align-items: stretch;
  gap: clamp(16px, 1.8vw, 26px);
  margin-top: 28px;
}

.future-phases {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(12px, 1.3vw, 20px);
  margin: 0;
  padding: clamp(22px, 2.2vw, 30px) clamp(12px, 1.4vw, 20px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
  list-style: none;
}

.future-phases__item {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 8px;
  padding-inline: clamp(6px, 0.8vw, 14px);
  text-align: center;
}

.future-phases__item + .future-phases__item {
  border-left: 1px solid var(--border-soft);
}

.future-phases__mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgb(197 141 46 / 46%);
  border-radius: 50%;
  color: var(--gold-light);
}

/* Only a completed phase reads as delivered. The two other states are visibly
   different rather than all wearing the board's single check mark. */
.future-phases__item--complete .future-phases__mark {
  border-color: rgb(127 216 196 / 60%);
  background: rgb(12 38 36 / 72%);
  color: #7fd8c4;
}

.future-phases__item--planned .future-phases__mark {
  border-style: dashed;
  border-color: rgb(152 160 162 / 46%);
  color: #98a0a2;
}

.future-phases__status {
  margin: 0;
  color: #98a0a2;
  font-size: clamp(0.66rem, 0.72vw, 0.73rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.future-phases__item--complete .future-phases__status {
  color: #7fd8c4;
}

.future-phases__item--in-progress .future-phases__status {
  color: var(--gold-light);
}

.future-phases h3 {
  color: #7fd8c4;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.8rem, 0.92vw, 0.9rem);
  letter-spacing: 0.03em;
  line-height: 1.35;
}

.future-phases h3 span {
  display: block;
}

.future-phases__item > p:last-child {
  max-width: 24ch;
  margin: 0;
  color: #bec4c6;
  font-size: clamp(0.74rem, 0.78vw, 0.82rem);
  line-height: 1.6;
}

.future-cta {
  display: grid;
  align-content: center;
  padding: clamp(20px, 2.1vw, 28px);
  border: 1px solid rgb(197 141 46 / 46%);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(20 14 6 / 62%), rgb(2 6 9 / 92%));
  text-align: center;
}

.future-cta h2 {
  margin-bottom: 10px;
  color: #eef1f2;
  font-size: clamp(1.06rem, 1.42vw, 1.26rem);
}

.future-cta > p {
  margin: 0 0 16px;
  color: #c4cacc;
  font-size: clamp(0.8rem, 0.86vw, 0.89rem);
  line-height: 1.65;
}

.future-cta .button {
  width: 100%;
}

.future-cta__or {
  margin: 10px 0;
  color: #98a0a2;
  font-size: clamp(0.74rem, 0.8vw, 0.81rem);
}

.future-banner ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: clamp(18px, 1.9vw, 26px) 0;
  border-block: 1px solid var(--border-soft);
  list-style: none;
}

.future-banner li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding-inline: clamp(10px, 1.2vw, 22px);
}

.future-banner li + li {
  border-left: 1px solid var(--border-soft);
}

.future-banner svg {
  color: var(--gold-light);
}

.future-banner p {
  margin: 0;
  color: #eef1f2;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.12vw, 1.06rem);
  line-height: 1.32;
}

.future-banner p span {
  display: block;
}

/* --- 404 and route error ---------------------------------------------- */

/* Both pages are assembled from tokens the rest of the site already defines —
   the same gutters, gold ramp, display face and button styles — so they read as
   part of the site rather than as a separate error surface. */
.notfound {
  display: grid;
  min-height: min(58vh, 620px);
  align-content: center;
  padding-block: var(--section-gap);
}

.notfound__inner {
  max-width: 62ch;
}

.notfound__title {
  margin-bottom: 20px;
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  letter-spacing: -0.02em;
}

.notfound__title span {
  display: block;
}

.notfound__lead {
  margin-bottom: 26px;
  color: #c4cacc;
  font-size: clamp(0.9rem, 1vw, 1rem);
  line-height: 1.8;
}

.notfound__links {
  margin-bottom: 30px;
  padding: 20px 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(8 20 27 / 88%), rgb(2 8 11 / 93%));
}

.notfound__links ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.notfound__links a {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  color: #c4cacc;
  font-size: clamp(0.84rem, 0.9vw, 0.92rem);
  transition: color 240ms ease;
}

.notfound__links a:hover {
  color: var(--gold-light);
}

/* The chevron glyph points down; rotated it becomes the same forward caret the
   breadcrumbs already use, without adding a second icon to the set. */
.notfound__links svg {
  color: var(--gold);
  transform: rotate(-90deg);
}

.notfound__digest {
  margin-bottom: 22px;
  color: #98a0a2;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: clamp(0.74rem, 0.8vw, 0.81rem);
  letter-spacing: 0.04em;
}

.notfound__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.portal-cta {
  margin-top: var(--section-gap);
}

@media (max-width: 1460px) {
  .desktop-nav-future,
  .desktop-nav-link {
    display: none;
  }
}

@media (max-width: 1330px) {
  /* --- Gemstone pages and the portal ---------------------------------- */

  .future-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 14px;
  }

  .future-grid li:nth-child(4) {
    border-left: 0;
  }

  .future-phases {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 14px;
  }

  .future-phases__item:nth-child(4) {
    border-left: 0;
  }

  .licensing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px 14px;
  }

  .licensing-grid li:nth-child(4) {
    border-left: 0;
  }

  .licensing-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .licensing-grid--four li:nth-child(3) {
    border-left: 0;
  }

  .licensing-future__row .licensing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .audience-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 14px;
  }

  .audience-steps li:nth-child(4)::before {
    content: none;
  }

  .audience-why {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .audience-passport {
    order: 1;
    grid-column: 1 / -1;
    justify-self: center;
    max-width: 340px;
  }

  .ets-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 14px;
  }

  .ets-steps li:nth-child(4)::before {
    content: none;
  }

  .ets-assets__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .restricted-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 16px;
  }

  .restricted-group:nth-child(4) {
    border-left: 0;
  }

  .restricted-group:nth-child(n + 4) {
    padding-top: 22px;
    border-top: 1px solid var(--border-soft);
  }

  .acquisition-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 14px;
  }

  .acquisition-steps li:nth-child(4)::before {
    content: none;
  }

  .acquisition-detail {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .acquisition-detail .acquisition-card:last-child {
    grid-column: 1 / -1;
  }

  .discount-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 14px;
  }

  .discount-steps li:nth-child(4)::before {
    content: none;
  }

  .overview-hero__crest aside {
    width: min(280px, 100%);
  }

  .gem-detail,
  .gem-story {
    grid-template-columns: 1fr;
  }

  .gem-close {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gem-close > .gem-card:last-child {
    grid-column: span 2;
  }

  .gem-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gem-glance__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 0;
  }

  .gem-glance__row > div:nth-child(3n + 1) {
    border-left: 0;
  }

  /* The preview is a six-column table, and beside a copy column it is left
     about 395px at this width — narrower than the columns can reflow into. It
     takes the full width from here down, and the timeline drops beneath it. */
  .portal-hero__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .portal-window__body {
    grid-template-columns: minmax(0, 1fr);
  }

  /* With the rail column gone the bar has the mark, the title and the preview
     note in three columns, which leaves the title 26px. The note drops to its
     own line from here down. */
  .portal-window__bar {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px 12px;
  }

  .portal-window__bar em {
    grid-column: span 2;
  }

  /* The rail is the first thing to go: its eight labels are the least of what
     the preview is showing, and the table is the most. */
  .portal-rail {
    display: none;
  }

  .portal-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px 20px;
  }

  .portal-steps > li:nth-child(4n)::before,
  .portal-steps > li:nth-child(4n)::after {
    display: none;
  }

  .portal-features__card ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portal-guarantee__panel {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  }

  .portal-guarantee__image {
    grid-column: span 2;
  }

  /* --- Infrastructure, programs and registry -------------------------- */

  .infrastructure-detail {
    grid-template-columns: 1fr 1fr;
  }

  .infrastructure-detail > .tech-detail__card:last-child {
    grid-column: span 2;
  }

  .infrastructure-cta {
    grid-template-columns: minmax(190px, 0.85fr) minmax(0, 1.6fr);
  }

  .infrastructure-cta__metrics {
    grid-column: span 2;
  }

  .programs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rough-programs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .programs-detail__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .programs-highlights {
    grid-column: span 2;
  }

  .programs-highlights dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 22px;
  }

  .registry-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 26px 20px;
  }

  /* The rule and the arrow point along the row, so they only belong between
     stages that sit side by side — not at the end of a wrapped line. */
  .registry-steps > li:nth-child(4n)::before,
  .registry-steps > li:nth-child(4n)::after {
    display: none;
  }

  .registry-record__panel {
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
  }

  .registry-record__side {
    grid-column: span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .registry-close {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .registry-close > .registry-card:last-child {
    grid-column: span 2;
  }

  /* --- Technology detail pages ---------------------------------------- */

  .tokenization-process .process-timeline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .tokenization-detail {
    grid-template-columns: 1fr;
  }

  .tokenization-example__panel {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: 24px;
  }

  /* Four across, each badge label has 47px to hold "On-Chain Transparent". */
  .tokenization-hero__badges {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .redemption-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px 22px;
  }

  /* The arrow points along the row, so it only belongs between steps that sit
     side by side — not at the end of a wrapped line. */
  .redemption-steps > li:nth-child(4n)::after {
    display: none;
  }

  .redemption-assurance,
  .redemption-close {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .redemption-assurance > .redemption-card:last-child,
  .redemption-close > .redemption-card:last-child {
    grid-column: span 2;
  }

  .passports-what__panel,
  .passports-inside {
    grid-template-columns: 1fr;
  }

  .passports-inside__aside {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .waitlist-body,
  .kyc-detail,
  .kyc-policy {
    grid-template-columns: 1fr;
  }

  .kyc-documents__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 0;
  }

  .kyc-documents__grid li:nth-child(3n + 1) {
    border-left: 0;
  }

  .faq-layout {
    grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr);
  }

  .waitlist-next__panel {
    grid-template-columns: 1fr;
  }

  .about-capabilities__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 0;
  }

  .about-capabilities__grid li:nth-child(3n + 1) {
    border-left: 0;
  }

  .governance-detail,
  .about-story {
    grid-template-columns: 1fr;
  }

  .governance-structure {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  }

  .contact-body {
    grid-template-columns: 1fr;
  }

  .investors-executive__panel {
    grid-template-columns: 1fr;
  }

  .investors-thesis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .investors-thesis > .investors-card:last-child {
    grid-column: span 2;
  }

  .roadmap {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 18px;
  }

  /* The connecting rule only reads across a single row. */
  .roadmap::before {
    display: none;
  }

  .enterprise-solutions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .enterprise-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 22px;
  }

  .enterprise-steps > li:nth-child(3n)::after {
    display: none;
  }

  .enterprise-benefits ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .enterprise-trusted__row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px 0;
  }

  .enterprise-trusted__row li:nth-child(4n + 1) {
    border-left: 0;
  }

  .tech-architecture__flow {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .tech-layer::after {
    display: none;
  }

  .tech-detail {
    grid-template-columns: 1fr 1fr;
  }

  .tech-detail__card:last-child {
    grid-column: span 2;
  }

  .tech-pillars__grid,
  .tech-highlights__strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tech-pillars__grid li:nth-child(4),
  .tech-highlights__strip .metric-item:nth-child(4) {
    border-left: 0;
  }

  .tech-pillars__grid li:nth-child(n + 4),
  .tech-highlights__strip .metric-item:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .site-nav-shell {
    grid-template-columns: minmax(200px, 1fr) auto auto;
  }

  .desktop-nav {
    display: none;
  }

  .mobile-menu-trigger {
    display: flex;
  }

  .mobile-navigation {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: block;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition:
      visibility 260ms,
      opacity 220ms ease;
  }

  .mobile-navigation.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-navigation-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    border: 0;
    background: rgb(0 2 4 / 76%);
    backdrop-filter: blur(8px);
  }

  .mobile-navigation-panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(460px, 92vw);
    overflow-y: auto;
    padding: 20px 24px 34px;
    border-left: 1px solid var(--border);
    background:
      radial-gradient(
        circle at 100% 0%,
        rgb(42 110 106 / 16%),
        transparent 24rem
      ),
      #031016;
    box-shadow: -24px 0 70px rgb(0 0 0 / 55%);
    transform: translateX(104%);
    transition: transform 340ms var(--ease-premium);
  }

  .mobile-navigation.is-open .mobile-navigation-panel {
    transform: translateX(0);
  }

  .mobile-navigation-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-soft);
  }

  .mobile-navigation-header button {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 4px;
    background: transparent;
    color: var(--gold-light);
    font-size: 1.7rem;
    line-height: 1;
  }

  .mobile-navigation nav {
    padding-block: 14px;
  }

  .mobile-navigation details {
    border-bottom: 1px solid var(--border-soft);
  }

  .mobile-navigation summary {
    min-height: 52px;
    padding: 14px 2px;
    color: var(--ivory);
    font-family: var(--font-display), Georgia, serif;
    font-size: 1.13rem;
    list-style-position: outside;
  }

  .mobile-navigation details[open] summary {
    color: var(--gold-light);
  }

  .mobile-navigation ul {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 0 0 14px 14px;
    list-style: none;
  }

  .mobile-navigation li a,
  .mobile-navigation li > span {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 4px;
    color: #c8ced0;
    font-size: 0.9rem;
  }

  .mobile-navigation li a:hover {
    background: rgb(216 154 39 / 9%);
    color: var(--gold-light);
  }

  .mobile-navigation li > span {
    color: #758086;
  }

  .mobile-navigation-cta {
    width: 100%;
  }

  .footer-grid {
    grid-template-columns: 1.5fr repeat(4, 1fr);
  }

  .footer-brand {
    grid-row: span 2;
  }

  .home-process .process-timeline {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-process .process-phases {
    grid-template-columns: 1fr 1fr;
  }

  .process-phase {
    grid-column: auto;
  }

  .how-process .process-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .catalog-preview__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .how-core {
    grid-template-columns: 1fr;
  }

  .technology-security__body {
    grid-template-columns: 0.82fr 1fr;
  }

  .technology-security__image {
    min-height: 390px;
  }

  .assets-investment__layout {
    grid-template-columns: 1fr;
  }

  .assets-investment__visual {
    order: -1;
  }

  .assets-waitlist__copy {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 980px) {
  /* --- Gemstone pages and the portal ---------------------------------- */

  .future-detail,
  .future-road__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .future-enables {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .future-banner ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 0;
  }

  .future-banner li:nth-child(3) {
    border-left: 0;
  }

  .licensing-compliance__panel,
  .licensing-white__panel,
  .licensing-future__row {
    grid-template-columns: minmax(0, 1fr);
  }

  .licensing-preview__panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* The CTA card drops below the row here, so the cells get their width back,
     though not enough for six across at this width. */
  .licensing-future__row .licensing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .audience-marks {
    grid-template-columns: minmax(0, 1fr);
  }

  .audience-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 12px;
  }

  .audience-groups li:nth-child(4) {
    border-left: 0;
  }

  .audience-platform {
    grid-template-columns: minmax(0, 1fr);
  }

  .audience-why {
    grid-template-columns: minmax(0, 1fr);
  }

  .audience-close__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .ets-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .ets-cta__panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .ets-cta__marks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 0;
  }

  .ets-cta__marks li:nth-child(4) {
    border-left: 0;
  }

  .restricted-hero__card {
    justify-content: flex-start;
    grid-column: 1;
  }

  .restricted-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .restricted-commitment {
    grid-template-columns: minmax(0, 1fr);
  }

  .acquisition-marks__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .acquisition-marks__row li:nth-child(4) {
    border-left: 0;
  }

  .acquisition-marks__row li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .acquisition-options__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .discount-hero__badge {
    justify-content: flex-start;
    grid-column: 1;
  }

  .discount-marks__row,
  .discount-principles__row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .discount-marks__row li:nth-child(4),
  .discount-principles__row li:nth-child(4) {
    border-left: 0;
  }

  .discount-marks__row li:nth-child(n + 4),
  .discount-principles__row li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  /* The two price columns stack, so the discount disc moves out from between
     them and sits above the pair as its own row. */
  .discount-example__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .discount-example__badge {
    order: -1;
    justify-self: center;
  }

  /* The crest card leaves the hero grid and sits under the copy, so the plate
     behind it keeps its own subject instead of the card covering it. */
  .overview-hero__crest {
    justify-content: flex-start;
    grid-column: 1;
  }

  .overview-marks__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .overview-marks__row li:nth-child(3) {
    border-left: 0;
  }

  .overview-marks__row li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .overview-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .gem-hero,
  .portal-hero {
    min-height: auto;
  }

  .portal-hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Five cells cannot hold a title and a line of copy much under 170px each. */
  .gem-highlights ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 0;
  }

  .gem-highlights li:nth-child(3n + 1) {
    border-left: 0;
  }

  .gem-highlights li:nth-child(n + 4) {
    border-top: 1px solid var(--gem-faint);
    padding-top: 20px;
  }

  .gem-assurances__grid,
  .gem-trust__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 0;
  }

  .gem-assurances__grid li:nth-child(3n + 1),
  .gem-trust__grid li:nth-child(3n + 1) {
    border-left: 0;
  }

  .gem-assurances__grid li:nth-child(n + 4),
  .gem-trust__grid li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .gem-close {
    grid-template-columns: 1fr;
  }

  .gem-close > .gem-card:last-child {
    grid-column: auto;
  }

  .gem-details {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
  }

  .gem-origin__pins {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gem-features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .portal-steps > li:nth-child(4n)::before,
  .portal-steps > li:nth-child(4n)::after {
    display: block;
  }

  .portal-steps > li:nth-child(3n)::before,
  .portal-steps > li:nth-child(3n)::after {
    display: none;
  }

  .portal-features__card ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portal-guarantee__panel {
    grid-template-columns: 1fr;
  }

  .portal-guarantee__image {
    grid-column: auto;
  }

  /* The order timeline drops below the table rather than being squeezed beside
     it, which is where the board puts it on a narrow screen too. */
  .portal-window__body {
    grid-template-columns: minmax(0, 1fr);
  }

  /* The six columns of the token table cannot reflow, so each row becomes a
     stacked record with its column name carried on the cell. */
  .portal-table__head {
    display: none;
  }

  .portal-table__row {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 14px 0;
  }

  .portal-table__row > span:not(.portal-table__asset)::before {
    display: block;
    color: var(--muted);
    content: attr(data-label);
    font-size: 0.64rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }

  /* --- Infrastructure, programs and registry -------------------------- */

  .infrastructure-hero,
  .programs-hero,
  .registry-hero {
    min-height: auto;
  }

  .infrastructure-hero__inner,
  .programs-hero__inner,
  .registry-hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .infrastructure-detail {
    grid-template-columns: 1fr;
  }

  .infrastructure-detail > .tech-detail__card:last-child {
    grid-column: auto;
  }

  .infrastructure-map {
    max-width: 640px;
    margin-inline: auto;
  }

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

  .rough-programs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .programs-detail__panel {
    grid-template-columns: 1fr;
  }

  .programs-highlights {
    grid-column: auto;
  }

  .registry-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .registry-steps > li:nth-child(4n)::before,
  .registry-steps > li:nth-child(4n)::after {
    display: block;
  }

  .registry-steps > li:nth-child(3n)::before,
  .registry-steps > li:nth-child(3n)::after {
    display: none;
  }

  .registry-record__panel {
    grid-template-columns: 1fr;
  }

  .registry-record__side {
    grid-column: auto;
  }

  .registry-close {
    grid-template-columns: 1fr;
  }

  .registry-close > .registry-card:last-child {
    grid-column: auto;
  }

  /* --- Technology detail pages ---------------------------------------- */

  /* The hero card carries as much copy as the column beside it, so below this
     width it drops under the copy instead of being squeezed against it. */
  .tokenization-hero__inner,
  .redemption-hero__inner,
  .passports-hero__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .tokenization-hero__callout,
  .redemption-hero__callout,
  .passport-card {
    grid-column: 1;
    justify-self: stretch;
    width: 100%;
    max-width: 520px;
  }

  .tokenization-hero,
  .redemption-hero,
  .passports-hero {
    min-height: auto;
  }

  .tokenization-hero__badges {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tokenization-process .process-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tokenization-standards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tokenization-example__panel {
    grid-template-columns: 1fr;
    gap: 26px;
    justify-items: center;
    text-align: center;
  }

  .tokenization-example__attributes,
  .tokenization-example__custody {
    justify-content: center;
  }

  .tokenization-example__facts,
  .tokenization-example__passport {
    width: 100%;
    max-width: 560px;
  }

  .redemption-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .redemption-steps > li:nth-child(4n)::after {
    display: block;
  }

  .redemption-steps > li:nth-child(3n)::after {
    display: none;
  }

  .passports-hero__badges ul,
  .passports-what__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 0;
  }

  .passports-hero__badges li:nth-child(3n + 1),
  .passports-what__grid li:nth-child(3n + 1) {
    border-left: 0;
  }

  .passports-inside__aside {
    grid-template-columns: 1fr;
  }

  .passport-explorer {
    grid-template-columns: 1fr;
  }

  /* Laid across the panel rather than down its side, so the record below keeps
     the full width for its field pairs. */
  .passport-explorer__rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .waitlist-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* The chevron points along the row, so it only belongs between cards that sit
     side by side — not at the end of a wrapped line. */
  .waitlist-steps > li:nth-child(2n)::after {
    display: none;
  }

  .waitlist-assurance__row,
  .faq-assurance__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 0;
  }

  .waitlist-assurance__row li:nth-child(2n + 1),
  .faq-assurance__row li:nth-child(2n + 1) {
    border-left: 0;
  }

  .kyc-groups {
    grid-template-columns: 1fr;
  }

  .kyc-groups > div + div {
    padding-top: 20px;
    padding-left: 0;
    border-top: 1px solid var(--border-soft);
    border-left: 0;
  }

  .faq-layout {
    grid-template-columns: 1fr;
  }

  .faq-rail {
    position: static;
  }

  .about-values,
  .governance-commitment__marks ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px 0;
  }

  .about-values li:nth-child(3n + 1),
  .governance-commitment__marks li:nth-child(3n + 1) {
    border-left: 0;
  }

  .governance-commitment__marks ul {
    padding: 0 22px 18px;
  }

  .contact-jurisdiction__marks ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 22px 20px;
  }

  .about-hero__callout,
  .governance-hero__callout {
    width: 100%;
  }

  .trust-cta {
    grid-template-columns: minmax(190px, 0.85fr) minmax(0, 1.6fr);
    align-items: stretch;
  }

  .trust-cta__visual {
    grid-row: span 2;
  }

  .trust-cta__copy {
    align-self: end;
    padding-top: 20px;
  }

  .trust-cta__action {
    display: flex;
    align-items: center;
    align-self: start;
    gap: 18px;
    padding-bottom: 20px;
    text-align: left;
  }

  .trust-cta__action .button {
    width: auto;
    margin-bottom: 0;
  }

  .investors-hero__inner {
    grid-template-columns: 1fr;
  }

  .investors-hero__callout {
    max-width: 100%;
  }

  .investors-financials,
  .investors-roadmap-row {
    grid-template-columns: 1fr;
  }

  .financial-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 0;
  }

  .financial-grid > div:nth-child(3n + 1) {
    border-left: 0;
  }

  .investors-assurance__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 0;
  }

  .investors-assurance__row li:nth-child(odd) {
    border-left: 0;
  }

  .investors-executive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 0;
  }

  .investors-executive__grid > li:nth-child(odd) {
    border-left: 0;
  }

  .enterprise-solutions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .enterprise-close {
    grid-template-columns: 1fr;
  }

  .enterprise-hero__inner {
    grid-template-columns: 1fr;
  }

  .enterprise-hero__callout {
    max-width: 100%;
  }

  .tech-architecture__flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tech-security {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .tech-security__vault {
    max-width: 260px;
  }

  .tech-onchain {
    grid-template-columns: 1fr;
  }

  .tech-onchain__passport {
    max-width: 280px;
    margin-inline: auto;
  }

  .technology-hero__inner {
    grid-template-columns: 1fr;
  }

  .hero__inner {
    grid-template-columns: minmax(290px, 0.9fr) 1fr;
  }

  .trust-pillars {
    grid-template-columns: repeat(3, 1fr);
  }

  .trust-pillars li:nth-child(4) {
    border-left: 0;
  }

  .trust-pillars li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .metric-strip {
    grid-template-columns: repeat(3, 1fr);
  }

  .metric-item:nth-child(4) {
    border-left: 0;
  }

  .metric-item:nth-child(n + 4) {
    padding-top: 18px;
    border-top: 1px solid var(--border-soft);
  }

  .waitlist__inner {
    grid-template-columns: 0.8fr 1fr;
  }

  .waitlist__form {
    grid-column: 2;
  }

  .assets-hero__layout {
    grid-template-columns: minmax(280px, 0.8fr) 1fr minmax(220px, 0.65fr);
  }

  .assets-hero__base {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.4fr);
  }

  .assets-metrics__layout {
    grid-template-columns: 1fr;
  }

  .assets-registry-control {
    min-height: 90px;
  }

  .assets-waitlist__inner {
    grid-template-columns: auto 1fr minmax(220px, 0.7fr);
  }
}

@media (max-width: 760px) {
  /* --- Gemstone pages and the portal ---------------------------------- */

  .future-grid,
  .future-phases {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .future-grid li:nth-child(odd),
  .future-phases__item:nth-child(odd) {
    border-left: 0;
  }

  .future-grid li:nth-child(even),
  .future-phases__item:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .licensing-grid,
  .licensing-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .licensing-grid li:nth-child(odd) {
    border-left: 0;
  }

  .licensing-grid li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .licensing-preview__body {
    grid-template-columns: minmax(0, 1fr);
  }

  .licensing-preview__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--border-soft);
  }

  .licensing-future__row .licensing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-marks {
    margin-top: 0;
  }

  .audience-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-steps li:nth-child(3)::before,
  .audience-steps li:nth-child(5)::before {
    content: none;
  }

  .audience-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .audience-groups li:nth-child(odd) {
    border-left: 0;
  }

  .audience-groups li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .audience-close__marks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ets-marks {
    margin-top: 0;
  }

  .ets-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ets-steps li:nth-child(3)::before,
  .ets-steps li:nth-child(5)::before {
    content: none;
  }

  .ets-assets__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .ets-statement {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }

  .ets-cta__marks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ets-cta__marks li:nth-child(odd) {
    border-left: 0;
  }

  .ets-cta__marks li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .restricted-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restricted-group:nth-child(odd) {
    border-left: 0;
  }

  .restricted-group:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .restricted-group:nth-child(n + 3) {
    padding-top: 22px;
    border-top: 1px solid var(--border-soft);
  }

  .restricted-commitment__marks ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .acquisition-marks {
    margin-top: 0;
  }

  .acquisition-marks__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .acquisition-marks__row li:nth-child(3),
  .acquisition-marks__row li:nth-child(5) {
    border-left: 0;
  }

  .acquisition-marks__row li:nth-child(4) {
    border-left: 1px solid var(--border-soft);
  }

  .acquisition-marks__row li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .acquisition-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .acquisition-steps li:nth-child(3)::before,
  .acquisition-steps li:nth-child(5)::before {
    content: none;
  }

  .acquisition-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .acquisition-checks {
    grid-template-columns: minmax(0, 1fr);
  }

  .discount-marks {
    margin-top: 0;
  }

  .discount-marks__row,
  .discount-principles__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discount-marks__row li:nth-child(3),
  .discount-marks__row li:nth-child(5),
  .discount-principles__row li:nth-child(3),
  .discount-principles__row li:nth-child(5) {
    border-left: 0;
  }

  .discount-marks__row li:nth-child(4),
  .discount-principles__row li:nth-child(4) {
    border-left: 1px solid var(--border-soft);
  }

  .discount-marks__row li:nth-child(n + 3),
  .discount-principles__row li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .discount-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .discount-steps li:nth-child(3)::before,
  .discount-steps li:nth-child(5)::before {
    content: none;
  }

  .overview-marks {
    margin-top: 0;
  }

  .overview-model {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 12px;
  }

  .overview-model li:nth-child(3)::before {
    content: none;
  }

  .gem-promise {
    width: 100%;
    max-width: none;
    margin-top: 26px;
  }

  .gem-hero__comparisons {
    width: 100%;
    margin-left: 0;
  }

  .gem-hero__comparisons img {
    height: 104px;
  }

  /* Stacked, the column dividers become the wrong axis. */
  .gem-highlights ul {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .gem-highlights li {
    padding-inline: 0;
  }

  .gem-highlights li + li {
    padding-top: 18px;
    border-top: 1px solid var(--gem-faint);
    border-left: 0;
  }

  .gem-highlights li:nth-child(n + 4) {
    padding-top: 18px;
  }

  .gem-highlights p {
    max-width: none;
  }

  .gem-promise {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .gem-details,
  .gem-origin__pins,
  .gem-features__grid,
  .portal-steps,
  .portal-features__card ul,
  .portal-guarantee__checks {
    grid-template-columns: 1fr;
  }

  .gem-glance__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gem-glance__row > div:nth-child(3n + 1) {
    border-left: 1px solid var(--gem-faint);
  }

  .gem-glance__row > div:nth-child(2n + 1) {
    border-left: 0;
  }

  .gem-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gem-details__visual {
    order: -1;
  }

  .portal-steps {
    gap: 26px;
  }

  /* Stacked, the rule and the arrow point across nothing. */
  .portal-steps > li:not(:last-child)::before,
  .portal-steps > li:not(:last-child)::after,
  .portal-steps > li:nth-child(3n)::before,
  .portal-steps > li:nth-child(3n)::after {
    display: none;
  }

  .portal-guarantee__checks > svg {
    display: none;
  }

  .portal-guarantee__checks > p {
    grid-column: auto;
  }

  .portal-process__panel,
  .portal-features__card,
  .portal-guarantee__panel,
  .gem-card {
    padding: 20px;
  }

  .portal-window__bar {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 12px;
  }

  .portal-window__bar em {
    grid-column: span 2;
  }

  /* --- Infrastructure, programs and registry -------------------------- */

  .infrastructure-hero__rule {
    width: 100%;
  }

  .programs-grid,
  .rough-programs-grid,
  .programs-detail__checks,
  .registry-steps,
  .registry-record__side,
  .infrastructure-cta__metrics dl {
    grid-template-columns: 1fr;
  }

  .programs-highlights dl {
    grid-template-columns: 1fr;
  }

  .infrastructure-cta__metrics dl > div + div {
    padding-top: 14px;
    border-top: 1px solid var(--border-soft);
    border-left: 0;
  }

  /* Stacked, the rule and the arrow point across nothing. Declared on the same
     :not(:last-child) shape as the base rule, which otherwise outranks a bare
     li::before and leaves the arrow hanging off the last card in each row. */
  .registry-steps > li:not(:last-child)::before,
  .registry-steps > li:not(:last-child)::after {
    display: none;
  }

  .registry-steps {
    gap: 26px;
  }

  .registry-process__panel,
  .registry-record__panel,
  .programs-detail__panel {
    padding: 20px;
  }

  /* Under about 420px a label and its value cannot share a line, so the pairs
     stack rather than the value wrapping to three words a line. */
  .registry-record__fields dl > div,
  .registry-chain dl > div,
  .program-card__specs > div {
    gap: 2px 14px;
  }

  .registry-record__fields dd,
  .registry-chain dd,
  .program-card__specs dd {
    text-align: right;
  }

  /* --- Technology detail pages ---------------------------------------- */

  .tokenization-hero__callout,
  .redemption-hero__callout {
    width: 100%;
    max-width: none;
    margin-top: 26px;
  }

  /* Three columns of ID card cannot hold their widths here, so the card goes
     back to a single column with the stone centred above its record. */
  .passport-card aside {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "head"
      "stone"
      "fields"
      "foot";
    justify-items: center;
  }

  .passport-card__stone {
    width: min(100%, 150px);
  }

  .passport-card__body {
    width: 100%;
    text-align: center;
  }

  .passport-card__fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    text-align: left;
  }

  .passport-card footer {
    width: 100%;
    padding: 12px 0 0;
    border-top: 1px solid var(--border-soft);
    border-left: 0;
  }

  .tokenization-hero__rule {
    width: 100%;
  }

  .tokenization-hero__badges {
    margin-top: 26px;
  }

  .tokenization-process .process-timeline,
  .tokenization-standards,
  .redemption-steps,
  .redemption-assurance,
  .redemption-close,
  .passports-what__grid,
  .passports-hero__badges ul,
  .passport-explorer__rail,
  .passport-explorer__record,
  .tokenization-example__attributes {
    grid-template-columns: 1fr;
  }

  .tokenization-process .process-timeline {
    gap: 18px;
  }

  .redemption-steps {
    gap: 26px;
  }

  .redemption-steps > li:nth-child(3n)::after,
  .redemption-steps > li:not(:last-child)::after {
    display: none;
  }

  .redemption-assurance > .redemption-card:last-child,
  .redemption-close > .redemption-card:last-child {
    grid-column: auto;
  }

  .redemption-chain__flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
  }

  .redemption-chain__flow li:nth-child(2n)::after {
    display: none;
  }

  .tokenization-example__panel,
  .passports-what__panel,
  .passports-inside__main,
  .redemption-process__panel {
    padding: 20px;
  }

  .tokenization-example__attributes,
  .tokenization-example__custody {
    justify-items: center;
  }

  .tokenization-example__attributes div,
  .tokenization-example__custody div {
    justify-content: center;
  }

  /* Stacked, the row dividers become the wrong axis. */
  .passports-hero__badges li + li,
  .passports-what__grid li + li {
    padding-top: 20px;
    border-top: 1px solid var(--border-soft);
    border-left: 0;
  }

  .passports-hero__badges li,
  .passports-what__grid li {
    padding-inline: 0;
  }

  .passports-hero__badges p,
  .passports-what__grid p {
    max-width: none;
  }

  .passport-explorer__record {
    justify-items: center;
    text-align: center;
  }

  .passport-explorer__fields div {
    justify-content: space-between;
    text-align: left;
  }

  .id-lookup form {
    grid-template-columns: 1fr;
  }

  .redemption-receive__image {
    max-width: 168px;
  }

  .waitlist-benefits,
  .waitlist-steps,
  .kyc-steps,
  .kyc-documents__grid,
  .waitlist-assurance__row,
  .faq-assurance__row,
  .kyc-hero__value-grid {
    grid-template-columns: 1fr;
  }

  .waitlist-steps > li:not(:last-child)::after,
  .kyc-steps > li:not(:last-child)::after {
    display: none;
  }

  .waitlist-miss {
    grid-template-columns: auto 1fr;
    gap: 12px 14px;
  }

  .waitlist-miss .button {
    grid-column: 2;
    justify-self: start;
  }

  .kyc-documents__grid li,
  .waitlist-assurance__row li,
  .faq-assurance__row li {
    padding-inline: 0;
  }

  .kyc-documents__grid li + li,
  .waitlist-assurance__row li + li,
  .faq-assurance__row li + li,
  .waitlist-steps > li + li {
    border-left: 0;
  }

  .kyc-documents__grid li + li,
  .faq-assurance__row li + li,
  .waitlist-assurance__row li + li {
    padding-top: 20px;
    border-top: 1px solid var(--border-soft);
  }

  .waitlist-panel,
  .kyc-card,
  .waitlist-next__panel,
  .faq-group,
  .faq-contact,
  .faq-categories {
    padding: 18px;
  }

  .kyc-documents__grid,
  .waitlist-assurance__row,
  .faq-assurance__row,
  .waitlist-benefits {
    padding: 18px;
  }

  .waitlist-assurance__row li,
  .faq-assurance__row li {
    justify-items: start;
    text-align: left;
  }

  .about-capabilities__grid,
  .about-values,
  .governance-commitment__marks ul,
  .contact-offices,
  .contact-form__row,
  .governance-structure,
  .contact-jurisdiction__marks ul {
    grid-template-columns: 1fr;
  }

  .about-capabilities__grid {
    padding: 18px;
    gap: 22px 0;
  }

  .about-capabilities__grid li,
  .about-values li,
  .governance-commitment__marks li,
  .contact-offices > li {
    padding-inline: 0;
  }

  .about-capabilities__grid li + li,
  .about-values li + li,
  .governance-commitment__marks li + li,
  .contact-offices > li + li {
    border-left: 0;
  }

  .about-capabilities__grid li + li,
  .about-values li + li,
  .contact-offices > li + li {
    padding-top: 20px;
    border-top: 1px solid var(--border-soft);
  }

  .about-capabilities__grid img {
    max-width: 320px;
    justify-self: center;
  }

  .about-story__body {
    grid-template-columns: 1fr;
  }

  .about-story__image {
    max-width: 300px;
    aspect-ratio: 4 / 3;
    margin-inline: auto;
  }

  .about-story__card,
  .governance-card,
  .contact-panel {
    padding: 18px;
  }

  .governance-pyramid {
    max-width: 340px;
    margin-inline: auto;
  }

  .contact-jurisdiction__marks li {
    justify-items: start;
  }

  .investors-thesis,
  .roadmap,
  .financial-grid,
  .investors-assurance__row,
  .investors-executive__grid {
    grid-template-columns: 1fr;
  }

  .investors-thesis > .investors-card:last-child {
    grid-column: auto;
  }

  .financial-grid > div,
  .investors-assurance__row li,
  .investors-executive__grid > li {
    border-left: 0 !important;
  }

  .financial-grid > div + div,
  .investors-assurance__row li + li,
  .investors-executive__grid > li + li {
    padding-top: 16px;
    border-top: 1px solid var(--border-soft);
  }

  /* Stacked, each milestone reads as a row rather than a column on a timeline. */
  .roadmap > li {
    padding-top: 0;
    padding-left: 42px;
    text-align: left;
  }

  .roadmap__marker {
    top: 2px;
    left: 0;
    transform: none;
  }

  .investors-card,
  .investors-executive__panel {
    padding: 18px;
  }

  .proceeds {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .proceeds__legend {
    width: 100%;
  }

  .enterprise-solutions__grid,
  .enterprise-benefits ul {
    grid-template-columns: 1fr;
  }

  /* Stacked, the badge/arrow row makes no sense, so the steps become a plain
     numbered list reading top to bottom. */
  .enterprise-steps {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .enterprise-steps > li {
    display: grid;
    align-items: center;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    gap: 0 14px;
    padding: 14px;
    border: 1px solid var(--border-soft);
    border-radius: 7px;
    text-align: left;
  }

  .enterprise-steps > li::after {
    display: none;
  }

  .enterprise-steps__icon {
    width: 52px;
    height: 52px;
    grid-row: 1 / 3;
    margin: 0;
  }

  .enterprise-steps__number {
    grid-row: 1 / 3;
    margin: 0;
  }

  .enterprise-steps h3 {
    align-self: end;
    margin-bottom: 3px;
  }

  .enterprise-steps p {
    align-self: start;
  }

  .enterprise-trusted__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .enterprise-trusted__row li:nth-child(odd) {
    border-left: 0;
  }

  .enterprise-process__panel,
  .enterprise-benefits,
  .enterprise-invite {
    padding: 18px;
  }

  .tech-architecture__flow,
  .tech-detail {
    grid-template-columns: 1fr;
  }

  .tech-detail__card:last-child {
    grid-column: auto;
  }

  .tech-architecture__panel {
    padding: 16px;
  }

  /* One layer per row down here, so the plate can take the size the viewport
     scale would otherwise deny it. */
  .tech-layer__plate {
    width: 84px;
  }

  .tech-pillars__grid,
  .tech-highlights__strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tech-pillars__grid li:nth-child(3),
  .tech-pillars__grid li:nth-child(5),
  .tech-highlights__strip .metric-item:nth-child(3),
  .tech-highlights__strip .metric-item:nth-child(5) {
    border-left: 0;
  }

  .tech-pillars__grid li:nth-child(4),
  .tech-highlights__strip .metric-item:nth-child(4) {
    border-left: 1px solid var(--border-soft);
  }

  .tech-pillars__grid li:nth-child(n + 3),
  .tech-highlights__strip .metric-item:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .tech-integration ul li:not(:last-child)::after {
    display: none;
  }

  html {
    scroll-padding-top: 84px;
  }

  body {
    font-size: 14px;
  }

  .announcement-bar {
    display: none;
  }

  .site-header {
    position: sticky;
    top: 0;
  }

  .site-nav-shell {
    min-height: 78px;
    grid-template-columns: 1fr auto;
    gap: 12px;
  }

  .site-nav-shell > .brand-logo {
    width: 180px;
  }

  .header-actions {
    display: none;
  }

  .hero {
    min-height: 960px;
  }

  /* A phone hero box is roughly 0.43:1 and the plates are 2.33:1, so covering
     would crop away most of the composition. Containing against the plates' own
     edge colour (they all sit at about rgb(19 19 22)) puts the whole group of
     stones on screen and leaves no visible seam where the image ends. */
  .hero__media {
    background: #131216;
  }

  .hero__image {
    object-fit: contain;
    object-position: center bottom;
  }

  .hero__image--desktop {
    display: none;
  }

  .hero__image--mobile {
    display: block;
    object-position: center bottom;
  }

  .hero__scrim {
    background:
      linear-gradient(
        180deg,
        rgb(1 5 8 / 100%) 0%,
        rgb(1 5 8 / 94%) 37%,
        rgb(1 5 8 / 36%) 62%,
        rgb(1 5 8 / 25%) 100%
      ),
      linear-gradient(
        90deg,
        rgb(1 5 8 / 68%),
        transparent 50%,
        rgb(1 5 8 / 12%)
      );
  }

  .hero__inner {
    display: block;
    min-height: inherit;
    padding-block: 48px 32px;
  }

  .hero__copy {
    max-width: 590px;
  }

  .hero__title {
    margin-bottom: 20px;
    font-size: clamp(2.64rem, 12.75vw, 4rem);
  }

  .hero__description {
    max-width: 39rem;
    font-size: 1rem;
  }

  .hero__actions .button {
    flex: 1 1 165px;
  }

  .home-trust {
    margin-top: 20px;
  }

  .trust-pillars {
    grid-template-columns: repeat(2, 1fr);
    padding: 5px;
  }

  .trust-pillars li {
    min-height: 150px;
  }

  .trust-pillars li:nth-child(3),
  .trust-pillars li:nth-child(5) {
    border-left: 0;
  }

  .trust-pillars li:nth-child(4) {
    border-left: 1px solid var(--border-soft);
  }

  .trust-pillars li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .home-process .process-timeline,
  .how-process .process-timeline {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .home-process .process-phases {
    grid-template-columns: 1fr 1fr;
  }

  .process-phase {
    grid-column: auto;
    padding: 6px 10px 8px;
  }

  .process-phase__caption {
    display: none;
  }

  .process-timeline li {
    min-height: 0;
    align-items: center;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    gap: 0 14px;
    padding: 18px;
    text-align: left;
  }

  .process-number {
    grid-row: 1 / 3;
    margin: 0;
  }

  /* The step artwork is an image now, not the icon svg this used to target,
     so without this the plate dropped out of its grid row and left a gap
     between the title and the copy. */
  .process-plate {
    width: 74px;
    grid-row: 1 / 3;
    margin: 0;
  }

  .process-timeline h3 {
    min-height: 0;
    margin-bottom: 5px;
    font-size: 0.85rem;
  }

  .process-timeline p {
    grid-column: 3;
    font-size: 0.8rem;
  }

  .catalog-preview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .metric-item {
    min-height: 105px;
    justify-content: flex-start;
    padding: 15px;
  }

  .metric-item:nth-child(odd) {
    border-left: 0;
  }

  .metric-item:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .waitlist__inner,
  .assets-waitlist__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
    padding-block: 28px 42px;
  }

  .waitlist__visual {
    min-height: 260px;
  }

  .waitlist__image {
    min-height: 260px;
    mask-image: linear-gradient(180deg, black 76%, transparent 100%);
  }

  .waitlist__form {
    grid-column: 1;
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 34px 24px;
  }

  .footer-brand {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .footer-column h2 {
    font-size: 0.83rem;
  }

  .footer-column a,
  .footer-column li > span {
    font-size: 0.81rem;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
    gap: 7px;
    padding-block: 18px;
    text-align: center;
  }

  .footer-tagline {
    text-align: center;
  }

  .how-hero {
    min-height: 910px;
  }

  .how-hero__scrim {
    background: linear-gradient(
      180deg,
      #010508 0%,
      rgb(1 5 8 / 93%) 41%,
      rgb(1 5 8 / 26%) 73%,
      rgb(1 5 8 / 30%) 100%
    );
  }

  .how-core {
    padding-top: 72px;
  }

  .technology-security,
  .technology-lifecycle {
    padding: 20px 15px;
  }

  .technology-security__body {
    grid-template-columns: 1fr;
  }

  .technology-security__image {
    min-height: min(88vw, 500px);
  }

  .lifecycle-diagram {
    min-height: auto;
  }

  .lifecycle-desktop {
    display: none;
  }

  .lifecycle-diagram ol {
    position: static;
    display: grid;
    gap: 12px;
  }

  .lifecycle-diagram li {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    min-height: 76px;
    padding: 10px;
    border: 1px solid var(--border-soft);
    border-radius: 5px;
    transform: none;
  }

  .lifecycle-diagram li:not(:last-child)::after {
    position: absolute;
    bottom: -17px;
    left: 33px;
    z-index: 2;
    color: var(--gold);
    content: "↓";
  }

  .lifecycle-diagram h3 {
    font-size: 0.85rem;
  }

  .lifecycle-diagram p {
    font-size: 0.76rem;
  }

  .trust-cta {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .trust-cta__visual {
    grid-row: auto;
  }

  .trust-cta__visual,
  .trust-cta__image {
    min-height: 230px;
  }

  .trust-cta__image {
    mask-image: linear-gradient(180deg, black 75%, transparent 100%);
  }

  .trust-cta__copy,
  .trust-cta__action {
    display: block;
    padding: 8px 22px 22px;
  }

  /* The tablet rule above turns the action into a left-aligned row; the phone
     stack goes back to the centred column it has always been. */
  .trust-cta__action {
    text-align: center;
  }

  .trust-cta__action {
    padding-bottom: 28px;
  }

  .trust-cta__action .button {
    width: 100%;
    margin-bottom: 8px;
  }

  .assets-hero {
    min-height: 1110px;
  }

  .assets-hero__inner {
    padding-top: 32px;
  }

  .assets-hero__layout {
    display: block;
    min-height: 0;
  }

  .assets-hero__copy {
    max-width: 600px;
    padding-top: 8px;
  }

  .assets-hero__base {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .assets-hero__value-grid {
    width: 100%;
    background: rgb(1 7 10 / 72%);
  }

  .assets-hero__value-grid li {
    min-height: 122px;
  }

  .assets-metrics {
    padding-top: 28px;
  }

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

  .catalog-controls {
    grid-template-columns: 1fr;
  }

  .catalog-filters {
    flex-wrap: nowrap;
    padding: 3px 2px 8px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .catalog-filter-button {
    flex: 0 0 auto;
  }

  .catalog-sort-control {
    justify-self: stretch;
  }

  .catalog-sort-select {
    width: 100%;
  }

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

  .assets-investment {
    padding: 20px 15px;
  }

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

  .investment-reason:nth-child(3) {
    border-left: 0;
  }

  .investment-reason:nth-child(n + 3) {
    padding-top: 20px;
    border-top: 1px solid var(--border-soft);
  }

  .assets-waitlist__mark {
    justify-self: center;
  }

  .assets-waitlist__copy {
    gap: 14px;
    text-align: center;
  }
}

@media (max-width: 520px) {
  .future-grid,
  .future-phases,
  .future-enables {
    grid-template-columns: minmax(0, 1fr);
  }

  .future-grid li:nth-child(even),
  .future-phases__item:nth-child(even) {
    border-left: 0;
  }

  .future-banner ul {
    grid-template-columns: minmax(0, 1fr);
  }

  .future-banner li:nth-child(even) {
    border-left: 0;
  }

  .future-hero__callout {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }

  .licensing-grid,
  .licensing-grid--four {
    grid-template-columns: minmax(0, 1fr);
  }

  .licensing-grid li:nth-child(even) {
    border-left: 0;
  }

  .licensing-preview__panels,
  .licensing-preview__charts {
    grid-template-columns: minmax(0, 1fr);
  }

  .licensing-future__row .licensing-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .licensing-hero__callout {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }
  .audience-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .audience-steps li + li::before {
    content: none;
  }

  .audience-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .audience-groups li:nth-child(even) {
    border-left: 0;
  }

  .audience-passport__card dl > div {
    display: grid;
    gap: 2px;
  }

  .audience-passport__card dd {
    text-align: left;
  }
  .ets-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .ets-steps li + li::before {
    content: none;
  }

  .ets-assets__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ets-hero__callout {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }
  .restricted-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .restricted-group + .restricted-group {
    border-left: 0;
  }

  .restricted-group:nth-child(even) {
    border-left: 0;
  }

  .restricted-group:nth-child(n + 2) {
    padding-top: 22px;
    border-top: 1px solid var(--border-soft);
  }

  .restricted-commitment__marks ul {
    grid-template-columns: minmax(0, 1fr);
  }
  .acquisition-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .acquisition-steps li + li::before {
    content: none;
  }

  .acquisition-tokens {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .acquisition-option {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    text-align: center;
  }

  .acquisition-option__points li {
    text-align: left;
  }
  .discount-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .discount-steps li + li::before {
    content: none;
  }

  .discount-example__column dl > div {
    display: grid;
    gap: 2px;
  }

  .discount-example__column dd {
    text-align: left;
  }
  .overview-model {
    grid-template-columns: minmax(0, 1fr);
  }

  .overview-model li + li::before {
    content: none;
  }
  .registry-record__fields dl > div,
  .registry-chain dl > div,
  .program-card__specs > div {
    display: grid;
  }

  .registry-record__fields dd,
  .registry-chain dd,
  .program-card__specs dd {
    text-align: left;
  }

  .registry-record__status {
    justify-items: start;
  }

  .hero {
    min-height: 900px;
  }

  .hero__inner {
    padding-top: 38px;
  }

  .hero__title {
    font-size: clamp(2.51rem, 12.07vw, 3.4rem);
  }

  .hero__description {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .section-heading {
    gap: 9px;
  }

  .section-heading h2 {
    font-size: 1.21rem;
  }

  .section-heading h2::before,
  .section-heading h2::after,
  .catalog-heading::before,
  .catalog-heading::after {
    display: none;
  }

  .trust-pillars h3 {
    font-size: 0.97rem;
  }

  .trust-pillars p {
    font-size: 0.73rem;
  }

  .catalog-preview__grid,
  .catalog-grid {
    grid-template-columns: 1fr;
  }

  .gemstone-card-origin {
    font-size: 0.81rem;
  }

  .gemstone-card-detail-row,
  .gemstone-card-price-row {
    font-size: 0.84rem;
    line-height: 1.55;
  }

  .catalog-preview__image {
    min-height: 230px;
  }

  .gemstone-card-image-frame {
    aspect-ratio: 1.45 / 1;
  }

  .metric-item {
    gap: 9px;
    padding: 12px 9px;
  }

  .metric-item > svg {
    width: 26px;
  }

  .metric-item dt {
    font-size: 1.65rem;
  }

  .tech-highlights__strip dt {
    font-size: 1.02rem;
  }

  .how-hero {
    min-height: 860px;
  }

  .assets-hero {
    min-height: 1160px;
  }

  .assets-hero__title {
    font-size: 2.76rem;
  }

  .assets-investment__reasons {
    grid-template-columns: 1fr;
  }

  .investment-reason,
  .investment-reason:nth-child(3) {
    border-left: 0;
  }

  .investment-reason:nth-child(n + 2) {
    border-top: 1px solid var(--border-soft);
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-column {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border-soft);
  }
}

@media (max-width: 980px) {
  .hero-value-row__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-value-row__grid li:nth-child(3) {
    border-left: 0;
  }

  .hero-value-row__grid li:nth-child(4) {
    border-left: 1px solid var(--border-soft);
  }

  .hero-value-row__grid li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }
}

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

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .motion-reveal {
    opacity: 1;
    transform: none;
  }
}

@media (scripting: none) {
  .motion-reveal {
    opacity: 1;
    transform: none;
  }
}

/* --- The twelve closing pages ------------------------------------------ */
/* Independent Verification, Custody & Vault Structure, Proof of Gemstone
   Reserves, Corporate Development, News, Resources, Documents, Whitepaper,
   Risk Disclosure, Anti-Fraud Notice, Participant Portal and the Early
   Participation Program. They reuse the shared hero, section heading, pillar
   row, card and closing-band grammar; what follows is only what each page adds
   on top of it. Every rule sits after the site's responsive blocks, so each
   modifier restates itself in the three breakpoints at the end of this file
   rather than relying on the generic .trust-pillars rules above. */

/* Shared: a boxed status note used wherever a panel has to say what it is not
   claiming. It reads as a note rather than an error — these are corrections of
   record, not failures. */
.verification-card__note,
.custody-card__note,
.reserves-card__note,
.corporate-table__note,
.documents-library__note,
.news-state__note,
.program-card__note,
.participant-preview__note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 20px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--border-soft);
  border-left: 2px solid var(--gold);
  border-radius: 5px;
  background: rgb(216 154 39 / 5%);
  color: #b9c0c3;
  font-size: 0.83rem;
  line-height: 1.62;
}

.verification-card__note svg,
.custody-card__note svg,
.reserves-card__note svg,
.corporate-table__note svg,
.documents-library__note svg,
.news-state__note svg,
.program-card__note svg,
.participant-preview__note svg {
  flex: 0 0 auto;
  margin-top: 2px;
  color: var(--gold-light);
}

/* The parties panel is a table; its footnote must not out-weigh the rows. */
.verification-card__note {
  margin-top: 14px;
  padding: 11px 13px;
  font-size: 0.74rem;
  line-height: 1.5;
}

/* Shared: the "Planned" / "In preparation" chip. */
.resources-status,
.document-card__status,
.program-phase__state {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 3px 10px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

/* Shared: the forward link that ends a card. */
.resource-card__action,
.document-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-light);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: gap 200ms var(--ease-premium);
}

.resource-card__action:hover,
.document-card__link:hover {
  gap: 13px;
}

/* Shared: hero taglines on the closing pages. */
.verification-hero__tagline,
.reserves-hero__tagline,
.resources-hero__tagline,
.documents-hero__tagline,
.whitepaper-hero__tagline,
.program-hero__tagline {
  margin-bottom: 16px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.06rem, 1.7vw, 1.38rem);
}

.custody-hero__tagline,
.risk-hero__tagline,
.fraud-hero__tagline,
.participant-hero__tagline {
  display: grid;
  gap: 2px;
  margin-bottom: 16px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.55vw, 1.28rem);
}

/* --- 1. Independent Verification --------------------------------------- */

.verification-hero__inner,
.custody-hero__inner,
.reserves-hero__inner {
  grid-template-columns: minmax(300px, 0.62fr) minmax(0, 1fr);
  gap: 20px;
  padding-block: clamp(28px, 2.4vw, 44px);
}

/* The board's heroes on these three pages are shorter than the shared default —
   the photograph is a backdrop for the staged objects rather than a plate in
   its own right, and the framework row starts high on the page. */
.verification-hero,
.custody-hero,
.reserves-hero {
  min-height: min(clamp(430px, 33vw, 540px), 62vh);
}

/* The staged objects supply their own contrast, so the right of these plates
   does not need the shared scrim's cover — and the boards show the microscope,
   the vault and the stone plainly. The gradient clears earlier, and the plate
   is lifted to the brightness the boards print. */
/* Desktop only. Below 760px the shared mobile scrim takes over — it is a
   top-down gradient cut for a contained plate, and a left-right one declared
   later in this file would otherwise override it and leave the copy sitting on
   the photograph. */
@media (min-width: 761px) {
  .verification-hero__scrim,
  .custody-hero__scrim,
  .reserves-hero__scrim {
    background:
      linear-gradient(
        90deg,
        rgb(1 5 8 / 94%) 0%,
        rgb(1 5 8 / 82%) 26%,
        rgb(1 5 8 / 24%) 46%,
        rgb(1 5 8 / 6%) 62%,
        transparent 78%
      ),
      linear-gradient(0deg, rgb(1 5 8 / 42%) 0%, transparent 26%);
  }
}

.verification-hero .hero__image,
.custody-hero .hero__image,
.reserves-hero .hero__image {
  filter: saturate(1.12) contrast(1.1) brightness(1.5);
}

.verification-hero .hero__description,
.custody-hero .hero__description,
.reserves-hero .hero__description {
  margin-bottom: 0;
}

/* The board stages three objects over the hero photograph — a dark report card,
   a brass on-chain plate tucked below and left of it, and a gold seal at the
   right — rather than stacking them into one panel. The stage is a positioned
   box the three sit inside, so their overlap survives every width down to the
   point where it is unpacked into a column. */
.verification-hero__stage {
  position: relative;
  grid-column: 2;
  justify-self: end;
  align-self: center;
  width: min(100%, 560px);
  /* At least the plate's height, so the plate clears the card rather than
     covering the last two rows of it. */
  padding-bottom: 96px;
}

.verification-card-report {
  width: min(100%, 430px);
  margin-left: auto;
  padding: 16px 20px 17px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: linear-gradient(155deg, rgb(10 24 32 / 96%), rgb(2 7 10 / 97%));
  box-shadow: var(--shadow);
  backdrop-filter: blur(6px);
}

.verification-card-report__head {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 13px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--border-soft);
  color: var(--ivory);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.verification-card-report__crest {
  flex: 0 0 auto;
  width: 30px;
}

.verification-card-report__crest img {
  width: 100%;
  height: auto;
}

.verification-card-report__head small {
  display: block;
  margin-top: 3px;
  color: var(--gold-light);
  font-size: 0.67rem;
  font-weight: 600;
  letter-spacing: 0.09em;
}

.verification-card-report__checks {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.verification-card-report__checks li {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #dfe3e4;
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

/* The board's checks are filled gold squares, not line ticks. */
.verification-check-box {
  display: grid;
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  place-content: center;
  border: 1px solid var(--gold);
  border-radius: 3px;
  background: linear-gradient(150deg, #f0c15d, #b9800f);
  color: #14100a;
}

/* The brass plate. Dark type on gold is the whole point of it — it is the one
   object on the page that inverts, which is why the board can lay it over the
   photograph and still have it read. */
.verification-plate {
  position: absolute;
  bottom: 12px;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(100%, 360px);
  padding: 12px 16px;
  border: 1px solid #f0c96f;
  border-radius: 6px;
  background: linear-gradient(150deg, #d5aa4d 0%, #b8892c 48%, #d8b054 100%);
  box-shadow: 0 16px 40px rgb(0 0 0 / 55%);
}

.verification-plate__code {
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  border: 2px solid #2a2213;
  border-radius: 2px;
  background-color: #f6ecd4;
  background-image:
    linear-gradient(90deg, #2a2213 33%, transparent 33% 66%, #2a2213 66%),
    linear-gradient(
      0deg,
      #2a2213 22%,
      transparent 22% 44%,
      #2a2213 44% 56%,
      transparent 56% 78%,
      #2a2213 78%
    ),
    linear-gradient(
      90deg,
      transparent 20%,
      #2a2213 20% 30%,
      transparent 30% 70%,
      #2a2213 70% 80%,
      transparent 80%
    );
  background-size:
    12px 12px,
    12px 12px,
    100% 100%;
  background-position:
    0 0,
    6px 6px,
    0 0;
}

.verification-plate__title {
  margin: 0 0 3px;
  color: #17130a;
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.verification-plate__body dl {
  display: grid;
  gap: 1px;
  margin: 0;
}

.verification-plate__body div {
  display: flex;
  gap: 6px;
}

.verification-plate__body dt {
  color: #2b2312;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.verification-plate__body dt::after {
  content: ":";
}

.verification-plate__body dd {
  margin: 0;
  color: #17130a;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.69rem;
  overflow-wrap: anywhere;
}

/* The seal: a gold medallion with a milled edge, sitting to the right of and
   below the card the way a wax seal sits on a document. */
.verification-hero__seal {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: grid;
  width: 104px;
  height: 104px;
  place-content: center;
  justify-items: center;
  gap: 1px;
  border-radius: 50%;
  margin: 0;
  padding: 0 8px;
  background:
    radial-gradient(circle at 50% 50%, #0a0d0c 0 64%, transparent 64%),
    repeating-conic-gradient(#f2c667 0deg 6deg, #9a6f1c 6deg 12deg);
  box-shadow:
    inset 0 0 0 3px #0a0d0c,
    0 0 0 1px rgb(240 201 111 / 60%),
    0 14px 34px rgb(0 0 0 / 55%);
  color: var(--gold-light);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.verification-hero__seal svg {
  margin-top: 3px;
  color: var(--gold);
}

.verification-card-report__note {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--border-soft);
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.45;
}

.corporate-achievements__intro,
.corporate-milestones__intro,
.resources-library__intro,
.documents-library__intro,
.documents-published__intro,
.reserves-dashboard__intro,
.program-timeline__intro {
  max-width: 74ch;
  margin: -6px auto 26px;
  color: #b6bdc0;
  font-size: 0.93rem;
  line-height: 1.72;
  text-align: center;
}

.verification-layers {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
  list-style: none;
}

.verification-layers > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px clamp(10px, 0.95vw, 15px) 18px;
  text-align: center;
}

.verification-layers > li + li {
  border-left: 1px solid var(--border-soft);
}

.verification-layer__step {
  display: grid;
  width: 28px;
  height: 28px;
  place-content: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  margin: 0 0 9px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.9rem;
}

.verification-layers svg {
  margin-bottom: 9px;
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.verification-layers h3 {
  margin-bottom: 7px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.83rem, 0.95vw, 0.93rem);
  letter-spacing: 0.02em;
}

.verification-layer__body {
  margin-bottom: 10px;
  color: #b6bdc0;
  font-size: 0.75rem;
  line-height: 1.5;
}

.verification-layers ul {
  display: grid;
  gap: 3px;
  width: 100%;
  margin: auto 0 0;
  padding: 10px 0 0;
  border-top: 1px solid var(--border-soft);
  list-style: none;
  text-align: left;
}

.verification-layers ul li {
  position: relative;
  padding-left: 12px;
  color: #a9b1b4;
  font-size: 0.72rem;
  line-height: 1.45;
}

.verification-layers ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--gold);
  content: "\2022";
  font-size: 1em;
  line-height: 1.5;
}

.verification-detail,
.custody-detail,
.reserves-detail,
.whitepaper-detail,
.participant-detail,
.program-detail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: var(--section-gap);
}

.verification-card,
.custody-card,
.reserves-card,
.whitepaper-card,
.participant-card,
.program-card,
.resources-panel,
.news-panel {
  padding: clamp(20px, 2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.verification-card {
  padding: clamp(18px, 1.7vw, 24px);
}

.verification-card__title,
.custody-card__title,
.reserves-card__title,
.whitepaper-card__title,
.participant-card__title,
.program-card__title {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.verification-card__title {
  margin-bottom: 9px;
  font-size: clamp(0.95rem, 1.25vw, 1.06rem);
  text-align: center;
}

.verification-card__title--center,
.program-card__title--center {
  text-align: center;
}

.verification-card__intro,
.custody-card__intro,
.reserves-card__intro,
.resources-panel__intro {
  margin-bottom: 18px;
  color: #b6bdc0;
  font-size: 0.86rem;
  line-height: 1.7;
}

.verification-card__intro {
  margin-bottom: 14px;
  font-size: 0.79rem;
  line-height: 1.6;
  text-align: center;
}

.verification-card__intro--center {
  text-align: center;
}

/* The independent parties read as a table on the board: a mark on the left, a
   description on the right, a hairline between rows. */
.verification-roles {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.verification-roles > li {
  display: grid;
  grid-template-columns: minmax(104px, 0.42fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 9px 0;
}

.verification-roles > li + li {
  border-top: 1px solid var(--border-soft);
}

.verification-roles__mark {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.82rem;
  line-height: 1.15;
}

.verification-roles__mark svg {
  flex: 0 0 auto;
}

.verification-roles__body {
  color: #b0b7ba;
  font-size: 0.75rem;
  line-height: 1.5;
}

.verification-roles__body small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.7rem;
  font-style: italic;
}

.custody-criteria,
.custody-security,
.reserves-roles,
.verification-meaning,
.whitepaper-audience,
.participant-audience {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.verification-meaning {
  gap: 11px;
}

.custody-criteria > li,
.custody-security > li,
.reserves-roles > li,
.verification-meaning > li,
.whitepaper-audience > li,
.participant-audience > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--border-soft);
}

.verification-meaning > li {
  gap: 11px;
  padding-bottom: 11px;
}

.custody-criteria > li:last-child,
.custody-security > li:last-child,
.reserves-roles > li:last-child,
.verification-meaning > li:last-child,
.whitepaper-audience > li:last-child,
.participant-audience > li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.custody-criteria svg,
.custody-security svg,
.reserves-roles svg,
.verification-meaning svg,
.whitepaper-audience svg,
.participant-audience svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.custody-criteria h3,
.custody-security h3,
.reserves-roles h3,
.verification-meaning h3,
.whitepaper-audience h3,
.participant-audience h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.98rem;
  letter-spacing: 0.02em;
}

.verification-meaning h3 {
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.custody-criteria p,
.custody-security p,
.reserves-roles p,
.verification-meaning p,
.whitepaper-audience p,
.participant-audience p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.81rem;
  line-height: 1.6;
}

.verification-meaning p {
  font-size: 0.75rem;
  line-height: 1.5;
}

/* Custody's three panels are denser than the shared card rhythm: the board
   fits a four-row table, a map and a six-row list into one band. */
.custody-card {
  padding: clamp(18px, 1.7vw, 24px);
}

.custody-card__title {
  margin-bottom: 8px;
  font-size: clamp(0.95rem, 1.25vw, 1.06rem);
  text-align: center;
}

.custody-card__intro {
  margin-bottom: 14px;
  font-size: 0.78rem;
  line-height: 1.55;
  text-align: center;
}

.custody-criteria,
.custody-security {
  gap: 10px;
}

.custody-criteria > li,
.custody-security > li {
  gap: 11px;
  padding-bottom: 10px;
}

.custody-criteria h3,
.custody-security h3 {
  margin-bottom: 3px;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.055em;
}

.custody-criteria p,
.custody-security p {
  font-size: 0.74rem;
  line-height: 1.48;
}

.custody-card__note {
  margin-top: 12px;
  padding: 10px 12px;
  font-size: 0.72rem;
  line-height: 1.48;
}

/* The board fronts the perils schedule with a large gold shield, and closes the
   proof panel with a scan block rather than a plain button. */
.custody-shield {
  display: grid;
  width: 74px;
  height: 74px;
  place-content: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  margin: 0 auto 14px;
  background: radial-gradient(circle, rgb(216 154 39 / 14%), transparent 70%);
  color: var(--gold-light);
  filter: drop-shadow(0 0 18px rgb(216 154 39 / 22%));
}

.custody-proof__scan {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border: 1px solid var(--border);
  border-radius: 5px;
  background: rgb(216 154 39 / 6%);
  color: var(--gold-light);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition:
    border-color 220ms ease,
    background 220ms ease;
}

.custody-proof__scan:hover {
  border-color: var(--gold-light);
  background: rgb(216 154 39 / 12%);
}

.custody-proof__scan .verification-plate__code {
  width: 40px;
  height: 40px;
}

/* The ring. The SVG carries the two circles, the six dots and the six hair
   lines; the badges sit on top of it on a three-row grid so their labels stay
   upright and selectable. */
.verification-orbit {
  display: grid;
  gap: 12px;
}

.verification-orbit__ring {
  position: relative;
  aspect-ratio: 400 / 340;
  width: 100%;
}

.verification-orbit__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.verification-orbit__circle {
  fill: none;
  stroke: var(--gold-dark);
  stroke-width: 1;
}

.verification-orbit__circle--inner {
  stroke: rgb(216 154 39 / 30%);
  stroke-dasharray: 2 5;
}

.verification-orbit__spoke {
  stroke: var(--gold-dark);
  stroke-width: 1;
}

.verification-orbit__dot {
  fill: var(--gold-light);
}

.verification-orbit__gem {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 39%;
  height: auto;
  filter: drop-shadow(0 0 26px rgb(40 203 184 / 30%));
  transform: translate(-50%, -50%);
}

.verification-orbit__nodes {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Source order is left column top-to-bottom then right column, so the two
   columns are addressed explicitly rather than by flow. */
.verification-orbit__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  text-align: center;
}

.verification-orbit__node:nth-child(1) {
  grid-area: 1 / 1;
}
.verification-orbit__node:nth-child(2) {
  grid-area: 2 / 1;
}
.verification-orbit__node:nth-child(3) {
  grid-area: 3 / 1;
}
.verification-orbit__node:nth-child(4) {
  grid-area: 1 / 2;
}
.verification-orbit__node:nth-child(5) {
  grid-area: 2 / 2;
}
.verification-orbit__node:nth-child(6) {
  grid-area: 3 / 2;
}

.verification-orbit__badge {
  display: grid;
  width: 42px;
  height: 42px;
  place-content: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  background: rgb(3 10 14 / 92%);
  color: var(--gold-light);
}

.verification-orbit__label {
  max-width: 12ch;
  color: #c2c8cb;
  font-size: 0.72rem;
  line-height: 1.3;
}

.verification-orbit__scan {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 9px 14px;
  border: 1px solid var(--border);
  border-radius: 5px;
  background: rgb(216 154 39 / 6%);
  color: var(--gold-light);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.verification-orbit__scan .verification-plate__code {
  width: 34px;
  height: 34px;
}

.verification-orbit__footnote {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  text-align: center;
}

.verification-cta__accent,
.custody-cta__accent,
.reserves-cta__accent,
.program-invite__accent {
  display: block;
  background: linear-gradient(110deg, #b97917, #ffd67b 52%, #c48418);
  background-clip: text;
  color: transparent;
}

.verification-cta__panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  width: 100%;
  padding: 15px 17px;
  border: 1px solid var(--border);
  border-radius: 7px;
  margin-bottom: 16px;
  background: rgb(216 154 39 / 6%);
  text-align: left;
}

.verification-cta__panel svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.verification-cta__panel h3 {
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.95rem;
}

.verification-cta__panel p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.8rem;
}

/* --- 2. Custody & Vault Structure -------------------------------------- */

.custody-hero__cards,
.reserves-hero__cards {
  grid-column: 2;
  justify-self: end;
  width: min(100%, 380px);
}

.custody-hero__cards ul,
.reserves-hero__cards ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(155deg, rgb(8 20 27 / 92%), rgb(2 7 10 / 94%));
  box-shadow: var(--shadow);
  list-style: none;
  backdrop-filter: blur(6px);
}

.custody-hero__cards li,
.reserves-hero__cards li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 13px 0;
}

.custody-hero__cards li + li,
.reserves-hero__cards li + li {
  border-top: 1px solid var(--border-soft);
}

.custody-hero__cards svg,
.reserves-hero__cards svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.custody-hero__cards h2,
.reserves-hero__cards h2 {
  margin-bottom: 3px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.custody-hero__cards p,
.reserves-hero__cards p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.78rem;
  line-height: 1.5;
}

.custody-steps,
.reserves-steps,
.participant-step-flow,
.program-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
  list-style: none;
}

.reserves-steps {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.participant-step-flow,
.program-steps {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.program-steps {
  border: 0;
  background: none;
  box-shadow: none;
}

.custody-steps > li,
.reserves-steps > li,
.participant-step-flow > li,
.program-steps > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 26px clamp(10px, 1vw, 16px) 24px;
  text-align: center;
}

.custody-steps > li + li,
.reserves-steps > li + li,
.participant-step-flow > li + li,
.program-steps > li + li {
  border-left: 1px solid var(--border-soft);
}

/* The board threads a gold arrow along the divider between each pair of steps,
   level with the icons, so the row reads as a sequence rather than six cards. */
.custody-steps > li,
.reserves-steps > li {
  position: relative;
}

.custody-steps > li + li::before,
.reserves-steps > li + li::before {
  position: absolute;
  top: 62px;
  left: 0;
  z-index: 2;
  display: grid;
  width: 18px;
  height: 18px;
  place-content: center;
  border-radius: 50%;
  background: var(--ink);
  color: var(--gold);
  content: "\2192";
  font-size: 0.8rem;
  line-height: 1;
  transform: translateX(-50%);
}

.custody-step__number,
.reserves-step__number,
.participant-step__number,
.program-step__number {
  display: grid;
  width: 34px;
  height: 34px;
  place-content: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  margin: 0 0 13px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.02rem;
}

.custody-steps svg,
.reserves-steps svg,
.participant-step-flow svg,
.program-steps svg {
  margin-bottom: 12px;
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 18%));
}

.custody-steps h3,
.reserves-steps h3,
.participant-step-flow h3,
.program-steps h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.88rem, 1.02vw, 1rem);
  letter-spacing: 0.02em;
}

.custody-steps p,
.reserves-steps p,
.participant-step-flow p,
.program-steps p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.78rem;
  line-height: 1.58;
}

.reserves-step__marker {
  margin-top: 11px !important;
  padding-top: 10px;
  border-top: 1px solid var(--border-soft);
  color: var(--gold-light) !important;
  font-size: 0.71rem !important;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  width: 100%;
}

.custody-network {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.custody-network__map {
  order: -1;
}

.custody-network__block + .custody-network__block {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-soft);
}

.custody-network__block h3 {
  margin-bottom: 7px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.custody-network__block address {
  display: grid;
  gap: 2px;
  color: var(--ivory);
  font-size: 0.8rem;
  font-style: normal;
}

.custody-network__code {
  margin: 7px 0 0;
  color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.76rem;
}

.custody-network__block p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.83rem;
  line-height: 1.65;
}

/* Each of these sets its own aspect ratio, so the 250px floor .image-with-glow
   carries has to go with it: a floor plus a ratio is a minimum *width* of
   floor x ratio, and a grid track has to grow to it. That is what pushed the
   custody panels past the viewport at 390. */
.custody-network__map,
.custody-proof__image,
.reserves-passport__image,
.whitepaper-card__map,
.program-invite__image,
.fraud-channels__image,
.participant-security__image {
  min-width: 0;
  min-height: 0;
}

.custody-network__map {
  aspect-ratio: 1200 / 620;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
}

.custody-assurance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: 18px;
  margin-top: var(--section-gap);
}

.custody-perils,
.custody-proof__checks,
.reserves-passport__checks,
.participant-access,
.whitepaper-highlights,
.whitepaper-download__covers,
.program-benefits {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.custody-perils li,
.custody-proof__checks li,
.reserves-passport__checks li,
.participant-access li,
.whitepaper-highlights li,
.whitepaper-download__covers li,
.program-benefits li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  color: #c2c8cb;
  font-size: 0.85rem;
  line-height: 1.55;
}

.custody-perils svg,
.custody-proof__checks svg,
.reserves-passport__checks svg,
.participant-access svg,
.whitepaper-highlights svg,
.whitepaper-download__covers svg,
.program-benefits svg {
  margin-top: 3px;
  color: var(--gold);
}

.custody-proof,
.reserves-passport {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr);
  align-items: start;
  gap: 20px;
}

.custody-proof__image,
.reserves-passport__image {
  aspect-ratio: 1200 / 760;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
}

.reserves-passport__image {
  aspect-ratio: 660 / 1133;
}

/* --- 3. Proof of Gemstone Reserves ------------------------------------- */

.reserves-guarantee,
.reserves-process {
  margin-top: var(--section-gap);
}

/* Three panels across, as the board composes this band: the passport
   checklist, the audit roles, and the reserve dashboard. */
.reserves-detail {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.05fr);
}

.reserves-card {
  padding: clamp(18px, 1.7vw, 24px);
}

.reserves-card__title {
  margin-bottom: 8px;
  font-size: clamp(0.95rem, 1.25vw, 1.06rem);
  text-align: center;
}

.reserves-card__intro {
  margin-bottom: 14px;
  font-size: 0.78rem;
  line-height: 1.55;
  text-align: center;
}

.reserves-roles {
  gap: 11px;
}

.reserves-roles > li {
  gap: 11px;
  padding-bottom: 11px;
}

.reserves-roles h3 {
  margin-bottom: 3px;
  font-size: 0.88rem;
}

.reserves-roles p {
  font-size: 0.75rem;
  line-height: 1.48;
}

.reserves-card__note {
  margin-top: 12px;
  padding: 10px 12px;
  font-size: 0.72rem;
  line-height: 1.48;
}

/* The dashboard the board draws, with every figure withheld. */
.reserves-board {
  padding: 14px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 17 / 68%);
}

.reserves-board__status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin: 0 0 14px;
  padding: 11px 12px;
  border: 1px solid var(--border-soft);
  border-left: 2px solid var(--gold);
  border-radius: 5px;
  background: rgb(216 154 39 / 6%);
}

.reserves-board__status svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.reserves-board__status strong {
  display: block;
  margin-bottom: 4px;
  color: var(--gold-light);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reserves-board__status span {
  color: #b6bdc0;
  font-size: 0.73rem;
  line-height: 1.55;
}

.reserves-board__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.reserves-board__figures {
  display: grid;
  gap: 11px;
  margin: 0;
}

.reserves-board__figures dt {
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.reserves-board__figures dd {
  margin: 3px 0 0;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.32rem;
  line-height: 1;
}

.reserves-board__composition {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

/* Five equal arcs in the catalogue's own colours: the board's shares are
   invented, so the ring shows its five segments without claiming any split. */
.reserves-board__ring {
  display: grid;
  width: 92px;
  height: 92px;
  place-content: center;
  border-radius: 50%;
  background: conic-gradient(
    #1f9c62 0deg 72deg,
    #b32338 72deg 144deg,
    #1f6fb8 144deg 216deg,
    #9aa3a7 216deg 288deg,
    #c9922c 288deg 360deg
  );
  opacity: 0.42;
}

.reserves-board__ring span {
  display: block;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--surface);
}

.reserves-board__legend {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reserves-board__legend li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #b6bdc0;
  font-size: 0.72rem;
}

.reserves-board__swatch {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--swatch);
  opacity: 0.55;
}

.reserves-board__meta {
  display: grid;
  gap: 8px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--border-soft);
}

.reserves-board__meta div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.reserves-board__meta dt {
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.reserves-board__meta dd {
  margin: 0;
  color: #9aa2a5;
  font-size: 0.72rem;
  text-align: right;
}

/* The board's "VIEW ON BLOCKCHAIN" control. There is nothing to open, so it is
   a disabled marker rather than a link that would 404. */
.reserves-board__action {
  display: grid;
  justify-items: center;
  gap: 5px;
  margin: 14px 0 0;
}

.reserves-board__action span {
  display: block;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border-soft);
  border-radius: 4px;
  color: var(--muted);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: center;
  text-transform: uppercase;
}

.reserves-board__action small {
  color: var(--muted);
  font-size: 0.66rem;
}

.reserves-guarantee__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* --- 4. Corporate Development ------------------------------------------ */

.corporate-achievements,
.corporate-status,
.corporate-milestones,
.corporate-verify {
  margin-top: var(--section-gap);
}

/* The board runs a short hero and tucks the mission band directly beneath it,
   overlapping the plate's lower edge, so the two read as one block. */
.corporate-hero {
  min-height: min(clamp(360px, 27vw, 460px), 54vh);
}

.corporate-hero .hero__description {
  margin-bottom: 0;
}

/* The shortened heroes above are desktop compositions. On a phone the plate is
   contained as a band beneath the copy and needs its full height back. */
@media (max-width: 760px) {
  .verification-hero,
  .custody-hero,
  .reserves-hero,
  .corporate-hero,
  .resources-hero,
  .documents-hero,
  .whitepaper-hero,
  .risk-hero,
  .fraud-hero,
  .participant-hero,
  .program-hero,
  .news-hero {
    min-height: min(clamp(520px, 46vw, 760px), 72vh);
  }
}

.corporate-mission {
  margin-top: calc(var(--section-gap) * -0.34);
  position: relative;
  z-index: 3;
}

.corporate-mission__panel {
  align-items: center;
  padding: 16px clamp(18px, 1.8vw, 26px);
}

.corporate-mission__copy h2 {
  margin-bottom: 6px;
  font-size: clamp(0.95rem, 1.25vw, 1.08rem);
}

.corporate-mission__copy p {
  font-size: 0.83rem;
  line-height: 1.62;
}

.corporate-mission__marks li {
  gap: 7px;
  font-size: 0.66rem;
}

.corporate-mission__marks svg {
  width: 24px;
  height: 24px;
}

.corporate-mission__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  padding: clamp(20px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.corporate-mission__copy h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.1rem, 1.7vw, 1.34rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.corporate-mission__copy p {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.92rem;
  line-height: 1.75;
}

.corporate-mission__marks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.corporate-mission__marks li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  padding: 4px clamp(6px, 0.8vw, 12px);
  color: var(--gold-light);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-align: center;
}

.corporate-mission__marks li + li {
  border-left: 1px solid var(--border-soft);
}

.corporate-achievement-grid,
.news-category-grid,
.documents-category-grid,
.whitepaper-chapter-grid,
.participant-capability-grid,
.resources-topic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.whitepaper-chapter-grid,
.participant-capability-grid,
.resources-topic-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.news-category-grid,
.documents-category-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.corporate-achievement-grid > li,
.news-category-grid > li,
.documents-category-grid > li,
.whitepaper-chapter-grid > li,
.participant-capability-grid > li,
.resources-topic-grid > li {
  display: flex;
  flex-direction: column;
  padding: 22px 20px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: linear-gradient(150deg, rgb(9 21 28 / 74%), rgb(2 8 12 / 74%));
  transition:
    border-color 260ms ease,
    transform 320ms var(--ease-premium);
}

.corporate-achievement-grid > li:hover,
.news-category-grid > li:hover,
.documents-category-grid > li:hover,
.whitepaper-chapter-grid > li:hover,
.participant-capability-grid > li:hover,
.resources-topic-grid > li:hover {
  border-color: var(--border);
  transform: translateY(-3px);
}

.resources-topic-grid > li > a,
.resources-topic-grid > li > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.corporate-achievement-grid svg,
.news-category-grid svg,
.documents-category-grid svg,
.whitepaper-chapter-grid svg,
.participant-capability-grid svg,
.resources-topic-grid svg {
  margin-bottom: 13px;
  color: var(--gold-light);
  filter: drop-shadow(0 0 12px rgb(216 154 39 / 16%));
}

.corporate-achievement-grid h3,
.news-category-grid h3,
.documents-category-grid h3,
.whitepaper-chapter-grid h3,
.participant-capability-grid h3,
.resources-topic-grid h3 {
  margin-bottom: 9px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(0.9rem, 1.05vw, 1.02rem);
  letter-spacing: 0.02em;
}

.corporate-achievement-grid p,
.news-category-grid p,
.documents-category-grid p,
.whitepaper-chapter-grid p,
.participant-capability-grid p,
.resources-topic-grid p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.8rem;
  line-height: 1.6;
}

.resources-topic--planned .resources-status {
  margin-top: auto;
  align-self: flex-start;
}

/* Seven strands across, the way the board lays the row. */
.corporate-achievement-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}

.corporate-achievement-grid > li {
  padding: 18px 14px;
  text-align: center;
  align-items: center;
}

.corporate-achievement-grid svg {
  margin-bottom: 10px;
}

.corporate-achievement-grid h3 {
  margin-bottom: 7px;
  font-size: clamp(0.76rem, 0.88vw, 0.85rem);
}

.corporate-achievement-grid p {
  font-size: 0.73rem;
  line-height: 1.48;
}

.corporate-achievements__intro {
  margin-bottom: 20px;
  font-size: 0.86rem;
}

.corporate-table__frame {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
  -webkit-overflow-scrolling: touch;
}

.corporate-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
}

.corporate-table th,
.corporate-table td {
  padding: 9px 16px;
  border-bottom: 1px solid var(--border-soft);
  text-align: left;
  vertical-align: middle;
}

.corporate-table tbody th {
  display: flex;
  align-items: center;
  gap: 10px;
}

.corporate-table tbody th svg {
  flex: 0 0 auto;
  color: var(--gold-light);
}

.corporate-table thead th {
  color: var(--gold-light);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.corporate-table tbody th {
  color: var(--ivory);
  font-size: 0.82rem;
  font-weight: 600;
}

.corporate-table td {
  color: #b0b7ba;
  font-size: 0.79rem;
  line-height: 1.5;
}

.corporate-table tbody tr:last-child th,
.corporate-table tbody tr:last-child td {
  border-bottom: 0;
}

.corporate-status__badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.corporate-status__badge--complete {
  border-color: rgb(40 203 184 / 45%);
  color: var(--teal);
}

.corporate-status__badge--in-progress {
  border-color: var(--border);
  color: var(--gold-light);
}

.corporate-status__badge--planned {
  color: var(--muted);
}

/* The board's connected rail: one line running behind six circles. The line is
   drawn on the list rather than between the items so it cannot fall out of
   step, and it is inset by half a column at each end so it starts and stops at
   the first and last circle instead of at the panel edge. */
.corporate-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0;
  padding: 26px 16px 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  list-style: none;
}

.corporate-timeline::before {
  position: absolute;
  top: 44px;
  right: calc(16px + 100% / 12);
  left: calc(16px + 100% / 12);
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--gold-dark) 6%,
    var(--gold-dark) 94%,
    transparent
  );
  content: "";
}

.corporate-timeline > li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 10px;
  text-align: center;
}

.corporate-timeline__dot {
  position: relative;
  z-index: 2;
  display: grid;
  width: 38px;
  height: 38px;
  place-content: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  margin-bottom: 14px;
  background: radial-gradient(circle, rgb(16 34 42 / 98%), rgb(2 8 12 / 98%));
  box-shadow: 0 0 0 5px var(--surface-2);
  color: var(--gold-light);
}

.corporate-timeline h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.97rem;
}

.corporate-timeline p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.79rem;
  line-height: 1.55;
}

.corporate-milestones__footnote {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 0.83rem;
  text-align: center;
}

.corporate-milestones__footnote a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.corporate-verify__panel,
.resources-help__panel,
.risk-questions__panel,
.risk-read__panel,
.participant-notice__panel,
.program-notice__panel,
.fraud-report__panel,
.news-state {
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.corporate-verify__panel h2 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-size: clamp(1.06rem, 1.6vw, 1.28rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.corporate-verify__intro {
  max-width: 72ch;
  margin-bottom: 20px;
  color: #b6bdc0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.corporate-verify__grid,
.news-highlights,
.documents-published__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-highlights {
  grid-template-columns: minmax(0, 1fr);
}

.documents-published__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.corporate-verify__grid a,
.news-highlights a,
.documents-published__grid a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  height: 100%;
  padding: 16px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 17 / 62%);
  transition:
    border-color 240ms ease,
    transform 300ms var(--ease-premium);
}

.corporate-verify__grid a:hover,
.news-highlights a:hover,
.documents-published__grid a:hover {
  border-color: var(--border);
  transform: translateY(-3px);
}

.corporate-verify__grid svg,
.news-highlights svg,
.documents-published__grid svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.corporate-verify__grid strong,
.news-highlights strong,
.documents-published__grid strong {
  display: block;
  margin-bottom: 4px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.95rem;
  font-weight: 500;
}

.corporate-verify__grid span,
.news-highlights span,
.documents-published__grid span {
  color: #b0b7ba;
  font-size: 0.8rem;
  line-height: 1.55;
}

/* --- 5. News & Announcements ------------------------------------------- */

.news-categories,
.news-body {
  margin-top: var(--section-gap);
}

/* The board's left column is a list of articles and its right column a rail.
   With no articles to run, the left column would be a short panel beside a tall
   rail, so the "where to follow progress" panel moves under the newsroom state
   and the two columns carry comparable weight. */
.news-body {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

/* One announcement has no rail to sit beside, so it takes the full measure.
   The reading width is held by .news-single__body rather than the grid. */
.news-body--single {
  grid-template-columns: minmax(0, 1fr);
}

.news-state {
  grid-column: 1;
  margin-top: 18px;
}

.news-panel--highlights {
  grid-column: 1;
  margin-top: 18px;
}

.news-panel--highlights .news-highlights {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.news-rail {
  grid-column: 2;
  grid-row: 1 / span 3;
}

.news-state h2 {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: clamp(1.14rem, 1.8vw, 1.42rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.news-state p {
  color: #b6bdc0;
  font-size: 0.92rem;
  line-height: 1.78;
}

/* The board's filter rail: pills across the page directly under the hero. None
   of them filters anything, because there is nothing to filter, so they are
   markers rather than controls. */
.news-rail-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-rail-filters li {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 16px;
  border: 1px solid var(--border-soft);
  border-radius: 5px;
  background: rgb(4 12 17 / 62%);
  color: #b6bdc0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.news-rail-filters svg {
  flex: 0 0 auto;
  color: var(--gold-light);
}

.news-rail-filters__all {
  border-color: var(--gold-light) !important;
  background: linear-gradient(110deg, #9e6814, #f0c15d 48%, #c78618) !important;
  color: #0a0b09 !important;
  font-weight: 700 !important;
}

.news-rail-filters__all svg {
  color: #0a0b09 !important;
}

/* The editorial column. Each entry keeps the board's proportions — a media
   block beside a dated headline and standfirst — with every field empty. */
.news-articles {
  grid-column: 1;
}

.news-articles ol {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-entry {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(9 21 28 / 66%), rgb(2 8 12 / 66%));
}

.news-entry--featured {
  grid-template-columns: minmax(0, 1fr);
  border-color: var(--border);
}

.news-entry__media {
  position: relative;
  aspect-ratio: 16 / 10;
  border: 1px dashed var(--border-soft);
  border-radius: 6px;
  background:
    repeating-linear-gradient(
      -45deg,
      rgb(255 255 255 / 2%) 0 6px,
      transparent 6px 12px
    ),
    rgb(4 12 17 / 62%);
}

.news-entry--featured .news-entry__media {
  aspect-ratio: 21 / 7;
}

.news-entry__flag {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 10px;
  border-radius: 3px;
  background: linear-gradient(110deg, #9e6814, #f0c15d 48%, #c78618);
  color: #0a0b09;
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.news-entry__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
}

.news-entry__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
}

.news-entry__category {
  color: var(--gold-light);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.news-entry__date {
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
}

/* Placeholder type: shaped like a headline and a standfirst, greyed to the
   point where it cannot be read as a real one. */
.news-entry__headline {
  margin: 0;
  color: rgb(243 239 230 / 22%);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.02rem, 1.5vw, 1.24rem);
  line-height: 1.2;
}

.news-entry__standfirst {
  margin: 0;
  color: rgb(176 183 186 / 20%);
  font-size: 0.8rem;
  line-height: 1.6;
}

.news-entry__empty {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.news-entry__empty svg {
  color: var(--gold-dark);
}

/* A published announcement is not a placeholder.

   The rules above deliberately grey the headline and standfirst to ~20% so an
   empty slot cannot be misread as a real story. Once something is actually
   published that dimming becomes a bug, so this restores full-strength type.
   It has to sit below those rules to win: same specificity would not be
   enough, and raising specificity by hand invites the next edit to lose. */
.news-entry--published .news-entry__headline {
  color: var(--ivory);
  font-weight: 600;
}

.news-entry--published .news-entry__headline a {
  color: inherit;
  text-decoration: none;
}

.news-entry--published .news-entry__headline a:hover,
.news-entry--published .news-entry__headline a:focus-visible {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.news-entry--published .news-entry__standfirst {
  color: var(--text);
}

/* A real cover image fills the media slot. An announcement published without
   one keeps the dashed, hatched box: it is the archive's own way of saying
   "nothing supplied here", and swapping it for a solid empty panel would read
   as a broken image instead. */
.news-entry__media--image {
  overflow: hidden;
  border-style: solid;
  background: var(--ink-soft);
}

.news-entry__media--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* The single-announcement page: the news panel's own type, one column. */
.news-single__body {
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 74ch;
  color: var(--text);
  font-size: 0.95rem;
  line-height: 1.75;
}

.news-single__standfirst {
  margin: 0;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.06rem, 1.7vw, 1.3rem);
  line-height: 1.5;
}

.news-single__cover {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
}

.news-single__cover img {
  display: block;
  width: 100%;
  height: auto;
}

.news-single__back {
  margin-top: 6px;
  color: var(--gold-light);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.news-single__back a {
  color: inherit;
  text-decoration: none;
}

.news-single__back a:hover,
.news-single__back a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.news-state__note a,
.participant-notice__panel a,
.risk-addendum__block a,
.fraud-channels__warnings a,
.program-steps__link a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.news-rail {
  display: grid;
  gap: 18px;
}

.news-panel h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: 0.94rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.news-panel p {
  color: #b0b7ba;
  font-size: 0.84rem;
  line-height: 1.68;
}

.news-panel__note {
  margin: 12px 0 0;
  color: var(--muted) !important;
  font-size: 0.76rem !important;
}

.news-panel__email {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
}

.news-panel__email svg {
  color: var(--gold-light);
}

.news-panel__email a,
.news-panel__link {
  color: var(--gold-light);
  font-size: 0.85rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- 6. Resources ------------------------------------------------------ */

.resources-topics,
.resources-library,
.resources-lower,
.resources-help {
  margin-top: var(--section-gap);
}

/* The resource, document, whitepaper, risk, anti-fraud, portal and programme
   boards all run a shorter hero than the platform pages: copy on the left, the
   composition on the right, and the first section starting high. */
.resources-hero,
.documents-hero,
.whitepaper-hero,
.risk-hero,
.fraud-hero,
.participant-hero,
.program-hero,
.news-hero {
  min-height: min(clamp(370px, 28vw, 470px), 56vh);
}

.resources-hero .hero__description,
.documents-hero .hero__description,
.whitepaper-hero .hero__description,
.risk-hero .hero__description,
.fraud-hero .hero__description,
.participant-hero .hero__description,
.program-hero .hero__description,
.news-hero .hero__description {
  margin-bottom: 16px;
}

/* The topic row is one bordered panel divided by hairlines on the board, not
   seven separate cards. */
.resources-topic-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.resources-topic-grid > li {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 20px 14px;
  text-align: center;
  align-items: center;
}

.resources-topic-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.resources-topic-grid > li:hover {
  transform: none;
}

.resources-topic-grid > li > a,
.resources-topic-grid > li > div {
  align-items: center;
  text-align: center;
  transition: transform 320ms var(--ease-premium);
}

.resources-topic-grid > li:hover > a {
  transform: translateY(-3px);
}

.resources-topic-grid h3 {
  font-size: clamp(0.74rem, 0.86vw, 0.83rem);
}

.resources-topic-grid p {
  font-size: 0.72rem;
  line-height: 1.45;
}

.resources-topic--planned .resources-status {
  align-self: center;
}

/* Six library cards across, as the board rows them: the card grammar below is
   sized for that row rather than for a three-across block. */
.resource-card__image {
  aspect-ratio: 4 / 3;
}

.resource-card__kind {
  margin: 13px 14px 6px;
  font-size: 0.64rem;
}

.resource-card h3 {
  margin: 0 14px 6px;
  font-size: 0.87rem;
  line-height: 1.24;
}

.resource-card__body {
  margin: 0 14px 12px;
  font-size: 0.73rem;
  line-height: 1.5;
}

.resource-card .resource-card__action,
.resource-card .resources-status {
  margin: auto 14px 14px;
  font-size: 0.75rem;
}

.resources-hero__callout,
.documents-hero__callout,
.whitepaper-hero__callout,
.risk-hero__callout,
.fraud-hero__callout,
.participant-hero__callout {
  display: grid;
  max-width: 430px;
  margin-top: 4px;
  padding: 15px 18px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: rgb(2 8 12 / 68%);
}

.resources-hero__callout p,
.documents-hero__callout p,
.whitepaper-hero__callout p,
.risk-hero__callout p,
.fraud-hero__callout p,
.participant-hero__callout p {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.82rem;
  line-height: 1.6;
}

.resources-hero__callout .hero-callout__title,
.documents-hero__callout .hero-callout__title,
.whitepaper-hero__callout .hero-callout__title,
.risk-hero__callout .hero-callout__title,
.fraud-hero__callout .hero-callout__title,
.participant-hero__callout .hero-callout__title {
  margin-bottom: 6px;
  color: var(--gold-light);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.whitepaper-hero__marks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.whitepaper-hero__marks li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-light);
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.resources-library__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.resource-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(9 21 28 / 78%), rgb(2 8 12 / 78%));
  transition:
    border-color 260ms ease,
    transform 320ms var(--ease-premium);
}

.resource-card:hover {
  border-color: var(--border);
  transform: translateY(-4px);
}

.resource-card__image {
  width: 100%;
  height: auto;
  aspect-ratio: 640 / 460;
  object-fit: cover;
  border-bottom: 1px solid var(--border-soft);
}

.resource-card__kind {
  margin: 18px 20px 8px;
  color: var(--teal);
  font-size: 0.71rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.resource-card h3 {
  margin: 0 20px 8px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.04rem;
  line-height: 1.28;
}

.resource-card__body {
  margin: 0 20px 16px;
  color: #b0b7ba;
  font-size: 0.82rem;
  line-height: 1.62;
}

.resource-card .resource-card__action,
.resource-card .resources-status {
  margin: auto 20px 20px;
  align-self: flex-start;
}

.resources-lower {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.resources-panel h2 {
  margin-bottom: 14px;
  color: var(--gold-light);
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.resources-tools {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.resources-tools > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-soft);
}

.resources-tools > li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.resources-tools svg {
  margin-top: 2px;
  color: var(--gold-light);
}

.resources-tools h3 {
  margin-bottom: 5px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.98rem;
}

.resources-tools p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.81rem;
  line-height: 1.6;
}

.resources-tools__note {
  margin-top: 8px !important;
  padding-top: 8px;
  border-top: 1px solid var(--border-soft);
  color: var(--muted) !important;
  font-size: 0.77rem !important;
}

.resources-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.resources-benefits li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #b6bdc0;
  font-size: 0.81rem;
}

.resources-benefits svg {
  flex: 0 0 auto;
  color: var(--gold-light);
}

.resources-panel__note {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 0.76rem;
}

.resources-help__panel,
.risk-questions__panel,
.risk-read__panel,
.participant-notice__panel,
.program-notice__panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
}

.program-notice__panel,
.risk-read__panel,
.participant-notice__panel {
  grid-template-columns: auto minmax(0, 1fr);
}

.resources-help__panel > svg,
.risk-questions__panel > svg,
.risk-read__panel > svg,
.participant-notice__panel > svg,
.program-notice__panel > svg {
  color: var(--gold-light);
}

.resources-help__panel h2,
.risk-questions__panel h2,
.risk-read__panel h2,
.participant-notice__panel h2 {
  margin-bottom: 7px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.resources-help__panel p,
.risk-questions__panel p,
.risk-read__panel p,
.participant-notice__panel p,
.program-notice__panel p {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.participant-notice__panel a {
  display: inline-block;
  margin-top: 10px;
}

/* --- 7. Documents ------------------------------------------------------ */

.documents-categories,
.documents-library,
.documents-published,
.documents-additional {
  margin-top: var(--section-gap);
}

/* Like Resources, the board draws this row as one bordered panel divided by
   hairlines rather than six separate cards. */
.documents-category-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.documents-category-grid > li {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 20px 16px;
}

.documents-category-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.documents-category-grid > li:hover {
  transform: none;
}

.documents-category-grid h3 {
  font-size: clamp(0.76rem, 0.88vw, 0.85rem);
}

.documents-category-grid p {
  font-size: 0.73rem;
  line-height: 1.5;
}

.documents-library__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.document-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
  background: linear-gradient(150deg, rgb(9 21 28 / 78%), rgb(2 8 12 / 78%));
  transition:
    border-color 260ms ease,
    transform 320ms var(--ease-premium);
}

.document-card:hover {
  border-color: var(--border);
  transform: translateY(-4px);
}

.document-card__cover {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-bottom: 1px solid var(--border-soft);
}

.document-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 9px;
  padding: 18px;
}

.document-card h3 {
  margin: 0;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1rem;
  line-height: 1.28;
}

.document-card p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.8rem;
  line-height: 1.6;
}

/* The chip sits with the description and the onward link is what gets pushed to
   the foot of the card, so the six chips line up across the row whether or not
   a card has a link under it. */
.document-card__status {
  align-self: flex-start;
}

.document-card__link {
  margin-top: auto;
}

.documents-additional__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.documents-additional__grid > li {
  display: flex;
  flex-direction: column;
  padding: 22px 20px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: linear-gradient(150deg, rgb(9 21 28 / 74%), rgb(2 8 12 / 74%));
}

.documents-additional__grid svg {
  margin-bottom: 12px;
  color: var(--gold-light);
}

.documents-additional__grid h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.95rem;
}

.documents-additional__grid p {
  margin: 0 0 14px;
  color: #b0b7ba;
  font-size: 0.79rem;
  line-height: 1.58;
}

.documents-additional__grid .resource-card__action {
  margin-top: auto;
  align-self: flex-start;
}

/* --- 8. Whitepaper ----------------------------------------------------- */

.whitepaper-chapters,
.whitepaper-download,
.whitepaper-readnow,
.whitepaper-closing {
  margin-top: var(--section-gap);
}

/* The board draws the seven chapters as one bordered panel divided by
   hairlines, centred, the same grammar as the topic and category rows. */
.whitepaper-chapter-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.whitepaper-chapter-grid > li {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 20px 13px;
  align-items: center;
  text-align: center;
}

.whitepaper-chapter-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.whitepaper-chapter-grid > li:hover {
  transform: none;
}

.whitepaper-chapter-grid h3 {
  font-size: clamp(0.74rem, 0.86vw, 0.83rem);
}

.whitepaper-chapter-grid p {
  font-size: 0.72rem;
  line-height: 1.45;
}

.whitepaper-card p {
  color: #b6bdc0;
  font-size: 0.86rem;
  line-height: 1.72;
}

.whitepaper-card__map {
  aspect-ratio: 1200 / 620;
  margin-top: 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
}

.whitepaper-download__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 26px;
  padding: clamp(20px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.whitepaper-download__copy h2 {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: clamp(1.1rem, 1.8vw, 1.44rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.whitepaper-download__copy p {
  color: #b6bdc0;
  font-size: 0.9rem;
  line-height: 1.75;
}

.whitepaper-download__status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgb(216 154 39 / 7%);
  color: var(--gold-light) !important;
  font-size: 0.79rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.whitepaper-download__note {
  color: var(--muted) !important;
  font-size: 0.81rem !important;
}

.whitepaper-download__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.whitepaper-download__covers {
  align-content: start;
  margin: 0;
  padding: 20px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 17 / 62%);
}

.whitepaper-readnow__panel {
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
}

.whitepaper-readnow__panel h2 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.whitepaper-readnow__panel > p {
  max-width: 78ch;
  margin-bottom: 20px;
  color: #b6bdc0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.whitepaper-readnow__panel ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.whitepaper-readnow__panel ul a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  height: 100%;
  padding: 13px 15px;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  background: rgb(4 12 17 / 62%);
  color: var(--gold-light);
  font-size: 0.84rem;
  transition:
    border-color 220ms ease,
    background 220ms ease;
}

.whitepaper-readnow__panel ul a:hover {
  border-color: var(--border);
  background: rgb(216 154 39 / 8%);
}

.whitepaper-closing__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* --- 9. Risk Disclosure ------------------------------------------------ */

.risk-read,
.risk-factors,
.risk-notes,
.risk-questions,
.risk-closing {
  margin-top: var(--section-gap);
}

/* The board gives this page and the anti-fraud page a teal register: teal
   section headings and teal iconography over the usual gold. It is the one
   accent shift in the archive and it is doing a job — these are the two pages
   that warn rather than sell. */
.risk-page .section-heading h2,
.fraud-page .section-heading h2 {
  color: var(--teal);
}

@supports (background-clip: text) or (-webkit-background-clip: text) {
  .risk-page .motion-reveal.is-visible .section-heading h2,
  .fraud-page .motion-reveal.is-visible .section-heading h2 {
    background: linear-gradient(
      100deg,
      var(--teal) 0%,
      var(--teal) 40%,
      #d8fff7 50%,
      var(--teal) 60%,
      var(--teal) 100%
    );
    background-clip: text;
    background-size: 300% 100%;
    -webkit-text-fill-color: transparent;
  }
}

.risk-page .section-heading h2::before,
.risk-page .section-heading h2::after,
.fraud-page .section-heading h2::before,
.fraud-page .section-heading h2::after {
  color: var(--teal);
}

/* Twelve factors as one bordered panel, six across and two deep. */
.risk-factor-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.risk-factor-grid > li {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 20px 15px;
  align-items: center;
  text-align: center;
}

.risk-factor-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.risk-factor-grid > li:nth-child(7) {
  border-left: 0;
}

.risk-factor-grid > li:nth-child(n + 7) {
  border-top: 1px solid var(--border-soft);
}

.risk-factor-grid svg {
  color: var(--teal);
  filter: drop-shadow(0 0 12px rgb(40 203 184 / 20%));
}

.risk-factor-grid h3 {
  font-size: clamp(0.74rem, 0.85vw, 0.82rem);
}

.risk-factor-grid p {
  font-size: 0.72rem;
  line-height: 1.5;
}

.risk-read__panel h2,
.risk-questions__panel h2 {
  color: var(--teal);
}

.risk-read__panel > svg,
.risk-questions__panel > svg {
  color: var(--teal);
}

.risk-closing__grid svg {
  color: var(--teal);
}

.risk-closing__grid h3 {
  color: var(--teal);
}

.risk-factor-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.risk-factor-grid > li {
  display: flex;
  flex-direction: column;
  padding: 22px 19px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: linear-gradient(150deg, rgb(9 21 28 / 74%), rgb(2 8 12 / 74%));
}

.risk-factor-grid svg {
  margin-bottom: 13px;
  color: var(--gold-light);
}

.risk-factor-grid h3 {
  margin-bottom: 9px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.risk-factor-grid p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.79rem;
  line-height: 1.62;
}

.risk-note-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 24px;
  margin: 0;
  padding: clamp(18px, 2vw, 26px);
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  list-style: none;
}

.risk-note-grid > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.risk-note-grid svg {
  margin-top: 3px;
  color: var(--teal);
}

.risk-note-grid p {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.83rem;
  line-height: 1.65;
}

.risk-addendum {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.risk-addendum__block {
  padding: 20px 22px;
  border: 1px solid var(--border-soft);
  border-left: 2px solid var(--gold);
  border-radius: 7px;
  background: rgb(4 12 17 / 62%);
}

.risk-addendum__block h3 {
  margin-bottom: 9px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.risk-addendum__block p {
  margin: 0 0 11px;
  color: #b6bdc0;
  font-size: 0.84rem;
  line-height: 1.7;
}

.risk-closing__grid,
.fraud-commitment__grid,
.fraud-closing__grid,
.participant-closing__grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* --- 10. Anti-Fraud Notice --------------------------------------------- */

.fraud-commitments,
.fraud-scams,
.fraud-protect,
.fraud-channels,
.fraud-report,
.fraud-closing {
  margin-top: var(--section-gap);
}

/* The board runs the whole anti-fraud page in the teal register — headings,
   card titles and iconography — reserving gold for the channel list and the
   report action. See the note on .risk-page above. */
.fraud-page .trust-pillars h3,
.fraud-scam-grid h3,
.fraud-protect-grid h3,
.fraud-channels__lead h2 {
  color: var(--teal);
}

.fraud-page .trust-pillars svg,
.fraud-scam-grid svg,
.fraud-protect-grid svg {
  color: var(--teal);
  filter: drop-shadow(0 0 12px rgb(40 203 184 / 20%));
}

.fraud-page .trust-pillars li:hover svg {
  filter: drop-shadow(0 0 18px rgb(40 203 184 / 45%));
}

/* Ten scams as one bordered panel, five across and two deep. */
.fraud-scam-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.fraud-scam-grid > li {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 18px 16px;
}

.fraud-scam-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.fraud-scam-grid > li:nth-child(6) {
  border-left: 0;
}

.fraud-scam-grid > li:nth-child(n + 6) {
  border-top: 1px solid var(--border-soft);
}

.fraud-scam-grid p {
  font-size: 0.74rem;
  line-height: 1.5;
}

.fraud-scam-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fraud-scam-grid > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 19px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: linear-gradient(150deg, rgb(9 21 28 / 74%), rgb(2 8 12 / 74%));
}

.fraud-scam-grid svg {
  margin-top: 2px;
  color: #e0a04a;
}

.fraud-scam-grid h3 {
  margin-bottom: 7px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.77rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.fraud-scam-grid p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.78rem;
  line-height: 1.6;
}

.fraud-protect-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  list-style: none;
}

.fraud-protect-grid > li {
  padding: 24px 20px;
}

.fraud-protect-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.fraud-protect-grid svg {
  margin-bottom: 12px;
  color: var(--gold-light);
}

.fraud-protect-grid h3 {
  margin-bottom: 9px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.77rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.fraud-protect-grid p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.79rem;
  line-height: 1.6;
}

.fraud-channels__panel {
  padding: clamp(20px, 2.4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.fraud-channels__lead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}

.fraud-channels__image {
  width: 150px;
  aspect-ratio: 1;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
}

.fraud-channels__lead h2 {
  margin-bottom: 11px;
  color: var(--gold-light);
  font-size: clamp(1.1rem, 1.7vw, 1.34rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fraud-channels__lead p {
  margin: 0 0 7px;
  color: #b6bdc0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.fraud-channel-list {
  display: grid;
  margin: 0 0 24px;
  padding: 0;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 17 / 62%);
  list-style: none;
}

.fraud-channel-list li {
  display: grid;
  grid-template-columns: auto minmax(140px, 0.5fr) minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
}

.fraud-channel-list li + li {
  border-top: 1px solid var(--border-soft);
}

.fraud-channel-list svg {
  color: var(--gold-light);
}

.fraud-channel__label {
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fraud-channel__value {
  color: var(--ivory);
  font-size: 0.87rem;
  overflow-wrap: anywhere;
}

a.fraud-channel__value {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.fraud-channels__warnings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.fraud-channels__warnings > div {
  padding: 18px 20px;
  border: 1px solid var(--border-soft);
  border-left: 2px solid #d0642f;
  border-radius: 7px;
  background: rgb(208 100 47 / 6%);
}

.fraud-channels__warnings h3 {
  margin-bottom: 9px;
  color: #f0b183;
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.fraud-channels__warnings p {
  margin: 0 0 10px;
  color: #b9c0c3;
  font-size: 0.83rem;
  line-height: 1.7;
}

.fraud-report__panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  border-color: rgb(208 100 47 / 45%);
  background: linear-gradient(145deg, rgb(38 16 8 / 72%), rgb(6 10 13 / 88%));
}

.fraud-report__panel > svg {
  color: #e8834a;
}

.fraud-report__panel h2 {
  margin-bottom: 7px;
  color: #f0b183;
  font-size: clamp(1.06rem, 1.6vw, 1.28rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.fraud-report__panel p {
  margin: 0;
  color: #c3cacd;
  font-size: 0.88rem;
  line-height: 1.7;
}

.fraud-report__actions {
  display: grid;
  justify-items: center;
  gap: 10px;
}

.fraud-report__link {
  color: var(--gold-light);
  font-size: 0.8rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- 11. Participant Portal -------------------------------------------- */

.participant-notice,
.participant-capabilities,
.participant-steps,
.participant-cta,
.participant-closing {
  margin-top: var(--section-gap);
}

/* Seven capabilities as one bordered panel, the same grammar the rest of the
   archive uses for a wide feature row. */
.participant-capability-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.participant-capability-grid > li {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 20px 13px;
  align-items: center;
  text-align: center;
}

.participant-capability-grid > li + li {
  border-left: 1px solid var(--border-soft);
}

.participant-capability-grid > li:hover {
  transform: none;
}

.participant-capability-grid h3 {
  font-size: clamp(0.72rem, 0.84vw, 0.81rem);
}

.participant-capability-grid p {
  font-size: 0.71rem;
  line-height: 1.45;
}

/* The board bands the access list, the audience list and the preview across
   one row, with the preview taking roughly half of it. */
.participant-detail {
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 0.72fr) minmax(0, 1.5fr);
}

.participant-card {
  padding: clamp(18px, 1.7vw, 24px);
}

.participant-card__title {
  margin-bottom: 12px;
  font-size: clamp(0.95rem, 1.25vw, 1.06rem);
}

.participant-access li,
.participant-audience p {
  font-size: 0.78rem;
}

.participant-audience h3 {
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* Two cards and a full-width preview, not three cards: the shared three-column
   rule left a third of the row empty above the preview. */
.participant-detail {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.participant-card--preview {
  grid-column: 1 / -1;
}

/* The board's dashboard is rebuilt as markup rather than placed as a
   screenshot, so every cell can be left blank instead of invented. The shell is
   the board's: a brand bar with account controls, a left nav with one view
   active, and the asset table. */
.portal-preview {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: rgb(3 10 14 / 88%);
  box-shadow: 0 22px 60px rgb(0 0 0 / 40%);
}

.portal-preview__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border-soft);
  background: rgb(6 16 22 / 82%);
}

.portal-preview__brand {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.92rem;
}

.portal-preview__brand img {
  width: 22px;
  height: auto;
}

.portal-preview__controls {
  display: flex;
  gap: 8px;
}

.portal-preview__controls i {
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid var(--border-soft);
  border-radius: 50%;
}

.portal-preview__shell {
  display: grid;
  grid-template-columns: 178px minmax(0, 1fr);
}

.portal-preview__nav {
  display: grid;
  align-content: start;
  gap: 2px;
  margin: 0;
  padding: 14px 10px;
  border-right: 1px solid var(--border-soft);
  background: rgb(6 16 22 / 62%);
  list-style: none;
}

.portal-preview__nav li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  border-radius: 4px;
  color: var(--muted);
  font-size: 0.76rem;
}

.portal-preview__nav li span {
  width: 14px;
  height: 14px;
  border: 1px solid currentcolor;
  border-radius: 50%;
  opacity: 0.55;
}

.portal-preview__nav li.is-active {
  background: rgb(216 154 39 / 10%);
  color: var(--gold-light);
}

.portal-preview__nav li.is-active span {
  opacity: 1;
}

.portal-preview__body {
  padding: 16px 18px 18px;
}

.portal-preview__view {
  margin: 0 0 12px;
  color: var(--ivory);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.06rem;
}

/* The table is wider than a phone; it scrolls inside its own frame rather than
   widening the page, and the frame is focusable so the scroll is reachable
   from the keyboard. */
.portal-preview__frame {
  overflow-x: auto;
  border: 1px solid var(--border-soft);
  border-radius: 6px;
  background: rgb(6 16 22 / 52%);
  -webkit-overflow-scrolling: touch;
}

.portal-preview__table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
}

.portal-preview__table th,
.portal-preview__table td {
  padding: 11px 14px;
  text-align: left;
  vertical-align: middle;
}

.portal-preview__table thead th {
  border-bottom: 1px solid var(--border-soft);
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  white-space: nowrap;
}

.portal-preview__table tbody tr + tr th,
.portal-preview__table tbody tr + tr td {
  border-top: 1px solid var(--border-soft);
}

.portal-preview__table tbody th {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ivory);
  font-size: 0.79rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.portal-preview__table tbody th small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 400;
  letter-spacing: 0;
}

.portal-preview__token {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 34% 30%,
    rgb(255 255 255 / 45%),
    var(--token) 62%
  );
  box-shadow: 0 0 12px color-mix(in srgb, var(--token) 45%, transparent);
}

.portal-preview__table td {
  color: #b0b7ba;
  font-size: 0.77rem;
}

.portal-preview__blank span {
  color: var(--muted);
  font-size: 0.9rem;
}

.portal-preview__action {
  display: block;
  width: fit-content;
  margin: 14px auto 0;
  padding: 8px 20px;
  border: 1px solid var(--gold-dark);
  border-radius: 4px;
  color: var(--gold-light);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.participant-security {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  margin-top: 18px;
  padding: clamp(18px, 2vw, 28px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
}

.participant-security__image {
  width: 170px;
  aspect-ratio: 1;
  border: 1px solid var(--border-soft);
  border-radius: 8px;
}

.participant-security h2 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.14rem, 1.8vw, 1.42rem);
}

.participant-security p {
  margin: 0 0 4px;
  color: #b6bdc0;
  font-size: 0.88rem;
}

.participant-security .button {
  margin-top: 14px;
}

.participant-cta__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: clamp(20px, 2.2vw, 32px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
}

.participant-cta__panel h2 {
  margin-bottom: 10px;
  color: var(--gold-light);
  font-size: clamp(1.06rem, 1.6vw, 1.28rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.participant-cta__panel p {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.participant-cta__support {
  margin-top: 8px !important;
  color: var(--muted) !important;
  font-size: 0.81rem !important;
}

.participant-cta__support a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- 12. Early Participation Program ----------------------------------- */

.program-notice,
.program-reasons,
.program-timeline,
.program-invite,
.program-faq {
  margin-top: var(--section-gap);
}

.program-notice {
  margin-top: calc(var(--section-gap) * 0.55);
}

.program-notice__panel {
  border-color: var(--border);
  border-left: 3px solid var(--gold);
}

/* The board runs this hero tight: two short paragraphs and the discount badge,
   with the "why participate" row starting high. The copy column is capped so
   the paragraphs break where the board breaks them. */
.program-hero .hero__inner {
  padding-block: clamp(24px, 2.2vw, 40px);
}

.program-hero .hero__copy {
  max-width: 520px;
}

.program-hero .hero__description {
  margin-bottom: 12px;
  font-size: clamp(0.92rem, 1vw, 0.97rem);
  line-height: 1.68;
}

.program-hero__tagline {
  margin-bottom: 12px;
}

.program-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 6px 0 0;
  padding: 13px 20px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: rgb(2 8 12 / 72%);
}

.program-hero__badge svg {
  color: var(--gold-light);
}

.program-hero__badge strong {
  margin-right: 8px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.72rem;
  font-weight: 500;
  line-height: 1;
}

.program-hero__badge span {
  color: var(--gold-light);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.program-hero__badge small {
  display: block;
  margin-top: 4px;
  color: #b0b7ba;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
}

.program-reason__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.program-detail {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}

.program-details {
  display: grid;
  margin: 0;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(4 12 17 / 62%);
}

.program-details div {
  display: grid;
  grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  padding: 13px 17px;
}

.program-details div + div {
  border-top: 1px solid var(--border-soft);
}

.program-details dt {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--gold-light);
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.program-details dt svg {
  flex: 0 0 auto;
}

.program-details dd {
  margin: 0;
  color: #b6bdc0;
  font-size: 0.83rem;
  line-height: 1.6;
}

.program-steps__link {
  margin: 18px 0 0;
  text-align: center;
}

.program-phases {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  list-style: none;
}

.program-phases > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 26px 18px 24px;
  text-align: center;
}

.program-phases > li + li {
  border-left: 1px solid var(--border-soft);
}

.program-phase__dot {
  display: grid;
  width: 36px;
  height: 36px;
  place-content: center;
  border: 1px solid var(--gold-dark);
  border-radius: 50%;
  margin-bottom: 14px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 1.02rem;
}

.program-phase--open .program-phase__dot {
  border-color: var(--gold);
  background: rgb(216 154 39 / 14%);
}

.program-phases h3 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-family: var(--font-display), Georgia, serif;
  font-size: 0.97rem;
}

.program-phases p {
  margin: 0 0 12px;
  color: #b0b7ba;
  font-size: 0.79rem;
  line-height: 1.55;
}

.program-phases .program-phase__state {
  margin: auto 0 0;
}

.program-phase--open .program-phase__state {
  border-color: var(--gold-dark);
  color: var(--gold-light);
}

.program-invite {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  align-items: start;
  gap: 18px;
}

.program-invite__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 20px 24px;
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 86%), rgb(2 8 12 / 86%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.program-invite__copy h2 {
  margin-bottom: 14px;
  font-size: clamp(1.24rem, 2.1vw, 1.72rem);
  line-height: 1.18;
}

.program-invite__copy h2 span {
  display: block;
}

.program-invite__copy p {
  margin-bottom: 20px;
  color: #b6bdc0;
  font-size: 0.9rem;
  line-height: 1.72;
}

.program-invite__support {
  margin: 12px 0 0 !important;
  color: var(--muted) !important;
  font-size: 0.79rem !important;
}

.program-invite__image {
  aspect-ratio: 1200 / 760;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
}

.program-invite__backing {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 17px 19px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: rgb(216 154 39 / 5%);
}

.program-invite__backing svg {
  grid-row: span 2;
  margin-top: 2px;
  color: var(--gold-light);
}

.program-invite__backing h3 {
  margin: 0 0 6px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.program-invite__backing h3 span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
}

.program-invite__backing p {
  margin: 0;
  color: #b0b7ba;
  font-size: 0.81rem;
  line-height: 1.6;
}

.program-faq__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-faq__list details {
  height: 100%;
  padding: 4px 18px;
  border: 1px solid var(--border-soft);
  border-radius: 7px;
  background: linear-gradient(150deg, rgb(9 21 28 / 74%), rgb(2 8 12 / 74%));
}

.program-faq__list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
  color: var(--ivory);
  font-size: 0.89rem;
  font-weight: 600;
  list-style: none;
}

.program-faq__list summary::-webkit-details-marker {
  display: none;
}

.program-faq__list summary svg {
  flex: 0 0 auto;
  color: var(--gold-light);
  transition: transform 220ms var(--ease-premium);
}

.program-faq__list details[open] summary svg {
  transform: rotate(180deg);
}

.program-faq__list details p {
  margin: 0 0 16px;
  padding-top: 13px;
  border-top: 1px solid var(--border-soft);
  color: #b6bdc0;
  font-size: 0.84rem;
  line-height: 1.7;
}

.program-faq__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.program-faq__links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gold-light);
  font-size: 0.83rem;
  transition: gap 200ms var(--ease-premium);
}

.program-faq__links a:hover {
  gap: 13px;
}

/* --- The twelve closing pages: responsive ------------------------------- */
/* These sit after every other breakpoint block in this file, so each modifier
   restates its own columns at each width. The generic .trust-pillars rules
   earlier in the file cannot reach a compound modifier declared below them. */

@media (max-width: 1330px) {
  .verification-layers,
  .custody-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .verification-layers > li:nth-child(4),
  .custody-steps > li:nth-child(4) {
    border-left: 0;
  }

  .verification-layers > li:nth-child(n + 4),
  .custody-steps > li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .reserves-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .reserves-steps > li:nth-child(5) {
    border-left: 0;
  }

  .reserves-steps > li:nth-child(n + 5) {
    border-top: 1px solid var(--border-soft);
  }

  .news-category-grid,
  .documents-library__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .participant-capability-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .participant-capability-grid > li:nth-child(5) {
    border-left: 0;
  }

  .participant-capability-grid > li:nth-child(n + 5) {
    border-top: 1px solid var(--border-soft);
  }

  .participant-detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .participant-card--preview {
    grid-column: 1 / -1;
  }

  .risk-factor-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .risk-factor-grid > li:nth-child(7) {
    border-left: 1px solid var(--border-soft);
  }

  .risk-factor-grid > li:nth-child(4n + 1) {
    border-left: 0;
  }

  .risk-factor-grid > li:nth-child(n + 5) {
    border-top: 1px solid var(--border-soft);
  }

  .whitepaper-chapter-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .whitepaper-chapter-grid > li:nth-child(5) {
    border-left: 0;
  }

  .whitepaper-chapter-grid > li:nth-child(n + 5) {
    border-top: 1px solid var(--border-soft);
  }

  .documents-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .documents-category-grid > li:nth-child(4) {
    border-left: 0;
  }

  .documents-category-grid > li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .resources-topic-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .resources-topic-grid > li:nth-child(5) {
    border-left: 0;
  }

  .resources-topic-grid > li:nth-child(n + 5) {
    border-top: 1px solid var(--border-soft);
  }

  .resources-library__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .corporate-achievement-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .documents-additional__grid,
  .whitepaper-readnow__panel ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .corporate-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px 0;
  }

  /* The rail only reads across one row; once the six wrap it is dropped. */
  .corporate-timeline::before {
    display: none;
  }

  .fraud-protect-grid,
  .program-phases,
  .participant-step-flow,
  .program-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fraud-scam-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .fraud-scam-grid > li:nth-child(6) {
    border-left: 1px solid var(--border-soft);
  }

  .fraud-scam-grid > li:nth-child(3n + 1) {
    border-left: 0;
  }

  .fraud-scam-grid > li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .fraud-protect-grid > li:nth-child(4),
  .program-phases > li:nth-child(4),
  .participant-step-flow > li:nth-child(4),
  .program-steps > li:nth-child(4) {
    border-left: 0;
  }

  .fraud-protect-grid > li:nth-child(n + 4),
  .program-phases > li:nth-child(n + 4),
  .participant-step-flow > li:nth-child(n + 4),
  .program-steps > li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .reserves-guarantee__grid,
  .risk-closing__grid,
  .fraud-commitment__grid,
  .fraud-closing__grid,
  .participant-closing__grid,
  .whitepaper-closing__grid,
  .program-reason__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .reserves-guarantee__grid li:nth-child(4),
  .risk-closing__grid li:nth-child(4),
  .fraud-commitment__grid li:nth-child(4),
  .fraud-closing__grid li:nth-child(4),
  .participant-closing__grid li:nth-child(4),
  .whitepaper-closing__grid li:nth-child(4),
  .program-reason__grid li:nth-child(4) {
    border-left: 0;
  }

  .reserves-guarantee__grid li:nth-child(n + 4),
  .risk-closing__grid li:nth-child(n + 4),
  .fraud-commitment__grid li:nth-child(n + 4),
  .fraud-closing__grid li:nth-child(n + 4),
  .participant-closing__grid li:nth-child(n + 4),
  .whitepaper-closing__grid li:nth-child(n + 4),
  .program-reason__grid li:nth-child(n + 4) {
    border-top: 1px solid var(--border-soft);
  }

  .verification-detail,
  .custody-detail,
  .reserves-detail,
  .whitepaper-detail,
  .participant-detail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .verification-detail > *:last-child,
  .custody-detail > *:last-child,
  .reserves-detail > *:last-child,
  .whitepaper-detail > *:last-child {
    grid-column: 1 / -1;
  }

  .resources-library__grid,
  .documents-published__grid,
  .corporate-verify__grid,
  .risk-note-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .verification-hero__inner,
  .custody-hero__inner,
  .reserves-hero__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .verification-hero__stage,
  .custody-hero__cards,
  .reserves-hero__cards {
    grid-column: 1;
    justify-self: stretch;
    width: 100%;
    max-width: 520px;
  }

  /* Below the two-column hero the three objects stop overlapping and stack, so
     none of them covers another's text on a narrow screen. */
  .verification-hero__stage {
    display: grid;
    gap: 12px;
    padding-bottom: 0;
  }

  .verification-card-report {
    width: 100%;
    margin-left: 0;
  }

  .verification-plate {
    position: static;
    width: 100%;
  }

  .verification-hero__seal {
    position: static;
    justify-self: start;
    width: 90px;
    height: 90px;
    font-size: 0.55rem;
  }

  .verification-layers,
  .custody-steps,
  .reserves-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .corporate-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 0;
  }

  .verification-layers > li:nth-child(odd),
  .custody-steps > li:nth-child(odd),
  .reserves-steps > li:nth-child(odd) {
    border-left: 0;
  }

  .verification-layers > li:nth-child(even),
  .custody-steps > li:nth-child(even),
  .reserves-steps > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .verification-layers > li:nth-child(n + 3),
  .custody-steps > li:nth-child(n + 3),
  .reserves-steps > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .verification-orbit__ring {
    aspect-ratio: 400 / 400;
  }

  .verification-orbit__gem {
    width: 33%;
  }

  .news-state,
  .news-panel--highlights,
  .news-rail {
    grid-column: 1;
    grid-row: auto;
  }

  .news-panel--highlights .news-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .news-entry,
  .news-entry--featured {
    grid-template-columns: minmax(0, 1fr);
  }

  .news-entry__media,
  .news-entry--featured .news-entry__media {
    aspect-ratio: 16 / 7;
  }

  .verification-detail,
  .custody-detail,
  .custody-assurance,
  .reserves-detail,
  .whitepaper-detail,
  .participant-detail,
  .program-detail,
  .program-invite,
  .resources-lower,
  .news-body,
  .risk-addendum,
  .fraud-channels__warnings {
    grid-template-columns: minmax(0, 1fr);
  }

  .verification-detail > *:last-child,
  .custody-detail > *:last-child,
  .reserves-detail > *:last-child,
  .whitepaper-detail > *:last-child {
    grid-column: auto;
  }

  .resources-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .resources-topic-grid > li:nth-child(odd) {
    border-left: 0;
  }

  .resources-topic-grid > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .resources-topic-grid > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .documents-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .documents-category-grid > li:nth-child(odd) {
    border-left: 0;
  }

  .documents-category-grid > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .documents-category-grid > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .whitepaper-chapter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .whitepaper-chapter-grid > li:nth-child(odd) {
    border-left: 0;
  }

  .whitepaper-chapter-grid > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .whitepaper-chapter-grid > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .risk-factor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .risk-factor-grid > li:nth-child(odd) {
    border-left: 0;
  }

  .risk-factor-grid > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .risk-factor-grid > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .fraud-scam-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fraud-scam-grid > li:nth-child(odd) {
    border-left: 0;
  }

  .fraud-scam-grid > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .fraud-scam-grid > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .participant-capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .participant-capability-grid > li:nth-child(odd) {
    border-left: 0;
  }

  .participant-capability-grid > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .participant-capability-grid > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .news-category-grid,
  .documents-library__grid,
  .corporate-achievement-grid,
  .documents-additional__grid,
  .whitepaper-readnow__panel ul,
  .documents-published__grid,
  .corporate-verify__grid,
  .risk-note-grid,
  .resources-library__grid,
  .program-faq__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .corporate-mission__panel,
  .whitepaper-download__panel,
  .program-invite__panel,
  .participant-cta__panel,
  .participant-security,
  .fraud-channels__lead,
  .custody-proof,
  .reserves-passport {
    grid-template-columns: minmax(0, 1fr);
  }

  .participant-security,
  .fraud-channels__lead {
    justify-items: start;
  }

  .resources-help__panel,
  .risk-questions__panel,
  .fraud-report__panel {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .resources-help__panel .button,
  .risk-questions__panel .button,
  .fraud-report__actions {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .fraud-report__actions {
    justify-items: start;
  }

  .fraud-protect-grid,
  .program-phases,
  .participant-step-flow,
  .program-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .fraud-protect-grid > li:nth-child(odd),
  .program-phases > li:nth-child(odd),
  .participant-step-flow > li:nth-child(odd),
  .program-steps > li:nth-child(odd) {
    border-left: 0;
  }

  .fraud-protect-grid > li:nth-child(even),
  .program-phases > li:nth-child(even),
  .participant-step-flow > li:nth-child(even),
  .program-steps > li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .fraud-protect-grid > li:nth-child(n + 3),
  .program-phases > li:nth-child(n + 3),
  .participant-step-flow > li:nth-child(n + 3),
  .program-steps > li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .reserves-guarantee__grid,
  .risk-closing__grid,
  .fraud-commitment__grid,
  .fraud-closing__grid,
  .participant-closing__grid,
  .whitepaper-closing__grid,
  .program-reason__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reserves-guarantee__grid li:nth-child(odd),
  .risk-closing__grid li:nth-child(odd),
  .fraud-commitment__grid li:nth-child(odd),
  .fraud-closing__grid li:nth-child(odd),
  .participant-closing__grid li:nth-child(odd),
  .whitepaper-closing__grid li:nth-child(odd),
  .program-reason__grid li:nth-child(odd) {
    border-left: 0;
  }

  .reserves-guarantee__grid li:nth-child(even),
  .risk-closing__grid li:nth-child(even),
  .fraud-commitment__grid li:nth-child(even),
  .fraud-closing__grid li:nth-child(even),
  .participant-closing__grid li:nth-child(even),
  .whitepaper-closing__grid li:nth-child(even),
  .program-reason__grid li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .reserves-guarantee__grid li:nth-child(n + 3),
  .risk-closing__grid li:nth-child(n + 3),
  .fraud-commitment__grid li:nth-child(n + 3),
  .fraud-closing__grid li:nth-child(n + 3),
  .participant-closing__grid li:nth-child(n + 3),
  .whitepaper-closing__grid li:nth-child(n + 3),
  .program-reason__grid li:nth-child(n + 3) {
    border-top: 1px solid var(--border-soft);
  }

  .corporate-mission__marks {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .portal-preview__shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-preview__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-right: 0;
    border-bottom: 1px solid var(--border-soft);
  }
}

@media (max-width: 760px) {
  .verification-layers,
  .custody-steps,
  .reserves-steps,
  .fraud-protect-grid,
  .program-phases,
  .participant-step-flow,
  .program-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .verification-layers > li,
  .custody-steps > li,
  .reserves-steps > li,
  .fraud-protect-grid > li,
  .program-phases > li,
  .participant-step-flow > li,
  .program-steps > li {
    border-left: 0 !important;
  }

  .verification-layers > li + li,
  .custody-steps > li + li,
  .reserves-steps > li + li,
  .fraud-protect-grid > li + li,
  .program-phases > li + li,
  .participant-step-flow > li + li,
  .program-steps > li + li {
    border-top: 1px solid var(--border-soft);
  }

  .verification-layers ul {
    max-width: 320px;
    margin-inline: auto;
  }

  .whitepaper-chapter-grid,
  .participant-capability-grid,
  .resources-topic-grid,
  .news-category-grid,
  .documents-category-grid,
  .risk-factor-grid,
  .documents-library__grid,
  .corporate-achievement-grid,
  .documents-additional__grid,
  .whitepaper-readnow__panel ul,
  .resources-topic-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .resources-topic-grid > li {
    border-left: 0 !important;
  }

  .resources-topic-grid > li + li,
  .documents-category-grid > li + li,
  .whitepaper-chapter-grid > li + li {
    border-top: 1px solid var(--border-soft);
  }

  .whitepaper-chapter-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .whitepaper-chapter-grid > li,
  .risk-factor-grid > li,
  .participant-capability-grid > li {
    border-left: 0 !important;
  }

  .corporate-timeline {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .participant-capability-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .participant-capability-grid > li + li {
    border-top: 1px solid var(--border-soft);
  }

  .risk-factor-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .risk-factor-grid > li + li,
  .fraud-scam-grid > li + li {
    border-top: 1px solid var(--border-soft);
  }

  .fraud-scam-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .fraud-scam-grid > li {
    border-left: 0 !important;
  }

  .documents-category-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .documents-category-grid > li {
    border-left: 0 !important;
  }

  .fraud-scam-grid,
  .documents-published__grid,
  .corporate-verify__grid,
  .risk-note-grid,
  .resources-library__grid,
  .program-faq__list,
  .resources-benefits,
  .news-panel--highlights .news-highlights {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Figures beside a donut do not fit a phone column; they stack. */
  .reserves-board__grid,
  .reserves-board__composition {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
  }

  .reserves-board__legend {
    justify-items: start;
  }

  .reserves-guarantee__grid,
  .risk-closing__grid,
  .fraud-commitment__grid,
  .fraud-closing__grid,
  .participant-closing__grid,
  .whitepaper-closing__grid,
  .program-reason__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .corporate-mission__marks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 0;
  }

  .corporate-mission__marks li:nth-child(odd) {
    border-left: 0;
  }

  .corporate-mission__marks li:nth-child(even) {
    border-left: 1px solid var(--border-soft);
  }

  .resources-help__panel,
  .risk-questions__panel,
  .risk-read__panel,
  .participant-notice__panel,
  .program-notice__panel,
  .fraud-report__panel {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .resources-tools > li {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .resources-tools > li .resource-card__action,
  .resources-tools > li .resources-status {
    grid-column: 2;
  }

  .program-details div {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .fraud-channel-list li {
    grid-template-columns: auto minmax(0, 1fr);
    row-gap: 4px;
  }

  .fraud-channel__value {
    grid-column: 2;
  }

  .document-card {
    flex-direction: row;
  }

  .document-card__cover {
    width: 40%;
    max-width: 170px;
    aspect-ratio: auto;
    border-right: 1px solid var(--border-soft);
    border-bottom: 0;
  }

  /* At phone width the ring cannot hold six labels around a gem, so it becomes
     the two plain columns the labels were always readable as. */
  .verification-orbit__ring {
    aspect-ratio: auto;
  }

  .verification-orbit__lines,
  .verification-orbit__gem {
    display: none;
  }

  .verification-orbit__nodes {
    position: static;
    grid-template-rows: none;
    gap: 14px 10px;
  }

  .participant-security__image,
  .fraud-channels__image {
    width: 128px;
  }

  .program-hero__badge {
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media (max-width: 520px) {
  .reserves-guarantee__grid,
  .risk-closing__grid,
  .fraud-commitment__grid,
  .fraud-closing__grid,
  .participant-closing__grid,
  .whitepaper-closing__grid,
  .program-reason__grid,
  .corporate-mission__marks {
    grid-template-columns: minmax(0, 1fr);
  }

  .reserves-guarantee__grid li,
  .risk-closing__grid li,
  .fraud-commitment__grid li,
  .fraud-closing__grid li,
  .participant-closing__grid li,
  .whitepaper-closing__grid li,
  .program-reason__grid li,
  .corporate-mission__marks li {
    border-left: 0 !important;
  }

  .reserves-guarantee__grid li + li,
  .risk-closing__grid li + li,
  .fraud-commitment__grid li + li,
  .fraud-closing__grid li + li,
  .participant-closing__grid li + li,
  .whitepaper-closing__grid li + li,
  .program-reason__grid li + li,
  .corporate-mission__marks li + li {
    border-top: 1px solid var(--border-soft);
  }

  .document-card {
    flex-direction: column;
  }

  .document-card__cover {
    width: 100%;
    max-width: none;
    aspect-ratio: 4 / 5;
    border-right: 0;
    border-bottom: 1px solid var(--border-soft);
  }
}

/* --- The gemstone programme index ---------------------------------------- */
/* Closes the parent/detail gap on /gemstone-programs: the board's grid draws
   ten stones and links three, while eighteen pages declare this page as their
   parent. A plain list rather than more cards, because the board draws no more
   cards and two of the stones have no faceted artwork to put in one. */

.programs-index {
  margin-top: 18px;
  padding: clamp(20px, 2.2vw, 30px);
  border: 1px solid var(--border);
  border-radius: 9px;
  background: linear-gradient(145deg, rgb(9 21 28 / 82%), rgb(2 8 12 / 82%));
  box-shadow:
    inset 0 1px rgb(255 255 255 / 2%),
    0 18px 55px rgb(0 0 0 / 20%);
}

.programs-index h2 {
  margin-bottom: 8px;
  color: var(--gold-light);
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.programs-index > p {
  max-width: 74ch;
  margin-bottom: 20px;
  color: #b6bdc0;
  font-size: 0.86rem;
  line-height: 1.7;
}

.programs-index__groups {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
  gap: 22px;
}

.programs-index h3 {
  margin-bottom: 11px;
  color: var(--gold-light);
  font-family: var(--font-sans), Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.programs-index ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 7px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.programs-index a {
  display: block;
  padding: 7px 11px;
  border: 1px solid var(--border-soft);
  border-radius: 5px;
  background: rgb(4 12 17 / 62%);
  color: #c2c8cb;
  font-size: 0.79rem;
  transition:
    border-color 200ms ease,
    background 200ms ease,
    color 200ms ease;
}

.programs-index a:hover {
  border-color: var(--border);
  background: rgb(216 154 39 / 8%);
  color: var(--gold-light);
}

@media (max-width: 980px) {
  .programs-index__groups {
    grid-template-columns: minmax(0, 1fr);
  }
}
