.hib-main{background:var(--bg);color:var(--ink)}.hib-wrap{max-width:940px;padding:0 var(--gutter);margin:0 auto}.hib-hero{padding:var(--space-7) 0 var(--space-6);border-bottom:1px solid var(--line)}.hib-eyebrow{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 var(--space-4)}.hib-hero h1{letter-spacing:-.02em;margin:0 0 var(--space-5);font-size:2.75rem;font-weight:600;line-height:1.08}.hib-standfirst{color:var(--muted);max-width:34em;margin:0;font-size:1.25rem;line-height:1.55}.hib-toc{padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.hib-toc-label{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--space-4)}.hib-toc ol{gap:var(--space-3) var(--space-5);counter-reset:hib-toc;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.hib-toc li{counter-increment:hib-toc}.hib-toc a{gap:var(--space-3);color:var(--ink);font-size:var(--text-body-sm);padding:var(--space-2) 0;border-radius:var(--radius-sm);transition:color var(--motion-fast) var(--ease-default);align-items:baseline;line-height:1.4;text-decoration:none;display:flex}.hib-toc a:before{content:counter(hib-toc, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-meta);color:var(--blue);flex:none}.hib-toc a:hover,.hib-toc a:focus-visible{color:var(--blue)}.hib-piece{padding:var(--space-7) 0;border-bottom:1px solid var(--line);scroll-margin-top:var(--space-6)}.hib-piece:last-of-type{border-bottom:0}.hib-num{font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.1em;color:var(--blue);margin:0 0 var(--space-3)}.hib-piece h2{letter-spacing:-.01em;margin:0 0 var(--space-5);max-width:22em;font-size:1.75rem;font-weight:600;line-height:1.2}.hib-piece p{color:var(--text-muted);margin:0 0 var(--space-4);max-width:40em;font-size:1.0625rem;line-height:1.65}.hib-piece p:last-child{margin-bottom:0}.hib-more{align-items:center;gap:var(--space-2);font-size:var(--text-body-sm);color:var(--blue);transition:border-color var(--motion-fast) var(--ease-default);border-bottom:1px solid #0000;text-decoration:none;display:inline-flex}.hib-more:hover,.hib-more:focus-visible{border-bottom-color:var(--blue)}.hib-dia{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);margin:0 0 var(--space-5);overflow-x:auto}.hib-dia svg{width:100%;min-width:560px;height:auto;display:block}.hib-defs{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.hib-box{fill:var(--bg-tint);stroke:var(--line-strong);stroke-width:1.2px}.hib-box--accent{fill:var(--blue);stroke:var(--blue)}.hib-box--open{fill:none;stroke:var(--line-strong);stroke-width:1.2px;stroke-dasharray:4 4}.hib-t{fill:var(--ink);font-family:var(--font-sans);font-size:var(--text-body-sm);text-anchor:middle;font-weight:500}.hib-t--on-accent{fill:var(--on-accent)}.hib-cap{fill:var(--muted);font-family:var(--font-mono);font-size:var(--text-meta);text-anchor:middle}.hib-cap--start{text-anchor:start}.hib-arrow{fill:none;stroke:var(--line-strong);stroke-width:1.4px}.hib-arrow--soft{fill:none;stroke:var(--line-strong);stroke-width:1.2px;stroke-dasharray:4 4}.hib-rule{stroke:var(--line);stroke-width:1px}.hib-fill{fill:var(--blue);opacity:.16}.hib-stroke-accent{fill:none;stroke:var(--blue);stroke-width:1.8px;stroke-linejoin:round}.hib-mark{fill:var(--line-strong)}.hib-mark--accent{fill:var(--blue)}.hib-close{padding:var(--space-6) 0 var(--space-7)}.hib-close-card{background:var(--bg-tint);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5)}.hib-close-card h2{margin:0 0 var(--space-4);font-size:1.5rem;font-weight:600;line-height:1.25}.hib-close-card p{color:var(--text-muted);margin:0 0 var(--space-4);max-width:42em;font-size:1.0625rem;line-height:1.65}.hib-close-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}@media (max-width:768px){.hib-hero{padding:var(--space-6) 0 var(--space-5)}.hib-hero h1{font-size:2.125rem}.hib-standfirst{font-size:1.125rem}.hib-piece{padding:var(--space-6) 0}.hib-piece h2{font-size:1.4375rem}.hib-dia{padding:var(--space-4) var(--space-3)}}@media (prefers-reduced-motion:reduce){.hib-toc a,.hib-more{transition:none}}
