@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_b3e1f45a-module__zWEdKG__className{font-family:Fraunces,Fraunces Fallback}.fraunces_b3e1f45a-module__zWEdKG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/79e9e0e3b9220e46-s.15s2gb72mvmw9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/e62850744c7f266e-s.43_ypb-kqawuo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/9433d1a810498265-s.p.3z77xcxvtx9_e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.2ym9msm88vm4r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.08jxdyhjmo52g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.23oeb0afa3wba.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_378e5e0a-module__NYp6Iq__className{font-family:Newsreader,Newsreader Fallback}.newsreader_378e5e0a-module__NYp6Iq__variable{--font-newsreader:"Newsreader", "Newsreader Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../media/3e29d6c8df211d66-s.34ll3n0a7axn8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../media/2956efe007516702-s.2zs30e0rmfqle.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../media/658fb2a9c2a0ea5d-s.0ucamigolj1gr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7c125d9da13f978a-s.1voarg1k-ek7t.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:400;font-display:swap;src:url(../media/a46a75cfd765634f-s.p.1ftfy6l9h667-.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(../media/c752d4f65d3e00e0-s.3y7xswp0tmq9f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(../media/151f074d78c0031d-s.2yxhuoqrbmyse.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(../media/3ee1b1187b5e60bc-s.3ulr42fti9i75.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(../media/ecc49aa4bef31f74-s.3_pu8gag5qjcz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:500;font-display:swap;src:url(../media/21c1dee959b18079-s.p.2xfa7vbo49zde.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;font-display:swap;src:url(../media/6a793dba767aa497-s.1wbzjl9gk0c53.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;font-display:swap;src:url(../media/cf54ce4ee2f7915c-s.2j2yrd_74-h7v.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;font-display:swap;src:url(../media/bb1a7daf057744c1-s.1ajqhnm7jd-tt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;font-display:swap;src:url(../media/eb34f5373173429c-s.3j11ksm2xynw4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:italic;font-weight:600;font-display:swap;src:url(../media/cb74272c1a4b1482-s.p.0fo5-4h9-hcwh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_9da56803-module__NxWtBG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback}.ibm_plex_mono_9da56803-module__NxWtBG__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--serif:var(--font-newsreader), Georgia, "Times New Roman", serif;--display:var(--font-fraunces), var(--font-newsreader), Georgia, serif;--mono:var(--font-plex-mono), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg:#e9ebef;--surface:#fbfcfd;--surface-2:#f2f3f6;--ink:#17191e;--ink-2:#3d424c;--ink-3:#6a7180;--rule:#d6d9df;--rule-strong:#c3c7d0;--accent:#1f3fbf;--accent-ink:#1b39ac;--accent-soft:#1f3fbf13;--ok:#1c7c46;--warn:#a05a00;--shadow:0 1px 2px #1418220a, 0 12px 34px -18px #1418222e;--grain-opacity:.028;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0e1014;--surface:#14171d;--surface-2:#191d24;--ink:#e9ebf0;--ink-2:#b4b9c3;--ink-3:#838a97;--rule:#262a32;--rule-strong:#343a46;--accent:#7d94ff;--accent-ink:#94a7ff;--accent-soft:#7d94ff1f;--ok:#4fbf7f;--warn:#d99a3d;--shadow:0 1px 2px #0000004d, 0 18px 40px -20px #0009;--grain-opacity:.04;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-theme=auto]{--bg:#0e1014;--surface:#14171d;--surface-2:#191d24;--ink:#e9ebf0;--ink-2:#b4b9c3;--ink-3:#838a97;--rule:#262a32;--rule-strong:#343a46;--accent:#7d94ff;--accent-ink:#94a7ff;--accent-soft:#7d94ff1f;--ok:#4fbf7f;--warn:#d99a3d;--shadow:0 1px 2px #0000004d, 0 18px 40px -20px #0009;--grain-opacity:.04;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--serif);font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.62;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}:root[data-theme=dark] body:before{mix-blend-mode:screen}@media (prefers-color-scheme:dark){:root[data-theme=auto] body:before{mix-blend-mode:screen}}a{color:var(--accent-ink);text-decoration:none}h1,h2,h3{margin:0;font-weight:400}img{max-width:100%;display:block}::selection{background:var(--accent-soft)}.wrap{z-index:1;width:min(1080px,92vw);margin-inline:auto;position:relative}.measure{max-width:64ch;margin-inline:auto}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.7rem;font-size:.72rem;display:flex}.eyebrow .num{color:var(--accent);font-weight:500}.eyebrow:after{content:"";background:var(--rule);flex:1;height:1px}.eyebrow.center{justify-content:center}.eyebrow.center:after,.eyebrow.center:before{content:"";background:var(--rule);flex:1;height:1px}.masthead{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.masthead .row{justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.72rem 0;display:flex}.brand{cursor:pointer;color:inherit;background:0 0;border:0;align-items:baseline;gap:.6rem;padding:0;display:flex}.brand .bname{font-family:var(--display);letter-spacing:.005em;color:var(--ink);font-size:1.12rem}.brand .btag{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.62rem}nav.primary{align-items:center;gap:.2rem;display:flex}nav.primary a{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);border-radius:6px;padding:.5rem .7rem;font-size:.74rem;position:relative}nav.primary a:hover{color:var(--ink);background:var(--accent-soft)}nav.primary a[aria-current=page]{color:var(--accent-ink)}nav.primary a[aria-current=page]:after{content:"";background:var(--accent);height:1.5px;position:absolute;bottom:.28rem;left:.7rem;right:.7rem}.nav-sep{background:var(--rule-strong);width:1px;height:18px;margin:0 .35rem}.icon-btn{font-family:var(--serif);border:1px solid var(--rule-strong);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;min-width:34px;padding:.4rem .55rem;font-size:1rem;line-height:1;display:inline-flex}.icon-btn:hover{color:var(--ink);border-color:var(--ink-3)}.signin-link{color:var(--ink-3)!important}.signin-link:hover{color:var(--accent-ink)!important}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.reveal{opacity:1}html.boot .reveal{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards rise}html.boot .reveal.r1{animation-delay:50ms}html.boot .reveal.r2{animation-delay:.12s}html.boot .reveal.r3{animation-delay:.19s}html.boot .reveal.r4{animation-delay:.26s}html.boot .reveal.r5{animation-delay:.33s}@media (prefers-reduced-motion:reduce){html.boot .reveal{opacity:1;animation:none}}.hero{padding:clamp(2.4rem,6vw,4.8rem) 0 clamp(2rem,4vw,3rem)}.hero-grid{grid-template-columns:1.55fr .95fr;align-items:center;gap:clamp(1.5rem,4vw,3.4rem);display:grid}.hero .kicker{margin-bottom:1.4rem}.nameplate{font-family:var(--display);letter-spacing:-.015em;margin:0 0 .5rem;font-size:clamp(2.9rem,7.2vw,5.4rem);font-weight:400;line-height:.94}.creds{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.55rem .9rem;margin-bottom:1.5rem;font-size:.82rem;display:flex}.creds .dot{background:var(--accent);border-radius:50%;width:4px;height:4px;display:inline-block}.positioning{font-family:var(--serif);color:var(--ink);max-width:34ch;font-size:clamp(1.2rem,2.1vw,1.5rem);font-weight:400;line-height:1.5}.positioning em{color:var(--ink);font-style:italic}.hero-cta{flex-wrap:wrap;gap:.7rem;margin-top:1.9rem;display:flex}.btn{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:.55rem;padding:.72rem 1.15rem;font-size:.76rem;transition:transform .15s,background .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff}:root[data-theme=dark] .btn-primary{color:#0e1014}@media (prefers-color-scheme:dark){:root[data-theme=auto] .btn-primary{color:#0e1014}}.btn-primary:hover{background:var(--accent-ink)}.btn-ghost{border-color:var(--rule-strong);color:var(--ink-2);background:0 0}.btn-ghost:hover{color:var(--ink);border-color:var(--ink-3)}.portrait{justify-self:end;width:100%;max-width:330px;position:relative}.portrait .plate{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);padding:12px;position:relative}.portrait img{aspect-ratio:1;object-fit:cover;filter:saturate(1.02);width:100%;height:auto}.tick{border:1.5px solid var(--accent);width:14px;height:14px;position:absolute}.tick.tl{border-bottom:0;border-right:0;top:-1px;left:-1px}.tick.tr{border-bottom:0;border-left:0;top:-1px;right:-1px}.tick.br{border-top:0;border-left:0;bottom:-1px;right:-1px}.portrait .cap{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin-top:.7rem;font-size:.66rem;display:flex}section.block{border-top:1px solid var(--rule);padding:clamp(2.4rem,5vw,4rem) 0}.block .head{margin-bottom:2rem}.block h2{font-family:var(--display);letter-spacing:-.01em;max-width:26ch;margin-top:.9rem;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.08}.block h2.center{text-align:center;margin-inline:auto}.arc-prose{color:var(--ink);font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.66}.arc-prose p{margin:0 0 1.1em}.arc-prose p:last-child{margin-bottom:0}.arc-prose strong{font-weight:600}.spine{justify-content:space-between;align-items:flex-start;gap:.4rem;margin-top:2.6rem;padding-top:1.4rem;display:flex;position:relative}.spine:before{content:"";background:var(--rule-strong);height:1px;position:absolute;top:0;left:2%;right:2%}.spine .node{text-align:center;flex:1;position:relative}.spine .node:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:-1.4rem;left:50%;transform:translate(-50%)}.spine .yr{font-family:var(--mono);letter-spacing:.06em;color:var(--accent);font-size:.7rem;display:block}.spine .lbl{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-top:.35rem;font-size:.68rem;line-height:1.3;display:block}.story-prose{color:var(--ink);font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.66}.story-prose p{margin:0 0 1.1em}.story-prose p:last-child{margin-bottom:0}.story-prose strong{font-weight:600}.ruledlist{border-top:1px solid var(--rule-strong);margin-top:1.7rem}.rl-row{border-bottom:1px solid var(--rule);grid-template-columns:2.2rem 1fr;align-items:baseline;gap:1rem;padding:.85rem 0;display:grid}.rl-row .rn{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;font-size:.72rem}.rl-row .rt{font-family:var(--serif);color:var(--ink);font-size:1.04rem;font-weight:600}.rl-row .rt a{color:var(--ink)}.rl-row .rt a:hover{color:var(--accent-ink)}.rl-row .rd{color:var(--ink-2);margin-top:.15rem;font-size:.95rem;line-height:1.5}.rl-row .rlink{font-family:var(--mono);color:var(--accent-ink);font-size:.72rem}.credtable{border-collapse:collapse;width:100%}.credtable td{border-bottom:1px solid var(--rule);vertical-align:baseline;padding:.95rem 0}.credtable tr:last-child td{border-bottom:0}.credtable .c-name{font-family:var(--serif);color:var(--ink);font-size:1.06rem}.credtable .c-name small{color:var(--ink-3);font-size:.86rem;display:block}.credtable .c-meta{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-2);text-align:right;white-space:nowrap;font-size:.78rem}.credtable .c-id{color:var(--accent)}.rnd-prose{color:var(--ink);max-width:70ch;font-size:1.06rem;line-height:1.66}.rnd-prose strong{font-weight:600}.pubs{gap:.1rem;margin-top:1.6rem;display:grid}.pub{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr;align-items:baseline;gap:1rem;padding:1.05rem 0;display:grid}.pub:first-child{border-top:1px solid var(--rule)}.pub .yr{font-family:var(--mono);color:var(--ink-3);font-size:.78rem}.pub .t{color:var(--ink);font-size:1.02rem;line-height:1.4}.pub .t em{font-style:italic}.pub .doi{font-family:var(--mono);color:var(--accent-ink);margin-top:.25rem;font-size:.74rem;display:inline-block}.quoteband{border-top:1px solid var(--rule);padding:clamp(2.6rem,6vw,4.4rem) 0}.quoteband blockquote{font-family:var(--display);letter-spacing:-.008em;color:var(--ink);text-align:center;margin:0;max-width:26ch;margin-inline:auto;font-size:clamp(1.5rem,3.4vw,2.3rem);font-style:italic;line-height:1.28;position:relative}.quoteband .qattr{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-top:1.3rem;font-size:.72rem}.quoteband .qattr b{color:var(--accent-ink);font-weight:500}.ctaband{border-top:1px solid var(--rule);text-align:center;padding:clamp(2.4rem,5vw,3.6rem) 0}.ctaband p{font-family:var(--serif);color:var(--ink-2);margin:0 0 1.4rem;font-size:1.12rem}.ctaband .row{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}footer.site{border-top:1px solid var(--rule);z-index:1;margin-top:1rem;padding:2.2rem 0 2.6rem;position:relative}footer.site .frow{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}footer.site .fnote{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-3);text-align:right;font-size:.7rem;line-height:1.7}footer.site .fname{font-family:var(--display);color:var(--ink);font-size:1.05rem}footer.site nav{flex-wrap:wrap;gap:1.1rem;display:flex}footer.site nav a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:.7rem}footer.site nav a:hover{color:var(--accent-ink)}.pf-head{padding:clamp(2.4rem,5vw,4rem) 0 1rem}.pf-head h1{font-family:var(--display);letter-spacing:-.012em;max-width:24ch;margin-top:.9rem;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.05}.pf-head p{color:var(--ink-2);max-width:62ch;margin:.9rem 0 0;font-size:1.05rem}.headliner{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);grid-template-columns:auto 1fr auto;align-items:center;gap:1.6rem;margin:1.8rem 0 2rem;padding:1.7rem 1.8rem;display:grid;position:relative}.headliner .play{border:1.5px solid var(--accent);width:56px;height:56px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1rem;display:grid}.headliner h3{font-family:var(--display);color:var(--ink);font-size:1.5rem;line-height:1.15}.headliner p{color:var(--ink-2);margin:.35rem 0 0;font-size:.98rem}.headliner .pflink{font-family:var(--mono);color:var(--accent-ink);white-space:nowrap;font-size:.74rem}.pfgrid2{grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:clamp(2.4rem,5vw,4rem);display:grid}.pfcard{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem;transition:transform .18s,border-color .2s;display:flex;position:relative}a.pfcard:hover{border-color:var(--rule-strong);transform:translateY(-2px)}.pfcard .pfidx{font-family:var(--mono);color:var(--ink-3);letter-spacing:.1em;font-size:.7rem}.pfcard h3{font-family:var(--display);color:var(--ink);font-size:1.35rem;line-height:1.15}.pfcard p{color:var(--ink-2);margin:0;font-size:.96rem;line-height:1.55}.pfcard .pflink{font-family:var(--mono);letter-spacing:.04em;color:var(--accent-ink);margin-top:auto;padding-top:.5rem;font-size:.74rem}.pfcard.placeholder{box-shadow:none;background:0 0;border-style:dashed}.pfcard.placeholder h3,.pfcard.placeholder .pflink,.pflink.pending{color:var(--ink-3)}.resume-wrap{z-index:1;width:min(820px,92vw);margin-inline:auto;position:relative}.res-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:clamp(2rem,4vw,3rem) 0 1.6rem;display:flex}.res-head .rl h1{font-family:var(--display);letter-spacing:-.015em;font-size:clamp(2rem,4vw,2.9rem);line-height:.98}.res-head .rl .rc{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:.55rem;font-size:.78rem}.res-head .rr{font-family:var(--mono);color:var(--ink-2);text-align:right;font-size:.76rem;line-height:1.8}.res-head .rr a{color:var(--ink-2)}.res-head .rr a:hover{color:var(--accent-ink)}.res-actions{gap:.6rem;margin:1.4rem 0 0;display:flex}.filterbar{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:1rem;margin:1.5rem 0 0;padding:1rem 0;display:flex}.filterbar .fk{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.66rem}.filterbar .chips{flex-wrap:wrap;gap:.4rem;display:flex}.filterbar .chip{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--rule-strong);cursor:pointer;background:0 0;border-radius:6px;padding:.42rem .7rem;font-size:.7rem}.filterbar .chip:hover{border-color:var(--ink-3);color:var(--ink)}.filterbar .chip.on{background:var(--accent);border-color:var(--accent);color:#fff}:root[data-theme=dark] .filterbar .chip.on{color:#0e1014}@media (prefers-color-scheme:dark){:root[data-theme=auto] .filterbar .chip.on{color:#0e1014}}.filterbar .fcount{font-family:var(--mono);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.7rem}.res-section{border-bottom:1px solid var(--rule);padding:1.7rem 0}.res-section:last-of-type{border-bottom:0}.res-section>.rst{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.7rem;margin-bottom:1.1rem;font-size:.72rem;display:flex}.res-section>.rst:after{content:"";background:var(--rule);flex:1;height:1px}.res-summary{color:var(--ink);margin:0;font-size:1.06rem;line-height:1.6}.job{break-inside:avoid;margin-bottom:1.4rem}.job:last-child{margin-bottom:0}.job .jh{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.job .role{font-family:var(--serif);color:var(--ink);font-size:1.08rem;font-weight:600}.job .org{color:var(--ink-2);font-weight:400}.job .dates{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;font-size:.74rem}.job ul{margin:.55rem 0 0;padding-left:1.05rem}.job li{color:var(--ink-2);margin-bottom:.28rem;font-size:.99rem;line-height:1.5}.job li::marker{color:var(--accent)}.job.earlier p{color:var(--ink-2);margin:.2rem 0 0;font-size:.98rem}.portfolio{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio .prog{font-family:var(--mono);letter-spacing:.03em;color:var(--ink-2);border:1px solid var(--rule-strong);border-radius:100px;padding:.32rem .7rem;font-size:.74rem}.portfolio .prog b{color:var(--accent-ink);font-weight:500}.skills-grid{grid-template-columns:auto 1fr;gap:.5rem 1.4rem;margin:0;display:grid}.skills-grid dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:.15rem;font-size:.72rem}.skills-grid dd{color:var(--ink-2);margin:0;font-size:.98rem;line-height:1.5}.contact2{grid-template-columns:1fr .95fr;align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.crow{border-bottom:1px solid var(--rule);grid-template-columns:110px 1fr;align-items:baseline;gap:1rem;padding:.9rem 0;display:grid}.crow:first-child{border-top:1px solid var(--rule-strong)}.crow .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem}.crow .v{font-family:var(--serif);color:var(--ink);word-break:break-word;font-size:1.06rem}.opento{margin-top:1.8rem}.opento .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.7rem;font-size:.68rem}.opento ul{margin:0;padding:0;list-style:none}.opento li{color:var(--ink-2);margin-bottom:.55rem;padding-left:1.15rem;font-size:1rem;line-height:1.5;position:relative}.opento li:before{content:"";background:var(--accent);width:6px;height:6px;position:absolute;top:.52em;left:0}.notecard{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);padding:1.7rem 1.6rem;position:relative}.notecard h3{font-family:var(--display);margin-bottom:1rem;font-size:1.3rem}.notecard label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:.9rem 0 .4rem;font-size:.66rem;display:block}.notecard input,.notecard textarea{width:100%;font-family:var(--serif);color:var(--ink);background:var(--surface-2);border:1px solid var(--rule-strong);border-radius:6px;padding:.65rem .75rem;font-size:.98rem}.notecard textarea{resize:vertical;min-height:110px}.notecard input:focus,.notecard textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.notecard .btn-primary{justify-content:center;width:100%;margin-top:1.2rem}.notecard .formnote{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);margin-top:.8rem;font-size:.64rem;line-height:1.6}.signin-shell{flex-direction:column;align-items:center;min-height:64vh;padding:3rem 0 4rem;display:flex}.signin-head{text-align:center;margin-bottom:2rem}.signin-head .lock{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem}.signin-head h1{font-family:var(--display);margin-top:.6rem;font-size:1.9rem;font-weight:400}.portals{gap:.9rem;width:min(460px,92vw);display:grid}details.portal{background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);position:relative}details.portal>summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 1.5rem;list-style:none;display:flex}details.portal>summary::-webkit-details-marker{display:none}details.portal>summary .pt{font-family:var(--display);color:var(--ink);font-size:1.3rem}details.portal>summary .ps{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:.3rem;font-size:.66rem;display:block}details.portal>summary .chev{font-family:var(--mono);color:var(--ink-3);transition:transform .2s}details.portal[open]>summary .chev{color:var(--accent);transform:rotate(90deg)}details.portal[open]{border-color:var(--rule-strong)}details.portal .tick{opacity:0;border-bottom:0;border-right:0;top:-1px;left:-1px}details.portal[open] .tick{opacity:1}.portal-body{border-top:1px solid var(--rule);padding:0 1.5rem 1.5rem}.portal-body p{color:var(--ink-2);margin:1rem 0 1.1rem;font-size:.95rem}.portal-body label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.45rem;font-size:.66rem;display:block}.portal-body input{width:100%;font-family:var(--mono);color:var(--ink);background:var(--surface-2);border:1px solid var(--rule-strong);border-radius:7px;margin-bottom:.9rem;padding:.72rem .8rem;font-size:.9rem}.portal-body input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.portal-body .btn-primary{justify-content:center;width:100%}.authnote{font-family:var(--mono);color:var(--ink-3);border-top:1px solid var(--rule);margin-top:1.1rem;padding-top:.9rem;font-size:.7rem;line-height:1.7}.authnote.ok{color:var(--ok)}.authnote.err{color:var(--warn)}.portal-shell{padding:1.6rem 0 3rem}.portal-top{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding:.4rem 0 1rem;display:flex}.portal-top h1{font-family:var(--display);letter-spacing:-.01em;font-size:1.6rem}.portal-top .pmeta{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:1rem;font-size:.7rem;display:flex}.portal-top .pmeta form{display:inline}.portal-top .pmeta button{color:var(--ink-3);font:inherit;cursor:pointer;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0}.portal-top .pmeta button:hover{color:var(--accent-ink)}.portal-tabs{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:.15rem;padding:.6rem 0;display:flex}.portal-tabs a{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);border-radius:6px;padding:.45rem .7rem;font-size:.72rem}.portal-tabs a:hover{color:var(--ink);background:var(--accent-soft)}.portal-tabs a[aria-current=page]{color:var(--accent-ink);background:var(--accent-soft)}.board{grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:1.4rem;display:grid}.panel{background:var(--surface);border:1px solid var(--rule);padding:1.2rem 1.3rem;position:relative}.panel .ph{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.7rem;margin-bottom:.9rem;font-size:.68rem;display:flex}.panel .ph:after{content:"";background:var(--rule);flex:1;height:1px}.panel .ph .cnt{color:var(--ink-3);letter-spacing:.04em}.panel.span2{grid-column:1/-1}.empty{border:1px dashed var(--rule-strong);text-align:center;font-family:var(--mono);color:var(--ink-3);letter-spacing:.03em;padding:1.3rem 1.2rem;font-size:.76rem;line-height:1.8}.empty b{color:var(--ink-2);font-weight:500}.qrow{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr;align-items:baseline;gap:.9rem;padding:.7rem 0;display:grid}.qrow:last-child{border-bottom:0}.qrow .qn{font-family:var(--mono);color:var(--accent);font-size:.7rem}.qrow .qt{color:var(--ink);font-size:.96rem;line-height:1.45}.qrow .qs{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;margin-top:.2rem;font-size:.66rem;display:block}.funnel{gap:.45rem;display:grid}.frow{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-2);grid-template-columns:1fr auto;align-items:center;gap:.8rem;font-size:.74rem;display:grid}.frow .fbar{background:var(--accent-soft);border-radius:2px;height:6px;position:relative;overflow:hidden}.frow .fbar i{background:var(--accent);border-radius:2px;position:absolute;inset:0 auto 0 0}.frow .fn{font-variant-numeric:tabular-nums;color:var(--ink)}.statusline{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-3);margin-top:1rem;font-size:.68rem;line-height:1.8}.statusline b{color:var(--ink-2);font-weight:500}.srcnote{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-3);opacity:.75;margin-top:1.2rem;font-size:.62rem;line-height:1.7}@media (max-width:760px){.masthead .row{gap:.5rem}.brand .btag{display:none}.brand .bname{white-space:nowrap}nav.primary{gap:0}nav.primary a{white-space:nowrap;letter-spacing:.04em;padding:.45rem .42rem;font-size:.64rem}.nav-sep{display:none}.icon-btn{min-width:30px;padding:.34rem .45rem;font-size:.9rem}.hero-grid{grid-template-columns:1fr}.portrait{order:-1;justify-self:center;max-width:172px;margin-bottom:.4rem}.portrait .cap{display:none}.spine{flex-wrap:wrap;gap:1.3rem .4rem}.spine .node{flex:0 0 30%}nav.primary .hide-sm{display:none}.res-head{flex-direction:column;align-items:flex-start}.res-head .rr{text-align:left}.filterbar .fcount{flex-basis:100%;margin-left:0}.contact2,.pfgrid2{grid-template-columns:1fr}.headliner{grid-template-columns:auto 1fr}.headliner .pflink{grid-column:1/-1}.board{grid-template-columns:1fr}}@media (max-width:420px){.spine .node{flex:0 0 45%}}@media (min-width:761px) and (max-width:1000px){.pfgrid2{grid-template-columns:1fr 1fr}}@media print{:root{--bg:#fff;--surface:#fff;--surface-2:#fff;--ink:#000;--ink-2:#1a1a1a;--ink-3:#555;--rule:#c9c9c9;--rule-strong:#999;--accent:#1f3fbf;--accent-ink:#1f3fbf}@page{margin:14mm 16mm}body{background:#fff;font-size:10.5pt;line-height:1.4}body:before{display:none}.masthead,footer.site,.res-actions,.icon-btn,.hero-cta,.filterbar,.no-print{display:none!important}.resume-wrap .job{display:block!important}.resume-wrap{width:100%}.res-head{border-bottom:1.5pt solid #000;padding-top:0}.res-section{border-bottom:.5pt solid #ccc;padding:.55rem 0}.job{break-inside:avoid}a{color:#000}.portfolio .prog{border-color:#bbb}}
