:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:96px;--space-4xl:144px;--text-xs:.8125rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-display-s:clamp(2.25rem, 4vw + .5rem, 3.75rem);--text-display:clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-section:clamp(2rem, 2.5vw + 1rem, 3.5rem);--text-title:clamp(1.25rem, .75vw + .875rem, 1.625rem);--text-lead:clamp(1.125rem, .35vw + 1rem, 1.375rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--color-error:oklch(52% .19 27);--color-success:oklch(50% .12 150);--container:1440px;--gutter:64px;--gap-columns:32px;--section-gap-s:120px;--section-gap:144px;--section-gap-l:176px;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-sticky-nav:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--color-paper:oklch(97% .007 86);--color-paper-2:oklch(94% .01 86);--color-paper-3:oklch(91% .012 84);--color-diagram-paper:oklch(98.5% .004 86);--color-ink:oklch(16% .012 280);--color-ink-2:oklch(29% .011 280);--color-muted:oklch(48% .01 75);--color-rule:oklch(85% .009 85);--color-rule-2:oklch(64% .01 80);--color-accent:oklch(49% .13 152);--color-accent-ink:oklch(98% .005 88);--color-focus:oklch(52% .135 152);--font-display:"Bricolage Grotesque", ui-sans-serif, sans-serif;--font-body:"Source Serif 4", ui-serif, Georgia, serif;--radius-card:0;--radius-pill:0;--rule-hair:1px;--rule-heavy:4px;--shadow-card:none;--tracking-display:-.012em;--display-weight:800}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);margin:0;line-height:1.55}::selection{background:color-mix(in oklab, var(--color-accent) 22%, transparent)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-underline-offset:.16em;text-decoration-thickness:1px}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight,700);font-synthesis:none;letter-spacing:var(--tracking-display);overflow-wrap:break-word;text-wrap:balance;min-width:0;margin:0;line-height:1.05}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);max-width:52ch;line-height:1.45}p{text-wrap:pretty;margin:0}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);box-sizing:border-box;margin-inline:auto}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-slot]{background:linear-gradient(160deg, var(--color-paper-2,var(--color-paper)), var(--color-paper-3,var(--color-paper)));position:relative;overflow:hidden}[data-slot]>img{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;inset:0}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media (width<=60rem){:root{--gutter:24px;--section-gap-s:80px;--section-gap:96px;--section-gap-l:120px}}@media (width<=40rem){:root{--gutter:16px;--section-gap-s:56px;--section-gap:72px;--section-gap-l:96px;--gap-columns:16px}}@media (prefers-reduced-motion:reduce){:not(.keep-motion),:not(.keep-motion):before,:not(.keep-motion):after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-slot]>img{filter:saturate(.9)contrast(1.04)}@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin.woff2)format("woff2");font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin.woff2)format("woff2");font-style:normal;font-weight:200 900;font-display:swap}body{color:var(--color-ink-2);font-optical-sizing:auto;font-synthesis:none}h1,h2,h3{color:var(--color-ink);font-variation-settings:"wdth" 75, "opsz" 96}a,summary{-webkit-tap-highlight-color:var(--color-rule)}.site-header{justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:104px;display:flex}.wordmark,.text-link,.button,figcaption,summary,.colophon{font-family:var(--font-display);font-variation-settings:"wdth" 100, "opsz" 12;font-weight:500}.wordmark{letter-spacing:-.04em;color:var(--color-ink);font-size:26px;text-decoration:none}.text-link{min-height:48px;font-size:var(--text-sm);-webkit-text-decoration-color:var(--color-rule-2);text-decoration-color:var(--color-rule-2);white-space:nowrap;align-items:center;display:inline-flex}.text-link:hover,.email-link:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}.text-link:active,.email-link:active{opacity:.7}.hero{padding-block:var(--space-2xl) var(--space-3xl)}.hero h1{text-wrap:balance;max-width:100%;letter-spacing:var(--tracking-display);font-size:clamp(3.75rem,9.5vw,8.5rem);line-height:.98}.hero-bottom{justify-content:space-between;align-items:center;gap:var(--space-2xl);margin-top:var(--space-xl);display:flex}.hero .lead{max-width:34ch;font-size:clamp(1.25rem,1.8vw,1.625rem);line-height:1.4}.button{min-height:52px;padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid var(--color-ink);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-md);white-space:nowrap;transition:background-color var(--dur-micro) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-ink-2)}.button:active{background:var(--color-accent)}.button:focus-visible{outline-offset:4px}.interview{padding-bottom:var(--space-3xl)}.interview-grid{gap:var(--space-2xl);border-top:var(--rule-heavy) solid var(--color-ink);padding-block:var(--space-xl) var(--space-lg);grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}figure{min-width:0;margin:0}figcaption{margin-bottom:var(--space-lg);font-size:var(--text-sm);color:var(--color-muted)}blockquote{letter-spacing:-.02em;max-width:27ch;color:var(--color-ink);text-wrap:pretty;margin:0;font-size:clamp(1.75rem,2.6vw,2.375rem);line-height:1.25}.submission blockquote{max-width:23ch}details{margin-top:var(--space-lg)}summary{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule-2);width:100%;min-height:48px;font-size:var(--text-sm);cursor:pointer;color:var(--color-ink-2);list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:var(--text-lg)}details[open] summary:after{content:"−"}summary:hover{color:var(--color-accent)}summary:active{color:var(--color-ink)}.follow-up{padding-top:var(--space-lg)}.student-reply{max-width:45ch;font-size:var(--text-md)}.follow-up-question{margin-top:var(--space-md);max-width:30ch;font-size:var(--text-title);color:var(--color-ink);line-height:1.35}.example-caption{margin-top:var(--space-lg);font:500 var(--text-sm)/1.5 var(--font-display);color:var(--color-muted)}.contact{padding-block:var(--space-3xl) var(--space-lg);background:var(--color-ink);color:var(--color-paper);scroll-margin-top:var(--space-lg)}.contact-grid{align-items:center;gap:var(--space-2xl);grid-template-columns:minmax(0,5fr) minmax(0,6fr);display:grid}.contact h2{color:var(--color-paper);font-size:clamp(2.5rem,5vw,4.75rem);line-height:1.02}.contact-copy p{max-width:35ch;font-size:var(--text-lead);line-height:1.5}.email-link{min-height:48px;margin-top:var(--space-lg);font-family:var(--font-display);-webkit-text-decoration-color:var(--color-rule-2);text-decoration-color:var(--color-rule-2);align-items:center;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500;display:inline-flex}.contact :focus-visible{outline-color:var(--color-paper)}.colophon{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--space-3xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-ink-2);color:var(--color-paper-3);font-size:var(--text-sm);display:flex}.skip-link{top:calc(-1 * var(--space-3xl));left:var(--space-lg);z-index:var(--z-toast);padding:var(--space-sm) var(--space-lg);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);position:absolute}.skip-link:focus-visible{top:var(--space-md)}@media (width<=60rem){.site-header{min-height:88px}.hero{padding-block:var(--space-2xl) var(--space-2xl)}.hero h1{font-size:clamp(3.75rem,9.5vw,6rem)}.hero-bottom,.interview-grid,.contact-grid{gap:var(--space-xl)}}@media (width<=40rem){.site-header{min-height:80px}.wordmark{font-size:24px}.hero{padding-block:var(--space-xl) var(--space-2xl)}.hero h1{font-size:clamp(2.875rem,10.2vw,4rem);line-height:1.02}.hero-bottom{align-items:flex-start;gap:var(--space-lg);margin-top:var(--space-lg);flex-direction:column}.hero .lead{max-width:28ch;font-size:21px}.interview{padding-bottom:var(--space-2xl)}.interview-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.interview-grid{padding-block:var(--space-lg);gap:var(--space-xl)}figcaption{margin-bottom:var(--space-md)}blockquote{font-size:28px}.example-caption{margin-top:var(--space-sm)}.contact{padding-top:var(--space-2xl)}.contact h2{font-size:48px}.contact-copy p{font-size:20px}.email-link{margin-top:var(--space-md)}.colophon{margin-top:var(--space-2xl);gap:var(--space-md);font-size:13px}}.wordmark{flex-shrink:0;align-items:center;min-height:48px;display:inline-flex}.wordmark img{width:210px;height:48px}.diagram-section{padding-bottom:var(--section-gap-s)}.diagram-section h2{max-width:24ch;margin-bottom:var(--space-xl)}.diagram-link{background:var(--color-diagram-paper);padding:var(--space-lg);display:block}.diagram-link:hover{outline:var(--rule-hair) solid var(--color-rule-2);outline-offset:0}.diagram-link:active{outline-color:var(--color-ink)}.diagram-link:focus-visible{outline-offset:4px}.paper-diagram img{width:100%;height:auto;display:block}.paper-diagram figcaption{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-top:var(--space-md);margin-bottom:0;display:flex}.paper-diagram figcaption>span{max-width:65ch}.paper-diagram .text-link{flex-shrink:0}.architecture{padding-top:var(--space-lg)}@media (width<=60rem){.diagram-link{padding:var(--space-md)}.paper-diagram figcaption{align-items:flex-start;gap:var(--space-xs);flex-direction:column}}@media (width<=40rem){.wordmark img{width:168px;height:auto}.diagram-section h2{margin-bottom:var(--space-lg)}.diagram-link{padding:var(--space-xs)}.diagram-section{padding-bottom:var(--space-2xl)}.architecture{padding-top:0}}@media (width>=60.001rem){.hero{padding-bottom:var(--section-gap-s)}}
