@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-latin-400-normal.woff2) format("woff2"),url(/fonts/ibm-plex/ibm-plex-sans-latin-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-latin-500-normal.woff2) format("woff2"),url(/fonts/ibm-plex/ibm-plex-sans-latin-500-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-latin-600-normal.woff2) format("woff2"),url(/fonts/ibm-plex/ibm-plex-sans-latin-600-normal.woff) format("woff")}:root{--colour-brand: #01497c;--colour-brand-dark: #00375d;--colour-paper: #ffffff;--colour-canvas: #ffffff;--colour-ink: #111827;--colour-muted: #6b7280;--colour-border: rgba(17, 24, 39, .1);--colour-note: #eef4ff;--colour-warning: #fff4e5;--colour-task: #edf8ef;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.75rem;--space-7: 2.25rem;--radius-sm: .45rem;--radius-md: .75rem;--radius-lg: 1rem;--font-body: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-head: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--container-max: 75rem;--reading-max: 64rem}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--colour-canvas);color:var(--colour-ink);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.6;font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--colour-brand);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.12em}a:hover,a:focus-visible{text-decoration-color:currentcolor}.container{width:min(100% - (2 * var(--space-5)),var(--container-max));margin-inline:auto}.reading-container{width:min(100% - (2 * var(--space-5)),var(--reading-max));padding-block:var(--space-5)}.site-header{background:var(--colour-paper);border-block:1px solid var(--colour-border)}.site-header .container{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);min-height:3rem}.home-link{color:inherit;text-decoration:none;font-family:var(--font-head);font-size:1.05rem;font-weight:600}.site-subtitle{color:var(--colour-muted);font-size:.8125rem;font-weight:500}.reading-container :where(h1,h2,h3,h4){font-family:var(--font-head);font-weight:500;line-height:1.35;color:var(--colour-ink);margin-top:1.1em;margin-bottom:.35em;letter-spacing:-.01em}.reading-container h1{margin-top:0;font-size:1.75rem}.reading-container h2{margin-top:1.6em;font-size:1.25rem}.reading-container h3{margin-top:1.45em;font-size:1.0625rem;font-weight:500}.reading-container h4{margin-top:1.3em;font-size:.9375rem;font-weight:500}.reading-container :where(p,ul,ol,blockquote,pre){margin-top:.62em;margin-bottom:.62em}.reading-container img{max-width:100%;height:auto;display:block}.reading-container ul,.reading-container ol{padding-inline-start:1.25rem}.reading-container li{margin-top:.15em;margin-bottom:.15em}.reading-container strong{font-weight:600}.reading-container pre{overflow-x:auto;border:1px solid var(--colour-border);border-radius:var(--radius-sm);background:#f8fafc;padding:var(--space-4)}.reading-container table{width:100%;border-collapse:separate;border-spacing:0;margin:var(--space-4) 0;font-size:.95rem;line-height:1.45;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:var(--colour-paper)}.reading-container :where(th,td){border:0;border-right:1px solid var(--colour-border);border-bottom:1px solid var(--colour-border);padding:.6rem .75rem;vertical-align:top;text-align:left}.reading-container tr>:last-child{border-right:0}.reading-container tbody tr:last-child>:where(th,td){border-bottom:0}.reading-container thead th{background:var(--colour-note);background:color-mix(in srgb,var(--colour-note) 85%,var(--colour-border) 15%);font-weight:600}.embed-mode [data-embed-hide]{display:none}.embed-mode .reading-container{width:auto;max-width:57.5rem;margin-left:auto;margin-right:auto;padding-left:.875rem;padding-right:.875rem;padding-block:var(--space-2) var(--space-4)}.embed-mode body{background:#fff}@media(max-width:900px){.embed-mode .reading-container{max-width:100%;width:100%;margin-left:0;margin-right:0;padding-left:.75rem;padding-right:.75rem}}@media(max-width:720px){.container,.reading-container{width:min(100% - (2 * var(--space-4)),100%)}}.grid{display:grid;gap:var(--space-6)}@media(min-width:900px){.grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}}.scrolly{display:grid;gap:var(--space-6)}@media(min-width:900px){.scrolly{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start}}.scrolly-steps{display:flex;flex-direction:column;gap:var(--space-7);padding-block:var(--space-7)}@media(min-width:900px){.scrolly[data-enhanced=true] .scrolly-steps{padding-block:50vh;border-left:2px solid var(--colour-border);padding-left:var(--space-6)}.scrolly[data-enhanced=true] .step{position:relative;padding-block:calc(var(--space-4) + 25vh);opacity:.35;transition:opacity .3s ease}.scrolly[data-enhanced=true] .step:before{content:"";position:absolute;left:calc(-1 * var(--space-6) - 5px);top:50%;transform:translateY(-50%) scale(.5);width:10px;height:10px;border-radius:50%;background:var(--colour-brand);opacity:0;transition:opacity .3s ease,transform .3s ease}.scrolly[data-enhanced=true] .step[data-active=true]{opacity:1}.scrolly[data-enhanced=true] .step[data-active=true]:before{opacity:1;transform:translateY(-50%) scale(1)}.scrolly[data-enhanced=true] .step[data-active=true] h2{color:var(--colour-brand)}}@media(min-width:900px)and (prefers-reduced-motion:reduce){.scrolly[data-enhanced=true] .step,.scrolly[data-enhanced=true] .step:before{transition:none}}.scrolly-visual{background:var(--colour-paper);padding:var(--space-4)}@media(min-width:900px){.scrolly-visual{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;background:transparent;padding:var(--space-5)}}.visual-stack{position:relative;width:100%}.scrolly[data-enhanced=true] .visual-stack{height:420px}.visual-frame{display:block;width:100%;max-height:420px;object-fit:contain}.scrolly[data-enhanced=true] .visual-frame{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}.scrolly[data-enhanced=true] .visual-frame[data-active=true]{opacity:1;transform:none;filter:drop-shadow(0 4px 24px rgba(0,0,0,.1))}@media(prefers-reduced-motion:reduce){.scrolly[data-enhanced=true] .visual-frame{transform:none;transition:none}}.scroll-hint{display:none}@media(min-width:900px){.scrolly[data-enhanced=true] .scroll-hint{display:block;font-size:.8125rem;color:var(--colour-muted);padding-bottom:var(--space-5);animation:scroll-hint-bob 1.8s ease-in-out infinite}.scrolly[data-enhanced=true][data-scrolled=true] .scroll-hint{display:none}}@keyframes scroll-hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.scroll-hint{animation:none}}.visual-caption{margin:0;padding-top:var(--space-3);text-align:center;font-size:.8125rem;color:var(--colour-muted);min-height:1.3em;transition:opacity .3s ease}@media(prefers-reduced-motion:reduce){.visual-caption{transition:none}}.step{padding:var(--space-4);border:1px solid var(--colour-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);background:var(--colour-paper)}.scrolly .step{margin-bottom:0;border:none;background:transparent}.step[data-active=true]{border-color:color-mix(in srgb,var(--colour-ink) 28%,var(--colour-border) 72%)}.step details{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--colour-border)}.step summary{cursor:pointer;font-weight:600}.small{font-size:.8125rem;color:var(--colour-muted)}
