/* =========================================
   KNOWN SYSTEMS — ROOM 06 : FOUNDER
   ========================================= */

/* Typography & Layout Overrides */
.founder-room-section {
    width: min(1280px, calc(100% - 48px));
    margin: 160px auto;
    position: relative;
    z-index: 5;
}

.section-eyebrow {
    font-family: 'Geist Mono', monospace;
    font-size: 14px;
    color: var(--ks-cyan);
    font-weight: 700;
    display: block;
    margin-bottom: 24px;
    text-transform: uppercase;
}

.founder-hero-grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 80px;
    align-items: center;
    margin-bottom: 120px;
}

.founder-hero-copy h1 {
    font-family: 'Satoshi', sans-serif;
    font-size: 5.5rem;
    font-weight: 900;
    color: var(--ks-black);
    line-height: 1;
    margin-bottom: 40px;
    text-transform: uppercase;
}

.founder-hero-copy p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: var(--ks-teal);
    margin-bottom: 24px;
}

.founder-hero-visual {
    height: 100%;
    min-height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

/* =========================================
   01 / 05 : ORIGIN
   ========================================= */

.origin-object {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
}

.origin-node {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ks-cyan);
    box-shadow: 0 0 16px var(--ks-cyan);
}

.origin-line {
    width: 1px;
    height: 48px;
    background: var(--ks-cyan);
    margin: 8px 0;
}

.origin-structure {
    display: flex;
    gap: 32px;
    align-items: center;
}

.editorial-claim {
    margin: 160px auto;
    text-align: center;
}

.editorial-claim h2 {
    font-family: 'Satoshi', sans-serif;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.1;
    color: var(--ks-black);
}

.editorial-claim .highlight-cyan {
    color: var(--ks-cyan);
}

.editorial-claim.left-aligned {
    text-align: left;
    margin-left: 0;
}

.decision-gap-diagram {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-teal);
    margin: 120px 0;
}

.dg-step {
    padding: 16px 32px;
    border: 1px solid var(--ks-steel);
    border-radius: 8px;
    background: rgba(255,255,255,.6);
    backdrop-filter: blur(8px);
    margin-bottom: 8px;
}

.dg-arrow {
    margin: 8px 0;
    color: var(--ks-slate);
}

.dg-gap {
    color: var(--ks-cyan);
    font-weight: 700;
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.dg-gap span {
    font-size: 24px;
    margin-bottom: 8px;
}

.question-block {
    text-align: center;
    margin: 160px 0;
}

.question-block h2 {
    font-family: 'Satoshi', sans-serif;
    font-size: 5rem;
    font-weight: 900;
    line-height: 1.1;
    color: var(--ks-black);
}

.animated-line {
    width: 0;
    height: 2px;
    background: var(--ks-cyan);
    margin: 40px auto 0;
    animation: expandLine 2s ease forwards;
}

@keyframes expandLine {
    to { width: 120px; }
}

.first-principle {
    text-align: center;
    margin: 160px 0;
}

.fp-title {
    font-family: 'Geist Mono', monospace;
    font-size: 14px;
    color: var(--ks-slate);
    margin-bottom: 40px;
}

.fp-statement {
    font-family: 'Satoshi', sans-serif;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.2;
    color: var(--ks-black);
}

.trajectory-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin: 120px 0;
    text-align: center;
}

.traj-col {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-black);
    font-weight: 700;
}

.traj-arrow {
    color: var(--ks-cyan);
    margin: 16px 0;
    display: block;
}

.traj-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    color: var(--ks-slate);
    font-weight: 400;
    margin-top: 16px;
    line-height: 1.6;
}

.origin-architecture {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 120px 0;
}

.oa-box {
    border: 1px solid var(--ks-steel);
    padding: 24px 48px;
    border-radius: 12px;
    background: rgba(255,255,255,.8);
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-black);
    font-weight: 700;
    text-align: center;
}

.oa-arrow {
    color: var(--ks-cyan);
    margin: 16px 0;
}

.oa-principle {
    border: 1px solid var(--ks-cyan);
    background: rgba(168,208,207,.1);
    color: var(--ks-cyan);
}

.builder-statement {
    margin: 160px 0;
}

.builder-statement h2 {
    font-family: 'Satoshi', sans-serif;
    font-size: 4rem;
    font-weight: 900;
    line-height: 1.1;
    color: var(--ks-black);
    margin-bottom: 40px;
}

