        /* * PENTAD.AI // V20 // PRESS ROMAN
         * Plex Serif body. Plex Sans labels. Plex Mono code only.
         * Faithful to GA33-3056-0 typography (Hursley Park, 1979).
         * Semantic HTML: dl/dt/dd, section, article, aside.
         */

        /* Fonts loaded via <link> in <head> with display=swap */

        :root {
            --bg: #F5F6F8;
            --ink: #16161D;
            --dim: #787B82;
            --rule: #D6D8DD;
            --vermillion: #E8471B;

            /* CMYK — logo only */
            --cyan: #00AEEF;
            --magenta: #EC008C;
            --yellow: #FFD100;
            --key: #050505;
            --active: #4A4A5A;

            /* Terminal — light theme */
            --t-bg: #EBEDF1;
            --t-green: #2E2E38;
            --t-blue: #2B5F9E;
            --t-white: #16161D;
            --t-yellow: #B5450E;
            --t-dim: #868A92;
            --t-rule: #D2D5DB;

            --font-body: 'IBM Plex Serif', Georgia, 'Times New Roman', serif;
            --font-label: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
            --font-mono: 'IBM Plex Mono', ui-monospace, 'Cascadia Code', Menlo, Consolas, monospace;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            background-color: var(--bg);
            color: var(--ink);
            font-family: var(--font-body);
            font-size: 19.25px;
            line-height: 1.4;
            padding: clamp(3rem, 6vh, 6rem) clamp(1.25rem, 3.5vw, 3rem);
            max-width: 1100px;
            margin: 0 auto;
            -webkit-font-smoothing: antialiased;
        }

        /* =========================================
         * REGISTRATION MARKS
         * ========================================= */


        .crop-marks {
            position: fixed;
            pointer-events: none;
            z-index: 5;
            color: var(--ink);
            font-size: 18px;
            font-family: var(--font-mono);
            letter-spacing: 0.1em;
        }

        .crop-tl { top: 14px; left: 12px; color: #fff; }
        .crop-tr { top: 14px; right: 12px; text-align: right; color: #fff; }
        .crop-bl { bottom: 28px; left: 12px; }
        .crop-br { bottom: 28px; right: 12px; text-align: right; }

        /* =========================================
         * PUBLICATION HEADER
         * ========================================= */

        .pub-header {
            margin-bottom: 3.5rem;
        }

        .pentad-logo {
            width: 72px;
            height: 72px;
            flex-shrink: 0;
        }

        .pub-plate {
            background: var(--vermillion);
            width: 100vw;
            position: relative;
            left: 50%;
            transform: translateX(-50%);
            margin-top: calc(-1 * clamp(3rem, 6vh, 6rem));
            padding: 1.75rem max(clamp(1.5rem, 4vw, 4rem), calc((100vw - 990px) / 2 + clamp(1.5rem, 4vw, 4rem)));
            text-align: left;
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }

        .pub-plate .pub-id {
            font-family: var(--font-label);
            font-size: 0.65em;
            color: rgba(255, 255, 255, 0.5);
            text-transform: uppercase;
            letter-spacing: 0.12em;
            margin-bottom: 1rem;
        }

        .pub-plate .pub-category {
            font-family: var(--font-label);
            font-size: 0.78em;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.6);
            text-transform: uppercase;
            letter-spacing: 0.12em;
            margin-bottom: 0.75rem;
        }

        .pub-plate .system-name {
            font-family: var(--font-label);
            font-size: 1.05em;
            font-weight: 700;
            color: #fff;
            line-height: 1.05;
            letter-spacing: -0.02em;
            margin-bottom: 0.4rem;
        }

        .pub-plate .sub-title {
            font-family: var(--font-body);
            font-size: 1.5em;
            font-weight: 600;
            color: #fff;
            line-height: 1.25;
        }

        .pub-plate .sub-sub {
            font-weight: 400;
            color: rgba(255, 255, 255, 0.6);
            letter-spacing: 0;
        }


        /* =========================================
         * DEFINITION LIST — semantic label/body
         * The core layout pattern. <dl>/<dt>/<dd>.
         * ========================================= */

        dl {
            display: grid;
            grid-template-columns: 170px 1fr;
            gap: 0 2.25rem;
            margin-bottom: 2.25rem;
        }

        dt {
            font-family: var(--font-label);
            font-weight: 600;
            font-size: 0.82em;
            line-height: 1.4;
        }

        dd {
            line-height: 1.4;
        }

        dd p {
            margin-bottom: 1.1rem;
        }

        dd p:last-child {
            margin-bottom: 0;
        }

        /* =========================================
         * SECTION HEADINGS
         * ========================================= */

        h1 {
            font-family: var(--font-label);
            font-size: 1.05em;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            border-bottom: 1px solid var(--ink);
            padding-bottom: 0.5rem;
            margin-top: 4rem;
            margin-bottom: 2.25rem;
        }

        h1 .ch {
            color: var(--vermillion);
            margin-right: 0.4em;
        }

        h1 .toc-return {
            float: right;
            font-size: 0.7em;
            font-weight: 400;
            text-transform: none;
            letter-spacing: 0.06em;
            color: var(--dim);
            text-decoration: none;
            position: relative;
            top: 0.15em;
        }

        h1 .toc-return:hover {
            color: var(--vermillion);
        }

        .section-note {
            font-family: var(--font-label);
            font-size: 0.72em;
            color: var(--dim);
            text-transform: uppercase;
            letter-spacing: 0.08em;
            margin-top: -1.5rem;
            margin-bottom: 2.25rem;
        }

        /* =========================================
         * SPEC LIST
         * ========================================= */

        ul.spec-list {
            list-style: none;
            padding: 0;
            margin-bottom: 1.1rem;
        }

        ul.spec-list li {
            padding-left: 1.5em;
            text-indent: -1.5em;
            margin-bottom: 0.4rem;
        }

        ul.spec-list li::before {
            content: "\2013\0020";
            color: var(--dim);
        }

        /* =========================================
         * TABLES
         * ========================================= */

        table {
            width: 100%;
            border-collapse: collapse;
            margin: 1.1rem 0 1.5rem 0;
            font-size: 0.88em;
        }

        thead th {
            font-family: var(--font-label);
            text-align: left;
            font-weight: 600;
            font-size: 0.78em;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            padding: 0.5rem 0.75rem 0.5rem 0;
            border-bottom: 2.5px solid var(--ink);
            color: var(--dim);
        }

        td {
            padding: 0.55rem 0.75rem 0.55rem 0;
            vertical-align: top;
            border-bottom: 1px solid var(--rule);
        }

        td:first-child {
            font-family: var(--font-label);
            font-weight: 600;
            white-space: nowrap;
        }

        tr:last-child td {
            border-bottom: 2.5px solid var(--vermillion);
        }

        /* =========================================
         * TT / CODE
         * ========================================= */

        tt, code {
            font-family: var(--font-mono);
            background-color: rgba(22, 22, 29, 0.07);
            padding: 0.1em 0.35em;
            font-weight: 500;
            font-size: 0.88em;
            letter-spacing: -0.02em;
        }

        /* =========================================
         * TERMINAL WINDOW
         * ========================================= */

        .term-window {
            margin: 2.5rem 0;
            border-radius: 2px;
            border: 1px solid var(--rule);
            overflow: hidden;
        }

        .term-body {
            background: var(--t-bg);
            padding: 1.75rem 1.5rem;
            overflow-x: auto;
            font-size: 0.82em;
            line-height: 1.4;
        }

        .term-body pre {
            font-family: var(--font-mono);
            color: var(--t-green);
            white-space: pre;
        }

        .term-body .t-b { color: var(--t-blue); }
        .term-body .t-w { color: var(--t-white); font-weight: 600; }
        .term-body .t-y { color: var(--t-yellow); }
        .term-body .t-d { color: var(--t-dim); }

        /* =========================================
         * TIER FLOW DIAGRAM
         * ========================================= */

        .tier-flow {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5em;
            margin: 1.5rem 0 2.5rem 0;
            font-family: var(--font-label);
            font-size: 0.78em;
            font-weight: 600;
            /* Compliance ring */
            border: 2px dotted var(--vermillion);
            border-radius: 4px;
            padding: 2em 2.5em 1.5em 2.5em;
        }

        .tier-flow-label {
            position: absolute;
            top: -0.7em;
            left: 1.5em;
            background: var(--bg);
            padding: 0 0.5em;
            font-size: 0.85em;
            color: var(--vermillion);
            letter-spacing: 0.06em;
        }

        .tier-pipeline {
            display: flex;
            align-items: center;
            gap: 0;
        }

        .tier-node {
            border: 1.5px solid var(--ink);
            padding: 0.4em 0.9em;
            white-space: nowrap;
        }

        .tier-node.tier-semantic {
            border-color: var(--vermillion);
        }

        .tier-arrow {
            width: 36px;
            height: 12px;
            flex-shrink: 0;
        }

        .tier-arrow-v {
            width: 12px;
            height: 24px;
        }

        .tier-institutional {
            position: absolute;
            right: -1px;
            top: 50%;
            transform: translateX(100%) translateY(-50%);
            display: flex;
            align-items: center;
            gap: 0.4em;
        }

        .tier-institutional .tier-arrow {
            width: 28px;
            height: 12px;
        }

        .tier-node.tier-inst {
            border: 1.5px dashed var(--dim);
            color: var(--dim);
        }

        /* =========================================
         * TRIAD & SAGA SVG FIGURES
         * ========================================= */

        .triad-fig, .saga-fig {
            display: block;
            margin: 1.75rem auto 0.5rem auto;
            max-width: 100%;
            height: auto;
        }

        .triad-label {
            font-family: var(--font-label);
            font-size: 13px;
            font-weight: 700;
            fill: var(--ink);
            letter-spacing: 0.06em;
        }

        .triad-sub {
            font-family: var(--font-label);
            font-size: 11px;
            font-weight: 400;
            fill: var(--dim);
            font-style: italic;
        }

        .triad-tag {
            font-family: var(--font-mono);
            font-size: 10px;
            fill: var(--dim);
            letter-spacing: 0.02em;
        }

        .triad-base {
            font-family: var(--font-label);
            font-size: 11px;
            font-weight: 600;
            fill: var(--vermillion);
            letter-spacing: 0.08em;
        }

        .saga-step {
            font-family: var(--font-mono);
            font-size: 13px;
            font-weight: 600;
            fill: var(--ink);
        }

        .saga-fail {
            font-family: var(--font-mono);
            font-size: 13px;
            font-weight: 700;
            fill: var(--vermillion);
        }

        .saga-comp {
            font-family: var(--font-mono);
            font-size: 13px;
            font-weight: 600;
            fill: var(--vermillion);
        }

        .saga-row-label {
            font-family: var(--font-label);
            font-size: 11px;
            font-weight: 700;
            fill: var(--ink);
            letter-spacing: 0.08em;
        }

        .saga-row-tag {
            font-family: var(--font-mono);
            font-size: 10px;
            fill: var(--dim);
            letter-spacing: 0.02em;
        }

        /* =========================================
         * LINKS
         * ========================================= */

        a.ref {
            color: inherit;
            text-decoration-line: underline;
            text-decoration-color: var(--rule);
            text-underline-offset: 2px;
            text-decoration-thickness: 1px;
        }

        a.ref:hover {
            text-decoration-color: var(--vermillion);
        }

        /* =========================================
         * SMART QUOTES — <q> element
         * ========================================= */

        q {
            quotes: "\201C" "\201D" "\2018" "\2019";
        }

        q::before { content: open-quote; }
        q::after  { content: close-quote; }

        /* =========================================
         * TABLE OF CONTENTS
         * ========================================= */

        .toc {
            margin: 3rem 0 3rem 0;
        }

        .toc-label {
            font-family: var(--font-label);
            font-weight: 600;
            font-size: 0.82em;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            margin-bottom: 0.6rem;
        }

        .toc ol {
            list-style: none;
            padding: 0;
            margin: 0;
            columns: 2;
            column-gap: 2.5rem;
        }

        .toc li {
            font-family: var(--font-label);
            font-size: 0.82em;
            line-height: 2;
            break-inside: avoid;
        }

        .toc a {
            color: var(--ink);
            text-decoration: none;
        }

        .toc a:hover {
            color: var(--vermillion);
        }

        .toc .toc-num {
            color: var(--dim);
            margin-right: 0.3em;
            font-weight: 600;
        }

        /* =========================================
         * CALLOUT
         * ========================================= */

        blockquote.callout {
            border-top: 1px solid var(--ink);
            border-bottom: 1px solid var(--ink);
            padding: 1.5rem 0;
            margin: 2.75rem 0;
            font-weight: 600;
            line-height: 1.4;
            font-size: 1.02em;
        }

        /* =========================================
         * FIGURE CAPTION
         * ========================================= */

        figcaption {
            font-family: var(--font-label);
            font-size: 0.72em;
            color: var(--dim);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            margin-top: -1.25rem;
            margin-bottom: 2.25rem;
        }

        /* =========================================
         * SEPARATOR
         * ========================================= */

        .sys-divider {
            font-family: var(--font-label);
            display: flex;
            align-items: center;
            gap: 1.5em;
            font-size: 0.88em;
            color: var(--vermillion);
            text-transform: uppercase;
            letter-spacing: 0.15em;
            margin: 5rem 0 1rem 0;
            white-space: nowrap;
            font-weight: 700;
        }

        .sys-divider::before,
        .sys-divider::after {
            content: "";
            flex: 1;
            height: 1px;
            background: var(--rule);
        }

        /* =========================================
         * FIELD PROTECTION NOTE
         * ========================================= */

        .field-note {
            font-family: var(--font-label);
            font-size: 0.65em;
            color: var(--rule);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            margin-top: -0.75rem;
            margin-bottom: 2rem;
            padding-left: 0.75rem;
        }

        /* =========================================
         * CONTACT
         * ========================================= */

        .contact-block {
            margin-top: 4rem;
            padding-top: 2.25rem;
            border-top: 1px solid var(--ink);
            font-style: normal;
        }

        a.contact-addr {
            font-family: var(--font-label);
            color: var(--ink);
            text-decoration: none;
            font-weight: 700;
            font-size: 1.05em;
        }

        a.contact-addr:hover {
            color: var(--vermillion);
        }

        /* =========================================
         * OIA — 3279 status bar
         * ========================================= */

        .oia {
            font-family: var(--font-mono);
            position: fixed;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 22px;
            background: rgba(245, 245, 243, 0.92);
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            border-top: 1px solid var(--rule);
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0 1rem;
            font-size: 9.5px;
            color: var(--dim);
            text-transform: uppercase;
            letter-spacing: 0.12em;
            z-index: 10;
        }

        /* =========================================
         * COLOPHON
         * ========================================= */

        .colophon {
            margin-top: 4rem;
            padding-top: 1.5rem;
            border-top: 1px dashed var(--rule);
            font-size: 0.72em;
            color: var(--dim);
            line-height: 1.6;
        }

        /* =========================================
         * FOOTER
         * ========================================= */

        footer {
            font-family: var(--font-label);
            margin-top: 2.5rem;
            padding-top: 1.25rem;
            padding-bottom: 2rem;
            border-top: 1px solid var(--rule);
            font-size: 0.68em;
            color: var(--dim);
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }

        .footer-row {
            display: flex;
            justify-content: space-between;
        }


        /* =========================================
         * RESPONSIVE
         * ========================================= */

        @media (max-width: 640px) {
            body { font-size: 17px; }

            .crop-marks { display: none; }
            .ebnf-figure { display: none; }

            .pentad-logo { width: 54px; height: 54px; }
            .pub-plate { gap: 1rem; }
            .pub-plate .sub-title { font-size: 1.15em; }
            .pub-plate .system-name { font-size: 0.9em; }

            .toc ol { columns: 1; }

            dl {
                grid-template-columns: 1fr;
                gap: 0.3rem 0;
                margin-bottom: 1.75rem;
            }

            dt {
                font-size: 0.78em;
                margin-bottom: 0.1rem;
            }

            table { font-size: 0.82em; }
            td:first-child { white-space: normal; }

            /* Man page: scale to fit, treat as visual artifact */
            .term-window {
                margin-left: -0.5rem;
                margin-right: -0.5rem;
            }

            .term-body {
                padding: 1rem 0.75rem;
                font-size: 0.48em;
                overflow-x: hidden;
            }

            /* Tier diagram: vertical stack */
            .tier-flow {
                padding: 1.5em 1.25em 1.25em 1.25em;
            }

            .tier-pipeline {
                flex-direction: column;
                align-items: center;
                gap: 0;
            }

            .tier-pipeline .tier-arrow {
                width: 12px;
                height: 28px;
                transform: rotate(90deg);
            }

            .tier-institutional {
                position: static;
                transform: none;
                margin-top: 1em;
                flex-direction: column;
                align-items: center;
            }

            .tier-institutional .tier-arrow {
                width: 12px;
                height: 28px;
                transform: rotate(90deg);
            }

            .oia { display: none; }

            /* Wide left-to-right diagram: illegible at phone width, no side-scroll. Hide it. */
            .saga-figure { display: none; }

            /* Captions: smaller, with real space above the figure they describe */
            figcaption {
                font-size: 0.62em;
                margin-top: 0.85rem;
                margin-bottom: 1.75rem;
            }

            footer {
                flex-direction: column;
                gap: 0.3rem;
            }
        }

        /* =========================================
         * PRINT
         * ========================================= */

        @media print {
            .crop-marks, .oia { display: none; }
            body {
                background: white;
                color: black;
                font-size: 11pt;
                padding: 0;
                max-width: none;
            }
            .term-window {
                border-color: #333;
                break-inside: avoid;
            }
            .term-body { background: #F0F0F0; }
            a.ref { text-decoration: none; color: inherit; }
            a.contact-addr { color: black; }
            .pub-plate { background: black; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
        }

/* =================================================================
 * SHARED CHROME + TECHNICAL-EDITORIAL LAYER  (home / about)
 * The triangulated point between the IBM press spec (crop-marks,
 * OIA, §-apparatus, dense dl-grids) and PLRN prose minimalism:
 * editorial serif scale, asymmetric composition, one sharp accent,
 * a whisper of the registration-mark heritage.
 * ================================================================= */

/* ---- Global navbar ------------------------------------------------ */
.site-nav {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: calc(-1 * clamp(3rem, 6vh, 6rem));
    margin-bottom: clamp(1.75rem, 4vh, 3rem);
    background: var(--bg);
    border-bottom: 1px solid var(--rule);
}
.site-nav-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0.7rem clamp(1.25rem, 3.5vw, 3rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.site-nav .brand {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    text-decoration: none;
    color: var(--ink);
    font-family: var(--font-label);
    font-weight: 700;
    font-size: 0.9em;
    letter-spacing: -0.01em;
}
.site-nav .brand svg { width: 24px; height: 24px; flex-shrink: 0; }
.nav-links {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    font-family: var(--font-mono);
    font-size: 0.7em;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 500;
}
.nav-sep {
    color: var(--rule);
    font-size: 0.85em;
    user-select: none;
    line-height: 1;
}
.nav-links a {
    color: var(--dim);
    text-decoration: none;
    padding-bottom: 3px;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: color 0.14s, border-color 0.14s;
}
.nav-links a:hover { color: var(--vermillion); }
.nav-links a.active { color: var(--ink); border-bottom-color: var(--vermillion); }

/* On nav'd pages the publication plate no longer butts the viewport top */
.pub-header .pub-plate { margin-top: 0; }

/* page wrapper (set by layout: .page-home / .page-system / .page-about) */
.page { display: block; }

/* ---- Shared CTA buttons ------------------------------------------ */
.cta {
    font-family: var(--font-label);
    font-size: 0.82em;
    font-weight: 600;
    text-decoration: none;
    padding: 0.65rem 1.15rem;
    border: 1.5px solid var(--ink);
    color: var(--ink);
    border-radius: 1px;
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    transition: background 0.14s, color 0.14s, border-color 0.14s;
}
.cta:hover { background: var(--ink); color: var(--bg); }
.cta-primary { background: var(--vermillion); border-color: var(--vermillion); color: #fff; }
.cta-primary:hover { background: var(--ink); border-color: var(--ink); color: #fff; }
.cta-ghost { border-color: transparent; padding-left: 0.35rem; padding-right: 0.35rem; }
.cta-ghost:hover { background: transparent; color: var(--vermillion); }

/* ---- HOME: technical-editorial hero ------------------------------ */
.home-hero {
    position: relative;
    padding: clamp(1.5rem, 7vh, 5rem) 0 clamp(2rem, 5vh, 3.5rem);
    overflow: visible;
}
/* faint engineering dot-grid atmosphere, fading downward */
.home-hero::before {
    content: "";
    position: absolute;
    inset: -2rem -50vw 0 -50vw;
    z-index: 0;
    pointer-events: none;
    background-image: radial-gradient(var(--rule) 0.9px, transparent 0.9px);
    background-size: 24px 24px;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent 72%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6), transparent 72%);
    opacity: 0.55;
}
/* oversized quiet pentad rosette, bleeding off the right edge */
.home-hero .rosette {
    position: absolute;
    right: -6%;
    top: 48%;
    transform: translateY(-50%);
    width: min(44vw, 440px);
    height: auto;
    opacity: 0.725;
    z-index: 0;
    pointer-events: none;
}
.home-hero > .hero-body { position: relative; z-index: 1; max-width: 40rem; }

.kicker {
    font-family: var(--font-mono);
    font-size: 0.72em;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--vermillion);
    margin-bottom: 1.6rem;
    display: flex;
    align-items: center;
    gap: 0.75em;
}
.kicker::before {
    content: "";
    width: 2.2em;
    height: 2px;
    background: var(--vermillion);
    flex-shrink: 0;
}

.home-hero .display {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: clamp(2.5rem, 6.4vw, 4.4rem);
    line-height: 1.03;
    letter-spacing: -0.022em;
    color: var(--ink);
    max-width: 15ch;
    border: 0;
    padding: 0;
    margin: 0 0 1.5rem 0;
    text-transform: none;
}
.home-hero .display em { font-style: italic; color: var(--vermillion); }

.home-lede {
    font-family: var(--font-body);
    font-size: clamp(1.1rem, 2.1vw, 1.38rem);
    line-height: 1.42;
    max-width: 50ch;
    color: var(--ink);
    margin: 0 0 2.25rem 0;
}
.home-lede strong { font-weight: 600; }

.home-cta { display: flex; gap: 0.7rem; flex-wrap: wrap; align-items: center; }

/* staggered load reveal (editorial restraint) */
.home-hero .kicker,
.home-hero .display,
.home-hero .home-lede,
.home-hero .home-cta {
    opacity: 0;
    transform: translateY(9px);
    animation: wos-rise 0.62s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}
.home-hero .kicker   { animation-delay: 0.05s; }
.home-hero .display  { animation-delay: 0.15s; }
.home-hero .home-lede{ animation-delay: 0.30s; }
.home-hero .home-cta { animation-delay: 0.44s; }
@keyframes wos-rise { to { opacity: 1; transform: none; } }

/* ---- HOME: section device below the fold -------------------------- */
.home-rule {
    border: 0;
    border-top: 1px solid var(--rule);
    margin: clamp(2.5rem, 6vh, 4rem) 0 clamp(2rem, 4vh, 3rem) 0;
}
.home-marker {
    font-family: var(--font-mono);
    font-size: 0.7em;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--dim);
    margin-bottom: 1.25rem;
}
.home-marker b { color: var(--vermillion); font-weight: 500; }

/* ---- ABOUT + PILLAR + USE-CASE: editorial prose (markdown body) --- */
.page-about, .page-agentic-os, .page-data-enclave { max-width: 46rem; }
.page-about h1, .page-agentic-os h1, .page-data-enclave h1, .page-news h1 {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: clamp(2rem, 5vw, 3rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: none;
    border: 0;
    padding: 0;
    margin: 0.5rem 0 1.5rem 0;
    color: var(--ink);
}
.page-about h2, .page-agentic-os h2, .page-data-enclave h2 {
    font-family: var(--font-label);
    font-weight: 600;
    font-size: 1.15em;
    letter-spacing: 0.01em;
    margin: 3.25rem 0 1.2rem 0;
}
.page-about p, .page-about li,
.page-agentic-os p, .page-agentic-os li,
.page-data-enclave p, .page-data-enclave li {
    font-family: var(--font-body);
    line-height: 1.62;
}
.page-about p, .page-agentic-os p, .page-data-enclave p { margin: 0 0 1.2rem 0; }
.page-about ol, .page-about ul,
.page-agentic-os ol, .page-agentic-os ul,
.page-data-enclave ol, .page-data-enclave ul { padding-left: 1.5rem; margin: 0 0 1.6rem 0; }
.page-about li, .page-agentic-os li, .page-data-enclave li { margin-bottom: 1.3rem; padding-left: 0.3rem; }
.page-about li::marker, .page-agentic-os li::marker, .page-data-enclave li::marker { color: var(--vermillion); font-family: var(--font-mono); font-size: 0.85em; }
.page-about .draft-note {
    font-family: var(--font-mono);
    font-size: 0.72em;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--vermillion);
    border: 1px dashed var(--rule);
    padding: 0.6rem 0.9rem;
    margin-bottom: 2rem;
}

/* ---- Responsive --------------------------------------------------- */
@media (max-width: 640px) {
    .site-nav-inner { flex-direction: column; align-items: flex-start; gap: 0.55rem; }
    .nav-links { gap: 0.9rem; flex-wrap: wrap; }
    .home-hero .rosette { right: -28%; opacity: 0.22; }
    .home-cta { width: 100%; }
    .home-cta .cta { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .home-hero .kicker,
    .home-hero .display,
    .home-hero .home-lede,
    .home-hero .home-cta { animation: none; opacity: 1; transform: none; }
}

/* ---- HOME: conventional sections (replaces IBM dl for status/contact) ---- */
.home-section { max-width: 42rem; margin: 0 0 clamp(2rem, 5vh, 3rem) 0; }
.home-section:last-child { margin-bottom: 0; }
.home-section h3 {
    font-family: var(--font-label);
    font-weight: 600;
    font-size: 1.02rem;
    letter-spacing: 0.01em;
    color: var(--ink);
    margin: 0 0 0.95rem 0;
    padding-bottom: 0.45rem;
    border-bottom: 1px solid var(--rule);
}
.home-section p { font-family: var(--font-body); line-height: 1.5; margin: 0 0 1.05rem 0; }
.home-section p:last-child { margin-bottom: 0; }
.home-signoff {
    font-family: var(--font-label);
    font-size: 0.86rem;
    color: var(--dim);
    margin-top: 1.4rem !important;
}
.home-signoff a { font-weight: 600; }

/* ---- HOME: news teaser ------------------------------------------- */
.home-news { list-style: none; margin: 0; padding: 0; }
.home-news li {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    padding: 0.32rem 0;
}
.home-news-date {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    color: var(--dim);
    flex-shrink: 0;
    min-width: 6.5rem;
}
.home-news-title { font-family: var(--font-body); }
.home-news-title a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); }
.home-news-title a:hover { color: var(--vermillion); border-color: var(--vermillion); }
.home-news-more { margin-top: 0.95rem !important; }

/* ---- NEWS page --------------------------------------------------- */
.news-intro { max-width: 42rem; margin-bottom: clamp(1.5rem, 4vh, 2.25rem); }
.news-intro p { font-family: var(--font-body); line-height: 1.55; color: var(--dim); margin: 0; }
.news-list { list-style: none; margin: 0; padding: 0; max-width: 42rem; }
.news-item {
    display: flex;
    gap: 1.5rem;
    margin-bottom: 1.9rem;
}
.news-item:last-child { margin-bottom: 0; }
.news-date {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    color: var(--dim);
    flex-shrink: 0;
    min-width: 6.5rem;
    padding-top: 0.18rem;
}
.news-body { flex: 1 1 auto; }
.news-title { font-family: var(--font-body); font-weight: 600; font-size: 1.12rem; margin: 0 0 0.4rem 0; }
.news-title a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--rule); }
.news-title a:hover { color: var(--vermillion); border-color: var(--vermillion); }
.news-blurb { font-family: var(--font-body); line-height: 1.5; color: var(--ink); margin: 0; }

