:root {
    --construct-black: #060606;
    --construct-charcoal: #111111;
    --construct-panel: rgba(18, 18, 18, 0.88);
    --construct-cream: #f2ece1;
    --construct-paper: #efe7da;
    --construct-ink: #111111;
    --construct-line: rgba(255, 255, 255, 0.12);
    --construct-line-dark: rgba(17, 17, 17, 0.12);
    --construct-text: #f7f4ee;
    --construct-muted: rgba(247, 244, 238, 0.68);
    --construct-dim: rgba(247, 244, 238, 0.44);
    --construct-orange: #ff6a1f;
    --construct-red: #ff0844;
    --construct-cyan: #00d4ff;
    --construct-blue: #4c84ff;
    --construct-radius: 28px;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body {
    font-family: "Manrope", sans-serif;
}

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

.construct-hub-body,
.construct-body {
    position: relative;
    overflow-x: hidden;
}

.construct-shell {
    width: min(1540px, calc(100% - 52px));
    margin: 0 auto;
    padding: 28px 0 80px;
}

.construct-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.construct-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.construct-brand img {
    height: 28px;
    width: auto;
}

.construct-brand__label,
.construct-nav a,
.construct-chip,
.construct-eyebrow,
.construct-stat__label,
.construct-card__meta,
.construct-archive__meta,
.construct-footer__meta,
.construct-hub-card__meta,
.construct-note__meta {
    font-family: "IBM Plex Mono", monospace;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.construct-brand__label {
    font-size: 0.7rem;
}

.construct-nav {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.construct-nav a {
    font-size: 0.72rem;
}

.construct-link {
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 12px;
    font-weight: 700;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.construct-link--primary {
    background: linear-gradient(135deg, var(--construct-orange), #ff8b47);
    color: #140b07;
    border: 1px solid rgba(255, 106, 31, 0.38);
    box-shadow: 0 18px 40px rgba(255, 106, 31, 0.16);
}

.construct-link--ghost {
    border: 1px solid rgba(247, 244, 238, 0.2);
    background: rgba(255, 255, 255, 0.02);
}

.construct-link:hover {
    transform: translateY(-1px);
}

.construct-link--primary:hover {
    background: linear-gradient(135deg, #ff7a32, #ff9a63);
    box-shadow: 0 22px 44px rgba(255, 106, 31, 0.2);
}

.construct-link--ghost:hover {
    border-color: rgba(255, 106, 31, 0.36);
    background: rgba(255, 106, 31, 0.06);
}

.construct-hero {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: 58px 56px 56px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
    gap: 36px;
}

.construct-hero__copy {
    position: relative;
    z-index: 1;
}

.construct-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 0.72rem;
    margin-bottom: 18px;
}

.construct-eyebrow::before {
    content: "";
    width: 40px;
    height: 1px;
    background: currentColor;
}

.construct-hero__title {
    margin: 0;
    font-size: clamp(3.6rem, 8vw, 7rem);
    line-height: 0.92;
    letter-spacing: -0.065em;
    max-width: 10ch;
}

.construct-hero__title em {
    font-family: "Source Serif 4", serif;
    font-style: italic;
    font-weight: 600;
}

.construct-hero__dek {
    margin: 22px 0 0;
    max-width: 56ch;
    font-family: "Source Serif 4", serif;
    font-size: clamp(1.08rem, 1.8vw, 1.34rem);
    line-height: 1.72;
}

.construct-hero__meta {
    display: grid;
    gap: 16px;
    align-content: end;
}

.construct-stat {
    padding-top: 14px;
    border-top: 1px solid currentColor;
}

.construct-stat__label {
    font-size: 0.64rem;
    opacity: 0.66;
}

.construct-stat strong {
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    line-height: 1.42;
}

.construct-section {
    margin-top: 24px;
    border-radius: 30px;
    padding: 34px;
}

.construct-section__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 26px;
}

.construct-section__head h2 {
    margin: 10px 0 0;
    font-size: clamp(1.7rem, 3vw, 2.8rem);
    line-height: 1;
    letter-spacing: -0.05em;
}

.construct-chip {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.68rem;
}

.construct-feature-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 0.85fr));
    gap: 18px;
}

.construct-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 24px;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.construct-card--feature {
    min-height: 420px;
}

.construct-card__meta {
    font-size: 0.68rem;
}

.construct-card h3 {
    margin: 18px 0 0;
    font-size: clamp(1.75rem, 3vw, 3.2rem);
    line-height: 0.96;
    letter-spacing: -0.055em;
    max-width: 10ch;
}

.construct-card p {
    margin: 14px 0 0;
    max-width: 36ch;
    font-family: "Source Serif 4", serif;
    font-size: 1.02rem;
    line-height: 1.7;
}

.construct-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 28px;
}

