:root{--ground:#F6F4EF;--raise:#EFECE5;--card:#FFFFFF;--card-hi:#F8F6F1;--line:#E4DFD5;--line-2:#D2CBBD;--line-ctl:#8B8475;--fg:#15171C;--fg-2:#3C414B;--fg-3:#5D636E;--accent:#2D4BEF;--accent-hi:#1F3BD8;--accent-dim:#E6EAFE;--on-accent:#FFFFFF;--ok:#177245;--good-bg:#E3F3E9;--good-line:#B7DDC5;--mid:#8A5A00;--mid-bg:#FFF1CF;--mid-line:#EBCF8C;--bad:#B3261E;--bad-bg:#FCE8E6;--bad-line:#F0BDB8;--shadow-c:rgb(20 23 28 / .12);--dot:rgb(21 23 28 / .09);color-scheme:light}:root{--f-display:"Fraunces",Georgia,"Times New Roman",serif;--f-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,monospace;--r:8px;--gut:clamp(20px,4.5vw,60px);--maxw:1140px}*{box-sizing:border-box}.body>*,.body-grid>*,.ehead-in>*,.prose{min-width:0}.prose,.phead-sub,.lede{overflow-wrap:anywhere}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--ground);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;font-synthesis-weight:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.022em}h1,h2:not(.h-band,.side-h){font-family:var(--f-display);font-variation-settings:"opsz" 96,"SOFT" 30}h1,h2:not(.h-band,.side-h){font-weight:600!important;letter-spacing:-.015em!important}h2.h-band,h2.side-h{font-family:var(--f-mono);font-weight:500}h1 em,h2 em{font-style:italic}p{margin:0}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:absolute;left:-9999px;top:0;z-index:40}.skip:focus{position:fixed;left:var(--gut);top:8px;background:var(--accent);color:var(--on-accent);font-weight:700;font-size:14px;padding:10px 16px;border-radius:var(--r);outline:2px solid var(--fg);outline-offset:2px}main:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg)}.brand-mark{width:22px;height:22px;flex:none;display:block;color:var(--accent)}.brand-name{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1}.brand-cc{font-weight:800;letter-spacing:-.01em;margin-right:1px}.mast{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);overflow:hidden}.mast:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--accent)}.mast-in{display:flex;align-items:center;gap:36px;height:66px}.mast-nav{display:flex;gap:26px;margin-right:auto;font-size:14.5px;color:var(--fg-2)}.mast-nav a{padding-block:6px;position:relative;transition:color .15s ease}.mast-nav a:hover,.mast-nav a.on{color:var(--fg)}.mast-nav a.on:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:1px}.btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;letter-spacing:-.005em;border:1px solid transparent;white-space:nowrap;background:transparent;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-solid{background:var(--accent);color:var(--on-accent);font-weight:700}.btn-solid:hover{background:var(--accent-hi)}.btn-ghost{background:transparent;border-color:var(--line-ctl);color:var(--fg)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-lg{height:48px;padding:0 26px;font-size:15.5px}.btn-mini{height:30px;padding:0 13px;font-size:13px;background:transparent;border-color:var(--line-ctl);color:var(--fg-2)}.btn-mini:hover{border-color:var(--accent);color:var(--accent)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);padding:5px 11px 5px 9px;border-radius:999px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.dotted{background-image:radial-gradient(var(--dot) 1.2px,transparent 1.3px);background-size:22px 22px;background-position:-11px -11px}.foot{border-top:1px solid var(--line);background:var(--raise)}.foot-in{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;padding-block:clamp(38px,5vw,54px)}.foot-tag{margin-top:13px;color:var(--fg-2);font-size:14.5px}.foot-desc{margin-top:14px;max-width:46ch;font-size:13.5px;line-height:1.65;color:var(--fg-3)}.foot-mail{margin-top:12px;font-size:14px}.foot-mail a{color:var(--accent)}.foot-mail a:hover{text-decoration:underline}.nav-toggle{display:none;width:44px;height:44px;margin-left:auto;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-ctl);border-radius:var(--r);color:var(--fg-2);cursor:pointer;font:inherit;padding:0}.nav-toggle:hover{color:var(--fg);border-color:var(--fg-3)}.nav-bars{display:grid;gap:4px;width:18px}.nav-bars i{display:block;height:2px;background:currentColor;border-radius:1px}@media(max-width:900px){.nav-toggle{display:flex}.mast-in>.btn-solid{display:none}.mast{overflow:visible}.mast-in{gap:16px}.mast-nav{position:absolute;left:0;right:0;top:100%;display:grid;gap:0;padding:6px var(--gut) 10px;background:var(--raise);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 18px 40px var(--shadow-c);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .22s ease,visibility .22s}.nav-open .mast-nav{max-height:80vh;overflow-y:auto;visibility:visible}.mast-nav a{display:flex;align-items:center;min-height:48px;padding:0 2px;font-size:16px;border-bottom:1px solid var(--line)}.mast-nav a:last-of-type{border-bottom:0}.mast-nav a.on:after{display:none}.mast-nav a.on{color:var(--accent);box-shadow:inset 2px 0 0 var(--accent);padding-left:10px}}@media(prefers-reduced-motion:reduce){.mast-nav{transition:none}}.foot-nav{display:flex;flex-wrap:wrap;gap:14px 26px;font-size:14.5px;color:var(--fg-2)}.foot-nav a{display:inline-flex;align-items:center;min-height:24px}@media(max-width:640px){.foot-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:4px}.foot-nav a{min-height:44px;border-bottom:1px solid var(--line)}}.foot-nav a:hover{color:var(--accent)}.to-top{position:fixed;right:clamp(16px,3vw,28px);bottom:calc(clamp(16px,3vw,28px) + env(safe-area-inset-bottom,0px));z-index:40;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line-ctl);border-radius:var(--r);background:var(--raise);color:var(--fg-2);cursor:pointer;font:inherit;opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease,border-color .14s ease,color .14s ease,background .14s ease}.to-top.is-in{opacity:1;transform:none}.to-top:hover{background:var(--card-hi);color:var(--fg);border-color:var(--fg-3)}.to-top:active{transform:translateY(1px)}.to-top svg{display:block}.to-top:focus-visible{color:var(--fg);border-color:var(--accent)}@media(prefers-reduced-motion:reduce){.to-top{transition:none;transform:none}.to-top.is-in{transform:none}}@media(max-width:520px){.to-top{width:44px;height:44px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}}@media print{.to-top{display:none}}.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--fg-3)}@media(max-width:900px){.mast-nav{min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-block:5px;scroll-padding-inline:8px}.mast-nav::-webkit-scrollbar{display:none}.mast-nav a{flex:0 0 auto}}@media(max-width:760px){.mast-in{gap:20px;height:60px}.mast-nav{gap:18px;font-size:14px}}@media(max-width:520px){.mast .btn-solid{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
