/* =========================================================
   04. LAYOUT
   ========================================================= */

.container {
    width: min(
        calc(100% - (var(--container-padding) * 2)),
        var(--container-width)
    );

    margin-inline: auto;
}

.section {
    position: relative;

    min-height: 100vh;

    padding-block: var(--section-padding);

    overflow: clip;
}

.section--short {
    min-height: auto;
}

.about,
.develop,
.engine,
.portfolio,
.projects,
.resources,
.learning,
.ip {
    background: var(--color-black);
}

.awakening,
.why-engine,
.human,
.lifecycle,
.outcomes,
.collaboration {
    background: var(--color-black-soft);
}

/* =========================================================
   ABOUT / WHY / EVOLUTION / OUTCOMES / CLOSING
   Support markup kept from the original page skeleton
   ========================================================= */

.about__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 4rem;
    align-items: center;
}
.about__statement p {
    color: var(--color-text-muted, rgba(255,255,255,.7));
    font-size: clamp(1.05rem, 2vw, 1.35rem);
    line-height: 1.7;
}
.about__visual {
    position: relative;
    min-height: 320px;
}
.system-node {
    position: absolute;
    padding: .55rem .9rem;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 999px;
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.system-node--center {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    border-radius: 50%;
    padding: 0;
    background: rgba(255,255,255,.04);
}
.system-node--one { top: 8%; left: 50%; transform: translateX(-50%); }
.system-node--two { top: 50%; right: 4%; transform: translateY(-50%); }
.system-node--three { bottom: 8%; left: 50%; transform: translateX(-50%); }
.system-node--four { top: 50%; left: 4%; transform: translateY(-50%); }

.question-field {
    display: grid;
    gap: 1rem;
    margin-top: 3rem;
}
.question-card {
    padding: 1.25rem 1.5rem;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.02);
    color: rgba(255,255,255,.75);
}
.closing-line {
    margin-top: 3rem;
    text-align: center;
    font-size: 1.15rem;
}

.timeline {
    position: relative;
    margin-top: 4rem;
    display: grid;
    gap: 2.5rem;
}
.timeline__line {
    position: absolute;
    left: 11px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255,255,255,.12);
}
.timeline-item {
    display: grid;
    grid-template-columns: 24px 1fr;
    gap: 1.25rem;
    position: relative;
}
.timeline-item__marker {
    width: 12px;
    height: 12px;
    margin-top: .35rem;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.5);
    background: #050507;
}
.timeline-item__content small {
    letter-spacing: .16em;
    font-size: .65rem;
    opacity: .5;
}
.timeline-item__content h3 { margin: .35rem 0; }
.timeline-item__content p { opacity: .65; line-height: 1.6; }

.section-heading { margin-bottom: 3rem; }
.section-heading--center { text-align: center; }
.section-copy {
    max-width: 42rem;
    margin-inline: auto;
    color: rgba(255,255,255,.65);
    line-height: 1.7;
}
.display-heading span { display: block; opacity: .72; font-weight: 400; }
.eyebrow {
    letter-spacing: .2em;
    font-size: .7rem;
    text-transform: uppercase;
    opacity: .55;
    margin-bottom: 1rem;
}

.outcomes, .closing, .ip, .resources, .learning, .collaboration, .future {
    padding-block: clamp(5rem, 12vw, 9rem);
}

@media (max-width: 767px) {
    .about__grid { grid-template-columns: 1fr; }
    .about__visual { min-height: 260px; }
}

/* Discovery spark on question cards */
.question-card {
    position: relative;
    overflow: hidden;
}

.question-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--energy-discovery);
    box-shadow: 0 0 18px rgba(var(--energy-discovery-rgb), 0.45);
    opacity: 0.45;
    transition: opacity 0.4s ease, box-shadow 0.4s ease;
}

.question-card:hover::before {
    opacity: 1;
    box-shadow: 0 0 25px rgba(var(--energy-discovery-rgb), 0.65);
}

.system-node--one { border-color: rgba(var(--energy-discovery-rgb), 0.35); color: rgba(255,204,51,0.85); }
.system-node--two { border-color: rgba(var(--energy-engineering-rgb), 0.35); color: rgba(255,136,0,0.85); }
.system-node--three { border-color: rgba(var(--energy-experimentation-rgb), 0.35); color: rgba(153,0,255,0.85); }
.system-node--four { border-color: rgba(var(--energy-growth-rgb), 0.35); color: rgba(0,201,119,0.85); }
.system-node--center {
    box-shadow:
        0 0 40px rgba(0,119,255,0.06),
        0 0 80px rgba(153,0,255,0.04);
}