.construct-card__footer span {
    font-size: 0.72rem;
}

.construct-card__primitive {
    position: absolute;
    inset: auto auto 22px 22px;
    pointer-events: none;
    opacity: 0.9;
}

.construct-card__primitive--route {
    inset: 22px 22px auto auto;
    width: 180px;
    height: 140px;
}

.construct-card__primitive--route::before,
.construct-card__primitive--route::after,
.construct-card__primitive--route span {
    content: "";
    position: absolute;
    display: block;
    border-radius: 999px;
}

.construct-card__primitive--route::before {
    top: 16px;
    right: 0;
    width: 2px;
    height: 96px;
    background: currentColor;
}

.construct-card__primitive--route::after {
    top: 14px;
    left: 20px;
    width: 132px;
    height: 2px;
    background: linear-gradient(90deg, transparent, currentColor);
}

.construct-card__primitive--route span {
    bottom: 26px;
    left: 20px;
    width: 94px;
    height: 2px;
    background: linear-gradient(90deg, currentColor, transparent);
}

.construct-card__primitive--stack {
    width: 170px;
    height: 170px;
    right: 20px;
    left: auto;
    bottom: 20px;
}

.construct-card__primitive--stack::before,
.construct-card__primitive--stack::after,
.construct-card__primitive--stack span {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 22px;
    border: 1px solid currentColor;
    transform: perspective(700px) rotateX(67deg);
}

.construct-card__primitive--stack::after {
    transform: perspective(700px) rotateX(67deg) translateY(16px);
    opacity: 0.55;
}

.construct-card__primitive--stack span {
    transform: perspective(700px) rotateX(67deg) translateY(32px);
    opacity: 0.25;
}

.construct-archive {
    display: grid;
    grid-template-columns: minmax(0, 0.58fr) minmax(0, 1.42fr);
    gap: 24px;
}

.construct-archive__lead h3 {
    margin: 12px 0 0;
    font-size: clamp(2rem, 3.6vw, 3.9rem);
    line-height: 0.95;
    letter-spacing: -0.06em;
    max-width: 8ch;
}

.construct-archive__lead p {
    margin: 18px 0 0;
    font-family: "Source Serif 4", serif;
    font-size: 1.05rem;
    line-height: 1.7;
}

.construct-archive__list {
    display: grid;
    gap: 14px;
}

.construct-archive__item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    padding: 18px 0;
    border-top: 1px solid currentColor;
}

