:root{--font-serif:"Computer Modern Serif", "Times New Roman", serif;--font-serif-slanted:"Computer Modern Serif Slanted", "Computer Modern Serif", serif;--font-sans:"Computer Modern Bright", "Helvetica Neue", Arial, sans-serif;--color-page:#fdfbf7;--color-text:#1c1b1a;--color-accent:#0b3d91;--color-accent-light:#2d5ed8;--color-border:rgba(28, 27, 26, 0.16);--max-width:min(62rem, 94vw);--spacing-lg:clamp(2.5rem, 6vw, 4rem);--spacing-md:clamp(1.5rem, 4vw, 2.5rem);--spacing-sm:clamp(0.75rem, 2vw, 1.3rem);--transition:180ms ease}@font-face{font-family:computer modern serif;src:url(/fonts/cmunrm.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:computer modern serif;src:url(/fonts/cmunbx.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:computer modern serif;src:url(/fonts/cmunti.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:computer modern serif;src:url(/fonts/cmunbi.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:computer modern serif slanted;src:url(/fonts/cmunsl.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:computer modern serif slanted;src:url(/fonts/cmunbl.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:computer modern bright;src:url(/fonts/cmunbmr.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:computer modern bright;src:url(/fonts/cmunbbx.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:computer modern bright;src:url(/fonts/cmunbmo.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:computer modern bright;src:url(/fonts/cmunbxo.otf)format("opentype");font-weight:700;font-style:italic;font-display:swap}*,*::before,*::after{box-sizing:border-box}html{font-size:18px;background:var(--color-page);color:var(--color-text);font-family:var(--font-serif);line-height:1.6}body{min-height:100vh;margin:0;display:flex;flex-direction:column}a{color:inherit;text-decoration-color:rgba(43,108,176,.35);text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:color var(--transition),text-decoration-color var(--transition)}.page-frame{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(1.5rem,4vw,3rem);flex:1 0 auto}.site-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--spacing-md);gap:clamp(.75rem,3vw,1.5rem);position:relative}.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--color-border);z-index:0}.brand{position:relative;display:inline-flex;align-items:baseline;gap:.35rem;font-family:var(--font-serif);font-size:clamp(1.3rem,2.6vw,1.6rem);font-weight:500;letter-spacing:.02em;text-transform:none;text-decoration:none}.brand::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition);z-index:1}.brand:hover::after,.brand:focus-visible::after{transform:scaleX(1)}.brand span{display:inline-block}.brand sup{font-size:.6em;font-family:var(--font-serif);margin-left:.15em;color:var(--color-accent)}.site-nav{display:flex;gap:clamp(.75rem,3vw,1.5rem);font-family:var(--font-serif);font-size:1.18rem;letter-spacing:.015em;text-transform:lowercase;font-weight:500}.site-nav span[aria-hidden=true]{font-weight:600;color:var(--color-text);margin-right:.2rem}.site-nav a{position:relative;padding-bottom:0;color:inherit;text-decoration:none;transition:color var(--transition),text-decoration-color var(--transition)}.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition);z-index:1}.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-accent)}.brand:hover::before,.brand:focus-visible::before{color:var(--color-accent-light)}.hero{margin-top:clamp(2.5rem,8vw,4rem);margin-bottom:var(--spacing-md)}.hero h1{font-size:clamp(3.2rem,6.5vw,3.75rem);margin:0 auto;font-family:var(--font-serif);font-weight:700;text-align:center}.hero small{display:block;font-family:var(--font-serif);font-size:1.05rem;letter-spacing:.08em;text-transform:none;margin:.4rem auto 0;color:rgba(28,27,26,.7);text-align:center}.hero p{margin:var(--spacing-md)0 0;max-width:64rem;font-size:clamp(1.28rem,2.8vw,1.55rem)}.content-block{display:grid;gap:var(--spacing-lg)}.hero--narrow{max-width:min(80ch,96vw);margin:clamp(2rem,6vw,3rem)auto clamp(1.5rem,4vw,2.5rem);padding:0 clamp(1.5rem,5vw,3rem)}.hero--narrow h1{font-size:clamp(2.5rem,5vw,3rem);margin:0;font-family:var(--font-serif);font-weight:700;text-align:left}.hero--narrow small{display:block;font-family:var(--font-sans);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(28,27,26,.65);margin-top:.4rem}.hero--narrow p{margin:var(--spacing-md)auto 0;max-width:78ch;font-size:clamp(1.2rem,2.4vw,1.45rem);text-align:left}.content-block--narrow{max-width:min(80ch,96vw);margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem);display:grid;gap:clamp(1rem,3vw,1.8rem)}.content-block--narrow>*{max-width:78ch;margin-left:auto;margin-right:auto}.content-block--narrow ul{list-style:none;padding:0;display:grid;gap:.9rem}.content-block--narrow li{display:flex;gap:.45rem;align-items:baseline;font-size:1.12rem}.content-block--narrow li::before{content:"•";color:var(--color-accent);font-size:.75em}.post--narrow{width:min(140ch,94vw);margin:clamp(2rem,5vw,3rem)auto;padding:0 clamp(1.5rem,4vw,3rem)}.post--narrow .post__header{width:min(136ch,100%);margin:0 auto clamp(2rem,5vw,2.6rem);display:grid;gap:.5rem;text-align:left}.post--narrow .post__header h1{font-family:var(--font-serif);font-weight:700;font-size:clamp(2.5rem,5vw,3rem);margin:0}.post--narrow .post__header small{font-family:var(--font-sans);font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;color:rgba(28,27,26,.6)}.post--narrow .post__content{width:min(136ch,100%);margin:0 auto;display:grid;gap:clamp(.7rem,2vw,1.15rem)}.post--narrow .post__content>*{max-width:min(134ch,100%);margin-left:auto;margin-right:auto;text-align:left}.post--narrow .post__content p{margin:0 0 .4rem;font-size:clamp(1.28rem,2.6vw,1.55rem);line-height:1.58}.post--narrow .post__content h2,.post--narrow .post__content h3,.post--narrow .post__content h4{font-family:var(--font-serif);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(1.6rem,3.4vw,2rem);text-align:left;margin:clamp(1.2rem,2.8vw,1.9rem)0 .45rem}.post--narrow .post__content h3,.post--narrow .post__content h4{font-size:clamp(1.45rem,3vw,1.8rem);margin-top:clamp(1.1rem,2.4vw,1.6rem)}.post--narrow .post__content p+h2,.post--narrow .post__content p+h3,.post--narrow .post__content p+h4{margin-top:clamp(1.4rem,2.6vw,2rem)}@media(max-width:720px){.post--narrow{width:100%;padding:0 clamp(1rem,6vw,2rem)}.post--narrow .post__header,.post--narrow .post__content,.post--narrow .post__content>*{width:100%;max-width:100%}.post--narrow .post__content p{font-size:clamp(1.18rem,3.2vw,1.4rem)}}.content-block ul{list-style:none;padding:0}.cta-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-family:var(--font-serif);font-size:1.1rem;justify-content:flex-start}.cta-list a{padding:.35rem .75rem;border-radius:999px;border:1px dashed rgba(19,69,150,.45);background:rgba(13,80,180,8%);transition:background var(--transition),border-color var(--transition),color var(--transition)}.cta-list a:hover,.cta-list a:focus-visible{background:rgba(13,80,180,.18);border-color:var(--color-accent);color:var(--color-accent);text-decoration:underline!important}.list-shell,.post-shell{max-width:min(62ch,92vw);margin-left:auto;margin-right:auto}.post__header{margin-bottom:clamp(2.5rem,6vw,3.5rem);display:grid;gap:.75rem;text-align:left}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.site-header{flex-direction:column;align-items:flex-start}.site-nav{flex-wrap:wrap;gap:.75rem}}@media(max-width:480px){.page-frame{padding:0 clamp(.35rem,3vw,.6rem)calc(6.5rem + env(safe-area-inset-bottom))}.site-header{position:fixed;left:0;right:0;bottom:0;z-index:10;margin-bottom:0;padding:clamp(.6rem,4vw,.9rem)clamp(1rem,6vw,1.5rem)calc(clamp(.6rem,4vw,.9rem) + env(safe-area-inset-bottom));background:var(--color-page);box-shadow:0 -6px 18px rgba(28,27,26,8%);border-top:1px solid var(--color-border);gap:.65rem;align-items:stretch}.site-header::after{display:none}.site-nav{width:100%;justify-content:space-between}.site-nav a{font-size:1rem;padding-bottom:.1rem}.post--narrow{margin:clamp(1rem,3vw,1.6rem)auto;padding:0 clamp(.2rem,3vw,.5rem)}.post--narrow .post__content{gap:clamp(.5rem,3.5vw,.85rem)}.post--narrow .post__content>*{max-width:100%;margin-left:0;margin-right:0}.post--narrow .post__content p{font-size:1.05rem;line-height:1.25}}.post__content pre,.content-block pre,.hero pre{width:100%;max-width:100%;overflow-x:auto;font-size:.95rem;line-height:1.45;background:#f4f5f7;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid rgba(17,24,39,8%);box-shadow:inset 0 1px rgba(255,255,255,.6)}.highlight{width:100%;max-width:100%;overflow-x:auto;background:#f4f5f7;border-radius:.75rem;border:1px solid rgba(17,24,39,8%);box-shadow:inset 0 1px rgba(255,255,255,.6);padding:1rem 1.25rem}.highlight pre{background:0 0;padding:0;border:0}.post__content pre code,.content-block pre code,.hero pre code{font-size:inherit}.post__content pre::-webkit-scrollbar,.content-block pre::-webkit-scrollbar,.hero pre::-webkit-scrollbar{height:8px}.post__content pre::-webkit-scrollbar-thumb,.content-block pre::-webkit-scrollbar-thumb,.hero pre::-webkit-scrollbar-thumb{background:rgba(17,24,39,.12);border-radius:999px}.post__content img,.post__content figure,.post__content video,.post__content iframe{max-width:100%;height:auto}.post__content figure{margin:0 auto var(--spacing-md)}.post__content table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-spacing:0}.post__content table th,.post__content table td{padding:.65rem .75rem;border-bottom:1px solid rgba(17,24,39,.1);text-align:left;word-break:break-word}.post__content table thead th{font-weight:600;background:rgba(13,80,180,6%)}