@layer reset{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}img,picture,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}:focus-visible{outline:none}}@layer tokens{:root{color-scheme:light dark;--page-light:#f4f5f8;--surface-light:#fff;--page-dark:#0b0f1c;--surface-dark:#151b2e;--navy:#0f1424;--yellow:#ffc72c;--white:#fff;--ink-light:#0f1424;--ink-dark:#eef0f6;--muted-light:#4b5268;--muted-dark:#b5bbcc;--border-light:#5f6782;--border-dark:#656d8a;--error-light:#a00000;--error-dark:#ffa3a3;--color-page:light-dark(var(--page-light),var(--page-dark));--color-surface:light-dark(var(--surface-light),var(--surface-dark));--color-ink:light-dark(var(--ink-light),var(--ink-dark));--color-muted:light-dark(var(--muted-light),var(--muted-dark));--color-border:light-dark(var(--border-light),var(--border-dark));--color-error:light-dark(var(--error-light),var(--error-dark));--on-navy:var(--white);--on-yellow:var(--navy);--focus-ring:light-dark(var(--navy),var(--yellow));--focus-halo:light-dark(var(--yellow),var(--navy));--focus-width:3px;--focus-offset:3px;--focus-halo-width:calc(var(--focus-offset) + var(--focus-width));--font-body:"Atkinson Hyperlegible Next", "Atkinson Fallback", system-ui, sans-serif;--font-display:"Bricolage Grotesque", "Bricolage Fallback", system-ui, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SF Mono", "Menlo", "Consolas", "Liberation Mono", monospace;--line-height-body:1.6;--line-height-heading:1.1;--line-height-subheading:1.25;--letter-spacing-body:normal;--word-spacing-body:normal;--paragraph-spacing:1em;--measure:34em;--step--1:clamp(1rem, .98rem + .1vw, 1.0625rem);--step-0:clamp(1.125rem, 1.1rem + .15vw, 1.1875rem);--step-1:clamp(1.35rem, 1.28rem + .35vw, 1.5rem);--step-2:clamp(1.6rem, 1.45rem + .7vw, 2rem);--step-3:clamp(2rem, 1.6rem + 1.6vw, 2.75rem);--step-4:clamp(2.5rem, 1.8rem + 2.8vw, 3.75rem);--step-5:clamp(2.25rem, 1rem + 5vw, 5rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2.5rem;--space-xl:4rem;--space-2xl:6rem;--radius:6px;--radius-image:8px;--target-size:44px;--motion-duration:.2s;--control-border-width:1px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}.on-navy{--color-page:var(--navy);--color-surface:var(--navy);--color-ink:var(--white);--color-muted:var(--muted-dark);--color-border:var(--border-dark);--color-error:var(--error-dark);--focus-ring:var(--yellow);--focus-halo:var(--navy)}:root[data-spacing=wider]{--line-height-body:1.8;--letter-spacing-body:.06em;--word-spacing-body:.16em;--paragraph-spacing:2em}:root[data-motion=reduce]{--motion-duration:0s}@media (prefers-reduced-motion:reduce){:root{--motion-duration:0s}}@media (forced-colors:active){:root{--focus-ring:CanvasText;--focus-halo:Canvas}}@media (prefers-contrast:more){:root{--control-border-width:2px}}}@layer base{@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-hyperlegible-next-roman.woff2)format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-hyperlegible-next-italic.woff2)format("woff2-variations");font-weight:200 800;font-style:italic;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-700.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Fallback;font-weight:400;src:local(Arial),local(Helvetica),local(Roboto),local(Liberation Sans);size-adjust:99.4%;ascent-override:99%;descent-override:31.8%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:400;src:local(Arial),local(Helvetica),local(Roboto),local(Liberation Sans);unicode-range:U+41-5A;size-adjust:93.05%;ascent-override:105.7%;descent-override:34%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:400;src:local(Arial),local(Helvetica),local(Roboto),local(Liberation Sans);unicode-range:U+30-39;size-adjust:101.3%;ascent-override:97.1%;descent-override:31.2%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:400;src:local(Arial),local(Helvetica),local(Roboto),local(Liberation Sans);unicode-range:U+21-2F,U+3A-40,U+2018-201F;size-adjust:86.8%;ascent-override:113.4%;descent-override:36.4%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:700;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Helvetica-Bold),local(Roboto Bold),local(Liberation Sans Bold);size-adjust:98.5%;ascent-override:99.9%;descent-override:32.1%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:700;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Helvetica-Bold),local(Roboto Bold),local(Liberation Sans Bold);unicode-range:U+41-5A;size-adjust:97.2%;ascent-override:101.2%;descent-override:32.5%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:700;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Helvetica-Bold),local(Roboto Bold),local(Liberation Sans Bold);unicode-range:U+30-39;size-adjust:105.7%;ascent-override:93.1%;descent-override:29.9%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;font-weight:700;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Bold),local(Helvetica-Bold),local(Roboto Bold),local(Liberation Sans Bold);unicode-range:U+21-2F,U+3A-40,U+2018-201F;size-adjust:97%;ascent-override:101.4%;descent-override:32.6%;line-gap-override:0%}@font-face{font-family:Bricolage Fallback;src:local(Arial),local(Helvetica),local(Roboto),local(Liberation Sans);size-adjust:99.4%;ascent-override:93.6%;descent-override:27.2%;line-gap-override:0%}body{background-color:var(--color-page);color:var(--color-ink);font-family:var(--font-body);font-size:var(--step-0);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);word-spacing:var(--word-spacing-body);font-synthesis:none;text-rendering:optimizelegibility;margin:0}.on-navy{background-color:var(--color-page);color:var(--color-ink);color-scheme:dark}p,li,dd,blockquote,figcaption{max-inline-size:var(--measure)}p+p{margin-block-start:var(--paragraph-spacing)}h2:first-child,h3:first-child,h4:first-child{margin-block-start:0}.lead{max-inline-size:32em;color:var(--color-ink);font-size:var(--step-1)}h1,h2{font-family:var(--font-display);text-wrap:balance;font-weight:700}h1{max-inline-size:12em;font-size:var(--step-5);letter-spacing:-.02em;line-height:1}h2{margin-block:var(--space-xl) var(--space-2xs);font-size:var(--step-3);line-height:var(--line-height-heading);letter-spacing:-.01em}h3,h4{font-family:var(--font-body);font-weight:700}h3{margin-block:var(--space-l) var(--space-2xs);font-size:var(--step-1);line-height:var(--line-height-subheading)}h4{margin-block:var(--space-m) var(--space-3xs);font-size:var(--step-0)}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);box-shadow:0 0 0 var(--focus-halo-width) var(--focus-halo)}main:focus-visible{outline-offset:calc(-1 * var(--focus-width));box-shadow:none}a{color:inherit;text-underline-offset:.15em;text-decoration-thickness:.08em}p a,li a,dd a{text-decoration-line:underline}a:hover{text-decoration-line:none}button,summary,[role=button],input:not([type=checkbox],[type=radio]),select,textarea{min-block-size:var(--target-size)}button,summary,[role=button]{min-inline-size:var(--target-size)}.button{min-block-size:var(--target-size);padding-block:var(--space-3xs);padding-inline:var(--space-m);border:var(--control-border-width) solid var(--color-border);border-radius:var(--radius);color:var(--color-ink);font-family:var(--font-body);background-color:#0000;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.button--primary{border-color:var(--navy);background-color:var(--yellow);color:var(--on-yellow)}.button:hover{text-underline-offset:.15em;text-decoration-line:underline;text-decoration-thickness:.08em}li>a:only-child,p.standalone-link>a,h1>a:only-child,h2>a:only-child,h3>a:only-child,h4>a:only-child{min-block-size:var(--target-size);align-items:center;display:inline-flex}li>a:only-child{min-inline-size:var(--target-size)}ul,ol{padding-inline-start:1.25em}@media (forced-colors:active){.button{border:1px solid}}}@layer vendor;@layer layout{.page{flex-direction:column;min-block-size:100svh;display:flex}.page>main{flex:1}.wrap{inline-size:100%;max-inline-size:72rem;padding-inline:var(--space-s);margin-inline:auto}@media (width>=40rem){.wrap{padding-inline:var(--space-m)}}@media (width>=80rem){.wrap{padding-inline:var(--space-l)}}.section{padding-block:var(--space-xl)}@media (width>=64rem){.section{padding-block:var(--space-2xl)}}.section+.section{padding-block-start:0}.stack{gap:var(--space-s);flex-direction:column;display:flex}.cluster{gap:var(--space-s);flex-wrap:wrap;align-items:center;display:flex}.prose{max-inline-size:var(--measure)}.prose>*+*{margin-block-start:var(--paragraph-spacing)}.prose>*+:is(h2,h3,h4){margin-block-start:revert-layer}.prose>h2+*,.prose>h3+*{margin-block-start:var(--space-2xs)}}@layer components;@layer utilities{.visually-hidden:not(:focus,:active){white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flow>*+*{margin-block-start:var(--flow-space,1rem)}.nowrap{white-space:nowrap}a.row-link{min-block-size:var(--target-size);min-inline-size:var(--target-size);align-items:center;display:inline-flex}@media print{:root{color-scheme:light}.site-header,.site-footer,.skip-link,.display-settings,.portrait__ascii,.hero__mark{display:none}body{background:var(--white);color:var(--navy);font-size:11pt}.cv{max-inline-size:none;padding:0}h1{font-size:24pt}h2{margin-block-start:14pt;font-size:15pt}h3{font-size:12pt}h2,h3{break-after:avoid}.cv__role,.cv__education,.cv__education li{break-inside:avoid}a{color:inherit;text-decoration:none}a[href^=http]:after{content:" (" attr(href) ")";font-size:9pt}ul{padding-inline-start:1em}}}