.construct-archive__item h4 {
    margin: 0;
    font-size: 1.32rem;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.construct-archive__item p {
    margin: 8px 0 0;
    font-family: "Source Serif 4", serif;
    line-height: 1.66;
}

.construct-archive__meta {
    font-size: 0.67rem;
}

.construct-note-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.construct-note {
    border-radius: 22px;
    padding: 22px;
}

.construct-note__meta {
    font-size: 0.68rem;
}

.construct-note h3 {
    margin: 18px 0 12px;
    font-size: 1.35rem;
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.construct-note p {
    margin: 0;
    font-family: "Source Serif 4", serif;
    line-height: 1.68;
}

.construct-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 26px;
    padding: 24px 0 8px;
}

.construct-footer__meta {
    font-size: 0.72rem;
}

.construct-hub-hero {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    padding: 78px 62px 84px;
}

.construct-hub-hero h1 {
    margin: 0;
    max-width: 13ch;
    font-size: clamp(3.6rem, 7vw, 6.4rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
}

.construct-hub-hero p {
    margin: 22px 0 0;
    max-width: 62ch;
    font-family: "Source Serif 4", serif;
    font-size: 1.2rem;
    line-height: 1.72;
}

.construct-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.construct-hub-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 26px;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.construct-hub-card__meta {
    font-size: 0.68rem;
}

.construct-hub-card h2 {
    margin: 16px 0 0;
    font-size: clamp(2rem, 3vw, 3.4rem);
    line-height: 0.95;
    letter-spacing: -0.055em;
    max-width: 8ch;
}

.construct-hub-card p {
    margin: 14px 0 0;
    font-family: "Source Serif 4", serif;
    line-height: 1.7;
}

.construct-hub-card ul {
    margin: 18px 0 0;
    padding-left: 18px;
    font-family: "Source Serif 4", serif;
    line-height: 1.7;
}

.construct-hub-card__preview {
    position: relative;
    min-height: 150px;
    border-radius: 20px;
    border: 1px solid currentColor;
    overflow: hidden;
}

.construct-hub-card__preview--route::before,
.construct-hub-card__preview--route::after,
.construct-hub-card__preview--stack::before,
.construct-hub-card__preview--stack::after,
.construct-hub-card__preview--paper::before,
.construct-hub-card__preview--paper::after {
    content: "";
    position: absolute;
}

.construct-hub-card__preview--route::before {
    inset: 22px auto 22px 42%;
    width: 2px;
    background: currentColor;
}

.construct-hub-card__preview--route::after {
    left: 16px;
    right: 16px;
    top: 50px;
    height: 2px;
    background: linear-gradient(90deg, transparent, currentColor 18%, currentColor 82%, transparent);
}

.construct-hub-card__preview--stack::before,
.construct-hub-card__preview--stack::after {
    inset: 28px 36px 40px 36px;
    border: 1px solid currentColor;
    border-radius: 20px;
    transform: perspective(700px) rotateX(68deg);
}

.construct-hub-card__preview--stack::after {
    transform: perspective(700px) rotateX(68deg) translateY(18px);
    opacity: 0.36;
}

.construct-hub-card__preview--paper::before {
    inset: 18px 20px;
    border: 1px solid currentColor;
}

.construct-hub-card__preview--paper::after {
    left: 24px;
    right: 24px;
    top: 72px;
    height: 18px;
    background: linear-gradient(90deg, transparent 0, currentColor 20%, currentColor 78%, transparent 100%);
    opacity: 0.12;
}

.direction-routed-spine {
    background:
        radial-gradient(circle at 18% 15%, rgba(76, 132, 255, 0.16), transparent 24%),
        radial-gradient(circle at 78% 18%, rgba(255, 106, 31, 0.14), transparent 22%),
        linear-gradient(180deg, #05070a 0%, #040505 100%);
    color: var(--construct-text);
}

.direction-routed-spine .construct-topbar,
.direction-routed-spine .construct-footer {
    color: var(--construct-text);
}

.direction-routed-spine .construct-hero,
.direction-routed-spine .construct-section {
    background:
        linear-gradient(180deg, rgba(13, 16, 22, 0.96), rgba(10, 11, 14, 0.92));
    border: 1px solid var(--construct-line);
    box-shadow: 0 28px 72px rgba(0, 0, 0, 0.28);
}

.direction-routed-spine .construct-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 112px 112px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.78), transparent 90%);
}

.direction-routed-spine .construct-hero__meta,
.direction-routed-spine .construct-archive__item,
.direction-routed-spine .construct-stat {
    color: var(--construct-muted);
}