.builder-statement p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    color: var(--ks-teal);
    font-weight: 600;
    max-width: 600px;
}

.question-system-transform {
    display: flex;
    justify-content: center;
    gap: 80px;
    margin: 120px 0;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-black);
    font-weight: 700;
}

.qst-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.qst-arrow {
    color: var(--ks-cyan);
}

.origin-instrument {
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(225,228,230,.88), rgba(168,208,207,.48));
    border: 1px solid rgba(168,208,207,.72);
    padding: 48px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 20px 50px rgba(43,91,93,.08);
}

.oi-node {
    width: 16px;
    height: 16px;
    background: var(--ks-black);
    border-radius: 50%;
    margin: 0 auto 24px;
}

.oi-label {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-black);
    font-weight: 700;
    letter-spacing: .1em;
}

.model-comparison {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 64px;
    margin: 120px 0;
}

.mc-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    font-weight: 700;
}

.mc-col.conventional { color: var(--ks-slate); }
.mc-col.ks-model { color: var(--ks-cyan); }

.mc-header {
    font-family: 'Satoshi', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 40px;
}

.mc-step {
    padding: 12px 24px;
    border: 1px solid currentColor;
    border-radius: 8px;
    margin-bottom: 16px;
    width: 200px;
    text-align: center;
}

.mc-arrow { margin-bottom: 16px; }

.founder-principle-panel {
    background: rgba(225,228,230,.68);
    border: 1px solid rgba(168,208,207,.65);
    padding: 40px;
    border-radius: 12px;
    max-width: 500px;
    margin: 120px auto;
}

.fpp-eyebrow {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
    letter-spacing: .15em;
    display: block;
    margin-bottom: 16px;
}

.fpp-title {
    font-family: 'Satoshi', sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 24px;
}

.fpp-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: var(--ks-teal);
    line-height: 1.6;
    margin-bottom: 32px;
}

.fpp-status {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-cyan);
    font-weight: 700;
    border-top: 1px solid var(--ks-steel);
    padding-top: 16px;
}

.end-transition {
    margin: 160px 0 80px;
    padding-top: 80px;
    border-top: 1px solid var(--ks-steel);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.transition-link {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    font-family: 'Satoshi', sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--ks-black);
    transition: color 0.3s ease;
}

.transition-link:hover {
    color: var(--ks-cyan);
}

.transition-link span {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    color: var(--ks-cyan);
    margin-bottom: 8px;
}

.transition-text {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
    text-align: right;
    line-height: 1.6;
}

/* =========================================
   02 / 05 : OBSERVATION
   ========================================= */

.system-observation-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
}

.so-row {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-bottom: 24px;
}

.so-node {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--ks-slate);
    background: var(--ks-white);
}

.so-node.active {
    background: var(--ks-cyan);
    border-color: var(--ks-cyan);
}

.so-line-h {
    width: 40px;
    height: 1px;
    background: var(--ks-steel);
}

.so-line-v {
    width: 1px;
    height: 24px;
    background: var(--ks-steel);
    margin: 0 auto;
}

.so-gap-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
    color: var(--ks-cyan);
    font-weight: 700;
}

.so-gap-container span { margin-bottom: 8px; }
.so-gap-container .cross { font-size: 16px; margin: 8px 0; }

.observation-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 14px;
    color: var(--ks-black);
    font-weight: 700;
    margin: 120px 0;
}

.os-item {
    margin-bottom: 16px;
}

.os-arrow {
    color: var(--ks-cyan);
    margin: 16px 0;
}

.os-human-gap {
    margin: 64px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.os-action { margin-top: 64px; }

.decision-gap-panel {
    background: rgba(225,228,230,.68);
    backdrop-filter: blur(28px);
    border: 1px solid rgba(168,208,207,.65);
    box-shadow: 0 20px 50px rgba(43,91,93,.10);
    color: var(--ks-teal);
    padding: 48px;
    border-radius: 12px;
    max-width: 500px;
    margin: 120px auto;
}

.dgp-eyebrow {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    letter-spacing: .15em;
    display: block;
    margin-bottom: 16px;
}

.dgp-title {
    font-family: 'Satoshi', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 32px;
}

.dgp-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    line-height: 1.6;
}

.three-column-knowledge {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin: 120px 0 64px;
}

.tck-col {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-black);
}

.tck-num {
    font-weight: 700;
    color: var(--ks-cyan);
    margin-bottom: 24px;
    display: block;
}

