.vl-page {
  --vl-ink: #112b22;
  --vl-muted: #425e51;
  --vl-dark: #061d16;
  --vl-line: #b8cbbd;
  color: var(--vl-ink);
  background: #eef3e9;
}
.vl-shell { width: min(72rem, calc(100% - 2.5rem)); margin-inline: auto; }
.vl-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(2.5rem, 7vw, 6rem) 0; background: var(--vl-dark); color: #edf8ee; }
.vl-hero__video { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; border: 0; border-radius: 0; background: #03110b; filter: brightness(1.12); }
.vl-hero__veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(2, 16, 11, .16), rgba(2, 16, 11, .04) 65%, transparent); }
.vl-hero__content { position: relative; z-index: 2; pointer-events: none; }
.vl-hero__copy { width: min(100%, 44rem); min-width: 0; padding: clamp(1.25rem, 2vw, 1.75rem); border: 1px solid rgba(152, 196, 163, .3); border-radius: .65rem; background: rgba(3, 20, 13, .78); pointer-events: auto; }
.vl-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 1.25rem; }
.vl-hero__caption { flex: 1 1 24rem; max-width: 55ch; margin: 0; padding: .6rem .8rem; border-radius: .3rem; background: rgba(3, 20, 13, .82); color: #d4e6d9; font: .85rem/1.6 system-ui, sans-serif; }
.vl-motion-toggle { flex: 0 0 auto; min-height: 44px; padding: .65rem 1rem; border: 1px solid #86b99b; border-radius: .3rem; background: #0b281e; color: #f0faee; font: 700 .8rem/1.4 system-ui, sans-serif; cursor: pointer; pointer-events: auto; }
.vl-motion-toggle[hidden] { display: none; }
.vl-motion-toggle:hover { background: #183e2e; }
.vl-motion-toggle:focus-visible { outline: 3px solid #b7ff69; outline-offset: 4px; }
.vl-eyebrow, .vl-index { font: 700 .75rem/1.5 system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.vl-hero .vl-eyebrow { color: #b7ff69; }
.vl-hero h1 { max-width: 16ch; margin: .8rem 0 1.25rem; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.04; text-wrap: balance; }
.vl-lead { max-width: 66ch; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.65; }
.vl-status-note { max-width: 74ch; padding: 1rem 1.2rem; margin-top: 1.75rem; border-left: 3px solid #b7ff69; background: #102e23; color: #e2efdf; line-height: 1.65; }
.vl-hero .vl-release-notice { margin: 1.5rem 0 0; padding: 1.1rem 1.25rem; border: 1px solid #a85c64; border-left-width: 4px; border-radius: .35rem; background: #341a20; color: #fff1f2; }
.vl-hero .vl-release-notice h2 { margin: 0 0 .75rem; color: #fff1f2; font: 750 1.15rem/1.4 system-ui, sans-serif; }
.vl-hero .vl-release-notice p { margin: .65rem 0 0; color: #fff1f2; font: .95rem/1.65 system-ui, sans-serif; text-align: left; }
.vl-hero .vl-release-notice strong { color: #fff1f2; }
.vl-hero .vl-release-notice a { color: #ffc1c6; text-decoration: underline; text-underline-offset: .2em; }
.vl-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.vl-action { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .7rem 1rem; border: 1px solid #719c77; text-decoration: none; font: 700 .9rem/1.4 system-ui, sans-serif; }
.vl-hero .vl-action { color: #eef8e9; }
.vl-action--primary, .vl-hero .vl-action--primary { background: #b7ff69; color: #071c12; border-color: #b7ff69; }
.vl-page a:focus-visible { outline: 3px solid #19745b; outline-offset: 4px; }
.vl-hero a:focus-visible { outline-color: #b7ff69; }
.vl-page a:hover { text-decoration: underline; text-underline-offset: .2em; }
.vl-summary { padding-block: 2rem; }
.vl-summary .summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.vl-summary .summary-block { padding: 1.25rem; border: 1px solid var(--vl-line); background: #f9fbf5; }
.vl-summary dt { font: 700 .75rem/1.5 system-ui, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #245b41; }
.vl-summary dd { margin: .7rem 0 0; line-height: 1.65; }
.vl-section { padding-block: clamp(2rem, 5vw, 4rem); border-top: 1px solid var(--vl-line); scroll-margin-top: 9rem; }
.vl-section h2 { width: 100%; max-width: none; margin: .5rem 0 1.1rem; font-size: clamp(1.8rem, 3.5vw, 2.7rem); line-height: 1.15; text-wrap: wrap; }
.vl-section > p { width: 100%; max-width: none; line-height: 1.7; }
.vl-section a { color: #145839; }
.vl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.vl-card { padding: clamp(1.1rem, 3vw, 1.75rem); border: 1px solid var(--vl-line); background: #f9fbf5; min-width: 0; }
.vl-card h3 { font-size: 1.3rem; line-height: 1.3; margin: .8rem 0; }
.vl-card p, .vl-card li, .vl-criteria li { line-height: 1.65; }
.vl-card ul { padding-left: 1.2rem; }
.vl-card li + li, .vl-criteria li + li { margin-top: .65rem; }
.vl-detail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.vl-detail dt { font-weight: 700; color: #245b41; }
.vl-detail dd { margin: .65rem 0 0; line-height: 1.7; }
.vl-boundary { padding: 1rem 1.25rem; background: #e1ebda; border-left: 3px solid #397550; line-height: 1.7; }
.vl-badge { display: inline-block; padding: .35rem .65rem; border: 1px solid #718c71; background: #e9f1df; color: #22452c; font: 700 .75rem/1.4 system-ui, sans-serif; }
.vl-badge--planned { background: #f4ecd8; color: #5b4313; border-color: #b7a16f; }
.vl-maturity { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vl-table-wrap { overflow-x: auto; margin-block: 1.5rem; }
.vl-table { border-collapse: collapse; width: 100%; min-width: 40rem; text-align: left; font: .95rem/1.65 system-ui, sans-serif; }
.vl-table caption { text-align: left; padding-bottom: .75rem; color: var(--vl-muted); }
.vl-table th, .vl-table td { padding: 1rem; border: 1px solid var(--vl-line); vertical-align: top; overflow-wrap: anywhere; }
.vl-table thead { background: #dce8d4; }
.vl-table tbody { background: #f9fbf5; }
.vl-table th[scope="row"] { width: 26%; }
.vl-criteria { width: 100%; max-width: none; padding-left: 1.4rem; }
.vl-footer { padding-block: 2.5rem; border-top: 1px solid var(--vl-line); }
.vl-footer p { max-width: 75ch; line-height: 1.7; }
.vl-bridge { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(2.5rem, 5vw, 4.5rem); background: #071f17; color: #eaf4e7; scroll-margin-top: 9rem; }
.vl-bridge__veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: rgba(2, 16, 11, .08); }
.vl-bridge__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: center; }
.vl-bridge__copy { width: min(100%, 46rem); min-width: 0; padding: clamp(1.25rem, 2vw, 1.75rem); border: 1px solid rgba(152, 196, 163, .3); border-radius: .65rem; background: rgba(3, 20, 13, .78); }
.vl-bridge__copy > p { text-align: left !important; }
.vl-bridge__meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.vl-bridge .vl-eyebrow { color: #b7ff69; }
.vl-bridge h2 { margin: .5rem 0; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; }
.vl-bridge p { max-width: 75ch; line-height: 1.65; }
.vl-bridge a { color: #b7ff69; }
.vl-bridge .vl-bridge__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: .75rem; padding: .85rem 1.1rem; border: 1px solid #b7ff69; border-radius: .35rem; background: #b7ff69; color: #071c12; font: 700 .95rem/1.5 system-ui, sans-serif; text-align: center; text-decoration: none; }
.vl-bridge .vl-bridge__cta:hover { background: #d4ffa9; text-decoration: underline; text-underline-offset: .2em; }
.vl-bridge a:focus-visible { outline: 3px solid #b7ff69; outline-offset: 4px; }

/* Reuse the approved Lab background only in visual calls to action. */
.vl-entry--video { position: relative; isolation: isolate; overflow: hidden; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #52775d; border-radius: .65rem; background: #071f17; color: #edf8ee; }
.vl-entry__video { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; border: 0; border-radius: 0; background: #03110b; filter: brightness(1.12); }
.vl-entry__veil { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: rgba(2, 16, 11, .08); }
.vl-entry--video > :not(video):not(.vl-entry__veil) { position: relative; z-index: 2; }
.vl-entry__panel { padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid rgba(152, 196, 163, .3); border-radius: .45rem; background: rgba(3, 20, 13, .78); }
.vl-entry--video .vl-entry__panel :is(h2, h3, p) { color: #edf8ee; }
.vl-entry--video .vl-entry__panel p { text-align: left !important; line-height: 1.65; }
.vl-entry--video .vl-entry__panel a { color: #b7ff69; text-decoration: underline; text-underline-offset: .2em; }
.vl-entry--video .vl-entry__panel > .primary-action { margin-top: .8rem; background: #b7ff69; color: #071c12; text-decoration: none; }
.vl-entry__meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1rem; }
.vl-entry--video a:focus-visible { outline: 3px solid #b7ff69; outline-offset: 4px; }
.vl-biodev-entry { margin-block: 1.25rem; }

/* Preserve module-specific contents, including structural illustrations. */
#lab-gateway.lab-gateway--terminal-light.vl-entry--video { background: #071f17; color: #edf8ee; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video::before { z-index: 3; background: rgba(3, 20, 13, .82); color: #b7ff69; border-bottom-color: #52775d; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video :is(h2, h3, p) { color: #edf8ee; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-copy,
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-action { padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid rgba(152, 196, 163, .3); border-radius: .45rem; background: rgba(3, 20, 13, .78); }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-kicker { color: #b7ff69; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-status { color: #b7ff69; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-status-button { border-color: #b7ff69; background: #b7ff69; color: #071c12; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-status-button:hover { background: #d4ffa9; color: #071c12; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-status-button:focus-visible { outline: 3px solid #b7ff69; outline-offset: 4px; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-entry__meta .vl-hero__caption { color: #d4e6d9; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-motion-toggle { color: #f0faee; }

/* Terminal identity is decorative; availability is stated in visible text. */
.vl-terminal-bar { display: flex; align-items: center; gap: .75rem; min-width: 0; padding: .7rem 0; margin-bottom: 1rem; border-bottom: 1px solid #52775d; color: #c1d9cd; font: 600 .75rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .025em; }
.vl-terminal-bar > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }
.vl-terminal-prompt { flex: 0 0 auto; color: #b7ff69; }
.vl-terminal-mark { flex: 0 0 auto; width: .45rem; height: .45rem; margin-left: auto; border: 1px solid #8bac9b; border-radius: 50%; }
.vl-access-state { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .6rem; margin-block: .25rem 1.25rem; text-align: left; }
.vl-access-state > .vl-availability { display: inline-flex; align-items: center; padding: .45rem .65rem; border: 1px solid #658e66; border-radius: .3rem; background: #102e23; color: #b7ff69; font: 600 .78rem/1.5 system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
.vl-access-state > .vl-access-unreleased { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .65rem; border: 1px solid #a85c64; border-radius: .3rem; background: #341a20; color: #ffc1c6; font: 600 .78rem/1.5 system-ui, sans-serif; letter-spacing: 0; text-transform: none; }
.vl-access-unreleased::before { content: ""; flex: 0 0 auto; width: .4rem; height: .4rem; background: currentColor; border-radius: .08rem; }
.vl-entry--video, .vl-bridge, .vl-hero__copy { overflow-wrap: anywhere; }
.vl-entry--video .vl-entry__panel, .vl-bridge__copy { min-width: 0; }
.vl-entry--video .vl-entry__panel h2 { margin-top: .5rem; font-size: clamp(1.4rem, 2.8vw, 2rem); line-height: 1.2; text-wrap: balance; }
.vl-entry--video .vl-entry__panel a { min-height: 44px; }
.vl-entry--video .vl-entry__panel a { display: inline-flex; align-items: center; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video { padding: clamp(1rem, 3vw, 2rem); gap: clamp(1rem, 2vw, 1.5rem); border-color: #52775d; border-radius: .65rem; box-shadow: 0 .8rem 2rem rgba(4, 24, 16, .12); }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video::before { content: none; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video > .vl-terminal-bar { grid-column: 1 / -1; margin: 0; padding: .75rem 1rem; border: 1px solid #52775d; border-radius: .35rem; background: rgba(3, 20, 13, .82); }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video :is(h2, h3, p, span, a, button) { font-family: system-ui, sans-serif; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-terminal-bar span,
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-kicker { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video h2 { margin: .5rem 0 1rem; font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.16; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video p { text-align: left; line-height: 1.65; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-copy > p:last-child { color: #edf8ee; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-gateway-action { align-self: stretch; align-content: center; gap: 1rem; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-access-state { display: grid; justify-items: start; gap: .6rem; margin: 0; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-access-state > .vl-availability { color: #b7ff69; letter-spacing: 0; text-transform: none; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-access-state > .vl-access-unreleased { color: #ffc1c6; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .lab-status-button { justify-content: center; min-height: 44px; padding: .85rem 1rem; border-radius: .35rem; font-size: .9rem; line-height: 1.45; text-align: center; text-transform: none; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video #lab-gateway-note { margin: 0; font-size: .9rem; }
#lab-gateway.lab-gateway--terminal-light.vl-entry--video .vl-entry__meta { margin-top: 0; }

@media (max-width: 60rem) {
  .vl-hero__veil { background: linear-gradient(180deg, rgba(2, 16, 11, .12), rgba(2, 16, 11, .04)); }
  .vl-hero__meta { align-items: flex-start; gap: 1rem; }
}
@media (max-width: 48rem) {
  .vl-summary .summary-grid, .vl-grid, .vl-detail, .vl-bridge__inner { grid-template-columns: 1fr; }
  .vl-maturity { grid-template-columns: 1fr; }
  .vl-section { scroll-margin-top: 8rem; }
  .vl-table th, .vl-table td { padding: .65rem; }
  .vl-action { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .vl-page { scroll-behavior: auto; } }