.direction-routed-spine .construct-card,
.direction-routed-spine .construct-note {
    background: linear-gradient(180deg, rgba(18, 21, 28, 0.94), rgba(11, 13, 17, 0.94));
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.direction-routed-spine .construct-chip {
    border: 1px solid rgba(0, 212, 255, 0.28);
    color: var(--construct-cyan);
    background: rgba(0, 212, 255, 0.08);
}

.direction-routed-spine .construct-card__primitive,
.direction-routed-spine .construct-hub-card__preview {
    color: rgba(0, 212, 255, 0.72);
}

.direction-routed-spine .construct-hub-hero {
    background:
        linear-gradient(180deg, rgba(13, 16, 22, 0.96), rgba(10, 11, 14, 0.94));
    border: 1px solid var(--construct-line);
}

.direction-signal-paper {
    background:
        radial-gradient(circle at 16% 14%, rgba(122, 162, 255, 0.14), transparent 20%),
        radial-gradient(circle at 84% 16%, rgba(227, 232, 239, 0.08), transparent 18%),
        linear-gradient(180deg, #06080a 0%, #0b1015 100%);
    color: #f5f7fa;
}

.direction-signal-paper .construct-topbar,
.direction-signal-paper .construct-footer {
    color: #f5f7fa;
}

.direction-signal-paper .construct-hero,
.direction-signal-paper .construct-section,
.direction-signal-paper .construct-hub-hero,
.direction-signal-paper .construct-hub-card,
.direction-signal-paper .construct-note,
.direction-signal-paper .construct-card {
    background:
        linear-gradient(180deg, rgba(16, 21, 26, 0.96), rgba(10, 13, 18, 0.94));
    border: 1px solid rgba(227, 232, 239, 0.1);
    color: #f5f7fa;
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.24);
}

.direction-signal-paper .construct-hero::before,
.direction-signal-paper .construct-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(227, 232, 239, 0.055) 1px, transparent 1px),
        linear-gradient(rgba(227, 232, 239, 0.055) 1px, transparent 1px);
    background-size: 120px 120px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 92%);
}

.direction-signal-paper .construct-eyebrow,
.direction-signal-paper .construct-brand__label,
.direction-signal-paper .construct-nav a,
.direction-signal-paper .construct-card__meta,
.direction-signal-paper .construct-hub-card__meta,
.direction-signal-paper .construct-note__meta,
.direction-signal-paper .construct-footer__meta {
    color: rgba(227, 232, 239, 0.68);
}

.direction-signal-paper .construct-hero__dek,
.direction-signal-paper .construct-card p,
.direction-signal-paper .construct-note p,
.direction-signal-paper .construct-hub-card p,
.direction-signal-paper .construct-archive__lead p,
.direction-signal-paper .construct-archive__item p {
    color: rgba(227, 232, 239, 0.76);
}

.direction-signal-paper .construct-chip {
    border: 1px solid rgba(122, 162, 255, 0.34);
    color: #c5d5ff;
    background: rgba(122, 162, 255, 0.1);
}

.direction-signal-paper .construct-card__primitive,
.direction-signal-paper .construct-hub-card__preview {
    color: rgba(122, 162, 255, 0.86);
}

.direction-research-chrome-slate {
    background:
        radial-gradient(circle at 14% 14%, rgba(223, 231, 243, 0.12), transparent 18%),
        radial-gradient(circle at 82% 16%, rgba(0, 212, 255, 0.1), transparent 18%),
        linear-gradient(180deg, #0a0f15 0%, #101720 100%);
    color: #f3f7ff;
}

.direction-research-chrome-slate .construct-topbar,
.direction-research-chrome-slate .construct-footer {
    color: #f3f7ff;
}

.direction-research-chrome-slate .construct-hero,
.direction-research-chrome-slate .construct-section,
.direction-research-chrome-slate .construct-hub-hero,
.direction-research-chrome-slate .construct-hub-card,
.direction-research-chrome-slate .construct-note,
.direction-research-chrome-slate .construct-card {
    background:
        linear-gradient(180deg, rgba(223, 231, 243, 0.12), rgba(184, 192, 204, 0.06));
    border: 1px solid rgba(223, 231, 243, 0.15);
    color: #f3f7ff;
    box-shadow: 0 28px 62px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.direction-research-chrome-slate .construct-hero::before,
.direction-research-chrome-slate .construct-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(223, 231, 243, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(223, 231, 243, 0.05) 1px, transparent 1px);
    background-size: 120px 120px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.65), transparent 92%);
}