.tck-title {
    font-weight: 700;
    margin-bottom: 24px;
    display: block;
}

.tck-list {
    color: var(--ks-slate);
    line-height: 2;
}

.tck-question {
    text-align: center;
    font-family: 'Satoshi', sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--ks-cyan);
    margin-bottom: 120px;
}

.side-by-side-arch {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 40px;
    margin: 120px 0;
}

.arch-divider { background: var(--ks-steel); }

.arch-field {
    padding: 0 40px;
}

.arch-field h4 {
    font-family: 'Geist Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: var(--ks-slate);
    margin-bottom: 40px;
    text-align: center;
}

.arch-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
}

.arch-flow span { margin-bottom: 8px; }
.arch-flow i { margin-bottom: 8px; font-style: normal; }

.arch-label {
    display: block;
    text-align: center;
    margin-top: 64px;
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    font-weight: 700;
    color: var(--ks-slate);
}

.active-path h4 { color: var(--ks-black); }
.active-path .arch-flow { color: var(--ks-black); font-weight: 700; }
.active-path .arch-flow i { color: var(--ks-cyan); }
.active-path .arch-label { color: var(--ks-cyan); }

.observation-loop {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    color: var(--ks-black);
    margin: 120px 0;
}

.ol-item { margin-bottom: 16px; }
.ol-arrow { color: var(--ks-slate); margin-bottom: 16px; }
.ol-verify { color: var(--ks-cyan); margin-bottom: 16px; }
.ol-verify-arrow { color: var(--ks-cyan); margin-bottom: 16px; }

.control-distance-visual {
    display: flex;
    justify-content: center;
    gap: 120px;
    margin: 120px 0;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
    text-align: center;
}

.cd-path {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.cd-label { margin-bottom: 24px; font-weight: 700; color: var(--ks-black); }

.cd-line-long {
    width: 1px;
    height: 120px;
    background: var(--ks-steel);
    margin: 16px 0;
}

.cd-node {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ks-slate);
}

.cd-active-node {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ks-cyan);
    box-shadow: 0 0 10px var(--ks-cyan);
}

.cd-label-bottom { margin-top: 24px; font-weight: 700; color: var(--ks-black); }
.cd-status { margin-top: 16px; font-size: 10px; }
.cd-status.active { color: var(--ks-cyan); }

.signal-decision-transform {
    display: flex;
    justify-content: space-between;
    margin: 120px 0;
}

.sdt-col {
    width: 45%;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
}

.sdt-header {
    font-weight: 700;
    color: var(--ks-slate);
    margin-bottom: 40px;
}

.sdt-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--ks-slate);
}

.sdt-flow.active {
    color: var(--ks-black);
    font-weight: 700;
}

.sdt-flow.active .sdt-arrow { color: var(--ks-cyan); }
.sdt-flow span { margin-bottom: 16px; }
.sdt-arrow { margin-bottom: 16px; }

.tech-panel-small {
    border: 1px solid var(--ks-steel);
    padding: 32px;
    border-radius: 12px;
    background: rgba(255,255,255,.6);
    backdrop-filter: blur(8px);
    max-width: 400px;
    margin: 0 auto 120px;
}

.tps-eyebrow {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
    display: block;
    margin-bottom: 16px;
}

.tps-title {
    font-family: 'Satoshi', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 24px;
}

.tps-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    line-height: 1.6;
    color: var(--ks-teal);
    margin-bottom: 32px;
}

.tps-metric {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tps-metric.active { color: var(--ks-cyan); font-weight: 700; }

.clean-transition {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    color: var(--ks-black);
    margin: 120px 0;
    text-align: center;
}

.ct-item { margin-bottom: 24px; }
.ct-arrow { color: var(--ks-slate); margin-bottom: 24px; }
.ct-final { color: var(--ks-cyan); }

.founder-connection {
    text-align: center;
    margin: 160px 0;
}

.founder-connection .eyebrow {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
    display: block;
    margin-bottom: 32px;
}

.founder-connection h2 {
    font-family: 'Satoshi', sans-serif;
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.2;
    color: var(--ks-black);
}

.founder-connection .thesis {
    font-family: 'Geist Mono', monospace;
    font-size: 14px;
    color: var(--ks-cyan);
    font-weight: 700;
    margin-top: 40px;
    display: block;
}

/* =========================================
   03 / 05 : THESIS
   ========================================= */

.verification-field {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
}

.vf-unknown {
    font-size: 24px;
    color: var(--ks-black);
    margin-bottom: 8px;
}

.vf-node {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ks-slate);
}