@media (max-width: 33rem) {
    .home-news li { flex-direction: column; gap: 0.2rem; }
    .news-item { flex-direction: column; gap: 0.4rem; }
    .news-date { padding-top: 0; }
}

/* ---- Shared global footer (DRY: _includes/footer.html) ----------- */
.site-foot {
    margin-top: clamp(3rem, 6vh, 5rem);
    padding: 1.2rem 0 2.75rem 0;
    border-top: 1px solid var(--rule);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--dim);
}
.site-foot a { color: var(--dim); text-decoration: none; }
.site-foot a:hover { color: var(--vermillion); }

/* ================================================================== */
/* REFERENCE PAGES — pillar (autonomic agentic OS) + use case (data rooms)
   Shared masthead hero (.ref-*); the system-stack signature (.aaos-*)
   is the pillar's alone. All scoped under the page class so the ABOUT
   prose rules above never cancel these.                               */
/* ================================================================== */
.page-agentic-os, .page-data-enclave { max-width: 55rem; }

/* ---- shared reference-page hero / masthead ----------------------- */
.page-agentic-os .ref-hero,
.page-data-enclave .ref-hero { margin: 0.25rem 0 3.25rem 0; }

.page-agentic-os .ref-kicker,
.page-data-enclave .ref-kicker {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--dim);
    margin: 0 0 1.15rem 0;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid var(--rule);
}
.page-agentic-os .ref-display,
.page-data-enclave .ref-display {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: clamp(2.1rem, 5vw, 3.2rem);
    line-height: 1.04;
    letter-spacing: -0.022em;
    color: var(--ink);
    margin: 0 0 1.5rem 0;
    text-wrap: balance;
    max-width: 20em;
}
.page-agentic-os .ref-answer,
.page-data-enclave .ref-answer {
    font-family: var(--font-body);
    font-size: clamp(1.05rem, 2.1vw, 1.3rem);
    line-height: 1.5;
    color: var(--ink);
    margin: 0 0 1.6rem 0;
    max-width: 33em;
}
.page-agentic-os .ref-answer b,
.page-data-enclave .ref-answer b {
    font-weight: 600;
    box-shadow: inset 0 -0.5em 0 rgba(232, 71, 27, 0.15);
}
.page-agentic-os .ref-thesis,
.page-data-enclave .ref-thesis {
    font-family: var(--font-body);
    font-style: italic;
    font-size: clamp(1.15rem, 2.3vw, 1.5rem);
    line-height: 1.32;
    color: var(--ink);
    margin: 0;
    padding-left: 1.15rem;
    border-left: 2.5px solid var(--vermillion);
    max-width: 26em;
}
.page-agentic-os .ref-cta,
.page-data-enclave .ref-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 2rem;
}