.direction-research-chrome-slate .construct-eyebrow,
.direction-research-chrome-slate .construct-brand__label,
.direction-research-chrome-slate .construct-nav a,
.direction-research-chrome-slate .construct-card__meta,
.direction-research-chrome-slate .construct-hub-card__meta,
.direction-research-chrome-slate .construct-note__meta,
.direction-research-chrome-slate .construct-footer__meta {
    color: rgba(223, 231, 243, 0.7);
}

.direction-research-chrome-slate .construct-hero__dek,
.direction-research-chrome-slate .construct-card p,
.direction-research-chrome-slate .construct-note p,
.direction-research-chrome-slate .construct-hub-card p,
.direction-research-chrome-slate .construct-archive__lead p,
.direction-research-chrome-slate .construct-archive__item p {
    color: rgba(223, 231, 243, 0.8);
}

.direction-research-chrome-slate .construct-chip {
    border: 1px solid rgba(0, 212, 255, 0.28);
    color: #d9f6ff;
    background: rgba(0, 212, 255, 0.08);
}

.direction-research-chrome-slate .construct-card__primitive,
.direction-research-chrome-slate .construct-hub-card__preview {
    color: rgba(0, 212, 255, 0.82);
}

.direction-research-frosted-alloy {
    background:
        radial-gradient(circle at 16% 12%, rgba(255, 255, 255, 0.42), transparent 18%),
        radial-gradient(circle at 84% 16%, rgba(122, 162, 255, 0.18), transparent 16%),
        linear-gradient(180deg, #d9e0e8 0%, #bcc7d4 100%);
    color: #111821;
}

.direction-research-frosted-alloy .construct-topbar,
.direction-research-frosted-alloy .construct-footer {
    color: #111821;
}

.direction-research-frosted-alloy .construct-hero,
.direction-research-frosted-alloy .construct-section,
.direction-research-frosted-alloy .construct-hub-hero,
.direction-research-frosted-alloy .construct-hub-card,
.direction-research-frosted-alloy .construct-note,
.direction-research-frosted-alloy .construct-card {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(238, 243, 250, 0.54));
    border: 1px solid rgba(17, 24, 33, 0.08);
    color: #111821;
    box-shadow: 0 24px 50px rgba(17, 24, 33, 0.12);
    backdrop-filter: blur(18px);
}

.direction-research-frosted-alloy .construct-hero::before,
.direction-research-frosted-alloy .construct-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(17, 24, 33, 0.04) 1px, transparent 1px),
        linear-gradient(rgba(17, 24, 33, 0.04) 1px, transparent 1px);
    background-size: 120px 120px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.58), transparent 92%);
}

.direction-research-frosted-alloy .construct-eyebrow,
.direction-research-frosted-alloy .construct-brand__label,
.direction-research-frosted-alloy .construct-nav a,
.direction-research-frosted-alloy .construct-card__meta,
.direction-research-frosted-alloy .construct-hub-card__meta,
.direction-research-frosted-alloy .construct-note__meta,
.direction-research-frosted-alloy .construct-footer__meta {
    color: rgba(17, 24, 33, 0.64);
}

.direction-research-frosted-alloy .construct-hero__dek,
.direction-research-frosted-alloy .construct-card p,
.direction-research-frosted-alloy .construct-note p,
.direction-research-frosted-alloy .construct-hub-card p,
.direction-research-frosted-alloy .construct-archive__lead p,
.direction-research-frosted-alloy .construct-archive__item p {
    color: rgba(17, 24, 33, 0.74);
}

