.brand img{width:44px;height:44px;object-fit:cover;border-radius:10px;box-shadow:0 0 18px #ed1c2444}.brand-mark{display:none}.node-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:44px 0 16px}.node-intro>div{display:flex;flex-direction:column}.node-intro span{color:var(--muted)}.node-hint{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan)!important}.architecture-nodes{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:40px}.architecture-nodes:before{content:"";position:absolute;left:50%;top:30px;bottom:30px;width:1px;background:linear-gradient(transparent,var(--line),transparent);pointer-events:none}.arch-node{--node:#8b7cff;appearance:none;text-align:left;border:1px solid var(--line);background:linear-gradient(135deg,var(--panel),#121824);color:var(--text);border-radius:13px;padding:18px;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s;font:inherit}.arch-node:hover,.arch-node:focus-visible{transform:translateY(-2px);border-color:var(--node);box-shadow:0 12px 35px #0007,0 0 0 1px color-mix(in srgb,var(--node) 45%,transparent);outline:0}.arch-node i{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:color-mix(in srgb,var(--node) 17%,transparent);color:var(--node);font-style:normal;font-size:19px}.arch-node span{display:flex;flex-direction:column}.arch-node small{color:var(--muted);font-size:12px;margin-top:2px}.arch-node em{font-size:11px;font-style:normal;color:var(--node);text-transform:uppercase;letter-spacing:.1em}.arch-node.security,.arch-node.harness{--node:#f3bb59}.arch-node.decision,.arch-node.intelligence{--node:#39d4e8}.arch-node.runtime{--node:#4cdb8f}.arch-node.connectors{--node:#60a5fa}.arch-node.resilience{--node:#fb7185}.system-modal,.lightbox{color:var(--text);border:1px solid #3a4357;background:#101520;border-radius:18px;box-shadow:0 30px 100px #000c}.system-modal{width:min(790px,calc(100vw - 30px));padding:36px}.system-modal::backdrop,.lightbox::backdrop{background:#03050bd9;backdrop-filter:blur(8px)}.modal-close{position:absolute;right:17px;top:13px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#1a2130;color:white;font-size:24px;cursor:pointer;z-index:2}.modal-kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--cyan);font-size:11px;font-weight:800}.system-modal h2{margin:8px 50px 8px 0;font-size:36px}.modal-summary{font-size:18px;color:#c3cedd;max-width:680px}.modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.modal-grid>div{border:1px solid var(--line);border-radius:11px;background:#151b27;padding:17px}.modal-grid h3{margin:0 0 7px;font-size:14px;color:#fff}.modal-grid p,.modal-grid ul{margin:0;color:var(--muted);padding-left:0}.modal-grid ul{list-style:none}.modal-grid li{padding:3px 0}.modal-grid li:before{content:"→";color:var(--violet);margin-right:7px}.gallery-lead{color:var(--muted);margin:-20px 0 25px}.gallery{grid-template-columns:repeat(2,1fr)!important}.gallery-card{appearance:none;display:flex;flex-direction:column;overflow:hidden;margin:0;padding:0;text-align:left;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.gallery-card:first-child{grid-column:1/-1}.gallery-card:hover,.gallery-card:focus-visible{transform:translateY(-4px);border-color:#6158a8;box-shadow:0 20px 45px #0008;outline:0}.gallery-media{position:relative;display:grid;place-items:center;height:280px;background:radial-gradient(circle at center,#273043,#0c1018);overflow:hidden}.gallery-card:first-child .gallery-media{height:420px}.gallery-media img{width:100%;height:100%;object-fit:contain;transition:transform .3s}.gallery-card:hover .gallery-media img{transform:scale(1.025)}.gallery-media i{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#090d15d9;border:1px solid #ffffff33;font-style:normal}.gallery-caption{display:grid;grid-template-columns:1fr auto;padding:16px 18px}.gallery-caption b,.gallery-caption small{grid-column:1}.gallery-caption small{color:var(--muted)}.gallery-caption em{grid-column:2;grid-row:1/3;align-self:center;color:var(--violet);font-size:11px;font-style:normal;text-transform:uppercase;letter-spacing:.09em}.lightbox{width:min(1420px,calc(100vw - 34px));height:min(900px,calc(100vh - 34px));padding:0;overflow:hidden}.lightbox-stage{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}.lightbox-stage img{width:100%;height:100%;object-fit:contain;background:#080b11;padding:24px}.lightbox-stage>div{border-top:1px solid var(--line);padding:15px 70px 18px}.lightbox-stage p{margin:0;text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:var(--cyan)}.lightbox-stage h2{font-size:24px;margin:3px 0}.lightbox-stage span{color:var(--muted)}.gallery-nav{position:absolute;top:48%;z-index:2;width:46px;height:60px;border:1px solid #ffffff2b;background:#0c111dcc;color:white;font-size:34px;cursor:pointer}.gallery-nav.prev{left:12px}.gallery-nav.next{right:12px}@media(max-width:800px){.brand img{width:38px;height:38px}.architecture-nodes,.modal-grid{grid-template-columns:1fr}.architecture-nodes:before{display:none}.arch-node em{display:none}.gallery{grid-template-columns:1fr!important}.gallery-card:first-child{grid-column:auto}.gallery-card:first-child .gallery-media,.gallery-media{height:230px}.system-modal{padding:25px 20px}.system-modal h2{font-size:29px}.lightbox-stage>div{padding:14px 55px 17px}.gallery-caption em{display:none}}
/* Motion — scroll reveal + node lift. Auto-applied by nav.js; fully disabled for reduced-motion. */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.arch-node{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.arch-node:hover{transform:translateY(-3px)}
.layer{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:start;border:1px solid var(--line);border-left:3px solid var(--violet);background:var(--panel);border-radius:12px;padding:16px 20px;margin:10px 0;transition:border-color .18s ease,transform .18s ease}
.layer:hover{transform:translateX(4px);border-left-color:var(--cyan)}
.layer h3{margin:0;font-size:15px}.layer .lnum{color:var(--muted);font:700 11px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.layer p{margin:2px 0 0;color:var(--muted);font-size:13.5px}.layer .bnd{color:var(--amber);font-size:12px}
@media(max-width:800px){.layer{grid-template-columns:1fr;gap:6px}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1;transform:none;transition:none}.arch-node,.layer{transition:none}}
/* Brand title — larger, with size / weight / style / colour variation across the two words. */
.topbar .brand{letter-spacing:0}
.topbar .brand .brand-title{display:inline-flex;align-items:baseline;gap:8px;line-height:1}
.topbar .brand .b-forge{font-size:28px;font-weight:900;letter-spacing:.03em;background:linear-gradient(92deg,var(--violet) 8%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.topbar .brand .b-wiki{font-size:13px;font-weight:600;font-style:italic;letter-spacing:.32em;text-transform:uppercase;color:var(--cyan)}
@media(max-width:800px){.topbar .brand .b-forge{font-size:23px}.topbar .brand .b-wiki{display:none}}

/* Sidebar scrolls vertically when the nav is taller than the viewport. */
.sidebar{overflow-y:auto;gap:12px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.sidebar nav{flex:0 0 auto}
.sidebar .side-note{flex:0 0 auto;min-height:72px;margin-top:8px}
.sidebar::-webkit-scrollbar{width:9px}
.sidebar::-webkit-scrollbar-thumb{background:#232a3a;border-radius:5px}
.sidebar::-webkit-scrollbar-track{background:transparent}

/* Universal image lightbox — click any content image to view at full resolution + zoom/pan. */
main img.zoomable{cursor:zoom-in}
.imgzoom{position:fixed;inset:0;z-index:200;background:#05070bf2;display:none;align-items:center;justify-content:center;overflow:hidden}
.imgzoom.open{display:flex}
.imgzoom img{max-width:94vw;max-height:86vh;transform-origin:center center;cursor:grab;user-select:none;-webkit-user-drag:none;transition:transform .08s linear;box-shadow:0 24px 90px #000d;border-radius:8px;background:#0b0e14}
.imgzoom img.grabbing{cursor:grabbing;transition:none}
.imgzoom .iz-x{position:fixed;top:18px;right:22px;background:#111621ee;border:1px solid var(--line);color:#fff;border-radius:10px;width:42px;height:42px;font-size:20px;cursor:pointer}
.imgzoom .iz-bar{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#111621ee;border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.imgzoom .iz-bar button{background:#1d2432;border:1px solid #333d50;color:#e2e2e8;border-radius:8px;min-width:40px;height:34px;font-size:16px;cursor:pointer}
.imgzoom .iz-bar .iz-lvl{min-width:58px;text-align:center;color:var(--muted);font-size:12px}

/* ── Homepage landing ───────────────────────────────────────────── */
.land-hero h1{font-size:clamp(54px,7.5vw,92px)}
.pb-fabric{display:block;margin-top:14px;color:var(--muted);font-size:16px}
.pb-fabric b{color:var(--cyan);font-weight:700}
.flow-steps{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0}
.flow-steps b{background:#16241e;border:1px solid #2f5a47;color:#8fe3bd;border-radius:8px;padding:6px 13px;font-size:13px;font-weight:700}
.flow-steps i{color:#5a5a66;font-style:normal;font-size:14px}
/* Live / Validated / Roadmap — always visually separated, never mixed */
.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}
.status-col{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--panel)}
.status-col h3{margin:0 0 12px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.status-col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.status-col li{color:#bac4d4;font-size:13.5px;padding-left:20px;position:relative}
.status-col li:before{position:absolute;left:0;top:0}
.status-col.live{border-color:#2f5a47}.status-col.live h3{color:var(--green)}.status-col.live li:before{content:"✓";color:var(--green);font-weight:800}
.status-col.validated{border-color:#2a4a5a}.status-col.validated h3{color:var(--cyan)}.status-col.validated li:before{content:"◆";color:var(--cyan);font-size:10px;top:3px}
.status-col.roadmap{border-color:#4a3f2a;background:linear-gradient(180deg,#1a1810,var(--panel))}.status-col.roadmap h3{color:var(--amber)}.status-col.roadmap li:before{content:"○";color:var(--amber)}
.status-col .rn{display:block;margin-top:12px;color:#8a8a95;font-size:11.5px;font-style:italic}
/* Explore cards */
.explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}
.explore-grid a{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none;transition:transform .18s ease,border-color .18s ease}
.explore-grid a:hover{transform:translateY(-3px);border-color:var(--violet)}
.explore-grid .ex-ico{font-size:22px;line-height:1}
.explore-grid b{color:#fff;font-size:14.5px}
.explore-grid span{color:var(--muted);font-size:12.5px;line-height:1.45}
/* Understated author band */
.author-band{display:flex;align-items:center;gap:18px}
.author-band .ab-photo{width:64px;height:64px;flex:none;border-radius:14px;object-fit:cover;border:1px solid var(--line)}
.author-band .ab-name{color:#fff;font-size:22px;font-weight:800;letter-spacing:-.015em}
.author-band .ab-role{color:var(--muted);font-size:13.5px;margin-top:2px}
.author-band .ab-role b{color:var(--violet);font-weight:700}
.author-band .ab-links{display:flex;gap:16px;margin-top:9px;flex-wrap:wrap}
.author-band .ab-links a{color:var(--cyan);font-size:13px;text-decoration:none}
.author-band .ab-links a:hover{text-decoration:underline}
/* status-panel badges */
.status-col h3 .st-badge{margin-left:auto;font-size:9.5px;font-weight:800;letter-spacing:.1em;border:1px solid currentColor;border-radius:999px;padding:2px 8px}
.status-col h3{justify-content:space-between}
@media(max-width:1100px){.explore-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.status-grid,.explore-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.explore-grid a{transition:none}}

/* Author credit — pinned to the top-right of the topbar. */
.topbar-author{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;text-align:right;white-space:nowrap}
.topbar-author .ta-name{font-size:15px;font-weight:800;letter-spacing:-.01em;color:#fff}
.topbar-author .ta-title{font-size:11px;font-weight:400;color:var(--muted)}
.topbar-author .ta-title b{font-weight:700;color:var(--violet)}
.topbar-zynga{height:30px;width:auto;flex:none;opacity:.9;padding-left:20px;border-left:1px solid var(--line)}
@media(max-width:800px){.topbar-author .ta-title{display:none}.topbar-author .ta-name{font-size:12px}.topbar-zynga{height:24px;padding-left:12px}}
/* Diagram gallery lightbox — zoom / pan / fit */
.lz-view{position:relative;overflow:hidden;min-height:0}
.lz-view img{transform-origin:center center;user-select:none;-webkit-user-drag:none;will-change:transform}
.lz-view img.grabbable{cursor:grab}
.lz-view img.grabbing{cursor:grabbing}
.lightbox-zoombar{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:3px;background:#0c111de6;border:1px solid var(--line);border-radius:11px;padding:5px 7px;backdrop-filter:blur(6px);box-shadow:0 8px 24px #0008}
.lightbox-zoombar button{width:32px;height:30px;border:0;background:transparent;color:var(--text);font:17px inherit;cursor:pointer;border-radius:8px;line-height:1}
.lightbox-zoombar button:hover{background:#1b2231}
.lightbox-zoombar .lz-lvl{font-size:12px;color:var(--muted);min-width:48px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}
