@font-face{font-family:ReaderSans;src:url("reader-sans.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:ReaderSerif;src:url("reader-serif.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--paper:#FCF9F2;--ink:#21213A;--muted:#4D4A68;--blue:#4846A2;--line:#CDCFCB;--wash:#E5E4F3}
*{box-sizing:border-box}html{scroll-padding-top:1.5rem}body{margin:0;background:var(--paper);color:var(--ink);font:1.125rem/1.7 ReaderSans,Roboto,system-ui,sans-serif;text-rendering:optimizeLegibility}h1,h2{overflow-wrap:anywhere}.brand{flex-wrap:wrap}
::selection{background:var(--wash);color:var(--ink)}a{color:var(--blue);text-underline-offset:.2em;text-decoration-thickness:1px;overflow-wrap:anywhere}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:2px}h2:focus{outline:none}
.skip{position:fixed;top:.5rem;left:1rem;padding:.6rem 1rem;z-index:2;background:var(--paper);transform:translateY(-200%)}.skip:focus{transform:none}
.shell{width:min(1120px,calc(100% - 64px));margin-inline:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:28px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;max-width:100%}.brand span{min-width:0;overflow-wrap:anywhere}.brand img{width:46px;height:46px;flex-shrink:0;border-radius:10px}.brand strong{display:block;font-size:1.125rem;line-height:1.3}.brand small{display:block;font-size:.8125rem;color:var(--muted);line-height:1.6}.primary{display:flex;gap:1.5rem}.primary a{display:flex;align-items:center;min-height:48px;font-size:1rem}.primary [aria-current]{color:var(--ink);font-weight:650}
.draft{margin:24px 0 0;padding:12px 16px;background:var(--wash);font-size:.875rem;line-height:1.6}.draft strong{font-weight:650}.intro{padding:48px 0 38px;max-width:780px}.intro h1{font:550 clamp(2.3rem,5vw,3.4rem)/1.12 ReaderSerif,serif;letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance}.intro p{margin:0;max-width:66ch;overflow-wrap:anywhere}.meta{font-size:.875rem;color:var(--muted);margin-top:18px!important}
.reading{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:64px;align-items:start;border-top:1px solid var(--line);padding-top:32px}.contents{position:sticky;top:24px;font-size:1rem}.contents p{font-weight:650;margin:0 0 12px}.contents a{display:block;padding:9px 0;min-height:48px;line-height:1.5}.contents ul{list-style:none;padding:0;margin:0}.article{max-width:72ch;min-width:0;padding-bottom:32px}.article p{margin:0 0 22px;overflow-wrap:anywhere}.article h2{font:550 1.75rem/1.3 ReaderSerif,serif;letter-spacing:-.015em;margin:44px 0 16px;text-wrap:balance}.article h2:first-child{margin-top:0}.article h2:target{background:var(--wash);box-shadow:0 0 0 8px var(--wash)}.contact{margin:24px 0 48px;border-top:1px solid var(--line);padding-top:28px}.contact h2{font:550 1.75rem/1.3 ReaderSerif,serif;margin:0 0 12px}.contact p{margin:0 0 14px;max-width:70ch}.contact a{display:inline-block;min-height:48px;padding:8px 0}.footer{border-top:1px solid var(--line);padding:24px 0 32px;font-size:.875rem;color:var(--muted)}.footer p{margin:0 0 8px}.footer a{display:inline-block;min-height:44px;margin-right:24px;padding:8px 0}
.intro-contact a{display:inline-block;min-height:48px;padding:10px 0}.intro-contact{margin-top:12px!important}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.top{align-items:flex-start;flex-direction:column;gap:12px;padding:22px 0 12px}.primary{gap:24px}.intro{padding:32px 0 28px}.reading{grid-template-columns:1fr;gap:28px;padding-top:22px}.contents{position:static;border-bottom:1px solid var(--line);padding-bottom:20px}.contents ul{display:flex;flex-wrap:wrap;gap:0 20px}.contents a{padding:9px 0}.article h2{font-size:1.625rem;margin-top:36px}.article{padding-bottom:12px}.contact{margin-bottom:28px}}
@media print{body{background:white;color:black;font-size:11pt}.shell{width:100%}.skip,.primary,.contents{display:none}.reading{display:block}.intro{padding:24px 0}.article{max-width:none}.article h2{break-after:avoid}.brand img{width:36px;height:36px}a{color:inherit}.draft{border:1px solid black}}

.primary{flex-wrap:wrap}.brand{font-size:1.125rem;font-weight:650}.contact p{overflow-wrap:anywhere}
