:root{--paper:#edf0f2;--surface:#f7f8f9;--ink:#15202b;--muted:#56636f;--rule:#c8d0d7;--accent:#1f44c8;--accent-ink:#fff;--font-display:"Frank Ruhl Libre", "Times New Roman", serif;--font-body:"IBM Plex Sans", "IBM Plex Sans Hebrew", system-ui, sans-serif;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.6rem;--step-3:clamp(2rem, 4vw, 2.6rem);--step-hero:clamp(3.4rem, 11vw, 8.5rem);--measure:66ch;--gutter:clamp(1rem, 4vw, 3rem);--max:72rem;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#10161d;--surface:#161e27;--ink:#e4e9ee;--muted:#94a1ad;--rule:#2a3541;--accent:#94a9ff;--accent-ink:#10161d;color-scheme:dark}}:root[data-theme=dark]{--paper:#10161d;--surface:#161e27;--ink:#e4e9ee;--muted:#94a1ad;--rule:#2a3541;--accent:#94a9ff;--accent-ink:#10161d;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);text-rendering:optimizelegibility;margin:0;line-height:1.6}:lang(he) body,html[lang=he] body{line-height:1.75}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:500;line-height:1.12}p{max-width:var(--measure);margin:0 0 1em}a{color:inherit;text-decoration-color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.skip{inset-inline-start:1rem;background:var(--accent);color:var(--accent-ink);z-index:10;padding:.5rem 1rem;position:absolute;top:-4rem}.skip:focus{top:1rem}.site-header{border-bottom:1px solid var(--rule)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand{font-family:var(--font-display);font-size:var(--step-1);font-weight:600;text-decoration:none}.nav{font-size:var(--step--1);align-items:center;gap:clamp(.9rem,3vw,1.75rem);display:flex}.nav a{padding-block:.25rem;text-decoration:none}.nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}.lang-switch{border:1px solid var(--rule);border-radius:999px;font-weight:500;padding:.2rem .7rem!important}.lang-switch:hover{border-color:var(--accent)}main{padding-block:clamp(2.5rem,7vw,5rem) clamp(3rem,8vw,6rem);display:block}.hero-name{font-size:var(--step-hero);letter-spacing:-.03em;margin-bottom:clamp(1.25rem,3vw,2rem);font-weight:500;line-height:.95}html[lang=he] .hero-name{letter-spacing:0;line-height:1.05}.lede{font-size:var(--step-1);color:var(--ink);max-width:40ch;line-height:1.5}.page-title{font-size:var(--step-3);margin-bottom:.75rem}.page-intro{color:var(--muted);font-size:var(--step-1);max-width:46ch}.section{margin-top:clamp(3.5rem,9vw,6.5rem)}.section-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.9rem;display:flex}.section-head h2{font-size:var(--step-2)}.section-head a{font-size:var(--step--1);white-space:nowrap}.work-list{margin:0;padding:0;list-style:none}.work-row{border-bottom:1px solid var(--rule);grid-template-columns:9rem minmax(0,1fr) 15rem;gap:.5rem 2rem;padding-block:1.75rem;display:grid;position:relative}.work-years{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums;padding-top:.45rem}.work-title{font-size:var(--step-2);margin-bottom:.4rem}.work-title a{text-decoration:none}.work-title a:after{content:"";position:absolute;inset:0}.work-row:hover .work-title a{color:var(--accent)}.work-summary{color:var(--muted);margin:0}.stack{font-size:var(--step--1);color:var(--muted);flex-wrap:wrap;align-content:start;gap:.35rem .9rem;margin:0;padding:.45rem 0 0;list-style:none;display:flex}@media (width<=760px){.work-row{grid-template-columns:1fr;gap:.25rem}.work-years{order:-1;padding-top:0}}.news-list{margin:0;padding:0;list-style:none}.news-item{border-bottom:1px solid var(--rule);grid-template-columns:9rem minmax(0,1fr);gap:.25rem 2rem;padding-block:1.4rem;display:grid}.news-item time{color:var(--muted);font-size:var(--step--1);padding-top:.3rem}.news-item h3{font-size:var(--step-1);font-family:var(--font-body);margin-bottom:.3rem;font-weight:600;line-height:1.35}.news-item p{color:var(--muted);margin:0}@media (width<=760px){.news-item{grid-template-columns:1fr}}.article-head{max-width:var(--measure);margin-bottom:2.5rem}.article-head h1{font-size:var(--step-3);margin-bottom:.9rem}.article-head .summary{font-size:var(--step-1);color:var(--muted)}.facts{border-block:1px solid var(--rule);max-width:var(--measure);font-size:var(--step--1);grid-template-columns:max-content 1fr;gap:.4rem 1.5rem;margin:0 0 2.5rem;padding:1.1rem 0;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.prose{max-width:var(--measure)}.prose h2{font-size:var(--step-2);margin:2.25rem 0 .8rem}.prose h3{font-size:var(--step-1);font-family:var(--font-body);margin:1.75rem 0 .5rem;font-weight:600}.prose ul,.prose ol{margin:0 0 1.2em;padding-inline-start:1.25rem}.prose li{margin-bottom:.35em}.prose code{background:var(--surface);border:1px solid var(--rule);border-radius:3px;padding:.05em .3em;font-size:.9em}.prose blockquote{border-inline-start:3px solid var(--accent);color:var(--muted);margin:1.5rem 0;padding-inline-start:1.1rem}.back{font-size:var(--step--1);margin-top:3rem;display:inline-block}.prose .timeline{border-top:1px solid var(--rule);margin:0 0 2rem;padding:0;list-style:none}.prose .timeline li{border-bottom:1px solid var(--rule);grid-template-columns:8rem 1fr;gap:.2rem 1.5rem;margin:0;padding-block:.9rem;display:grid}.prose .timeline .when{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums;padding-top:.15rem}@media (width<=600px){.prose .timeline li{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--rule);font-size:var(--step--1);color:var(--muted)}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-block:2rem;display:flex}.site-footer ul{flex-wrap:wrap;gap:.5rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}@media (prefers-reduced-motion:no-preference){.hero-name,.lede{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.lede{animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(.4em)}to{opacity:1;transform:none}}}