.direction-research-frosted-alloy .construct-chip {
    border: 1px solid rgba(122, 162, 255, 0.26);
    color: #35548d;
    background: rgba(122, 162, 255, 0.09);
}

.direction-research-frosted-alloy .construct-card__primitive,
.direction-research-frosted-alloy .construct-hub-card__preview {
    color: rgba(76, 132, 255, 0.74);
}

.direction-research-prism-trace {
    background:
        radial-gradient(circle at 18% 12%, rgba(76, 132, 255, 0.16), transparent 20%),
        radial-gradient(circle at 82% 16%, rgba(255, 8, 68, 0.12), transparent 18%),
        radial-gradient(circle at 64% 8%, rgba(0, 212, 255, 0.12), transparent 18%),
        linear-gradient(180deg, #070a0f 0%, #0c1218 100%);
    color: #f5f7fa;
}

.direction-research-prism-trace .construct-topbar,
.direction-research-prism-trace .construct-footer {
    color: #f5f7fa;
}

.direction-research-prism-trace .construct-hero,
.direction-research-prism-trace .construct-section,
.direction-research-prism-trace .construct-hub-hero,
.direction-research-prism-trace .construct-hub-card,
.direction-research-prism-trace .construct-note,
.direction-research-prism-trace .construct-card {
    background:
        linear-gradient(180deg, rgba(15, 19, 25, 0.96), rgba(11, 14, 19, 0.94));
    border: 1px solid rgba(223, 231, 243, 0.1);
    color: #f5f7fa;
    box-shadow: 0 26px 56px rgba(0, 0, 0, 0.24);
}

.direction-research-prism-trace .construct-hero::before,
.direction-research-prism-trace .construct-hub-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(223, 231, 243, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(223, 231, 243, 0.05) 1px, transparent 1px);
    background-size: 120px 120px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.64), transparent 92%);
}

.direction-research-prism-trace .construct-eyebrow,
.direction-research-prism-trace .construct-brand__label,
.direction-research-prism-trace .construct-nav a,
.direction-research-prism-trace .construct-card__meta,
.direction-research-prism-trace .construct-hub-card__meta,
.direction-research-prism-trace .construct-note__meta,
.direction-research-prism-trace .construct-footer__meta {
    color: rgba(223, 231, 243, 0.68);
}

.direction-research-prism-trace .construct-hero__dek,
.direction-research-prism-trace .construct-card p,
.direction-research-prism-trace .construct-note p,
.direction-research-prism-trace .construct-hub-card p,
.direction-research-prism-trace .construct-archive__lead p,
.direction-research-prism-trace .construct-archive__item p {
    color: rgba(223, 231, 243, 0.78);
}

.direction-research-prism-trace .construct-chip {
    border: 1px solid rgba(255, 78, 118, 0.26);
    color: #ffd4e0;
    background: linear-gradient(135deg, rgba(76, 132, 255, 0.08), rgba(255, 78, 118, 0.08));
}

.direction-research-prism-trace .construct-card__primitive,
.direction-research-prism-trace .construct-hub-card__preview {
    color: rgba(0, 212, 255, 0.82);
}