/* ---- SIGNATURE: the OS as a system stack with the autonomic loop -- */
.page-agentic-os .aaos-stack { margin: 2.25rem 0 1rem 0; }
.page-agentic-os .aaos-stack .stack-inner { display: flex; align-items: stretch; }
.page-agentic-os .aaos-stack .stack-col { flex: 1 1 auto; min-width: 0; }

.page-agentic-os .aaos-layer {
    display: grid;
    grid-template-columns: 9.5rem 1fr;
    gap: 1rem;
    align-items: baseline;
    border: 1px solid var(--ink);
    border-bottom-width: 0;
    padding: 0.85rem 1.15rem;
    margin: 0;
}
.page-agentic-os .aaos-layer:last-child { border-bottom-width: 1px; }
.page-agentic-os .aaos-layer .l-tag {
    font-family: var(--font-mono);
    font-size: 0.78em;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.5;
}
.page-agentic-os .aaos-layer .l-desc {
    font-family: var(--font-body);
    font-size: 0.95em;
    line-height: 1.4;
    color: var(--ink);
}
.page-agentic-os .aaos-layer.is-kernel { background: rgba(22, 22, 29, 0.06); }
.page-agentic-os .aaos-layer.is-kernel .l-tag { color: var(--vermillion); }

.page-agentic-os .aaos-stack .stack-loop { position: relative; flex: 0 0 3.2rem; }
.page-agentic-os .aaos-stack .stack-loop::before {
    content: "";
    position: absolute;
    top: 0.55rem; bottom: 0.55rem; left: 0; right: 1.05rem;
    border: 1.5px solid var(--vermillion);
    border-left: 0;
}
.page-agentic-os .aaos-stack .stack-loop::after {
    content: "";
    position: absolute;
    top: calc(0.55rem - 4px); left: -1px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 8px solid var(--vermillion);
}
.page-agentic-os .aaos-stack .loop-label {
    position: absolute;
    top: 50%; right: 0;
    transform: translateY(-50%) rotate(180deg);
    writing-mode: vertical-rl;
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--vermillion);
    white-space: nowrap;
    pointer-events: none;
}
.page-agentic-os .aaos-stack figcaption {
    font-family: var(--font-label);
    line-height: 1.45;
    color: var(--dim);
    font-size: 0.9em;
    text-transform: none;
    letter-spacing: normal;
    margin-top: 0.95rem;
    margin-bottom: 0;
    padding-left: 0.1rem;
}
.page-agentic-os .aaos-stack figcaption b { color: var(--ink); font-weight: 600; }

/* ---- WHAT AUTONOMIC ADDS: four self-* as an IBM-grid spec -------- */
.page-agentic-os ul.aaos-selfstar {
    list-style: none;
    padding: 0;
    margin: 2rem 0 2.25rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--rule);
    border: 1px solid var(--rule);
}
.page-agentic-os .aaos-selfstar li {
    background: var(--bg);
    margin: 0;
    padding: 1.1rem 1.2rem;
    line-height: 1.5;
    font-size: 0.95em;
}
.page-agentic-os .aaos-selfstar li strong {
    display: block;
    font-family: var(--font-label);
    font-weight: 600;
    font-size: 1.02em;
    color: var(--ink);
    margin-bottom: 0.3rem;
}

@media (max-width: 40rem) {
    .page-agentic-os .aaos-layer { grid-template-columns: 1fr; gap: 0.25rem; }
    .page-agentic-os ul.aaos-selfstar { grid-template-columns: 1fr; }
    .page-agentic-os .aaos-stack .stack-loop { flex-basis: 2.4rem; }
    .page-agentic-os .aaos-stack .loop-label { font-size: 0.52rem; }
}
