:root{--nf-ink-950: #1d1c1a;--nf-ink-800: #34312d;--nf-ink-650: #5f5a53;--nf-ink-500: #716b63;--nf-paper-50: #fbfaf7;--nf-paper-100: #f5f3ee;--nf-paper-200: #ece9e2;--nf-paper-300: #d9d5cd;--nf-forge-700: #843a2a;--nf-forge-600: #a44932;--nf-forge-500: #bd6246;--nf-forge-100: #f1ddd4;--nf-mineral-700: #40544b;--nf-mineral-600: #52685e;--nf-mineral-100: #dce5e0;--nf-white: #ffffff;--color-primary: var(--nf-forge-600);--color-primary-hover: var(--nf-forge-700);--color-primary-soft: var(--nf-forge-100);--color-secondary: var(--nf-mineral-600);--color-secondary-strong: var(--nf-mineral-700);--color-secondary-soft: var(--nf-mineral-100);--color-background: var(--nf-paper-100);--color-surface: var(--nf-paper-50);--color-surface-raised: var(--nf-white);--color-surface-muted: var(--nf-paper-200);--color-text: var(--nf-ink-950);--color-text-secondary: var(--nf-ink-650);--color-text-tertiary: var(--nf-ink-500);--color-text-inverse: var(--nf-paper-50);--color-border: var(--nf-paper-300);--color-border-subtle: var(--nf-paper-200);--color-border-strong: var(--nf-ink-500);--color-action: var(--nf-ink-950);--color-action-hover: var(--nf-ink-800);--color-link: var(--nf-ink-950);--color-focus: var(--nf-forge-500);--color-selection: var(--nf-forge-100);--font-sans: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-serif: "Source Han Serif SC", "Noto Serif SC", "Songti SC", STSong, serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--font-size-display: clamp(3rem, 5.6vw, 4.75rem);--font-size-h1: clamp(2.25rem, 4.2vw, 3.5rem);--font-size-h2: clamp(1.75rem, 3vw, 2.5rem);--font-size-h3: clamp(1.375rem, 2vw, 1.75rem);--font-size-body-lg: clamp(1.0625rem, 1.2vw, 1.1875rem);--font-size-body: 1rem;--font-size-body-sm: .875rem;--font-size-caption: .75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-display: 1.08;--line-height-heading: 1.22;--line-height-compact: 1.5;--line-height-body: 1.7;--line-height-caption: 1.45;--letter-spacing-display: -.03em;--letter-spacing-heading: -.015em;--letter-spacing-body: 0;--letter-spacing-meta: .02em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-page-inline: clamp(1.5rem, 4.5vw, 5rem);--space-section: clamp(5.5rem, 9vw, 9rem);--space-section-compact: clamp(3rem, 5vw, 5rem);--space-card: clamp(1.25rem, 2vw, 1.75rem);--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-pill: 999px;--border-width: 1px;--shadow-none: none;--shadow-card-hover: 0 .5rem 1.875rem rgba(29, 28, 26, .08);--shadow-overlay: 0 1rem 3rem rgba(29, 28, 26, .12);--container-page: 104rem;--container-content: 76rem;--container-reading: 45rem;--sidebar-width: clamp(20rem, 25vw, 24rem);--page-gutter: var(--space-page-inline);--duration-fast: .14s;--duration-base: .22s;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{min-width:320px;background:var(--color-background);scroll-behavior:smooth;scroll-padding-top:var(--space-4);scrollbar-color:var(--color-border-strong) var(--color-background)}body{min-width:320px;margin:0;color:var(--color-text);background:var(--color-background);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{color:var(--color-text);background:var(--color-selection)}a{color:var(--color-link);text-decoration:none;text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:var(--radius-xs)}h1,h2,h3,p{margin-top:0}img{display:block;width:100%;max-width:100%}.site-layout{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);width:min(100%,var(--container-page));min-height:100vh;margin-inline:auto;background:var(--color-background)}.site-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:clamp(2.5rem,4vw,4.5rem) clamp(2rem,3vw,3.25rem) var(--space-8);background:var(--color-surface);border-right:var(--border-width) solid var(--color-border-subtle)}.sidebar-brand{display:flex;align-items:flex-start;flex-direction:column;gap:var(--space-3)}.wordmark{color:var(--color-text);font-size:.78rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em}.wordmark:hover{text-decoration:none}.signature{color:var(--color-text-secondary);font-family:Snell Roundhand,Segoe Script,cursive;font-size:1.7rem;line-height:1;transform:rotate(-4deg)}.sidebar-intro{margin-top:var(--space-6)}.sidebar-intro-group+.sidebar-intro-group{margin-top:var(--space-4)}.sidebar-greeting{margin-bottom:var(--space-1);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-compact)}.sidebar-statement{max-width:15rem;margin-bottom:var(--space-4);font-size:clamp(1.2rem,1.4vw,1.42rem);font-weight:var(--font-weight-medium);letter-spacing:-.02em;line-height:1.55}.sidebar-copy{max-width:16.5rem;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:1.75}.sidebar-intro-group .sidebar-copy+.sidebar-copy{margin-top:var(--space-1)}.sidebar-nav{display:grid;gap:0;margin-block:var(--space-8) var(--space-4)}.sidebar-nav a{width:100%;padding-block:.42rem;color:var(--color-text-secondary);border-bottom:var(--border-width) solid transparent;font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium);transition:color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.sidebar-nav a:hover{color:var(--color-text);border-color:var(--color-border);text-decoration:none}.sidebar-disciplines{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:0;padding:0;color:var(--color-text-tertiary);font-size:var(--font-size-caption);list-style:none}.sidebar-disciplines li+li:before{margin-right:var(--space-3);color:var(--color-border-strong);content:"·"}.sidebar-meta{margin-top:auto;padding-top:var(--space-6);color:var(--color-text-tertiary);border-top:var(--border-width) solid var(--color-border-subtle);font-size:var(--font-size-caption);line-height:var(--line-height-caption)}.sidebar-meta p{max-width:17rem;margin-bottom:var(--space-2)}.sidebar-copyright{margin-top:var(--space-5, 1.25rem);margin-bottom:0}.site-main{min-width:0;padding-inline:var(--space-page-inline)}.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:4.5rem;border-bottom:var(--border-width) solid var(--color-border-subtle)}.current-build-lead{width:100%;max-width:42rem}.current-build-lead h2{margin-bottom:var(--space-1);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-meta);line-height:var(--line-height-compact)}.current-build-lead p{margin-bottom:0;color:var(--color-text);font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:var(--font-weight-medium);letter-spacing:-.015em;line-height:1.4}.home-topbar>p{width:100%;max-width:31rem;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.home-topbar nav{display:flex;gap:clamp(1rem,2.4vw,2rem);flex:0 0 auto}.home-topbar a,.section-link,.project-link,.work-link{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium)}.current-build .project-grid{padding-top:clamp(1rem,2vw,1.5rem)}.current-build .project-cover{aspect-ratio:4 / 3}.content-section{padding-block:0 clamp(1.75rem,3vw,2.5rem);border-bottom:var(--border-width) solid var(--color-border-subtle)}.section-heading{display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto;gap:var(--space-6);align-items:start;margin-bottom:0;padding-block:clamp(1.5rem,2.5vw,2rem);border-top:var(--border-width) solid var(--color-border)}.section-index{padding-top:.7rem;color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-meta)}.section-heading h2{margin-bottom:var(--space-3);font-family:var(--font-serif);font-size:clamp(2.75rem,5.2vw,5.5rem);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1.04}.section-heading p{max-width:32rem;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body)}.section-link{margin-top:.65rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem)}.project-grid.is-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-md)}.project-cover{overflow:hidden;aspect-ratio:1;background:var(--color-surface-muted)}.project-cover img{height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}.project-card:hover .project-cover img{transform:scale(1.018)}.project-card-body{display:flex;flex:1;flex-direction:column;padding:clamp(1rem,1.5vw,1.25rem)}.project-meta,.content-meta{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-meta)}.project-card .project-meta{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.project-card h3{margin-bottom:var(--space-2);font-size:clamp(1.15rem,1.5vw,1.4rem);font-weight:var(--font-weight-semibold);letter-spacing:-.025em;line-height:1.2}.project-tagline{margin-bottom:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:1.55}.project-summary{margin-bottom:0;padding-top:var(--space-3);color:var(--color-text-tertiary);border-top:var(--border-width) solid var(--color-border-subtle);font-size:var(--font-size-body-sm);line-height:1.55}.project-current{margin-block:var(--space-3) 0;color:var(--color-text-tertiary);font-size:var(--font-size-caption);line-height:var(--line-height-compact)}.project-link{width:fit-content;margin-top:auto;padding-top:var(--space-3)}.work-list{border-top:var(--border-width) solid var(--color-border-subtle)}.work-row{display:grid;grid-template-columns:minmax(16rem,.92fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,5.5rem);align-items:center;padding-block:clamp(1.5rem,3vw,2.75rem);border-bottom:var(--border-width) solid var(--color-border-subtle)}.work-row:last-child{border-bottom:0}.work-image{overflow:hidden;aspect-ratio:3 / 2;background:var(--color-surface-muted);border-radius:var(--radius-sm)}.work-image img{height:100%;object-fit:cover}.work-copy h3{margin-block:var(--space-3) var(--space-4);font-family:var(--font-serif);font-size:clamp(1.8rem,3.2vw,3.15rem);font-weight:var(--font-weight-medium);letter-spacing:-.035em;line-height:1.12}.work-copy p{max-width:33rem;color:var(--color-text-secondary)}.work-copy .work-problem{margin-bottom:var(--space-3)}.work-copy .work-contribution{margin-bottom:var(--space-6);padding-top:var(--space-3);color:var(--color-text-tertiary);border-top:var(--border-width) solid var(--color-border-subtle);font-size:var(--font-size-body-sm);line-height:1.65}.work-link.is-demo{color:var(--color-text-tertiary);cursor:default}.useful-list{border-top:var(--border-width) solid var(--color-border)}.useful-section{border-bottom:0}.useful-row{display:grid;grid-template-columns:3rem minmax(0,1fr) auto 1rem;gap:clamp(1rem,2.5vw,2.5rem);align-items:center;min-height:6rem;padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--color-border)}a.useful-row{color:var(--color-text)}a.useful-row:hover{text-decoration:none}a.useful-row .useful-arrow{transition:transform var(--duration-fast) var(--ease-out)}a.useful-row:hover .useful-arrow{transform:translate(.2rem)}.useful-row:last-child{border-bottom:0}.useful-index{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.useful-copy h3{margin-bottom:var(--space-1);font-size:clamp(1.1rem,1.7vw,1.42rem);font-weight:var(--font-weight-medium);letter-spacing:-.02em}.useful-copy p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.useful-tag{padding:.28rem .58rem;color:var(--color-text-secondary);background:var(--color-surface-muted);border-radius:var(--radius-xs);font-size:var(--font-size-caption)}.useful-arrow{font-size:1.1rem}.talk-section{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);margin-block:clamp(3rem,6vw,6rem);padding:clamp(2rem,4vw,3.5rem);background:var(--color-surface-muted);border-radius:var(--radius-md)}.talk-section h2{margin-bottom:var(--space-2);font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.75rem);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1.05}.talk-section p{margin-bottom:0;color:var(--color-text-secondary)}.talk-section>a{display:grid;flex:0 0 auto;place-items:center;width:3.5rem;height:3.5rem;color:var(--color-text-inverse);background:var(--color-action);border-radius:50%;font-size:1.35rem}.talk-section>a:hover{background:var(--color-action-hover);text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:var(--space-2) var(--space-4);color:var(--color-text);background:transparent;border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium)}.button:hover{background:var(--color-surface);border-color:var(--color-border-strong);text-decoration:none}.button-primary{color:var(--color-text-inverse);background:var(--color-action);border-color:var(--color-action)}.button-primary:hover{color:var(--color-text-inverse);background:var(--color-action-hover);border-color:var(--color-action-hover)}.article-header{max-width:var(--container-reading);padding-block:var(--space-section-compact);border-bottom:var(--border-width) solid var(--color-border)}.article-header h1{margin-block:var(--space-3) var(--space-4);font-family:var(--font-serif);font-size:var(--font-size-h1);letter-spacing:var(--letter-spacing-display);line-height:var(--line-height-display)}.article-header p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-lg)}.article-content{max-width:var(--container-reading);padding-block:var(--space-section-compact)}.article-content section+section,.article-body{margin-top:var(--space-12)}.article-content h2{margin-bottom:var(--space-3);font-size:var(--font-size-h3);line-height:var(--line-height-heading)}.article-content p,.article-content li{color:var(--color-text-secondary)}.article-content ul{padding-left:1.25rem}.article-content li+li{margin-top:var(--space-2)}.profile-page{width:100%;max-width:72rem}.profile-hero{padding-block:var(--space-section-compact);border-bottom:var(--border-width) solid var(--color-border)}.profile-nav{display:flex;gap:var(--space-6);margin-bottom:var(--space-16);font-size:var(--font-size-body-sm)}.profile-kicker{margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-meta)}.profile-hero h1{margin-bottom:var(--space-6);font-family:var(--font-serif);font-size:var(--font-size-display);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:var(--line-height-display)}.profile-lead{max-width:44rem;margin-bottom:0;color:var(--color-text-secondary);font-size:clamp(1.25rem,2.2vw,1.8rem);letter-spacing:-.02em;line-height:1.55}.profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--space-12) 0 0;border-block:var(--border-width) solid var(--color-border)}.profile-facts>div{padding-block:var(--space-4)}.profile-facts>div+div{padding-left:var(--space-6);border-left:var(--border-width) solid var(--color-border)}.profile-facts dt{margin-bottom:var(--space-1);font-family:var(--font-serif);font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.1}.profile-facts dd{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.profile-section{display:grid;grid-template-columns:minmax(9rem,.42fr) minmax(0,1.58fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,5vw,5rem);border-bottom:var(--border-width) solid var(--color-border)}.profile-section-heading span{display:block;margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.profile-section-heading h2,.contact-context h2{margin-bottom:0;font-family:var(--font-serif);font-size:var(--font-size-h3);font-weight:var(--font-weight-medium);letter-spacing:-.025em;line-height:var(--line-height-heading)}.profile-copy>p{color:var(--color-text-secondary)}.profile-copy>p:last-child{margin-bottom:0}.profile-path{margin:0;padding:0;list-style:none;border-top:var(--border-width) solid var(--color-border)}.profile-path li{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5, 1.25rem);border-bottom:var(--border-width) solid var(--color-border-subtle)}.profile-path li>span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.profile-path h3{margin-bottom:var(--space-2);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.profile-path p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.profile-list{margin:var(--space-6) 0 0;padding:0;list-style:none;border-top:var(--border-width) solid var(--color-border)}.profile-list li{padding-block:var(--space-3);color:var(--color-text-secondary);border-bottom:var(--border-width) solid var(--color-border-subtle)}.profile-note{margin-bottom:var(--space-6)!important;color:var(--color-text-tertiary)!important;font-size:var(--font-size-caption)}.organization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:var(--border-width) solid var(--color-border)}.organization-grid>div{display:flex;justify-content:space-between;flex-direction:column;min-height:8.5rem;padding:var(--space-4)}.organization-grid>div+div{border-left:var(--border-width) solid var(--color-border)}.organization-grid span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.organization-grid strong{font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.profile-contact-line{max-width:36rem;color:var(--color-text)!important;font-family:var(--font-serif);font-size:clamp(1.4rem,2.4vw,2rem);letter-spacing:-.025em;line-height:1.5}.profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4) var(--space-6);margin-top:var(--space-8)}.profile-text-link{font-size:var(--font-size-body-sm)}.contact-page{min-height:100vh}.contact-hero{padding-bottom:clamp(4rem,8vw,7rem)}.contact-content{max-width:60rem}.contact-primary{padding-block:clamp(3rem,6vw,6rem);border-bottom:var(--border-width) solid var(--color-border)}.contact-primary>p{margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.contact-primary h2{margin-bottom:var(--space-8);font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,3.5rem);font-weight:var(--font-weight-medium);letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}.contact-context{display:grid;grid-template-columns:minmax(10rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,5vw,5rem);border-bottom:var(--border-width) solid var(--color-border)}.contact-context .profile-list{margin-top:0}.contact-footer{display:flex;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-8);color:var(--color-text-tertiary);font-size:var(--font-size-body-sm)}.useful-detail-list{border-bottom:var(--border-width) solid var(--color-border)}.useful-detail-item{display:grid;grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);gap:clamp(2rem,6vw,6rem);padding-block:clamp(3rem,6vw,6rem);border-bottom:var(--border-width) solid var(--color-border);scroll-margin-top:var(--space-6)}.useful-detail-item:last-child{border-bottom:0}.useful-detail-item>header>span,.useful-detail-item>header>p,.useful-detail-item>header>strong{display:block;margin-bottom:var(--space-2);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-meta)}.useful-detail-item>header>p{margin-top:var(--space-6)}.useful-detail-item h2{margin-bottom:var(--space-4);font-family:var(--font-serif);font-size:var(--font-size-h2);font-weight:var(--font-weight-medium);letter-spacing:-.035em;line-height:var(--line-height-heading)}.useful-detail-lead{max-width:42rem;color:var(--color-text-secondary);font-size:var(--font-size-body-lg)}.useful-minimum{margin:var(--space-8) 0 0;padding:0;list-style:none;border-top:var(--border-width) solid var(--color-border)}.useful-minimum li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--border-width) solid var(--color-border-subtle)}.useful-minimum span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.useful-minimum p{margin-bottom:0;color:var(--color-text-secondary)}.useful-boundary{margin:var(--space-6) 0 0;color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.source-structure{margin-top:var(--space-8);border-block:var(--border-width) solid var(--color-border)}.source-structure>span{display:block;padding-block:var(--space-3);color:var(--color-text-tertiary);border-bottom:var(--border-width) solid var(--color-border-subtle);font-family:var(--font-mono);font-size:var(--font-size-caption)}.source-structure ul{margin:0;padding:0;list-style:none}.source-structure li{padding-block:var(--space-3);color:var(--color-text-secondary);border-bottom:var(--border-width) solid var(--color-border-subtle)}.source-structure li:last-child{border-bottom:0}.useful-detail-link{display:inline-flex;gap:var(--space-3);margin-top:var(--space-8);font-weight:var(--font-weight-medium)}@media(max-width:760px){.profile-section,.contact-context,.useful-detail-item{grid-template-columns:1fr;gap:var(--space-8)}.useful-detail-item>header>p{margin-top:var(--space-3)}}@media(max-width:640px){.profile-nav{margin-bottom:var(--space-12)}.profile-facts,.organization-grid{grid-template-columns:1fr}.profile-facts>div+div{padding-left:0;border-top:var(--border-width) solid var(--color-border);border-left:0}.organization-grid>div{min-height:6rem}.organization-grid>div+div{border-top:var(--border-width) solid var(--color-border);border-left:0}.contact-footer{align-items:flex-start;flex-direction:column}}.notes-list{border-top:var(--border-width) solid var(--color-border)}.note-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-6);padding-block:var(--space-6);border-bottom:var(--border-width) solid var(--color-border)}.note-row h3{margin-bottom:var(--space-1);font-size:var(--font-size-h3)}.note-row p{margin-bottom:0;color:var(--color-text-secondary)}.back-link{display:inline-block;margin-bottom:var(--space-4);font-size:var(--font-size-body-sm)}.build-detail-page{width:100%;max-width:68rem;padding-bottom:var(--space-section-compact)}.build-detail-hero{padding-block:clamp(2.5rem,6vw,6rem);border-bottom:var(--border-width) solid var(--color-border)}.build-detail-nav{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin-bottom:clamp(3rem,6vw,5rem)}.build-detail-nav a,.build-detail-footer a{color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.build-detail-status{margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-meta)}.build-detail-hero h1{max-width:58rem;margin-bottom:var(--space-6);font-family:var(--font-serif);font-size:clamp(3.25rem,7vw,6.75rem);font-weight:var(--font-weight-medium);letter-spacing:-.05em;line-height:.98}.build-detail-summary{max-width:45rem;margin-bottom:0;color:var(--color-text-secondary);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.65}.build-detail-section{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,45rem);gap:clamp(2rem,5vw,5rem);padding-block:clamp(3.5rem,7vw,6.5rem);border-bottom:var(--border-width) solid var(--color-border)}.build-detail-section-heading span{display:block;margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-meta)}.build-detail-section-heading h2{margin-bottom:0;font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,3.25rem);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1.05}.build-detail-copy>p{color:var(--color-text-secondary);font-size:var(--font-size-body-lg);line-height:1.75}.build-detail-copy>p+p{margin-top:var(--space-4)}.build-detail-list{margin-block:var(--space-6);padding:0;list-style:none;border-top:var(--border-width) solid var(--color-border)}.build-detail-list li{padding-block:var(--space-3);color:var(--color-text-secondary);border-bottom:var(--border-width) solid var(--color-border-subtle)}.build-detail-framing{margin-top:var(--space-8);padding-left:var(--space-5, 1.25rem);border-left:2px solid var(--color-border-strong)}.build-detail-framing strong{color:var(--color-text);font-weight:var(--font-weight-medium)}.build-detail-steps{margin:var(--space-8) 0 0;padding:0;list-style:none;counter-reset:build-detail-step;border-top:var(--border-width) solid var(--color-border)}.build-detail-steps li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5, 1.25rem);border-bottom:var(--border-width) solid var(--color-border-subtle);counter-increment:build-detail-step}.build-detail-steps li:before{color:var(--color-text-tertiary);content:counter(build-detail-step,decimal-leading-zero);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.build-detail-steps h3,.build-detail-state h3{margin-bottom:var(--space-2);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading)}.build-detail-steps p{grid-column:2;margin-bottom:0;color:var(--color-text-secondary)}.build-detail-map{margin:var(--space-8) 0 0}.build-detail-map figcaption,.build-detail-evidence figcaption{margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-meta)}.build-detail-agents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:var(--border-width) solid var(--color-border)}.build-detail-agents>div{display:grid;gap:var(--space-1);padding:var(--space-4)}.build-detail-agents>div+div{border-left:var(--border-width) solid var(--color-border)}.build-detail-agents strong,.build-detail-worksite strong,.build-detail-writeback strong{font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold)}.build-detail-agents span,.build-detail-worksite span,.build-detail-writeback span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.build-detail-map-link{padding-block:var(--space-2);color:var(--color-text-tertiary);text-align:center}.build-detail-worksite{padding:var(--space-5, 1.25rem);background:var(--color-surface-muted);text-align:center}.build-detail-worksite span,.build-detail-worksite strong{display:block}.build-detail-worksite strong{margin-block:var(--space-1);font-size:var(--font-size-body-lg)}.build-detail-worksite p{margin-bottom:0;color:var(--color-text-secondary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--font-size-caption)}.build-detail-writeback{display:flex;align-items:baseline;justify-content:center;gap:var(--space-3);padding-bottom:var(--space-2)}.build-detail-evidence{margin:var(--space-12) 0 0;border-block:var(--border-width) solid var(--color-border)}.build-detail-evidence figcaption{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:0;padding-block:var(--space-3)}.build-detail-evidence figcaption code{color:var(--color-text-secondary);letter-spacing:0}.build-detail-evidence pre{overflow-x:auto;margin:0;padding:var(--space-6);background:var(--color-surface-muted);white-space:pre-wrap}.build-detail-evidence pre code{color:var(--color-text-secondary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--font-size-caption);line-height:1.7}.build-detail-evidence>p{margin-bottom:0;padding-block:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.build-detail-pullquote{margin:var(--space-8) 0 0;padding-block:var(--space-8);border-block:var(--border-width) solid var(--color-border-strong)}.build-detail-pullquote p{margin-bottom:0;color:var(--color-text);font-family:var(--font-serif);font-size:clamp(1.65rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1.35}.build-detail-projects{color:var(--color-text)!important;font-weight:var(--font-weight-medium)}.build-detail-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-8);border-block:var(--border-width) solid var(--color-border)}.build-detail-state>div{padding-block:var(--space-6)}.build-detail-state>div+div{padding-left:var(--space-8);border-left:var(--border-width) solid var(--color-border)}.build-detail-state ul{margin:0;padding-left:1.1rem}.build-detail-state li{color:var(--color-text-secondary)}.build-detail-state li+li{margin-top:var(--space-2)}.build-detail-takeaways{display:grid;margin-top:var(--space-8);border-top:var(--border-width) solid var(--color-border)}.build-detail-takeaways a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-4);color:var(--color-text);border-bottom:var(--border-width) solid var(--color-border);font-size:var(--font-size-body-lg);font-weight:var(--font-weight-medium)}.build-detail-takeaways a:hover{text-decoration:none}.build-detail-takeaways a:hover span{transform:translate(.2rem)}.build-detail-takeaways span{transition:transform var(--duration-fast) var(--ease-out)}.build-detail-note{margin-top:var(--space-4);color:var(--color-text-tertiary)!important;font-size:var(--font-size-caption)!important}.build-detail-footer{padding-top:var(--space-8)}.radar-chain{margin:var(--space-8) 0 0}.radar-chain figcaption,.radar-record figcaption{margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-meta)}.radar-chain ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;border-block:var(--border-width) solid var(--color-border)}.radar-chain li{min-width:0;padding:var(--space-4)}.radar-chain li+li{border-left:var(--border-width) solid var(--color-border)}.radar-chain li>span{display:block;margin-bottom:var(--space-6);color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.radar-chain h3{margin-bottom:var(--space-2);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading)}.radar-chain p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:1.65}.radar-record{margin:var(--space-12) 0 0;border-block:var(--border-width) solid var(--color-border)}.radar-record figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:0;padding-block:var(--space-3)}.radar-record figcaption strong{color:var(--color-text-secondary);font-weight:var(--font-weight-medium);letter-spacing:0}.radar-record dl{margin:0;border-top:var(--border-width) solid var(--color-border)}.radar-record dl>div{display:grid;grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-3);border-bottom:var(--border-width) solid var(--color-border-subtle)}.radar-record dt{color:var(--color-text);font-size:var(--font-size-body-sm);font-weight:var(--font-weight-medium)}.radar-record dd{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.radar-record>p{margin-bottom:0;padding-block:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.radar-not-yet{margin-top:var(--space-8);padding-top:var(--space-6);border-top:var(--border-width) solid var(--color-border)}.radar-not-yet h3{margin-bottom:var(--space-3);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.radar-not-yet ul{margin:0;padding-left:1.1rem}.radar-not-yet li{color:var(--color-text-secondary)}.radar-not-yet li+li{margin-top:var(--space-2)}.work-case-decision{margin-bottom:var(--space-6)!important;color:var(--color-text)!important;font-family:var(--font-serif);font-size:clamp(1.65rem,3vw,2.5rem)!important;letter-spacing:-.03em;line-height:1.35!important}.work-case-process{margin:var(--space-8) 0 0;padding:0;list-style:none;border-top:var(--border-width) solid var(--color-border)}.work-case-process li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-5, 1.25rem);border-bottom:var(--border-width) solid var(--color-border-subtle)}.work-case-process li>span{color:var(--color-text-tertiary);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums}.work-case-process h3,.work-case-pattern h3{margin-bottom:var(--space-2);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading)}.work-case-process p,.work-case-pattern p{margin-bottom:0;color:var(--color-text-secondary)}.work-case-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-8);border-block:var(--border-width) solid var(--color-border)}.work-case-evidence>div{display:flex;align-items:flex-start;flex-direction:column;padding:var(--space-5, 1.25rem)}.work-case-evidence>div+div{border-left:var(--border-width) solid var(--color-border)}.work-case-evidence>div:nth-child(odd){border-left:0}.work-case-evidence>div:nth-child(n+3){border-top:var(--border-width) solid var(--color-border)}.work-case-evidence strong{margin-bottom:var(--space-1);color:var(--color-text);font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.75rem);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1}.work-case-evidence span{margin-bottom:var(--space-4);color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.work-case-evidence p{margin-top:auto;margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:1.65}.work-case-observations{margin-top:var(--space-8)}.work-case-observations h3{margin-bottom:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold)}.work-case-observations .build-detail-list{margin-top:var(--space-3);margin-bottom:0}.work-case-public-evidence{display:grid;grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);gap:var(--space-4);margin-top:var(--space-6);padding-block:var(--space-3);border-block:var(--border-width) solid var(--color-border-subtle)}.work-case-public-evidence span{color:var(--color-text-tertiary);font-size:var(--font-size-caption)}.work-case-public-evidence p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm)}.work-case-visual{margin:var(--space-8) 0 0}.work-case-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:var(--space-4)}.work-case-visual-frame{display:flex;align-items:flex-end;overflow:hidden;aspect-ratio:3 / 2;padding:var(--space-3);background:var(--color-surface-muted);border:var(--border-width) solid var(--color-border-subtle);border-radius:var(--radius-sm)}.work-case-visual--wide .work-case-visual-frame{aspect-ratio:16 / 9}.work-case-visual--field .work-case-visual-frame{aspect-ratio:5 / 3}.work-case-visual-frame span{color:var(--color-text-tertiary);font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-meta)}.work-summary-page .build-detail-section{padding-block:clamp(3rem,5vw,5rem)}.work-summary-system{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:var(--border-width) solid var(--color-border)}.work-summary-system>div{padding:var(--space-5, 1.25rem)}.work-summary-system>div:nth-child(2n){border-left:var(--border-width) solid var(--color-border)}.work-summary-system>div:nth-child(n+3){border-top:var(--border-width) solid var(--color-border)}.work-summary-system h3,.work-summary-assets h3{margin-bottom:var(--space-2);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-heading)}.work-summary-system p,.work-summary-assets p{margin-bottom:0;color:var(--color-text-secondary);font-size:var(--font-size-body-sm);line-height:1.65}.work-summary-evidence{margin-top:var(--space-8)}.work-summary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:var(--border-width) solid var(--color-border)}.work-summary-metrics>div{padding:var(--space-5, 1.25rem)}.work-summary-metrics>div+div{border-left:var(--border-width) solid var(--color-border)}.work-summary-metrics span,.work-summary-qualitative>span{display:block;margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--font-size-caption);letter-spacing:var(--letter-spacing-meta)}.work-summary-metrics p{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:0}.work-summary-metrics strong{color:var(--color-text);font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.75rem);font-weight:var(--font-weight-medium);letter-spacing:-.04em;line-height:1}.work-summary-metrics i{color:var(--color-text-tertiary);font-style:normal}.work-summary-qualitative{padding-block:var(--space-5, 1.25rem);border-bottom:var(--border-width) solid var(--color-border-subtle)}.work-summary-qualitative p{margin-bottom:0;color:var(--color-text);font-family:var(--font-serif);font-size:clamp(1.35rem,2.2vw,1.8rem);letter-spacing:-.025em;line-height:1.45}.work-summary-attribution{margin-top:var(--space-4)}.work-summary-assets{border-top:var(--border-width) solid var(--color-border)}.work-summary-assets>div{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-4);border-bottom:var(--border-width) solid var(--color-border-subtle)}.work-case-pattern{padding:var(--space-6);background:var(--color-surface-muted);border-block:var(--border-width) solid var(--color-border)}.work-case-pattern .build-detail-note{margin-top:var(--space-6);padding-top:var(--space-3);border-top:var(--border-width) solid var(--color-border)}@media(max-width:1120px){.project-grid,.project-grid.is-two-up{grid-template-columns:1fr}.project-card{display:grid;grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr)}.project-cover{aspect-ratio:1}.build-detail-section{grid-template-columns:minmax(7rem,9rem) minmax(0,1fr)}.radar-chain ol{grid-template-columns:repeat(2,minmax(0,1fr))}.radar-chain li+li{border-left:0}.radar-chain li:nth-child(2n){border-left:var(--border-width) solid var(--color-border)}.radar-chain li:nth-child(n+3){border-top:var(--border-width) solid var(--color-border)}}@media(max-width:760px){.home-topbar{align-items:flex-start;flex-direction:column;padding-block:var(--space-6)}.section-heading{grid-template-columns:3.5rem minmax(0,1fr)}.section-link{grid-column:2}.project-card,.work-row{grid-template-columns:1fr}.project-cover{aspect-ratio:4 / 3}.work-row{gap:var(--space-8)}.build-detail-section{grid-template-columns:1fr;gap:var(--space-8)}.build-detail-section-heading{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--space-3);align-items:baseline}.build-detail-section-heading span{margin-bottom:0}}@media(max-width:640px){.site-layout{grid-template-columns:1fr}.site-sidebar{position:static;height:auto;padding:var(--space-8) var(--space-page-inline);border-right:0;border-bottom:var(--border-width) solid var(--color-border-subtle)}.sidebar-intro{margin-top:var(--space-8)}.sidebar-nav{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin-block:var(--space-8)}.sidebar-nav a{width:auto;border-bottom:0}.sidebar-meta{margin-top:var(--space-8)}.section-heading h2{font-size:clamp(2.75rem,15vw,4rem)}.useful-row{grid-template-columns:2rem minmax(0,1fr) 1rem;gap:var(--space-3)}.useful-tag{display:none}.talk-section{align-items:flex-end}.build-detail-state{grid-template-columns:1fr}.build-detail-state>div+div{padding-left:0;border-top:var(--border-width) solid var(--color-border);border-left:0}.build-detail-agents{grid-template-columns:1fr}.build-detail-agents>div+div{border-top:var(--border-width) solid var(--color-border-subtle);border-left:0}.build-detail-writeback{align-items:center;flex-direction:column;gap:var(--space-1);text-align:center}.radar-chain ol{grid-template-columns:1fr}.radar-chain li:nth-child(2n){border-left:0}.radar-chain li+li{border-top:var(--border-width) solid var(--color-border)}.radar-chain li>span{margin-bottom:var(--space-3)}.radar-record figcaption,.radar-record dl>div{grid-template-columns:1fr}.radar-record figcaption{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.work-case-evidence{grid-template-columns:1fr}.work-case-evidence>div+div{border-top:var(--border-width) solid var(--color-border);border-left:0}.work-case-evidence>div:nth-child(n+2){border-top:var(--border-width) solid var(--color-border)}.work-case-public-evidence{grid-template-columns:1fr;gap:var(--space-1)}.work-case-visual,.work-case-visual--wide,.work-case-visual--field{margin-top:var(--space-6)}.work-summary-system{grid-template-columns:1fr}.work-summary-system>div:nth-child(2n){border-left:0}.work-summary-system>div+div{border-top:var(--border-width) solid var(--color-border)}.work-summary-assets>div{grid-template-columns:1fr;gap:var(--space-1)}.work-summary-metrics{grid-template-columns:1fr}.work-summary-metrics>div+div{border-top:var(--border-width) solid var(--color-border);border-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