.direction-stack-ledger {
    background:
        radial-gradient(circle at 24% 12%, rgba(255, 106, 31, 0.16), transparent 24%),
        radial-gradient(circle at 82% 18%, rgba(0, 212, 255, 0.14), transparent 20%),
        linear-gradient(180deg, #050505 0%, #06090d 100%);
    color: var(--construct-text);
}

.direction-stack-ledger .construct-hero,
.direction-stack-ledger .construct-section,
.direction-stack-ledger .construct-hub-hero {
    background:
        linear-gradient(180deg, rgba(13, 12, 12, 0.97), rgba(9, 9, 10, 0.93));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 34px 82px rgba(0, 0, 0, 0.3);
}

.direction-stack-ledger .construct-card,
.direction-stack-ledger .construct-note,
.direction-stack-ledger .construct-hub-card {
    background:
        linear-gradient(180deg, rgba(17, 16, 16, 0.97), rgba(10, 10, 10, 0.95));
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.direction-stack-ledger .construct-chip {
    border: 1px solid rgba(255, 106, 31, 0.3);
    color: #ffb483;
    background: rgba(255, 106, 31, 0.08);
}

.direction-stack-ledger .construct-card__primitive,
.direction-stack-ledger .construct-hub-card__preview {
    color: rgba(255, 106, 31, 0.9);
}

.construct-hub-body {
    background:
        radial-gradient(circle at 14% 16%, rgba(76, 132, 255, 0.16), transparent 22%),
        radial-gradient(circle at 82% 16%, rgba(255, 106, 31, 0.14), transparent 22%),
        linear-gradient(180deg, #05070b 0%, #050505 100%);
    color: var(--construct-text);
}

.construct-hub-body .construct-hub-hero,
.construct-hub-body .construct-hub-card {
    background: linear-gradient(180deg, rgba(13, 16, 22, 0.96), rgba(10, 11, 14, 0.94));
    border: 1px solid rgba(255, 255, 255, 0.09);
}

.construct-hub-body .construct-hub-card:nth-child(2) {
    background: linear-gradient(180deg, rgba(246, 239, 228, 0.96), rgba(236, 227, 214, 0.98));
    color: var(--construct-ink);
    border-color: rgba(17, 17, 17, 0.08);
}

.construct-hub-body .construct-hub-card:nth-child(2) .construct-hub-card__preview {
    color: rgba(255, 106, 31, 0.84);
}

.construct-hub-body .construct-hub-card:nth-child(2) .construct-link--ghost {
    border-color: rgba(17, 17, 17, 0.18);
}

.publication-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.publication-review-card {
    border-radius: 28px;
    padding: 28px;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.publication-review-card h2 {
    margin: 16px 0 0;
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 0.94;
    letter-spacing: -0.055em;
    max-width: 9ch;
}

.publication-review-card p {
    margin: 14px 0 0;
    font-family: "Source Serif 4", serif;
    line-height: 1.72;
}

.publication-review-card ul {
    margin: 18px 0 0;
    padding-left: 18px;
    font-family: "Source Serif 4", serif;
    line-height: 1.7;
}

.publication-review-card .construct-link {
    margin-top: 18px;
}

.publication-preview {
    min-height: 150px;
    border-radius: 22px;
    border: 1px solid currentColor;
    position: relative;
    overflow: hidden;
}

.publication-preview--paper::before,
.publication-preview--paper::after,
.publication-preview--stack::before,
.publication-preview--stack::after {
    content: "";
    position: absolute;
}

.publication-preview--paper::before {
    inset: 18px 20px;
    border: 1px solid currentColor;
}

.publication-preview--paper::after {
    left: 26px;
    right: 26px;
    top: 66px;
    height: 26px;
    background: linear-gradient(90deg, transparent 0, currentColor 18%, currentColor 82%, transparent 100%);
    opacity: 0.12;
}

.publication-preview--stack::before,
.publication-preview--stack::after {
    inset: 28px 34px 40px;
    border: 1px solid currentColor;
    border-radius: 20px;
    transform: perspective(700px) rotateX(68deg);
}

.publication-preview--stack::after {
    transform: perspective(700px) rotateX(68deg) translateY(16px);
    opacity: 0.34;
}

.construct-article {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: 42px;
    border-radius: 34px;
    padding: 58px 56px 44px;
    position: relative;
    overflow: hidden;
}

.construct-article__copy h1 {
    margin: 0;
    max-width: 9ch;
    font-size: clamp(3.8rem, 7vw, 6.2rem);
    line-height: 0.92;
    letter-spacing: -0.06em;
}

.construct-article__copy h1 em {
    font-family: "Source Serif 4", serif;
    font-style: italic;
    font-weight: 600;
}

.construct-article__dek {
    margin: 18px 0 0;
    max-width: 54ch;
    font-family: "Source Serif 4", serif;
    font-size: 1.18rem;
    line-height: 1.76;
}

.construct-article__meta {
    display: grid;
    gap: 14px;
    align-content: end;
}

.construct-article__meta-block {
    padding-top: 14px;
    border-top: 1px solid currentColor;
}

.construct-article__meta-block strong {
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    line-height: 1.45;
}

.article-prose-shell {
    margin-top: 24px;
    border-radius: 30px;
    padding: 34px;
}

.article-prose-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
    gap: 34px;
}

.article-rail {
    display: grid;
    gap: 16px;
    align-content: start;
}

.article-rail__block {
    padding-top: 12px;
    border-top: 1px solid currentColor;
}

.article-prose {
    font-family: "Source Serif 4", serif;
    font-size: clamp(1.08rem, 1.4vw, 1.22rem);
    line-height: 1.86;
}

.article-prose p {
    margin: 0 0 1.2em;
}

.article-prose h2 {
    margin: 1.8em 0 0.6em;
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1;
    letter-spacing: -0.045em;
}

.article-pull {
    margin: 1.9em 0;
    padding: 24px 26px;
    border-left: 2px solid currentColor;
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.article-related {
    margin-top: 24px;
    border-radius: 30px;
    padding: 34px;
}

.article-related__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.article-related__item {
    border-radius: 22px;
    padding: 20px;
}

.article-related__item h3 {
    margin: 14px 0 10px;
    font-size: 1.28rem;
    line-height: 1.06;
    letter-spacing: -0.04em;
}

.article-related__item p {
    margin: 0;
    font-family: "Source Serif 4", serif;
    line-height: 1.7;
}

.direction-signal-paper .publication-review-card,
.direction-signal-paper .article-prose-shell,
.direction-signal-paper .article-related,
.direction-signal-paper .construct-article {
    background: linear-gradient(180deg, rgba(255,255,255,0.44), rgba(255,255,255,0.22));
    border: 1px solid var(--construct-line-dark);
    color: var(--construct-ink);
    box-shadow: 0 14px 32px rgba(17,17,17,0.05);
}

.direction-signal-paper .publication-preview,
.direction-signal-paper .article-pull,
.direction-signal-paper .article-related__item {
    color: rgba(255,106,31,0.84);
    border-color: rgba(17,17,17,0.12);
    background: rgba(255,255,255,0.22);
}

.direction-stack-ledger .publication-review-card,
.direction-stack-ledger .article-prose-shell,
.direction-stack-ledger .article-related,
.direction-stack-ledger .construct-article {
    background: linear-gradient(180deg, rgba(14,13,13,0.97), rgba(10,10,10,0.94));
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--construct-text);
    box-shadow: 0 34px 82px rgba(0,0,0,0.3);
}

.direction-stack-ledger .publication-preview,
.direction-stack-ledger .article-pull,
.direction-stack-ledger .article-related__item {
    color: rgba(255,106,31,0.9);
    border-color: rgba(255,255,255,0.08);
    background: linear-gradient(180deg, rgba(17,16,16,0.97), rgba(10,10,10,0.95));
}

@media (max-width: 1180px) {
    .construct-shell {
        width: min(100% - 28px, 100%);
    }

    .construct-hero,
    .construct-archive,
    .construct-feature-grid,
    .construct-hub-grid,
    .construct-note-grid,
    .publication-review-grid,
    .article-prose-grid,
    .article-related__grid,
    .construct-article {
        grid-template-columns: 1fr;
    }

    .construct-hero__title,
    .construct-card h3,
    .construct-hub-card h2 {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .construct-shell {
        width: min(100% - 22px, 100%);
        padding-top: 18px;
    }

    .construct-topbar,
    .construct-footer,
    .construct-section__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .construct-hero,
    .construct-hub-hero,
    .construct-section,
    .construct-article,
    .article-prose-shell,
    .article-related {
        padding: 30px 22px;
        border-radius: 24px;
    }

    .construct-hub-hero,
    .construct-hub-card {
        padding: 28px 22px;
    }

    .construct-nav {
        gap: 10px;
    }
}
