@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-variable.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-variable.woff2) format("woff2")}:root{--bg: #f7f5f0;--text: #0b1324;--surface: #fff;--surface-subtle: #eeece6;--muted: #556273;--border: #cbd1da;--brand: #f90;--brand-hover: #ffad33;--link: #0b1324;--button-text: #0b1324;--focus-light: #0b1324;--focus-dark: #f7f5f0;--focus: var(--focus-light);--on-dark: #f7f5f0;--muted-on-dark: #cbd1da;--hero-scrim: rgb(11 19 36 / 80%);--container: min(1160px, calc(100% - 48px) );--measure: 68ch;--header-height: 56px;--anchor-offset: calc(var(--header-height) + 16px)}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--text);background:var(--bg);font-family:Inter,Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Space Grotesk,Inter,sans-serif;font-weight:500;line-height:1.2;text-wrap:balance}h2{margin-bottom:0;font-size:clamp(30px,3vw,40px);letter-spacing:-.035em}h3,h4{margin-bottom:14px;letter-spacing:-.02em}p{margin-bottom:20px}main{min-height:60vh;scroll-margin-top:var(--anchor-offset)}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:12px 20px;color:var(--text);background:var(--surface);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.hero,.site-header{--link: var(--on-dark);--focus: var(--focus-dark);color:var(--on-dark);background:var(--text)}.hero{position:relative;isolation:isolate}.hero-background{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--hero-scrim)}.hero-inner{width:var(--container);margin:auto;padding:42px 0}.hero-copy{max-width:880px;min-width:0}.hero-identity{margin-bottom:18px;color:var(--muted-on-dark);font-size:14px}.hero h1{max-width:21ch;margin:0;font-size:clamp(40px,4.5vw,64px);line-height:1.08;letter-spacing:-.045em}.hero-intro{max-width:68ch;margin:20px 0 24px;font-size:19px;color:var(--muted-on-dark)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 28px}.hero-contact{display:inline-flex;align-items:center;min-height:44px;font-size:15px}.primary-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:24px;padding:12px 20px;border:1px solid var(--brand);border-radius:5px;background:var(--brand);color:var(--button-text);font-size:15px;font-weight:600;line-height:1.4;text-decoration:none}.primary-button:hover{background:var(--brand-hover);border-color:var(--brand-hover);text-decoration:none}.hero-credentials{margin:20px 0 0;font-size:13px;color:var(--muted-on-dark);line-height:1.8}.hero-credentials a{color:inherit}.hero-credentials>span{padding:0 6px}.site-header{position:sticky;top:0;z-index:50}.primary-nav{display:flex;justify-content:flex-start;align-items:center;gap:36px;width:var(--container);min-height:var(--header-height);margin:auto}.primary-nav a{padding:16px 0;font-size:14px;font-weight:500;text-decoration:none}.primary-nav a:hover{text-decoration:underline}.desktop-nav{justify-content:center}.mobile-nav{display:none}.section{position:relative;padding:60px 0 72px;border-top:1px solid var(--border);scroll-margin-top:var(--anchor-offset)}.legacy-anchor{position:absolute;top:0;left:0;scroll-margin-top:var(--anchor-offset)}.section-heading{width:var(--container);margin:0 auto 32px}.section-heading>p{max-width:var(--measure);margin:18px 0 0}.band-books,.band-contact{background:var(--surface-subtle)}.focus-strip{padding:28px 0;scroll-margin-top:var(--anchor-offset)}.focus-grid{display:grid;width:var(--container);margin:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.focus-area h2{font-size:18px;letter-spacing:-.015em;margin-bottom:8px}.focus-area p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}.project-list,.talk-list,.book-list,.post-list,.section-action,.year-stack,.contact-container,.more-content{width:var(--container);margin:0 auto}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px}.project-card{min-width:0;border-top:1px solid var(--border);padding-top:24px}.project-card.has-image{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;align-items:center}.project-image-link{display:block}.project-image{width:100%;max-height:300px;object-fit:contain;background:var(--surface);border-radius:4px}.project-diagram{max-width:640px;margin-inline:auto}.project-diagram svg{display:block;width:100%;height:auto}.diagram-connector{fill:none;stroke:var(--muted);stroke-width:2}.diagram-node{fill:var(--surface);stroke:var(--border);stroke-width:2}.diagram-input,.diagram-result{fill:var(--surface-subtle);stroke:var(--border);stroke-width:2}.diagram-focal{fill:var(--surface);stroke:var(--brand);stroke-width:3}.diagram-label{font-family:Space Grotesk,Inter,sans-serif;font-size:24px;font-weight:500;fill:var(--text)}.diagram-note{font-family:Inter,sans-serif;font-size:20px;fill:var(--muted)}.diagram-caption{font-family:Space Grotesk,Inter,sans-serif;font-size:24px;font-weight:500;fill:var(--text)}.project-body h3{font-size:clamp(24px,2.4vw,30px);overflow-wrap:anywhere}.project-body p{max-width:58ch;margin-bottom:18px;color:var(--muted)}.text-link{font-size:16px;font-weight:500}.more-content .project-card.has-image{display:block;grid-column:auto}.more-content .project-image{height:200px;margin-bottom:24px}.more-content .project-body h3{font-size:24px}.talk-row{display:grid;grid-template-columns:230px minmax(0,1fr) 136px;align-items:start;column-gap:28px;padding:24px 0;border-top:1px solid var(--border)}.talk-event{margin:2px 0 0;color:var(--muted);font-size:15px;line-height:1.55}.talk-row h3,.talk-row h4{font-size:23px;line-height:1.35;margin:0;text-wrap:pretty}.talk-action{justify-self:end;margin-top:2px}.section-action{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px;font-size:16px}.book-entry{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:start;gap:48px;padding:30px 0;border-top:1px solid var(--border)}.book-cover{width:160px;max-height:220px;object-fit:contain;object-position:top}.course-entry .book-cover{margin-top:8px}.book-kind{margin-bottom:8px;color:var(--muted);font-size:14px}.book-copy{max-width:var(--measure);min-width:0}.book-copy h3{font-size:clamp(24px,2.4vw,30px)}.book-copy>p:not(.book-kind){font-size:17px;margin-bottom:16px}.book-contribution{font-weight:500}.retailer-links{display:flex;flex-wrap:wrap;gap:8px 24px}.post-item{padding:22px 0;border-top:1px solid var(--border)}.post-item h3{font-size:23px;line-height:1.4;margin-bottom:8px;max-width:58ch;text-wrap:pretty}.post-meta{color:var(--muted);font-size:14px;margin:0}.post-meta time{white-space:nowrap}.more-content{margin-top:28px;border-top:1px solid var(--border)}.more-content summary{width:fit-content;max-width:100%;padding:18px 0;cursor:pointer;font-size:16px;font-weight:500}.more-content summary:hover{text-decoration:underline;text-underline-offset:4px}.more-content summary::marker{color:var(--text)}.more-content-body{padding:16px 0 0}.more-content-body>.project-list,.more-content-body>.book-list,.more-content-body>.post-list{width:100%}.more-content[open]>summary{margin-bottom:8px}.about-layout{display:grid;width:var(--container);margin:auto;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:80px}.about-copy h3{font-size:26px}.about-copy p{max-width:var(--measure)}.about-role{color:var(--muted);font-size:15px}.about-copy p:last-child{margin-bottom:0}.about-image{width:100%;height:auto;border-radius:6px}.contact-links,.profile-links{display:flex;flex-wrap:wrap;gap:16px 32px;font-size:17px}.contact-links a,.profile-links a{overflow-wrap:anywhere}.contact-links a{display:inline-flex;align-items:center;gap:10px;max-width:100%}.contact-links a span{min-width:0}.contact-icon{width:24px;height:24px;flex-shrink:0;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.profile-links{margin-top:24px;font-size:15px}.site-footer{width:var(--container);margin:auto;padding:24px 0;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}.site-footer p{margin:0}.speaking-intro{width:var(--container);margin:auto;padding:48px 0 56px}.back-link{display:inline-block;margin-bottom:30px;font-size:15px}.speaking-intro h1{font-size:clamp(42px,5vw,64px);letter-spacing:-.045em;margin-bottom:20px}.speaking-intro p{max-width:58ch;color:var(--muted);text-wrap:balance}.speaking-intro>a:last-child{font-size:16px}.year-stack{display:grid;gap:48px}.year-group{display:grid;grid-template-columns:80px minmax(0,1fr);gap:32px;scroll-margin-top:var(--anchor-offset)}.year-group>h3{margin:24px 0 0;font-size:26px;font-variant-numeric:tabular-nums}.year-group .talk-list{width:100%}.year-group .talk-row{grid-template-columns:190px minmax(0,1fr) 136px;gap:24px}.year-group .talk-row h4{font-size:20px}.selected-recordings,.archive-recordings{width:var(--container);margin-inline:auto}.selected-recordings{margin-bottom:40px}.selected-recordings>h3{font-size:24px;margin-bottom:24px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.recording{margin:0;min-width:0}.video-embed{overflow:hidden;width:100%;aspect-ratio:16 / 9;background:var(--text);border-radius:4px}.video-embed iframe{display:block;width:100%;height:100%;border:0}.recording figcaption{margin-top:12px;font-size:15px;line-height:1.5}.not-found{min-height:70vh;padding-top:100px}.not-found h1{font-size:48px}.not-found .primary-button{margin-top:24px}.image-fallback{display:grid;min-height:120px;place-items:center;background:var(--surface-subtle);color:var(--muted);text-align:center;font-size:14px}.image-fallback span{padding:15px}@media(max-width:899px){.desktop-nav{display:none}.mobile-nav{display:block;width:var(--container);margin:auto}.mobile-nav summary{display:flex;justify-content:space-between;align-items:center;min-height:var(--header-height);cursor:pointer;font-size:14px;font-weight:500;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav .primary-nav{width:100%;display:grid;gap:0;padding-bottom:14px}.mobile-nav .primary-nav a{padding:10px 0}.hero h1{font-size:clamp(38px,6.5vw,56px)}.focus-grid{gap:24px}.project-list,.project-card.has-image{gap:32px}.project-card.has-diagram{grid-template-columns:1fr;gap:24px}.talk-row,.year-group .talk-row{grid-template-columns:180px minmax(0,1fr);gap:12px 24px}.talk-action{grid-column:2;justify-self:start;margin:0}.year-group{grid-template-columns:1fr;gap:16px}.year-group>h3{margin:0}.about-layout{grid-template-columns:minmax(0,1fr) 240px;gap:32px}}@media(max-width:767px){.about-layout{grid-template-columns:1fr;gap:32px}.about-image{width:min(280px,100%)}}@media(max-width:599px){:root{--container: calc(100% - 40px) }.hero-inner{padding:36px 0}.hero-identity{max-width:35ch;font-size:13px}.hero h1{font-size:clamp(30px,8.2vw,46px)}.hero-intro{font-size:18px;margin:20px 0 24px}.hero-actions{gap:12px 16px}.hero .primary-button{padding-inline:16px;gap:20px}.hero-credentials{font-size:12px}.hero-credentials>span{padding:0 3px}.focus-strip{padding:24px 0}.focus-grid{grid-template-columns:1fr;gap:18px}.focus-area h2{font-size:17px;margin-bottom:4px}.focus-area p{font-size:14px}.section{padding:40px 0 48px}.section-heading{margin-bottom:28px}.project-list,.project-card.has-image{grid-template-columns:1fr;gap:28px}.project-body h3{font-size:clamp(22px,6.4vw,26px)}.project-body p{font-size:17px}.project-image{max-height:240px}.talk-row,.year-group .talk-row{grid-template-columns:1fr;gap:12px;padding:22px 0}.talk-row h3,.talk-row h4{font-size:22px}.talk-event{font-size:14px;margin:0}.talk-action{grid-column:1}.book-entry{grid-template-columns:1fr;gap:22px;padding:28px 0}.book-cover{width:120px;max-height:170px}.book-copy h3{font-size:25px}.post-item h3{font-size:21px}.contact-links,.profile-links{flex-direction:column;align-items:flex-start;gap:12px}.speaking-intro{padding:32px 0 40px}.year-stack{gap:32px}.video-grid{grid-template-columns:1fr;gap:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
