:root{--paper: #F1F0F5;--ink: #1C2BD8;--text: #17192E;--muted: #555A78;--blush: #F4C6D9;--line: color-mix(in srgb, var(--ink) 22%, transparent);--sheet: color-mix(in srgb, var(--ink) 4%, var(--paper));--display: "Anybody", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--serif: "Newsreader", Georgia, "Times New Roman", serif;--pad: clamp(1.25rem, 4vw, 3rem);--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #0E1146;--ink: #B9C0FF;--text: #ECEDFF;--muted: #A3A8D6;--blush: #F29CC0;color-scheme:dark}}:root[data-theme=dark]{--paper: #0E1146;--ink: #B9C0FF;--text: #ECEDFF;--muted: #A3A8D6;--blush: #F29CC0;color-scheme:dark}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}}html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 5rem)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html:has(dialog[open]){overflow:hidden}*,*:before,*:after{box-sizing:inherit}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--serif);font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.6}::selection{background:var(--blush);color:#17192e}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:2px}img{max-width:100%}[hidden]{display:none!important}.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:-999px}.skip:focus{left:var(--pad);top:1rem;z-index:60;background:var(--ink);color:var(--paper);padding:.5rem 1rem}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition-group(*){animation-duration:.55s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}::view-transition-old(root){animation:vt-fade-out .25s ease both}::view-transition-new(root){animation:vt-rise-in .5s cubic-bezier(.2,.7,.2,1) both}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-rise-in{0%{opacity:0;translate:0 16px}}:root.theme-switching::view-transition-old(root),:root.theme-switching::view-transition-new(root){animation:none;mix-blend-mode:normal}:root.theme-switching .site-header{view-transition-name:none}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.btn{display:inline-flex;align-items:center;gap:.5rem;font:inherit;font-family:var(--display);font-variation-settings:"wght" 560,"wdth" 100;font-size:1rem;padding:.7rem 1.3rem;border-radius:999px;cursor:pointer;text-decoration:none;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);transition:background-color .25s,color .25s}.btn:hover{background:transparent;color:var(--ink)}.btn:disabled{opacity:.5;cursor:wait}.btn-quiet{background:transparent;color:var(--ink)}.btn-quiet:hover{background:var(--ink);color:var(--paper)}.chip{font:inherit;font-family:var(--display);font-variation-settings:"wght" 500,"wdth" 100;font-size:.9rem;padding:.4rem .95rem;border-radius:999px;cursor:pointer;text-align:left;border:1.5px solid var(--line);background:transparent;color:var(--text);transition:background-color .2s,border-color .2s,color .2s}.chip:hover{border-color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem var(--pad);background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-family:var(--display);font-variation-settings:"wght" 520,"wdth" 100}.mark{text-decoration:none;color:var(--ink)}.site-header nav{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.5rem)}.nav-links{display:flex;gap:clamp(1rem,2.5vw,1.75rem);margin-right:.5rem}.nav-links a{text-decoration:none}.nav-links a:hover{text-decoration:underline}.icon-btn{display:grid;place-items:center;width:2rem;height:2rem;padding:0;flex:none;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--text);cursor:pointer}.icon-btn:hover{border-color:var(--ink)}.sound-toggle[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.sound-toggle .snd-on{display:none}.sound-toggle[aria-pressed=true] .snd-on{display:inline}.sound-toggle[aria-pressed=true] .snd-off{display:none}.kbar-btn{display:inline-flex;align-items:center;gap:.55rem;font:inherit;font-size:.95rem;cursor:pointer;padding:.3rem .35rem .3rem .85rem;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--text)}.kbar-btn:hover{border-color:var(--ink)}.kbar-btn kbd,.site-footer kbd{font-family:var(--display);font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 12%,transparent);color:var(--ink)}.theme-toggle{width:1.6rem;height:1.6rem;padding:0;cursor:pointer;flex:none;border:1.5px solid var(--ink);border-radius:50%;background:linear-gradient(90deg,var(--ink) 50%,transparent 50%);transition:transform .5s var(--ease)}:root[data-theme=dark] .theme-toggle{transform:rotate(180deg)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding:2rem var(--pad);border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.hero{min-height:calc(100svh - 4.4rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-template-areas:"desk desk" "name copy";align-content:end;align-items:end;gap:clamp(1rem,3vw,2rem) clamp(1.5rem,4vw,3rem);padding:var(--pad) var(--pad) clamp(2.5rem,6vh,4.5rem);overflow-x:clip}.kinetic{grid-area:name;margin:0;font-family:var(--display);font-weight:400;color:var(--ink);font-size:clamp(4.5rem,17vw,17rem);line-height:.82;letter-spacing:-.02em;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:crosshair}.kinetic .line{display:block;white-space:nowrap}.kinetic:not(#name){font-variation-settings:"wght" 300,"wdth" 90;cursor:auto}.ch{display:inline-block;font-variation-settings:"wght" var(--w, 300),"wdth" var(--d, 90)}.hero-copy{grid-area:copy;padding-bottom:.4rem}.hero-role{margin:0 0 .75rem;font-family:var(--display);font-variation-settings:"wght" 600,"wdth" 100;color:var(--ink)}.hero-intro{margin:0;font-size:clamp(1.15rem,1rem + .7vw,1.55rem);line-height:1.4;max-width:32ch}.hint{margin:1rem 0 0;color:var(--muted);font-size:.95rem;font-style:italic}.hero.no-desk{grid-template-areas:"name copy"}.desk{grid-area:desk;position:relative;min-height:clamp(15rem,34vh,22rem)}.obj{position:absolute;left:var(--left);top:var(--top);margin:0;transform:translate(var(--x, 0px),var(--y, 0px)) rotate(var(--r, 0deg));touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;filter:drop-shadow(0 10px 14px rgba(14,17,70,.18));transition:filter .25s,scale .25s var(--ease)}.obj.lifted{cursor:grabbing;scale:1.05;filter:drop-shadow(0 24px 26px rgba(14,17,70,.28))}.obj:focus-visible{outline:3px solid var(--ink);outline-offset:6px}.polaroid{width:clamp(7.5rem,11vw,11rem);background:#fbfbfd;padding:.55rem .55rem 0}.polaroid canvas{display:block;width:100%;aspect-ratio:1;background:#f4c6d9}.polaroid figcaption{font-style:italic;font-size:.85rem;color:#17192e;text-align:center;padding:.45rem 0 .6rem}.sticky{width:clamp(7.5rem,10vw,10rem);aspect-ratio:1;padding:.85rem;background:linear-gradient(135deg,#FFE27A 0 82%,#EFCB52 82% 84%,transparent 84%);color:#17192e;font-style:italic;font-size:clamp(.85rem,.78rem + .3vw,1.02rem);line-height:1.3}.sticky p{margin:0}.record{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;display:grid;justify-items:center;gap:.55rem}.record:focus-visible{outline:3px solid var(--ink);outline-offset:6px;border-radius:1rem}.disc-wrap{position:relative;width:clamp(7.5rem,11vw,10.5rem);aspect-ratio:1}.disc{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#FBFBFD 0 3%,#F4C6D9 3.5% 19%,#1C2BD8 19.5% 20.5%,transparent 21%),repeating-radial-gradient(circle,#15172a 0 1.5px,#23263d 1.5px 3px);animation:spin 2.2s linear infinite;animation-play-state:paused}.disc-wrap:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 20deg,transparent 0 8%,rgba(255,255,255,.14) 13%,transparent 20% 52%,rgba(255,255,255,.1) 60%,transparent 68%)}.record[aria-pressed=true] .disc{animation-play-state:running}.record-label{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-variation-settings:"wght" 520,"wdth" 95;font-size:.8rem;padding:.2rem .7rem;border-radius:999px;background:var(--paper);color:var(--text);border:1px solid var(--line)}@keyframes spin{to{rotate:360deg}}.book{width:clamp(6.5rem,8.5vw,8.5rem)}.book-cover{aspect-ratio:2 / 3;display:flex;flex-direction:column;gap:.35rem;padding:.8rem .7rem .8rem 1rem;border-radius:2px 6px 6px 2px;background:linear-gradient(90deg,rgba(0,0,0,.28) 0 5%,rgba(255,255,255,.08) 7%,transparent 10%),#24594a;color:#f6f1e4}.book-kicker{font-size:.7rem;font-style:italic;opacity:.8}.book-title{font-family:var(--display);font-variation-settings:"wght" 780,"wdth" 92;font-size:clamp(1rem,.9rem + .4vw,1.3rem);line-height:1.05}.book-author{margin-top:auto;font-size:.72rem;opacity:.85}.tagobj{width:clamp(7.5rem,10vw,9.5rem)}.tag-card{display:flex;flex-direction:column;gap:.15rem;padding:1.7rem .85rem .9rem;color:#17192e;background:radial-gradient(circle at 50% .85rem,transparent 0 .3rem,#E9DCC0 .33rem);clip-path:polygon(18% 0,82% 0,100% 14%,100% 100%,0 100%,0 14%)}.tag-city{font-size:.78rem;font-style:italic}.tag-time{font-family:var(--display);font-variation-settings:"wght" 820,"wdth" 100;font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);line-height:1;font-variant-numeric:tabular-nums}.tag-status{font-size:.78rem}.section{padding:clamp(4rem,10vw,8rem) var(--pad);border-top:1px solid var(--line)}.section-title{margin:0 0 clamp(2rem,5vw,3.5rem);font-family:var(--display);font-weight:400;color:var(--ink);font-size:clamp(2.6rem,7vw,6rem);line-height:.95;letter-spacing:-.01em;font-variation-settings:"wght" 700,"wdth" 100}.section-intro{max-width:42ch;margin:-1.5rem 0 2.5rem;color:var(--muted)}@keyframes stretch{0%{font-variation-settings:"wght" 180,"wdth" 50}to{font-variation-settings:"wght" 700,"wdth" 100}}@media(prefers-reduced-motion:no-preference){@supports (animation-timeline: view()){.section-title{animation:stretch linear both;animation-timeline:view();animation-range:entry 10% cover 35%}}}.pm{position:relative;width:1.1rem;height:1.1rem;justify-self:end;align-self:center}.pm:before,.pm:after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;margin-top:-1px;background:var(--ink);transition:transform .35s var(--ease)}.pm:after{transform:rotate(90deg)}details[open] .pm:after{transform:rotate(0)}.cases{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.cases li{border-bottom:1px solid var(--line)}.case{display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(10rem,16rem);grid-template-areas:"year title outcome" "year kind outcome";gap:.35rem 1.5rem;align-items:baseline;padding:clamp(1.1rem,2.5vw,1.75rem) 0;text-decoration:none}.case-year{grid-area:year;font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.case-title{grid-area:title;justify-self:start;font-family:var(--display);color:var(--ink);font-size:clamp(1.7rem,1.1rem + 2.6vw,3.4rem);line-height:1.02;font-variation-settings:"wght" 340,"wdth" 86;transition:font-variation-settings .5s var(--ease)}.case-kind{grid-area:kind;color:var(--muted)}.case-outcome{grid-area:outcome;align-self:center;justify-self:end;text-align:right;font-family:var(--display);font-variation-settings:"wght" 650,"wdth" 96;font-size:1.05rem;line-height:1.25;padding:.35rem .75rem;border-radius:.5rem;transition:background-color .3s}.case:hover .case-title,.case:focus-visible .case-title{font-variation-settings:"wght" 800,"wdth" 104}.case:hover .case-outcome,.case:focus-visible .case-outcome{background:color-mix(in srgb,var(--blush) 55%,transparent)}.career{--p: 0;list-style:none;margin:0;padding:0 0 0 2.25rem;position:relative;max-width:62rem}.career:before,.career:after{content:"";position:absolute;left:.45rem;top:1.9rem;width:2px}.career:before{bottom:1.9rem;background:var(--line)}.career:after{height:calc((100% - 3.8rem) * var(--p));background:var(--ink)}.career>li{position:relative;border-bottom:1px solid var(--line)}.career>li:first-child{border-top:1px solid var(--line)}.career>li:before{content:"";position:absolute;z-index:1;left:calc(-2.2rem + 1px);top:1.55rem;width:.8rem;height:.8rem;border-radius:50%;border:2px solid var(--ink);background:var(--paper);transition:background-color .3s,scale .3s var(--ease)}.career>li:has(details[open]):before{background:var(--ink);scale:1.15}.career summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:9rem minmax(0,1fr) auto 1.5rem;grid-template-areas:"when role org icon";gap:.3rem 1.5rem;align-items:baseline;padding:1.2rem 0}.career summary::-webkit-details-marker{display:none}.career summary:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.when{grid-area:when;font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.role{grid-area:role;font-family:var(--display);color:var(--ink);font-size:clamp(1.3rem,1rem + 1.1vw,2rem);line-height:1.1;font-variation-settings:"wght" 420,"wdth" 92;transition:font-variation-settings .5s var(--ease)}.career summary:hover .role,.career details[open] .role{font-variation-settings:"wght" 780,"wdth" 108}.org{grid-area:org;color:var(--muted);font-style:italic}.career summary .pm{grid-area:icon}.highlights{margin:0;padding:0 0 1.75rem 11.5rem;max-width:calc(11.5rem + 58ch)}.highlights li{margin-bottom:.45rem}.highlights li::marker{color:var(--ink)}@supports selector(::details-content){.career details::details-content{height:0;overflow:clip;transition:height .45s var(--ease),content-visibility .45s allow-discrete}.career details[open]::details-content{height:auto}}.track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);padding:.5rem var(--pad) 1.5rem;margin:0 calc(var(--pad) * -1);scrollbar-width:none;cursor:grab}.track::-webkit-scrollbar{display:none}.track.grabbing{cursor:grabbing;scroll-snap-type:none;user-select:none}.note{flex:0 0 min(21rem,80vw);scroll-snap-align:start;display:flex;flex-direction:column;gap:.55rem;padding:1.5rem;border:1px solid var(--line);border-radius:.5rem .5rem .5rem 1.75rem;background:color-mix(in srgb,var(--blush) 22%,var(--paper))}.note:nth-child(2n){background:color-mix(in srgb,var(--ink) 7%,var(--paper))}.note h3{margin:0;font-family:var(--display);font-weight:400;color:var(--ink);font-size:1.5rem;line-height:1.1;font-variation-settings:"wght" 700,"wdth" 95}.note p{margin:0}.note-when,.note-org{color:var(--muted);font-size:.95rem}.note-when{font-family:var(--display)}.note .note-stat{margin-top:auto;padding-top:1rem;border-top:1px dashed var(--line);color:var(--muted);font-size:.95rem}.note-stat strong{display:block;color:var(--ink);line-height:1;font-family:var(--display);font-weight:400;font-size:2.1rem;font-variation-settings:"wght" 800,"wdth" 100}.track-ui{display:flex;align-items:center;gap:1rem;margin-top:.25rem}.track-bar{position:relative;flex:1;height:2px;background:var(--line)}.track-bar span{position:absolute;top:0;height:100%;background:var(--ink)}.arrow{width:2.75rem;height:2.75rem;flex:none;border-radius:50%;cursor:pointer;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-size:1.05rem;transition:background-color .2s,color .2s,opacity .2s}.arrow:hover:not(:disabled){background:var(--ink);color:var(--paper)}.arrow:disabled{opacity:.3;cursor:default}.blog-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.search input,.ask-form input,.gb-form input,.gb-form textarea{font:inherit;font-size:1rem;color:var(--text);background:transparent;border:1.5px solid var(--line)}.search input{width:min(18rem,100%);padding:.55rem 1.1rem;border-radius:999px}.search input:focus,.ask-form input:focus,.gb-form input:focus,.gb-form textarea:focus{outline:none;border-color:var(--ink)}.blog-count{margin:0 0 .5rem;color:var(--muted);font-size:.9rem}.posts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.post{border-bottom:1px solid var(--line)}.post-open{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:.35rem 1.5rem;align-items:baseline;padding:1.15rem 0;text-decoration:none}.post-date{font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.post-title{justify-self:start;font-family:var(--display);color:var(--ink);font-size:clamp(1.35rem,1.1rem + 1.2vw,2.2rem);line-height:1.1;font-variation-settings:"wght" 400,"wdth" 94;transition:font-variation-settings .45s var(--ease)}.post-open:hover .post-title,.post-open:focus-visible .post-title{font-variation-settings:"wght" 760,"wdth" 106}.post-meta{display:flex;gap:.9rem;color:var(--muted);font-size:.9rem;white-space:nowrap}.post-tag{color:var(--ink)}.posts-empty{padding:2rem 0}.posts-empty p{margin:0 0 1rem}.ask-box{max-width:48rem;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--line);border-radius:1rem;background:var(--sheet)}.ask-log{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem;max-height:26rem;overflow-y:auto}.ask-log:empty{display:none}.ask-msg{max-width:85%;padding:.7rem 1rem;border-radius:1rem;line-height:1.5;white-space:pre-wrap}.ask-user{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:.3rem}.ask-bot{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:.3rem}.ask-bot.error{color:var(--muted);font-style:italic}.typing{display:inline-flex;gap:.3rem;padding:.3rem 0}.typing i{width:.45rem;height:.45rem;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.ask-suggest{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.ask-box[data-mode=quick-answers] .ask-suggest{margin-bottom:0}.chip.asked{opacity:.55}.ask-form{display:flex;gap:.6rem}.ask-form input{flex:1;min-width:0;padding:.7rem 1.1rem;border-radius:999px;background:var(--paper)}.resume-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.25rem 2rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.resume-head .section-title{margin:0}.resume-intro{margin-top:-1.5rem}.resume-actions{display:flex;flex-wrap:wrap;gap:.75rem}.resume-sheet{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);border-radius:.75rem;background:var(--sheet)}.resume-sheet h3{margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:400;color:var(--ink);font-size:1.1rem;font-variation-settings:"wght" 650,"wdth" 100}.r-block+.r-block{margin-top:2.25rem}.r-summary{margin:0 0 2.25rem;font-size:1.15rem;max-width:40em}.r-entry{padding:.75rem .9rem;margin:0 -.9rem;border-radius:.5rem;transition:opacity .3s,background-color .3s}.r-entry.dim{opacity:.32}.r-entry.lit{background:color-mix(in srgb,var(--blush) 45%,transparent)}.r-entry p{margin:0}.r-when{font-family:var(--display);color:var(--muted);font-size:.9rem}.r-role{font-family:var(--display);font-variation-settings:"wght" 620,"wdth" 100}.r-hint{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.skills{display:flex;flex-wrap:wrap;gap:.5rem}.r-status{min-height:1.6em;margin:1rem 0 0;color:var(--muted);font-size:.95rem}.r-list{margin:0;padding-left:1.1rem}.r-list li{margin-bottom:.35rem}.gb{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.gb-form{display:flex;flex-direction:column;gap:1rem}.gb-form>label{display:flex;flex-direction:column;gap:.35rem;font-family:var(--display);font-size:.95rem}.gb-form input,.gb-form textarea{padding:.7rem .9rem;border-radius:.6rem;background:var(--paper);resize:vertical}.gb-count{margin-top:-.6rem;color:var(--muted);font-size:.85rem}.gb-colors{border:0;padding:0;margin:0;min-width:0}.gb-colors legend{padding:0;margin-bottom:.45rem;font-family:var(--display);font-size:.95rem}.swatches{display:flex;gap:.6rem}.swatch{position:relative;cursor:pointer}.swatch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.swatch>span:not(.vh){display:block;width:2rem;height:2rem;border-radius:50%;background:var(--c);border:2px solid transparent;box-shadow:inset 0 0 0 1px #0000001f;transition:scale .2s var(--ease),border-color .2s}.swatch input:checked+span{border-color:var(--ink);scale:1.12}.swatch input:focus-visible+span{outline:3px solid var(--ink);outline-offset:2px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.gb-status{min-height:1.4em;margin:0;color:var(--muted);font-size:.95rem}.gb-wall{list-style:none;margin:0;padding:1.25rem;min-height:20rem;display:flex;flex-wrap:wrap;gap:1rem;align-content:flex-start;border:1px solid var(--line);border-radius:1rem;background-color:var(--sheet);background-image:radial-gradient(var(--line) 1.2px,transparent 1.6px);background-size:22px 22px}[data-color=yellow]{--c: #FFE27A}[data-color=blush]{--c: #F4C6D9}[data-color=sky]{--c: #BFD3FF}[data-color=mint]{--c: #C8EBD5}.gb-note{width:10.5rem;min-height:9rem;padding:.85rem;display:flex;flex-direction:column;gap:.5rem;background:var(--c);color:#17192e;rotate:var(--r, 0deg);box-shadow:0 8px 14px #0e114626;transition:scale .45s var(--ease),opacity .45s,rotate .3s var(--ease)}.gb-note:hover{rotate:0deg}@starting-style{.gb-note{scale:1.3;opacity:0}}.gb-note p{margin:0;font-style:italic;line-height:1.35;overflow-wrap:anywhere}.gb-by{margin-top:auto;font-family:var(--display);font-size:.8rem;opacity:.75}.gb-empty{color:var(--muted);font-style:italic}.contact p{max-width:44ch;margin:0}.email{display:inline-block;margin-top:clamp(1.5rem,4vw,2.5rem);font-family:var(--display);color:var(--ink);text-decoration:none;font-size:clamp(1.7rem,6.5vw,5.75rem);line-height:1.05;overflow-wrap:anywhere;touch-action:pan-y;background:linear-gradient(currentColor,currentColor) 0 100% / 0 2px no-repeat;transition:background-size .5s var(--ease)}.email:hover,.email:focus-visible{background-size:100% 2px}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.75rem}.socials{list-style:none;padding:0;margin:3rem 0 0;display:flex;flex-wrap:wrap;gap:1rem 2rem;font-family:var(--display)}.read-progress{display:none}@supports (animation-timeline: scroll()){.read-progress{display:block;position:fixed;top:0;left:0;right:0;height:3px;z-index:30;background:var(--ink);transform-origin:left;transform:scaleX(0);animation:grow linear both;animation-timeline:scroll(root)}}@keyframes grow{to{transform:scaleX(1)}}.article{max-width:52rem;padding:clamp(3rem,8vw,6rem) var(--pad) clamp(4rem,10vw,8rem)}.back{font-family:var(--display);color:var(--muted);text-decoration:none}.back:hover{color:var(--ink);text-decoration:underline}.article-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:2.5rem 0 1rem;color:var(--muted);font-family:var(--display)}.article-title{margin:0 0 1.5rem;font-family:var(--display);font-weight:400;color:var(--ink);font-size:clamp(2.6rem,2rem + 4vw,5.5rem);line-height:.98;letter-spacing:-.01em;font-variation-settings:"wght" 760,"wdth" 94}.article-outcome{display:inline-block;margin:0 0 3rem;padding:.3rem .8rem;border-radius:.5rem;font-family:var(--display);font-variation-settings:"wght" 760,"wdth" 98;font-size:clamp(1.3rem,1rem + 1.4vw,2.1rem);line-height:1.2;background:color-mix(in srgb,var(--blush) 55%,transparent)}.prose{max-width:38em}.prose h2{margin:2.75rem 0 .75rem;font-family:var(--display);font-weight:400;color:var(--ink);font-size:1.6rem;line-height:1.15;font-variation-settings:"wght" 700,"wdth" 96}.prose p,.prose li{line-height:1.75}.prose blockquote{margin:0 0 2rem;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--ink);color:var(--muted);font-style:italic}.prose blockquote p{margin:0}.next{display:block;margin-top:5rem;padding-top:2rem;border-top:1px solid var(--line);text-decoration:none}.next-kicker{display:block;margin-bottom:.5rem;color:var(--muted);font-family:var(--display);font-size:.95rem}.next-title{display:inline-block;font-family:var(--display);color:var(--ink);font-size:clamp(1.8rem,1.4rem + 2vw,3rem);line-height:1.05;font-variation-settings:"wght" 420,"wdth" 92;transition:font-variation-settings .5s var(--ease)}.next:hover .next-title,.next:focus-visible .next-title{font-variation-settings:"wght" 780,"wdth" 104}.lost{min-height:70svh;display:grid;align-content:center;justify-items:start;gap:1.5rem;padding:var(--pad)}.lost .kinetic{font-size:clamp(6rem,30vw,22rem)}.lost-text{margin:0;font-size:clamp(1.2rem,1rem + 1vw,1.8rem);max-width:30ch}.kbar{margin:12vh auto auto;width:min(36rem,calc(100vw - 2rem));padding:0;border:1px solid var(--line);border-radius:.9rem;overflow:hidden;background:var(--paper);color:var(--text);box-shadow:0 30px 60px #0a0c284d;opacity:0;translate:0 -8px;transition:opacity .2s,translate .2s var(--ease),overlay .2s allow-discrete,display .2s allow-discrete}.kbar[open]{opacity:1;translate:0 0}@starting-style{.kbar[open]{opacity:0;translate:0 -8px}}.kbar::backdrop{background:#0a0c284d}.kbar input{width:100%;font:inherit;font-size:1.1rem;padding:1.1rem 1.25rem;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);outline:none}.kbar ul{list-style:none;margin:0;padding:.5rem;max-height:min(22rem,50vh);overflow-y:auto}.kbar li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem .8rem;border-radius:.5rem;cursor:pointer}.kbar li[aria-selected=true]{background:color-mix(in srgb,var(--ink) 13%,transparent)}.k-kind{color:var(--muted);font-size:.85rem;font-family:var(--display);white-space:nowrap}.kbar-empty{margin:0;padding:1rem 1.25rem;color:var(--muted)}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem);z-index:50;translate:-50% 1rem;opacity:0;pointer-events:none;padding:.6rem 1.15rem;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--display);font-size:.95rem;transition:opacity .25s,translate .25s var(--ease)}.toast.show{opacity:1;translate:-50% 0}@media(max-width:860px){.hero{grid-template-columns:1fr;grid-template-areas:"desk" "name" "copy"}.hero.no-desk{grid-template-areas:"name" "copy"}.kinetic{font-size:clamp(4.5rem,25vw,12rem)}.desk{min-height:25rem}.obj{left:var(--left-m, var(--left));top:var(--top-m, var(--top))}.polaroid,.sticky,.disc-wrap,.tagobj{width:7rem}.book{width:6.25rem}.record-label{max-width:10rem}.nav-links{display:none}.gb{grid-template-columns:1fr}}@media(max-width:720px){.case{grid-template-columns:minmax(0,1fr);grid-template-areas:"year" "title" "kind" "outcome"}.case-outcome{justify-self:start;text-align:left;margin-top:.5rem;padding-left:0}.case:hover .case-outcome{padding-left:.75rem}.career summary{grid-template-columns:minmax(0,1fr) 1.5rem;grid-template-areas:"when icon" "role role" "org org";gap:.3rem 1rem}.highlights{padding-left:1.1rem}.post-open,.resume-sheet{grid-template-columns:1fr}.gb-note{width:calc(50% - .5rem)}.kbar-label{display:none}.kbar-btn{padding:.3rem}}@media(hover:none){.kbar-btn kbd{display:none}.kbar-label{display:inline!important;padding-right:.5rem}}@media(prefers-reduced-motion:reduce){.disc{animation:none}.case-title,.role,.post-title,.next-title,.pm:after,.theme-toggle,.kbar,.toast,.gb-note{transition:none}}@media print{html:root:root:root{padding:0;--paper: #fff;--ink: #000;--text: #000;--muted: #333;--line: #bbb;--sheet: #fff}.site-header,.skip,.site-footer,.toast,.resume-actions,.r-hint,.r-status,.skills-block,main>section:not(#resume){display:none!important}.section{border:0;padding:0}.section-title{animation:none!important;font-size:2.2rem}.resume-sheet{border:0;padding:0;background:none;grid-template-columns:1fr}.r-entry{opacity:1!important;background:none!important;break-inside:avoid}}
