
            /* ============== Two-column hero ============== */
            .ax-hero-grid {
                display: grid;
                grid-template-columns: 1fr 1.05fr;
                gap: 3.5rem;
                align-items: center;
            }

            /* ===== Merged single row: identity (left) + programs list (right) ===== */
            .ab-row {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 3rem;
                align-items: stretch;
            }
            @media (max-width: 1024px) {
                .ab-row { grid-template-columns: 1fr; gap: 2.5rem; }
            }

            /* Compact V·M·V·I in the left column */
            .ab-vmvi {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: .7rem;
                margin-top: 1.75rem;
            }
            .ab-vm {
                display: flex; gap: .6rem; align-items: flex-start;
                padding: .75rem .85rem;
                background: var(--white);
                border: 1px solid var(--bg-3);
                border-radius: var(--r);
                transition: all .3s var(--ease);
            }
            .ab-vm:hover { border-color: var(--v-bg2); box-shadow: var(--sh-s); transform: translateY(-2px); }
            .ab-vm i { font-size: 13px; margin-top: 2px; flex-shrink: 0; }
            .ab-vm[data-k="vision"] i { color: var(--v); }
            .ab-vm[data-k="mission"] i { color: var(--gold); }
            .ab-vm[data-k="values"] i { color: var(--teal); }
            .ab-vm[data-k="impact"] i { color: var(--blue); }
            .ab-vm b { display: block; font-size: 11.5px; font-weight: 700; color: var(--ink); letter-spacing: .02em; margin-bottom: 1px; }
            .ab-vm span { font-size: 11px; line-height: 1.4; color: var(--muted); }

            /* Programs list (right column) */
            .pg-list { display: flex; flex-direction: column; gap: .7rem; height: 100%; }
            .pg-list-head { margin-bottom: .3rem; }
            .pg-item {
                position: relative; overflow: hidden;
                display: flex; align-items: center; gap: 1rem;
                padding: 1rem 1.15rem;
                background: var(--white);
                border: 1px solid var(--bg-3);
                border-radius: var(--r2);
                text-decoration: none; color: inherit;
                transition: all .35s var(--ease);
            }
            .pg-item::before {
                content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
                transform: scaleY(0); transform-origin: top;
                transition: transform .35s var(--ease);
            }
            .pg-item:hover { transform: translateX(4px); box-shadow: var(--sh-m); border-color: transparent; }
            .pg-item:hover::before { transform: scaleY(1); }
            .pg-ic {
                width: 42px; height: 42px; border-radius: 11px;
                display: flex; align-items: center; justify-content: center;
                font-size: 16px; flex-shrink: 0;
                transition: transform .35s var(--ease-b);
            }
            .pg-item:hover .pg-ic { transform: scale(1.08) rotate(-6deg); }
            .pg-body { flex: 1; min-width: 0; }
            .pg-tag { font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
            .pg-name { font-family: var(--serif); font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.25; margin: 1px 0 2px; }
            .pg-desc { font-size: 12px; color: var(--muted); line-height: 1.4; }
            .pg-arr {
                width: 30px; height: 30px; border-radius: 50%;
                background: var(--bg-1); color: var(--ink-3);
                display: flex; align-items: center; justify-content: center;
                font-size: 11px; flex-shrink: 0;
                transition: all .3s var(--ease);
            }
            .pg-item:hover .pg-arr { color: #fff; transform: translateX(2px); }
            .pg-v .pg-ic { background: var(--v-bg); color: var(--v); } .pg-v::before { background: var(--v); } .pg-v .pg-tag { color: var(--v); } .pg-v:hover .pg-arr { background: var(--v); }
            .pg-t .pg-ic { background: var(--teal-bg); color: var(--teal); } .pg-t::before { background: var(--teal); } .pg-t .pg-tag { color: var(--teal); } .pg-t:hover .pg-arr { background: var(--teal); }
            .pg-b .pg-ic { background: var(--blue-bg); color: var(--blue); } .pg-b::before { background: var(--blue); } .pg-b .pg-tag { color: var(--blue); } .pg-b:hover .pg-arr { background: var(--blue); }
            .pg-g .pg-ic { background: var(--gold-bg); color: var(--gold); } .pg-g::before { background: var(--gold); } .pg-g .pg-tag { color: var(--gold); } .pg-g:hover .pg-arr { background: var(--gold); }
            .pg-c .pg-ic { background: var(--coral-bg); color: var(--coral); } .pg-c::before { background: var(--coral); } .pg-c .pg-tag { color: var(--coral); } .pg-c:hover .pg-arr { background: var(--coral); }

            /* ===== Program mini-illustrations (custom animated SVG) ===== */
            .pg-ic .pgi { width: 26px; height: 26px; display: block; overflow: visible; }
            .pgi * { transform-box: fill-box; transform-origin: center; }

            /* INAF - broadcast / narrative waves */
            .pgi-inaf .wv { opacity: .2; animation: pgWave 1.8s ease-in-out infinite; }
            .pgi-inaf .wv2 { animation-delay: .3s; }
            .pgi-inaf .wv3 { animation-delay: .6s; }
            @keyframes pgWave { 0%,100% { opacity: .16; } 50% { opacity: 1; } }

            /* RESUME - swaying leaves */
            .pgi-resume .leaf { transform-box: view-box; transform-origin: 22px 22px; animation: pgSway 3s ease-in-out infinite; }
            .pgi-resume .leafR { animation-delay: .4s; animation-direction: reverse; }
            @keyframes pgSway { 0%,100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }

            /* INTELA - pulsing neural nodes */
            .pgi-intela .nd { animation: pgNode 1.6s ease-in-out infinite; }
            .pgi-intela .n2 { animation-delay: .3s; }
            .pgi-intela .n3 { animation-delay: .6s; }
            .pgi-intela .n4 { animation-delay: .9s; }
            @keyframes pgNode { 0%,100% { transform: scale(.72); opacity: .5; } 50% { transform: scale(1.18); opacity: 1; } }

            /* SIGN - orbiting satellite around globe */
            .pgi-sign .orbdot { transform-box: view-box; transform-origin: 22px 22px; animation: pgOrbit 5.5s linear infinite; }
            @keyframes pgOrbit { to { transform: rotate(360deg); } }

            /* RIL - rising reaction bubbles */
            .pgi-ril .bub { opacity: .85; animation: pgBub 2.1s ease-in infinite; }
            .pgi-ril .bb2 { animation-delay: .6s; }
            .pgi-ril .bb3 { animation-delay: 1.2s; }
            @keyframes pgBub { 0% { transform: translateY(3px) scale(.5); opacity: 0; } 30% { opacity: 1; } 100% { transform: translateY(-9px) scale(1); opacity: 0; } }

            /* Hover: illustrations get livelier */
            .pg-item:hover .pgi-inaf .wv,
            .pg-item:hover .pgi-intela .nd { animation-duration: .9s; }
            .pg-item:hover .pgi-sign .orbdot { animation-duration: 2.4s; }
            .pg-item:hover .pgi-resume .leaf { animation-duration: 1.6s; }
            .pg-item:hover .pgi-ril .bub { animation-duration: 1.1s; }
            @media (prefers-reduced-motion: reduce) { .pgi * { animation: none !important; } }

            /* ===== Flagship timeline (dynamic process infographic) ===== */
            .tl { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: space-between; margin-top: .25rem; }
            /* flowing multicolour spine */
            .tl::before {
                content: ''; position: absolute; left: 33px; top: 34px; bottom: 34px; width: 3px;
                transform: translateX(-50%);
                background: linear-gradient(180deg, var(--v), var(--teal), var(--blue), var(--gold), var(--coral));
                background-size: 100% 300%;
                border-radius: 3px; opacity: .9;
                animation: tlFlow 6s ease-in-out infinite;
            }
            @keyframes tlFlow { 0%,100% { background-position: 0 0; } 50% { background-position: 0 100%; } }
            /* light comet travelling down the spine */
            .tl::after {
                content: ''; position: absolute; left: 33px; width: 9px; height: 9px;
                margin-left: -4.5px; border-radius: 50%; background: #fff;
                box-shadow: 0 0 10px 3px rgba(255,255,255,.9), 0 0 20px 7px var(--v-l);
                animation: tlComet 3.8s cubic-bezier(.6,0,.4,1) infinite; z-index: 3; pointer-events: none;
            }
            @keyframes tlComet {
                0% { top: 30px; opacity: 0; } 12% { opacity: 1; }
                88% { opacity: 1; } 100% { top: calc(100% - 30px); opacity: 0; }
            }

            .tl-node {
                --pc: var(--v); --pcb: var(--v-bg);
                position: relative;
                width: 100%; box-sizing: border-box; align-self: stretch;
                display: flex; align-items: center; gap: .85rem;
                padding: .3rem .5rem; margin: 0;
                border-radius: var(--r2);
                text-decoration: none; color: inherit;
                overflow: hidden;
                transition: transform .4s var(--ease), box-shadow .4s var(--ease);
            }
            .tl-node::before {
                content: ''; position: absolute; inset: 0; border-radius: var(--r2);
                background: linear-gradient(100deg, var(--pcb), transparent 78%);
                opacity: 0; transition: opacity .4s var(--ease);
            }
            .tl-node:hover { transform: translateX(5px); }
            .tl-node:hover::before { opacity: 0; }
            .tl-v { --pc: var(--v);    --pcb: var(--v-bg); }
            .tl-t { --pc: var(--teal); --pcb: var(--teal-bg); }
            .tl-b { --pc: var(--blue); --pcb: var(--blue-bg); }
            .tl-g { --pc: var(--gold); --pcb: var(--gold-bg); }
            .tl-c { --pc: var(--coral); --pcb: var(--coral-bg); }

            /* big number as its own right-hand column (no overlap) */
            .tl-num {
                order: 2; flex: none; width: 54px; text-align: center;
                font-family: var(--serif); font-weight: 700; font-size: 40px; line-height: 1;
                color: var(--pc); opacity: .22; pointer-events: none;
                transition: opacity .4s var(--ease), transform .4s var(--ease);
            }
            .tl-node:hover .tl-num { opacity: .4; transform: scale(1.1); }

            .tl-pin { position: relative; width: 64px; flex: none; display: flex; align-items: center; justify-content: center; }
            .tl-orbit {
                position: absolute; width: 64px; height: 64px; border-radius: 50%;
                border: 2px dashed var(--pc); opacity: .4;
                animation: tlSpin 16s linear infinite;
            }
            .tl-node:nth-child(even) .tl-orbit { animation-direction: reverse; }
            .tl-node:hover .tl-orbit { opacity: .75; animation-duration: 6s; }
            @keyframes tlSpin { to { transform: rotate(360deg); } }
            .tl-disc {
                position: relative; z-index: 2;
                width: 52px; height: 52px; border-radius: 50%;
                background: var(--pc); color: #fff;
                display: flex; align-items: center; justify-content: center;
                box-shadow: 0 8px 20px -4px var(--pc), inset 0 2px 5px rgba(255,255,255,.4), inset 0 -6px 10px rgba(0,0,0,.15);
                transition: transform .4s var(--ease-b), box-shadow .4s var(--ease);
            }
            .tl-node:hover .tl-disc { transform: scale(1.14) rotate(-6deg); box-shadow: 0 14px 30px -2px var(--pc), inset 0 2px 5px rgba(255,255,255,.4); }
            .tl-disc .pgi { width: 25px; height: 25px; }

            .tl-body { order: 1; position: relative; flex: 1; min-width: 0; }
            .tl-tag { font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .14em; color: var(--pc); }
            .tl-name { font-family: var(--serif); font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.25; margin: 0 0 1px; transition: color .3s var(--ease); }
            .tl-node:hover .tl-name { color: var(--pc); }
            .tl-desc { font-size: 12px; color: var(--muted); line-height: 1.4; }

            /* livelier icons on hover */
            .tl-node:hover .pgi-inaf .wv, .tl-node:hover .pgi-intela .nd { animation-duration: .9s; }
            .tl-node:hover .pgi-sign .orbdot { animation-duration: 2.4s; }
            .tl-node:hover .pgi-resume .leaf { animation-duration: 1.6s; }
            .tl-node:hover .pgi-ril .bub { animation-duration: 1.1s; }
            @media (prefers-reduced-motion: reduce) { .tl::before, .tl::after, .tl-orbit { animation: none !important; } .tl::after { display: none; } }
            @media (max-width: 420px) { .tl-num { font-size: 44px; } .tl-node { gap: .65rem; } }

            /* ===== LEFT side ===== */
            .ax-left-title {
                font-family: var(--serif);
                font-size: clamp(38px, 4.6vw, 60px);
                font-weight: 600;
                color: var(--ink);
                line-height: 1.05;
                letter-spacing: -.02em;
                margin: 1rem 0 1.5rem;
            }
            .ax-accent {
                background: linear-gradient(135deg, var(--v) 0%, var(--v-l) 100%);
                -webkit-background-clip: text;
                background-clip: text;
                color: transparent;
                font-style: italic;
            }
            .ax-left-lead {
                font-size: 16.5px;
                line-height: 1.85;
                color: var(--ink-3);
                margin-bottom: 2.5rem;
                max-width: 540px;
            }

            /* Stat row (3 stats horizontal) */
            .ax-statrow {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 1.2rem;
                padding: 1.5rem;
                background: linear-gradient(135deg, var(--bg-1) 0%, var(--v-bg) 100%);
                border-radius: var(--r2);
                border: 1px solid var(--bg-3);
                margin-bottom: 2rem;
            }
            .ax-stat { text-align: center; }
            .ax-stat-num {
                font-family: var(--serif);
                font-size: clamp(28px, 3.2vw, 42px);
                font-weight: 600;
                color: var(--v);
                line-height: 1;
                font-variant-numeric: tabular-nums;
                letter-spacing: -.02em;
                margin-bottom: .35rem;
            }
            .ax-stat-lbl {
                font-family: var(--mono);
                font-size: 9.5px;
                letter-spacing: .14em;
                color: var(--ink-3);
                text-transform: uppercase;
                font-weight: 600;
            }

            /* Chips */
            .ax-chips {
                display: flex;
                flex-wrap: wrap;
                gap: .55rem;
            }
            .ax-chip {
                display: inline-flex;
                align-items: center;
                gap: .5rem;
                padding: 7px 13px;
                background: var(--white);
                border: 1px solid var(--bg-3);
                border-radius: var(--r-full);
                font-size: 12px;
                font-weight: 600;
                color: var(--ink);
                transition: all .25s var(--ease);
            }
            .ax-chip i { color: var(--v); font-size: 11px; }
            .ax-chip:hover {
                background: var(--v-bg);
                border-color: var(--v-bg2);
                transform: translateY(-2px);
            }

            /* Responsive */
            @media (max-width: 1100px) {
                .ax-hero-grid { grid-template-columns: 1fr; gap: 3rem; }
                .ax-left-lead { max-width: none; }
            }
            @media (max-width: 640px) {
                .ax-statrow { padding: 1.2rem; gap: .8rem; }
            }
            