/* Uses the existing OpenLock palette and type. Scoped to this public page. */
.bns-page{overflow-wrap:anywhere}
.bns-page [hidden]{display:none!important}
.bns-page .eyebrow{color:var(--accent);font-size:.875rem;font-weight:700;letter-spacing:.11em;display:block}
.bns-page h1,.bns-page h2,.bns-page h3{text-wrap:balance;overflow-wrap:anywhere}
.bns-page h3{font-size:1.35rem;line-height:1.25;margin-bottom:14px}
.bns-page a:not(.button):hover{color:var(--accent)}
.bns-hero{padding:48px 0 56px;border-bottom:1px solid var(--line)}
.bns-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:70px;align-items:center}
.bns-hero h1{font-size:clamp(2.65rem,4.3vw,4.2rem);line-height:1.04;max-width:820px}
.bns-lead{max-width:720px;margin-top:28px;font-size:1.0625rem}
.bns-thesis{border-top:2px solid var(--accent);padding:28px;background:var(--soft)}
.bns-thesis>p:not(.bns-label){font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.25;color:var(--white);letter-spacing:-.02em}
.bns-return-preview{display:grid;gap:8px;margin-top:30px;border-top:1px solid #65402a;padding-top:24px;font-size:.95rem}
.bns-return-preview>span[aria-hidden],.bns-return-preview>strong{color:var(--accent)}
.bns-development{font-size:.875rem;max-width:1000px;margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}
.bns-section{padding:86px 0;border-bottom:1px solid var(--line)}
.bns-section:nth-child(even){background:#0c0c0b}
.bns-section h2{font-size:clamp(2rem,3.4vw,3.15rem);max-width:870px;margin-bottom:25px}
.bns-intro{max-width:880px;font-size:1.12rem;margin-bottom:36px}
.bns-grid{display:grid;gap:34px;margin-top:30px}
.bns-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bns-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bns-grid>article{border-top:1px solid var(--line);padding-top:22px}
.bns-grid h3{color:var(--accent)}
.bns-note{max-width:980px;margin-top:30px;font-size:.94rem}
.bns-label{font-size:.76rem;font-weight:700;letter-spacing:.09em;color:var(--accent);line-height:1.55}
.bns-loop-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0}
.bns-loop{border:1px solid #704325;background:var(--soft);padding:26px}
.bns-actors{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;font-size:1.2rem;line-height:1.4}
.bns-actors>span{color:var(--accent);font-size:2rem}
.bns-actors small{display:block;font-size:.8rem;color:var(--muted);font-weight:400;margin-top:4px}
.bns-loop>p:last-child{font-size:.94rem}
.bns-page button{min-height:46px;border:1px solid #62625b;background:var(--surface);color:var(--white);padding:11px 16px;font-size:.94rem;line-height:1.4;border-radius:3px;white-space:normal;text-align:left}
.bns-page button:hover:not(:disabled){border-color:var(--accent);background:var(--soft)}
.bns-page button:disabled{color:#909089;background:#181817;border-color:var(--line)}
.bns-page button[aria-current=step],.bns-page button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent);background:var(--soft)}
.bns-story{border:1px solid #4b4339;padding:28px;background:#10100e;margin-top:28px}
.bns-story-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.bns-selector{display:grid;grid-template-columns:3fr 5fr 4fr;gap:20px;margin:28px 0}
.bns-act>p{font-size:.85rem;color:var(--white);border-bottom:1px solid #4c4a42;padding-bottom:10px;margin-bottom:12px}
.bns-act>div{display:flex;flex-wrap:wrap;gap:8px}
.bns-act button{flex:1 1 100px;font-size:.85rem;padding:10px}
.bns-act button span{color:var(--accent);margin-right:5px}
.bns-story-card{padding:28px 0;border-top:1px solid var(--line)}
.bns-story-card>.bns-label{margin-bottom:18px}
.bns-state-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:34px}
.bns-actor{font-size:.88rem;color:#d0c7bc;margin-bottom:14px}
.bns-state-grid h3{font-size:1.85rem;max-width:620px}
.bns-state-grid aside{background:var(--soft);padding:24px;border:1px solid #513824}
.bns-state-grid aside>p:not(.bns-label){font-size:.94rem}
.bns-status{color:var(--white);border-top:1px solid #62432c;padding-top:15px}
.bns-direction{color:var(--accent)}
.bns-return-route{color:var(--accent);font-size:.9rem;font-weight:700;margin-top:24px}
.bns-question{border-left:3px solid var(--accent);padding:10px 0 10px 22px;font-size:1.35rem;line-height:1.45;margin:18px 0}
.bns-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:22px;margin-bottom:28px}
.bns-controls p{font-size:.94rem;color:var(--white);text-align:center}
.bns-controls button{flex-shrink:0}
.bns-page details{border-top:1px solid var(--line);padding:0}
.bns-page summary{padding:19px 4px;min-height:48px;font-size:1rem;color:var(--white)}
.bns-page details[open]>summary{color:var(--accent)}
.bns-page details>p,.bns-page details>ul{margin:0 4px 24px;max-width:950px}
.bns-page details .bns-grid{margin-bottom:30px}
.bns-story-overview{margin-top:30px}
.bns-details{margin-top:30px;max-width:1050px}
.bns-inspector{border:1px solid #514131;background:#12110f;padding:28px;margin:36px 0}
.bns-memory-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.bns-restriction{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:26px}
.bns-restriction p{font-size:.85rem;max-width:690px}
.bns-restriction button{flex-shrink:0;max-width:100%}
.bns-memory-view+.bns-memory-view{margin-top:30px}
.bns-enhanced .bns-memory-view{margin-top:0}
.bns-memory-view dl{margin:22px 0 0}
.bns-memory-view dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:22px;border-top:1px solid var(--line);padding:14px 0;font-size:.97rem}
.bns-memory-view dt{color:#dcc3ad}
.bns-memory-view dd{margin:0;color:var(--muted)}
#bns-denied{min-height:180px;max-width:740px}
.bns-architecture-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;margin-top:36px}
.bns-architecture-node{padding:22px;background:var(--surface);border:1px solid var(--line)}
.bns-architecture-node .bns-label{margin-bottom:12px;font-size:.7rem}
.bns-architecture-node h3{font-size:1.3rem}
.bns-architecture-node p{font-size:.94rem}
.bns-core{padding:18px;border:1px solid var(--accent);background:var(--soft)}
.bns-core>.bns-label{margin-bottom:15px}
.bns-core .bns-architecture-node{background:transparent}
.bns-edge{font-size:.8rem;color:var(--accent);padding:12px 8px;text-align:center}
.bns-architecture figcaption{font-size:.8rem;color:var(--muted);margin-top:16px}
.bns-boundary{margin:28px 0;padding-top:24px;border-top:1px solid var(--accent)}
.bns-references{padding-top:45px;padding-bottom:45px;font-size:.85rem}
.bns-references h2{font-size:1.3rem;letter-spacing:0}
.bns-references li{margin-top:10px;color:var(--muted)}
.bns-references a,.bns-intro>a{text-decoration:underline;text-underline-offset:3px}
.bns-references>p{max-width:920px}
@media(max-width:1100px){.bns-hero-grid{gap:35px}.bns-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.bns-actors{font-size:1rem;gap:8px}.bns-selector{grid-template-columns:1fr}.bns-act button{flex:1 1 120px}.bns-architecture-layout{gap:30px}}
@media(max-width:760px){.bns-hero{padding-top:32px}.bns-hero-grid,.bns-cols-3,.bns-cols-2,.bns-loop-map,.bns-state-grid,.bns-architecture-layout{grid-template-columns:minmax(0,1fr)}.bns-hero h1{font-size:clamp(2.35rem,8.5vw,3.2rem)}.bns-thesis{margin-top:4px}.bns-section{padding:58px 0}.bns-section h2{font-size:2rem}.bns-intro{font-size:1.0625rem}.bns-story,.bns-inspector{padding:18px}.bns-grid{gap:26px}.bns-controls{display:grid;grid-template-columns:1fr 1fr}.bns-controls p{grid-row:1;grid-column:1/-1;text-align:left}.bns-controls button:last-child{justify-self:end}.bns-state-grid{gap:25px}.bns-state-grid h3{font-size:1.6rem}.bns-state-grid aside{padding:19px}.bns-memory-view dl>div{grid-template-columns:minmax(0,1fr);gap:6px}.bns-restriction{display:block}.bns-restriction button{margin-top:18px}.bns-actors{font-size:1.06rem}.bns-loop{padding:22px}.bns-memory-buttons{display:grid;grid-template-columns:minmax(0,1fr)}.bns-core{padding:12px}.bns-architecture-node{padding:18px}.bns-development{margin-top:28px}}
@media(prefers-reduced-motion:reduce){html:has(.bns-page){scroll-behavior:auto}.bns-page *{animation:none!important;transition:none!important}}
@media print{.bns-selector,.bns-controls,[data-bns-jump],#bns-current,.bns-memory-buttons,[data-bns-restricted],#bns-denied{display:none!important}.bns-page .bns-transcript,.bns-page .bns-transcript>*{display:block!important}.bns-page #bns-records,.bns-page .bns-memory-view{display:block!important}.bns-memory-view{margin-top:24px!important}.bns-page details::details-content{display:block!important;content-visibility:visible!important}.bns-state-grid,.bns-hero-grid,.bns-architecture-layout{display:block}.bns-section{padding:30px 0}.bns-story-card,.bns-memory-view{break-inside:avoid}.site-header{position:static}}