.vf-constraint-box {
    border: 1px solid var(--ks-steel);
    padding: 16px 32px;
    margin: 16px 0;
    border-radius: 8px;
}

.vf-arrow {
    margin: 8px 0;
}

.vf-verified-node {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ks-aqua);
    border: 2px solid var(--ks-cyan);
    box-shadow: 0 0 10px var(--ks-cyan);
}

.thesis-formula {
    text-align: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
    margin: 120px 0;
}

.tf-row {
    font-size: 16px;
    font-weight: 700;
    color: var(--ks-black);
    margin-bottom: 24px;
}

.tf-operator {
    color: var(--ks-cyan);
    font-size: 24px;
    margin-bottom: 24px;
    display: block;
}

.tf-result {
    font-size: 20px;
    font-weight: 700;
    color: var(--ks-teal);
    margin-top: 40px;
}

.tf-verified {
    color: var(--ks-cyan);
}

.deterministic-boundary {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
    margin: 160px 0;
}

.db-unknown {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
}

.db-nodes {
    display: flex;
    gap: 32px;
    margin-top: 24px;
}

.db-node-hollow {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid var(--ks-slate);
}

.db-line {
    width: 100%;
    max-width: 600px;
    height: 1px;
    background: var(--ks-cyan);
    box-shadow: 0 0 10px var(--ks-cyan);
    position: relative;
    margin: 40px 0;
}

.db-line span {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--ks-white);
    padding: 0 16px;
    color: var(--ks-cyan);
    font-weight: 700;
}

.db-verified {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 40px;
}

.four-fields {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin: 120px 0;
}

.ff-col {
    padding: 32px;
    border: 1px solid var(--ks-steel);
    border-radius: 12px;
}

.ff-num {
    font-family: 'Geist Mono', monospace;
    font-size: 14px;
    font-weight: 700;
    color: var(--ks-cyan);
    margin-bottom: 24px;
    display: block;
}

.ff-title {
    font-family: 'Satoshi', sans-serif;
    font-size: 16px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 16px;
}

.ff-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    line-height: 1.6;
    color: var(--ks-teal);
}

.decision-states-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 120px 0;
    text-align: center;
}

.ds-col {
    padding: 40px 32px;
    border-radius: 12px;
    font-family: 'Geist Mono', monospace;
}

.ds-allow {
    background: rgba(168,208,207,.15);
    border: 1px solid var(--ks-cyan);
    color: var(--ks-teal);
}

.ds-block {
    background: var(--ks-white);
    border: 1px solid var(--ks-steel);
    color: var(--ks-slate);
}

.ds-quarantine {
    background: rgba(168,208,207,.05);
    border: 1px dashed var(--ks-cyan);
    color: var(--ks-teal);
}

.ds-icon {
    font-size: 24px;
    margin-bottom: 24px;
    display: block;
}

.ds-allow .ds-icon { color: var(--ks-cyan); }
.ds-block .ds-icon { color: var(--ks-slate); }
.ds-quarantine .ds-icon { color: var(--ks-cyan); }

.ds-title {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 24px;
    display: block;
}

.ds-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    line-height: 1.6;
}

.verification-matrix {
    background: rgba(225,228,230,.68);
    backdrop-filter: blur(28px);
    border: 1px solid rgba(168,208,207,.65);
    border-radius: 12px;
    padding: 48px;
    margin: 120px 0;
}

.vm-header {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    color: var(--ks-slate);
    margin-bottom: 32px;
    display: block;
}

.vm-table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    text-align: left;
}

.vm-table th {
    color: var(--ks-slate);
    border-bottom: 1px solid var(--ks-steel);
    padding-bottom: 16px;
    font-weight: 400;
}

.vm-table td {
    padding: 16px 0;
    color: var(--ks-teal);
    border-bottom: 1px solid var(--ks-steel);
}

.vm-table td.valid { color: var(--ks-black); }
.vm-table td.check { color: var(--ks-cyan); font-weight: 700; }
.vm-table td.allow { color: var(--ks-cyan); font-weight: 700; }
.vm-table td.block { color: var(--ks-slate); font-weight: 700; }
.vm-table td.quarantine { color: var(--ks-teal); font-weight: 700; }

.vm-table tr:last-child td { border-bottom: none; }

.three-state-model {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
    margin: 120px 0;
    font-weight: 700;
}

