/* Shared inner-page blocks (hero, feature rows, tick lists, card grid). Page-owned copy. */
.phero { padding-bottom: clamp(48px, 6vw, 80px); }
.phero .hero__stage { margin-top: clamp(36px, 5vw, 56px); max-width: 1040px; }
.phero .hero__stage .frame { -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent 99%); mask-image: linear-gradient(180deg, #000 80%, transparent 99%); }
.phero .hero__stage .frame__screen { aspect-ratio: 1.9 / 1; }
.phero .hero__stage .frame__screen > img { transform: none; }
.phero h1 { font-size: clamp(2.3rem, 5.6vw, 4.4rem); }
.feat { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.feat--rev .feat__copy { order: 2; }
.feat__copy { display: grid; gap: 18px; align-content: start; }
.feat__copy .lede { max-width: 34em; }
.feat__visual { position: relative; min-width: 0; }
.feat__visual .frame { transform: none; }
.ticks { display: grid; gap: 11px; margin-top: 6px; }
.ticks li { display: flex; gap: 11px; font-size: .98rem; line-height: 1.45; color: var(--fg); }
.ticks li svg { flex: none; width: 17px; height: 17px; margin-top: 3px; color: var(--teal); }
.note { font-size: .88rem; color: var(--fg-3); font-family: var(--font-mono); letter-spacing: .01em; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 22px); }
.card { display: grid; gap: 12px; align-content: start; padding: clamp(22px, 2.6vw, 32px); border-radius: var(--r-xl); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--card-shadow); transition: transform .4s var(--ease-out), box-shadow .4s var(--ease-out); }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.card__ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(145deg, rgba(255,122,26,.16), rgba(109,74,255,.16)); border: 1px solid var(--line); color: var(--accent-text); }
.card__ic svg { width: 21px; height: 21px; }
.card p { color: var(--fg-2); font-size: .98rem; }
.card a.more { font-weight: 600; color: var(--accent-text); font-size: .94rem; }
.card a.more:hover { text-decoration: underline; text-underline-offset: 3px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 900px) {
  .js .reveal--right:not(.is-in) { transform: translate3d(0, 26px, 0); }
  .feat { grid-template-columns: 1fr; }
  .feat--rev .feat__copy { order: 0; }
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .cards { grid-template-columns: 1fr; }
  .phero .hero__stage { padding-inline: 12px; }
  .phero .hero__stage .frame__screen { aspect-ratio: 1.45 / 1; }
}

/* governance */
.gov-dark { overflow: hidden; }
.gov-dark::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 60% at 85% 40%, rgba(109,74,255,.2), transparent 70%), radial-gradient(40% 40% at 0% 100%, rgba(255,122,26,.12), transparent 70%); pointer-events: none; }
.gov-dark .wrap { position: relative; }
.gov-dark .ticks li { color: #d6dbe7; }
#roles .feat__visual .frame { max-width: 560px; margin-inline: auto; }
#tracing .frame__screen > video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2; }
.gov-avail { overflow: hidden; }
.gov-avail::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 50% at 50% 0%, rgba(255,122,26,.1), transparent 70%); pointer-events: none; }
.gov-avail .wrap { position: relative; }
.avail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.avail__col { display: grid; gap: 12px; align-content: start; padding: clamp(24px, 3vw, 34px); border-radius: var(--r-xl); border: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); }
.avail__col .ticks li { color: #d6dbe7; }
.avail__col .btn { justify-self: start; margin-top: 8px; }
@media (max-width: 900px) { .avail { grid-template-columns: 1fr; } }
