/* Shared page contract: complete artwork at container width; vertical document flow.
   Future pages opt in with .grlab-page / .grlab-page-scene. No viewport-height fit. */
:where(.grlab-page, .grlab-wp-host) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
:where(.grlab-page, .grlab-wp-host) .grlab-page-scene {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: var(--grlab-scene-ratio, 16/9);
  margin: 0;
  padding: 0;
  overflow: clip;
  isolation: isolate;
}
.grlab-page-footer {
  box-sizing: border-box;
  min-height: 110px;
  background: #dedbd5;
  color: #353836;
  padding: 24px 5%;
  font:
    1rem/1.6 system-ui,
    sans-serif;
  border-top: 1px solid #c6c3bd;
  overflow-wrap: anywhere;
}
.grlab-page-footer a {
  color: inherit;
  text-decoration: underline;
}
.grlab-page-footer p {
  margin: 0;
}
.grlab-page-footer a:focus-visible {
  outline: 2px solid #355940;
  outline-offset: 3px;
}