.tsm-box {
    border: 1px solid var(--ks-steel);
    padding: 16px 32px;
    border-radius: 8px;
    margin: 16px 0;
    color: var(--ks-black);
}

.tsm-split {
    display: flex;
    align-items: flex-start;
    gap: 80px;
    margin-top: 32px;
    text-align: center;
}

.tsm-path {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tsm-path .state { color: var(--ks-black); margin-bottom: 16px; }
.tsm-path .arrow { margin-bottom: 16px; }
.tsm-path .result { color: var(--ks-teal); }

.execution-gate-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 120px 0;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
    font-weight: 700;
}

.eg-box {
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(225,228,230,.88), rgba(168,208,207,.48));
    border: 1px solid rgba(168,208,207,.72);
    box-shadow: 0 24px 70px rgba(43,91,93,.10), inset 0 1px 0 rgba(255,255,255,.95);
    padding: 40px 64px;
    border-radius: 12px;
    margin: 16px 0;
    color: var(--ks-cyan);
    text-align: center;
}

.permitted-state-space {
    text-align: center;
    margin: 160px 0;
}

.pss-eyebrow {
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
    display: block;
    margin-bottom: 16px;
}

.pss-title {
    font-family: 'Satoshi', sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 64px;
}

.pss-grid {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 80px;
}

.pss-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-slate);
}

.pss-nodes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 120px;
    gap: 8px;
    margin-top: 24px;
}

.pss-node {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1px solid var(--ks-slate);
}

.pss-node.active {
    background: var(--ks-slate);
}

.pss-node.verified {
    background: var(--ks-cyan);
    border-color: var(--ks-cyan);
    box-shadow: 0 0 10px var(--ks-cyan);
}

.architecture-chain {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-teal);
    font-weight: 700;
    margin: 120px 0;
}

.ac-node { margin-bottom: 16px; text-align: center; }
.ac-arrow { color: var(--ks-cyan); margin-bottom: 16px; }

/* =========================================
   04 / 05 : BUILD
   ========================================= */

.build-architecture-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Geist Mono', monospace;
    font-size: 10px;
    color: var(--ks-slate);
}

.bav-layer {
    width: 300px;
    padding: 16px;
    border: 1px solid var(--ks-steel);
    text-align: center;
    margin-bottom: 8px;
    background: rgba(255,255,255,.6);
    backdrop-filter: blur(8px);
}

.bav-core {
    background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(168,208,207,.3));
    border-color: var(--ks-cyan);
    color: var(--ks-black);
    font-weight: 700;
}

.bav-arrow {
    margin: 8px 0;
    color: var(--ks-cyan);
}

.five-components {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin: 120px 0;
}

.fc-col {
    padding: 24px;
    border: 1px solid var(--ks-steel);
    border-radius: 8px;
    background: var(--ks-white);
}

.fc-num {
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    color: var(--ks-cyan);
    font-weight: 700;
    margin-bottom: 16px;
    display: block;
}

.fc-title {
    font-family: 'Satoshi', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: var(--ks-black);
    margin-bottom: 16px;
    display: block;
}

.fc-body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    line-height: 1.6;
    color: var(--ks-teal);
}

.stack-diagram {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 120px 0;
    font-family: 'Geist Mono', monospace;
    font-size: 12px;
    font-weight: 700;
}

.sd-request {
    color: var(--ks-black);
    margin-bottom: 24px;
}

.sd-box {
    width: 100%;
    max-width: 600px;
    border: 1px solid var(--ks-steel);
    border-radius: 12px;
    padding: 40px;
    text-align: center;
    margin-bottom: 24px;
    position: relative;
    background: rgba(225,228,230,.2);
}

.sd-box.active {
    border-color: var(--ks-cyan);
    background: rgba(168,208,207,.1);
}

.sd-title {
    font-size: 14px;
    color: var(--ks-black);
    margin-bottom: 24px;
    display: block;
}

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

.sd-grid-item {
    border: 1px solid var(--ks-steel);
    padding: 16px;
    border-radius: 8px;
    background: var(--ks-white);
    color: var(--ks-slate);
    font-size: 10px;
}

.sd-grid-item.active {
    color: var(--ks-cyan);
    border-color: var(--ks-cyan);
}

.sd-arrow {
    color: var(--ks-slate);
    margin-bottom: 24px;
}

.sd-execution {
    color: var(--ks-cyan);
}

.founder-connection.mission-transition {
    margin-bottom: 0;
    padding-bottom: 120px;
}
