:root{color-scheme:light;--paper:#fff;--navy:#122a44;--soft:#edf4fa;--ink:#132b46;--muted-ink:#4c5c70;--link:#205aaa;--on-navy:#f8fbff;--body-on-navy:#e0ecf8;--kicker-on-navy:#b8dcff;--ice:#abd6ff;--ice-rule:#a8d4ff;--muted-on-navy:#c1cedb;--rule-on-navy:#66717b;--primary-surface:#acd7ff;--primary-ink:#10253b;--header-action:#173852;--line:#c6d3e0;--input-border:#77889a;--focus:#205aaa;--display-font:"Barlow Condensed", "Arial Narrow", sans-serif;--body-font:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono-font:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--content-max:1200px;--reading-max:65ch;--gutter:6%;--section-space:clamp(32px, 5vw, 48px);--touch-target:44px}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);min-height:100vh;color:var(--ink);font:400 1rem/1.65 var(--body-font);overflow-wrap:anywhere;flex-direction:column;margin:0;display:flex}[hidden]{display:none!important}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3{font-family:var(--display-font);letter-spacing:-.012em;text-wrap:balance;color:inherit;font-weight:600;line-height:1.05}h1{font-size:clamp(3.125rem,9vw,5.75rem);line-height:.98}h2{font-size:clamp(1.875rem,4.5vw,2.875rem);line-height:1.08}h3{font-size:1.8125rem;line-height:1.15}em{font-style:italic}a{color:var(--link);text-underline-offset:.3em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.on-navy :focus-visible,.site-footer :focus-visible,.hero :focus-visible{outline-color:var(--ice)}img,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}code,kbd,pre,samp{font-family:var(--mono-font);font-size:.9375em}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:10;background:var(--paper);color:var(--navy);padding:12px 18px;font-size:.9375rem;font-weight:600;position:absolute;top:10px;left:10px}.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.section-pad{padding:var(--section-space) var(--gutter)}.container{width:100%;max-width:var(--content-max);margin-inline:auto}.kicker{letter-spacing:.105em;text-transform:uppercase;color:var(--link);margin-bottom:18px;font-size:.6875rem;font-weight:600;line-height:1.5}.on-navy .kicker{color:var(--kicker-on-navy)}.solid{background:var(--link);color:#fff;justify-content:space-between;align-items:center;gap:24px;min-height:48px;padding:13px 20px;font-size:.875rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.solid:hover{background:var(--navy);color:var(--paper);text-underline-offset:.3em;text-decoration:underline}.solid .arrow{font-size:1.25rem;line-height:1}.underlink,.text-action{min-height:var(--touch-target);color:var(--link);text-underline-offset:.4em;align-items:center;gap:8px;font-size:.875rem;text-decoration:underline;display:inline-flex}.lead{font-size:1.1875rem;line-height:1.65}.unlinked-reference{text-decoration:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.site-header{border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding:10px 5.5%;display:flex}.site-header .wordmark,.site-header nav a{min-height:var(--touch-target);color:var(--ink);align-items:center;font-size:.8125rem;text-decoration:none;display:flex}.site-header .wordmark{flex-shrink:0;gap:11px;font-weight:600;line-height:1.25}.site-header .wordmark:hover span:last-child{text-underline-offset:.3em;text-decoration:underline}.header-mark{object-fit:contain;flex-shrink:0;width:88px;height:44px;display:block}.site-header nav{flex-wrap:wrap;align-items:center;gap:23px;display:flex}.site-header nav a:hover{text-underline-offset:.5em;text-decoration:underline}.site-header nav a[aria-current=page]{text-underline-offset:.5em;text-decoration:underline 2px}.site-header nav .contact-link{min-height:var(--touch-target);background:var(--header-action);color:#fff;padding:0 15px}.site-header nav .contact-link[aria-current=page],.site-header nav .contact-link:hover{text-underline-offset:.3em;text-decoration:underline}.breadcrumb{padding:14px var(--gutter);border-bottom:1px solid var(--line);color:var(--muted-ink);flex-wrap:wrap;align-items:center;gap:12px;font-size:.75rem;line-height:1.6;display:flex}.breadcrumb ol{margin:0;padding:0;list-style:none;display:contents}.breadcrumb li{align-items:center;gap:12px;display:inline-flex}.breadcrumb a{min-height:30px;color:var(--link);align-items:center;display:inline-flex}.section-nav{padding:0 var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;align-items:stretch;gap:0 25px;display:flex}.section-nav a{min-height:57px;color:var(--ink);border-bottom:3px solid #0000;align-items:center;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.section-nav a:hover{text-underline-offset:.4em;text-decoration:underline}.section-nav a[aria-current=page]{color:var(--link);border-bottom-color:var(--link);font-weight:700}.collection-head{background:var(--paper);color:var(--ink);padding-top:42px;padding-bottom:37px}.collection-head .kicker{margin-bottom:15px}.collection-head h1{text-transform:uppercase;letter-spacing:-.012em;font-size:clamp(3.5rem,11vw,7rem);line-height:.92}.collection-head h1 em{color:var(--link);font-style:normal}.collection-head .description{max-width:58ch;color:var(--muted-ink);margin-top:23px;font-size:1.125rem;line-height:1.7}.site-footer{padding:33px var(--gutter) 22px;background:var(--navy);color:var(--on-navy);margin-top:auto}.footer-invitation{justify-content:space-between;align-items:center;gap:35px;display:flex}.footer-invitation h2{max-width:21ch;color:var(--on-navy);font-size:clamp(2.5rem,4.5vw,2.8125rem);line-height:1.06}.footer-action{min-height:var(--touch-target);max-width:15ch;font-family:var(--display-font);color:var(--ice);text-wrap:balance;overflow-wrap:normal;flex-shrink:0;padding:4px 0;font-size:clamp(1.9375rem,3.5vw,2.125rem);line-height:1.1;text-decoration:none;display:inline-block}.footer-action:hover{text-underline-offset:.25em;text-decoration:underline}.footer-meta{border-top:1px solid var(--rule-on-navy);color:var(--muted-on-navy);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin-top:30px;padding-top:18px;font-size:.75rem;display:flex}.footer-links{flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;list-style:none;display:flex}.footer-links a{min-height:32px;color:var(--on-navy);text-underline-offset:.3em;align-items:center;display:inline-flex}.consent-bar{padding:14px var(--gutter);border-bottom:1px solid var(--ice-rule);background:var(--navy);color:var(--on-navy);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.consent-bar[hidden]{display:none}.consent-text{max-width:70ch;color:var(--body-on-navy);margin:0;font-size:.875rem;line-height:1.6}.consent-text a{color:var(--ice);text-underline-offset:.2em}.consent-actions{flex-wrap:wrap;gap:10px;display:flex}.consent-actions button{min-width:110px;min-height:var(--touch-target);border:1px solid var(--ice);font:600 .8125rem/1 var(--body-font);cursor:pointer;border-radius:0;padding:0 18px}.consent-accept{background:var(--primary-surface);color:var(--primary-ink)}.consent-decline{color:var(--on-navy);background:0 0}.consent-actions button:hover{background:var(--on-navy);color:var(--primary-ink)}.consent-bar :focus-visible{outline-color:var(--on-navy)}.consent-choice button[hidden]{display:none}@media (width<=760px){.site-header nav{gap:15px}.site-header nav a{font-size:.75rem}.section-nav{gap:0 20px}.section-nav a{min-height:51px;font-size:.75rem}.footer-invitation h2{font-size:2.5rem}.footer-action{font-size:1.9375rem}}@media (width<=600px){.site-header{padding:10px var(--gutter) 7px;display:block}.header-mark{width:80px;height:40px}.site-header nav{justify-content:space-between;gap:6px;width:100%;margin-top:7px}.site-header nav a{font-size:.75rem}.site-header nav .contact-link{padding:0 11px}}@media (width<=540px){.collection-head{padding:30px var(--gutter)}.collection-head .description{margin-top:20px;font-size:1rem;line-height:1.8}.breadcrumb{padding:10px var(--gutter);gap:8px;font-size:.6875rem}.footer-invitation{display:block}.footer-invitation h2{max-width:20ch;font-size:2.5rem;line-height:1.08}.footer-action{overflow-wrap:anywhere;max-width:none;margin-top:22px;font-size:2rem;line-height:1.15}.footer-meta{display:block}.footer-links{margin-top:10px}}@media print{.site-header,.site-footer,.breadcrumb,.section-nav,.skip-link{display:none!important}}.hero{padding:35px var(--gutter) 38px;background:var(--navy);color:var(--on-navy);grid-template-columns:.76fr 2.15fr;gap:0 4%;display:grid}.hero-rail{grid-area:1/1/3;min-width:0;padding-top:4px}.hero-rail .kicker{border-top:3px solid var(--ice-rule);max-width:20ch;color:var(--kicker-on-navy);margin:0;padding-top:10px;line-height:1.8}.hero-sculpture{object-fit:contain;width:100%;max-width:340px;height:auto;margin:36px 0 0;display:block}.hero h1{letter-spacing:-.006em;text-transform:uppercase;text-wrap:initial;color:var(--on-navy);grid-area:1/2;font-size:clamp(3.5rem,7.5vw,6.75rem);line-height:.94}.hero h1 .hero-line,.hero h1 .hero-accent{text-wrap:balance;display:block}.hero h1 .hero-line{max-width:7.6em}.hero h1 .hero-accent{max-width:11em;color:var(--ice);margin-top:.18em;font-size:.7em;font-style:normal;line-height:1}.hero h1:after{content:"";background:var(--ice-rule);width:100%;height:5px;margin-top:18px;display:block}.hero-aside{grid-area:2/2;grid-template-columns:1.4fr 1fr;align-items:start;gap:30px;margin-top:27px;display:grid}.hero-aside .intro{max-width:42ch;color:var(--body-on-navy);font-size:.9375rem;line-height:1.85}.hero-aside .actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.hero-aside .solid{background:var(--primary-surface);width:100%;color:var(--primary-ink);padding:13px 18px;font-size:.8125rem}.hero-aside .solid:hover{background:var(--on-navy);color:var(--primary-ink)}.hero-aside .text-action{color:#f2f7fd;font-size:.8125rem}.experience-strip{padding:20px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);align-items:center;gap:25px;font-size:.75rem;display:flex}.experience-strip>span{color:var(--muted-ink);white-space:nowrap}.experience-strip ul{flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;display:flex}.experience-strip li+li:before{content:"·";color:var(--link);margin:0 12px}.experience-strip a{color:var(--ink);text-underline-offset:.3em;padding:6px 0;text-decoration:none;display:inline-block}.experience-strip a:hover,.experience-strip a:focus-visible{color:var(--link);text-decoration:underline}.selected{padding-top:37px;padding-bottom:40px}.section-heading{grid-template-columns:.48fr 2.25fr;align-items:start;gap:4%;margin-bottom:27px;display:grid}.section-heading .kicker{margin:0;line-height:1.8}.section-heading h2{font-size:clamp(2.25rem,4.5vw,2.9375rem)}.work-list{grid-template-columns:1.5fr 1fr 1fr;gap:27px;display:grid}.work-row{isolation:isolate;border-top:3px solid var(--navy);background:var(--soft);min-width:0;color:var(--ink);flex-direction:column;padding:20px 22px 22px;text-decoration:none;display:flex;position:relative;overflow:hidden}.work-row small{letter-spacing:.035em;min-height:36px;color:var(--muted-ink);margin:0 0 10px;font-size:.6875rem;display:block}.work-row strong{min-height:75px;font-family:var(--display-font);letter-spacing:-.01em;color:var(--navy);font-size:2rem;font-weight:600;line-height:1.04;display:block}.work-row:hover strong{text-underline-offset:.2em;text-decoration:underline}.work-row .work-summary{color:var(--muted-ink);margin:16px 0 12px;font-size:.8125rem;line-height:1.65;display:block}.work-meta{color:var(--muted-ink);margin:0 0 12px;font-size:.6875rem;line-height:1.6;display:block}.work-end{z-index:1;min-height:var(--touch-target);color:var(--muted-ink);align-items:center;gap:6px;margin-top:auto;font-size:.6875rem;display:flex;position:relative}.work-row .project-art-small{z-index:-1;width:150px;height:140px;color:var(--ice-rule);opacity:.6;position:absolute;bottom:-34px;right:-34px}.work-row .project-art-small .project-plane{background:var(--paper)}.work-row .project-art-small .plane-front{background:var(--ice);box-shadow:none}.work-row .project-art-watch{opacity:.7;width:112px;height:150px;bottom:-40px;right:-6px;transform:rotate(-14deg)}.project-art-watch .watch-band,.project-art-watch .watch-case{fill:var(--paper);stroke:var(--ice-rule);stroke-width:2px}.project-art-watch .watch-screen{fill:var(--ice)}.project-art-watch .watch-crown{fill:var(--ice-rule)}.project-art-watch .watch-trace{fill:none;stroke:var(--navy);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.project-art-watch .watch-dot{fill:var(--navy)}.featured-work{isolation:isolate;background:var(--navy);min-height:330px;color:var(--on-navy);border:0;padding:24px;position:relative;overflow:hidden}.featured-work small,.featured-work .work-summary{color:#e0e5ec}.featured-work small{min-height:0;margin-bottom:12px}.featured-work strong{min-height:0;color:var(--on-navy);font-size:3rem}.featured-work .work-summary{max-width:18ch}.featured-work .work-end{z-index:2;color:var(--ice);align-self:flex-start;position:relative}.project-art{width:210px;min-width:0;height:200px;color:var(--ice);pointer-events:none;position:relative}.project-plane{background:var(--navy);border:1px solid;border-radius:7px;position:absolute;inset:20% 15%;transform:rotate(-27deg)skew(15deg)}.plane-back{opacity:.5;translate:0 29px}.plane-middle{opacity:.8;translate:0 10px}.plane-front{background:var(--ice);translate:0 -12px;box-shadow:12px 20px 26px #0002}.featured-work .project-art{z-index:-1;opacity:.7;width:175px;height:166px;position:absolute;bottom:-26px;right:-35px}.structure-bottom{border-top:1px solid var(--line);background:var(--paper);color:var(--ink);grid-template-columns:1.15fr 1fr;gap:6%;padding-top:40px;padding-bottom:44px;display:grid}.structure-bottom h2{font-size:clamp(2.5rem,5vw,3.5rem);line-height:.98}.structure-bottom .body{max-width:41ch;margin:20px 0 10px;font-size:.9375rem;line-height:1.75}.writing-teaser{border-left:1px solid var(--line);padding-left:30px}.writing-teaser h3{font-size:clamp(2rem,4vw,2.5rem);line-height:1.06}.writing-teaser h3 a{color:var(--ink);text-decoration:none}.writing-teaser h3 a:hover{text-underline-offset:.2em;text-decoration:underline}.writing-teaser .body{max-width:41ch;margin:20px 0 10px;font-size:.9375rem;line-height:1.75}.writing-teaser .writing-all{min-height:var(--touch-target);color:var(--link);align-items:center;gap:8px;margin-top:10px;font-size:.8125rem;display:flex}.writing-index-grid{grid-template-columns:.85fr 2.4fr;gap:7%;padding-top:34px;padding-bottom:42px;display:grid}.writing-sidebar{padding-top:3px}.writing-sidebar .kicker{margin-bottom:17px}.writing-sidebar h2{font-size:2.1875rem;line-height:1.08}.writing-sidebar .body{color:var(--muted-ink);margin-top:18px;font-size:.875rem;line-height:1.8}.writing-sidebar .sidebar-list{margin:20px 0 0;padding:0;list-style:none}.writing-sidebar .sidebar-list a{align-items:center;min-height:36px;font-size:.8125rem;display:inline-flex}.writing-results{min-width:0}.index-search{grid-template-columns:minmax(0,1fr) 110px 110px auto;align-items:end;gap:12px;margin:0 0 20px;display:grid}.index-search label{min-width:0;color:var(--ink);font-size:.75rem;font-weight:500;display:block}.index-search input,.index-search select{border:1px solid var(--input-border);background:var(--paper);color:#162c45;width:100%;height:46px;font:400 1rem/1.5 var(--body-font);border-radius:0;margin-top:7px;padding:10px 12px;display:block}.index-search input::placeholder{color:#647285}.index-submit{background:var(--link);color:#fff;cursor:pointer;border:0;border-radius:0;justify-content:center;align-items:center;min-height:46px;padding:10px 19px;font-size:.8125rem;font-weight:600;display:inline-flex}.index-submit:hover{background:var(--navy);text-decoration:underline}.results-summary{min-height:37px;color:var(--muted-ink);justify-content:space-between;align-items:center;gap:15px;margin:0 0 12px;font-size:.75rem;line-height:1.6;display:flex}.reset-search{min-height:var(--touch-target);color:var(--link);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.75rem;text-decoration:underline;display:inline-flex}.post-list{margin:0;padding:0;list-style:none}.post-entry{border-top:1px solid var(--line);grid-template-columns:91px minmax(0,1fr);gap:20px;padding:25px 0;display:grid}.post-entry time{max-width:11ch;color:var(--muted-ink);padding-top:5px;font-size:.6875rem;line-height:1.65}.post-entry .post-type{letter-spacing:.055em;color:var(--link);margin-bottom:8px;font-size:.6875rem;line-height:1.6}.post-entry h2,.post-entry h3{max-width:35ch;font:600 1.625rem/1.22 var(--body-font);letter-spacing:-.04em}.post-entry h2 a,.post-entry h3 a{color:var(--ink);text-decoration:none;display:inline-block}.post-entry h2 a:hover,.post-entry h3 a:hover{text-underline-offset:.2em;text-decoration:underline}.post-entry .post-categories{color:var(--muted-ink);margin-top:12px;font-size:.75rem;line-height:1.8}.post-entry.is-poetry h2,.post-entry.is-poetry h3{font-family:var(--display-font);letter-spacing:0;font-size:2.0625rem;line-height:1.12}.index-pagination{border-top:2px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;margin-top:8px;padding-top:18px;font-size:.75rem;display:flex}.index-pagination a,.index-pagination .disabled{min-height:var(--touch-target);align-items:center;min-width:75px;font-size:.8125rem;display:inline-flex}.index-pagination .disabled{color:#647285}.index-pagination a:last-child,.index-pagination .disabled:last-child{justify-content:flex-end}.empty-results{color:var(--muted-ink);padding:30px 0;font-size:1rem;line-height:1.8}.project-index-content{padding-top:35px;padding-bottom:40px}.project-feature{isolation:isolate;background:var(--navy);color:var(--on-navy);grid-template-columns:1.4fr 1fr;gap:25px;margin-bottom:8px;padding:36px 40px;display:grid;position:relative;overflow:hidden}.project-feature .kicker{color:var(--kicker-on-navy);margin-bottom:22px}.project-feature h2{letter-spacing:-.01em;color:var(--on-navy);font-size:clamp(3rem,7.5vw,4.875rem);line-height:1}.project-feature h2 a{color:var(--on-navy);text-decoration:none}.project-feature h2 a:hover{text-underline-offset:.15em;text-decoration:underline}.project-feature .tagline{color:#dfebf7;margin:18px 0;font-size:1.25rem;line-height:1.6}.feature-link{min-height:var(--touch-target);color:var(--kicker-on-navy);align-items:center;gap:22px;font-size:.875rem;display:inline-flex}.project-feature .project-art{z-index:-1;place-self:center;width:290px;height:245px}.project-record{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.15fr;gap:8%;padding:32px 0;display:grid}.project-record .kicker{margin-bottom:13px}.project-record h2{font-size:2.5625rem;line-height:1.05}.project-record h2 a{color:var(--ink);text-decoration:none}.project-record h2 a:hover{text-underline-offset:.15em;text-decoration:underline}.project-record .summary{color:var(--muted-ink);font-size:1rem;line-height:1.85}.project-record .underlink{gap:15px;margin-top:10px;font-size:.8125rem}.directory-invitation{justify-content:space-between;align-items:center;gap:25px;padding-top:32px;display:flex}.directory-invitation h2{font-size:2.25rem}.directory-invitation .kicker{margin-bottom:10px}.directory-invitation .body{color:var(--muted-ink);margin-top:12px;font-size:.875rem}.directory-invitation .solid{white-space:nowrap;font-size:.8125rem}.tm{font-family:var(--body-font);letter-spacing:0;vertical-align:super;font-size:.2em}.directory-content{padding-top:10px;padding-bottom:42px}.directory-search{grid-template-columns:minmax(0,1fr) 150px 150px auto;max-width:800px;margin-bottom:21px}.directory-updated{color:var(--muted-ink);margin:0 0 16px;font-size:.75rem}.repository-list{margin:0;padding:0;list-style:none}.repository-row{border-top:1px solid var(--line);grid-template-columns:1fr 200px;gap:40px;padding:28px 0;display:grid}.repository-row .kicker{text-transform:none;letter-spacing:0;margin-bottom:12px}.repository-row h2{margin-bottom:12px;font-size:2.625rem}.repository-row .summary{max-width:55ch;font-size:.9375rem;line-height:1.8}.repository-row .repo-detail{color:var(--muted-ink);margin-top:12px;font-size:.75rem}.repository-row .credit{color:var(--muted-ink);margin-top:8px;font-size:.75rem}.repository-links{flex-direction:column;justify-content:center;align-items:start;gap:8px;font-size:.8125rem;display:flex}.repository-links a{min-height:var(--touch-target);align-items:center;gap:6px;display:flex}.project-hero{isolation:isolate;background:var(--navy);color:var(--on-navy);padding-top:38px;padding-bottom:26px;position:relative;overflow:hidden}.project-hero .kicker{z-index:1;color:var(--kicker-on-navy);position:relative}.project-hero h1{z-index:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--on-navy);font-size:clamp(4rem,14vw,9.25rem);line-height:.9;position:relative}.project-hero-bottom{z-index:1;justify-content:space-between;align-items:end;gap:30px;margin-top:30px;display:flex;position:relative}.project-hero-bottom .tagline{font-family:var(--display-font);color:var(--on-navy);font-size:clamp(2.1875rem,4vw,2.625rem);line-height:1.05}.project-hero-bottom .tagline em{color:var(--ice);font-style:normal}.project-hero-bottom .solid{background:var(--ice);color:var(--navy);padding:11px 18px;font-size:.8125rem;font-weight:500}.project-hero-bottom .solid:hover{background:var(--on-navy);color:var(--navy)}.project-rail{z-index:1;color:#edf4fc;border-top:1px solid #768491;flex-wrap:wrap;justify-content:space-between;gap:10px 18px;margin:28px 0 0;padding:20px 0 0;font-size:.6875rem;list-style:none;display:flex;position:relative}.project-hero>.project-art{z-index:0;opacity:.32;width:350px;height:300px;position:absolute;top:-14px;right:1%}.project-grid{grid-template-columns:1fr 2.3fr;gap:8%;padding-top:40px;padding-bottom:45px;display:grid}.project-facts dl{margin:0}.project-facts dt{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-ink);margin-top:22px;font-size:.6875rem}.project-facts dd{margin:7px 0 0;font-size:.875rem;line-height:1.8}.project-facts dd ul{margin:0;padding:0;list-style:none}.project-evidence{border-top:1px solid var(--line);margin-top:35px;padding-top:24px}.project-evidence h2{font:600 1.25rem/1.3 var(--body-font);letter-spacing:-.03em;margin-bottom:12px}.project-evidence ul{margin:0;padding:0;list-style:none}.project-evidence li a{align-items:center;gap:8px;min-height:40px;font-size:.875rem;display:inline-flex}.project-images{gap:20px;margin:30px 0 0;display:grid}.project-images figure img{border:1px solid var(--line);width:100%;height:auto;display:block}.article-head{border-bottom:7px solid var(--link);background:var(--paper);color:var(--ink);grid-template-columns:.48fr 2.25fr;gap:22px 4%;padding-top:40px;padding-bottom:35px;display:grid}.article-head .kicker{border-top:3px solid var(--link);grid-area:1/1;max-width:15ch;margin:0;padding-top:7px;line-height:1.9}.article-head h1{max-width:23ch;font:600 clamp(2.25rem, 6vw, 4rem) / 1.1 var(--body-font);letter-spacing:-.045em;grid-area:1/2}.article-head.is-poetry h1{max-width:19ch;font:600 clamp(3rem, 9vw, 5.875rem) / 1.03 var(--display-font);letter-spacing:0}.article-head .byline{grid-column:2;margin:0;font-size:.75rem;line-height:1.8}.article-head .byline .sep{padding:0 8px}.reading-grid{grid-template-columns:.7fr 2fr;gap:6%;padding-top:40px;padding-bottom:45px;display:grid}.reading-grid aside .kicker{margin-bottom:10px}.article-toc ol{margin:0;padding:0;list-style:none}.article-toc a{padding:10px 0;font-size:.75rem;line-height:1.5;display:block}.article-meta{color:var(--muted-ink);margin-top:24px;font-size:.75rem;line-height:1.8}.article-meta dt{letter-spacing:.04em;text-transform:uppercase;margin-top:12px;font-size:.6875rem;font-weight:600}.article-meta dd{margin:2px 0 0}.article-meta ul{margin:0;padding:0;list-style:none}.article-meta li{display:inline-block}.article-meta li a{min-height:24px;padding:3px 4px 3px 0;line-height:1.4;display:inline-block}.article-meta li+li:before{content:"· "}.article-end{border-top:1px solid var(--line);margin-top:35px;padding-top:24px;font-size:.8125rem;line-height:1.65}.related-posts h2{font:600 1.125rem/1.3 var(--body-font);letter-spacing:-.03em;margin-bottom:8px}.related-posts ul{margin:0;padding:0;list-style:none}.related-posts li a{align-items:center;min-height:36px;font-size:.875rem;display:inline-flex}.related-posts li .meta{color:var(--muted-ink);margin-left:8px;font-size:.75rem}.unlisted-note{margin:0 var(--gutter);color:var(--muted-ink);padding:12px 0;font-size:.75rem}.resume-banner{border-bottom:9px solid var(--ice);background:var(--navy);color:var(--on-navy);grid-template-columns:.48fr 2.25fr;gap:23px 4%;padding-top:35px;padding-bottom:36px;display:grid}.resume-banner .kicker{border-top:3px solid var(--ice);max-width:15ch;color:var(--ice);grid-area:1/1;margin:0;padding-top:8px;line-height:1.8}.resume-banner h1{text-transform:uppercase;color:var(--on-navy);grid-area:1/2;font-size:clamp(3.25rem,9vw,5.875rem);line-height:.98}.resume-banner h1 em{color:var(--ice);font-style:normal}.resume-banner .headline{grid-column:2;margin:0;font-size:1.0625rem}.resume-banner .location{color:var(--muted-on-navy);grid-column:2;margin:-10px 0 0;font-size:.875rem}.resume-split{background:var(--paper);grid-template-columns:1.85fr 1fr;gap:7%;padding-top:40px;padding-bottom:44px;display:grid}.career .summary{max-width:68ch;margin-bottom:30px;font-size:1rem;line-height:1.8}.career>h2{font:600 .9375rem/1.5 var(--body-font);letter-spacing:.09em;text-transform:uppercase;margin:54px 0 12px}.career article{border-top:1px solid var(--line);padding:24px 0 25px;position:relative}.career article:before{content:"";background:var(--link);width:38px;height:3px;position:absolute;top:-1px;left:0}.career article:first-of-type h3{color:var(--link)}.career .date{color:var(--muted-ink);margin-bottom:12px;font-size:.75rem;display:block}.career article h3{font-size:2.3125rem;line-height:1.08}.career article .role{margin:8px 0 15px;font-size:.875rem;font-weight:500;line-height:1.5}.career article ul{margin:0;padding-left:1.1em;font-size:.9375rem;line-height:1.8}.career article li+li{margin-top:6px}.career .job-note{color:var(--muted-ink);margin:0 0 10px;font-size:.8125rem;line-height:1.6}.career .job-summary{max-width:68ch;margin:0 0 14px;font-size:.9375rem;line-height:1.75}.career .job-group{margin-top:16px}.career .job-group h4{font:600 .75rem/1.5 var(--body-font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-ink);margin:0 0 6px}.career .job-technologies{color:var(--muted-ink);margin:16px 0 0;font-size:.8125rem;line-height:1.7}.career .job-technologies .label{color:var(--ink);font-weight:600}.career .job-technologies .label:after{content:":"}.definition-list{margin:0}.definition-item{border-top:1px solid var(--line);padding:10px 0}.definition-item:first-child{border-top:0;padding-top:0}.definition-list dt{font-size:.9375rem;font-weight:600;line-height:1.5}.definition-list dt:after{content:":"}.definition-list dd{color:var(--muted-ink);margin:2px 0 0;font-size:.9375rem;line-height:1.75}.publications{margin:0;padding-left:1.1em;font-size:.9375rem;line-height:1.8}.publication-links{margin:6px 0 0;padding-left:1.1em;font-size:.875rem}.publications .doi{color:var(--muted-ink);font-size:.875rem;display:block}.credentials{border-top:1px solid var(--line);padding-top:24px}.credentials h3{font:600 .875rem/1.5 var(--body-font);margin-bottom:12px}.credentials ul{margin:0 0 18px;padding:0;font-size:.9375rem;line-height:1.8;list-style:none}.resume-rail{border-left:1px solid var(--line);align-self:start;padding:0 0 0 25px}.resume-rail h2{font-size:1.875rem;line-height:1.14}.resume-rail .subheading{color:var(--muted-ink);margin-top:14px;font-size:.875rem}.resume-rail h3{font:600 .75rem/1.5 var(--body-font);letter-spacing:.09em;text-transform:uppercase;margin-top:30px}.plain-list{color:var(--muted-ink);margin:12px 0 0;padding:0;font-size:.875rem;line-height:1.9;list-style:none}.resume-rail .solid{margin-top:28px;padding:12px 13px;font-size:.75rem}.resume-rail .website{margin-top:12px;font-size:.875rem;display:block}.about-layout{grid-template-columns:1.3fr 1fr;align-items:start;gap:45px;padding-top:48px;padding-bottom:60px;display:grid}.about-layout>div{min-width:0}.about-layout h1{max-width:12ch;font-size:clamp(3rem,7.5vw,4.8125rem);line-height:1}.about-layout .lead{max-width:48ch;margin:28px 0}.about-layout .about-body{max-width:60ch;font-size:1rem;line-height:1.8}.about-layout .about-body p+p{margin-top:1em}.about-layout .solid{margin-top:25px}.about-links{flex-wrap:wrap;gap:4px 24px;margin:24px 0 0;padding:0;list-style:none;display:flex}.about-links a{align-items:center;min-height:40px;font-size:.875rem;display:inline-flex}.about-layout figure{background:var(--paper);margin:0}.about-layout figure img{width:100%;height:auto;display:block}.about-layout figcaption{border-bottom:1px solid var(--line);color:var(--muted-ink);padding:16px 0;font-size:.75rem;line-height:1.6}.auxiliary{min-height:560px;padding-top:48px;padding-bottom:60px}.auxiliary h1{font-size:clamp(3rem,7.5vw,4.8125rem);line-height:1}.auxiliary .lead{max-width:48ch;margin:28px 0}.contact-form{max-width:760px}.contact-form iframe{border:1px solid var(--line);background:var(--paper);width:100%;display:block}.contact-form .contact-links{flex-wrap:wrap;gap:8px 24px;margin:16px 0 0;padding:0;list-style:none;display:flex}.contact-form .contact-links a{min-height:var(--touch-target);align-items:center;gap:6px;font-size:.875rem;display:inline-flex}.contact-form .note{max-width:60ch;color:var(--muted-ink);margin-top:16px;font-size:.8125rem;line-height:1.7}.utility-body{max-width:65ch;font-size:1rem;line-height:1.8}.utility-body h2{font:600 1.375rem/1.3 var(--body-font);letter-spacing:-.03em;margin:32px 0 12px}.utility-body p+p{margin-top:1em}.updated-note{color:var(--muted-ink);margin-top:32px;font-size:.75rem}.search-page .pagefind-ui{max-width:760px;font-family:var(--body-font);margin-top:24px}.date-index h1{font-size:clamp(3rem,8vw,5rem)}.date-index .month-list{flex-wrap:wrap;gap:4px 20px;margin:16px 0 0;padding:0;list-style:none;display:flex}.date-index .month-list a{align-items:center;min-height:40px;font-size:.875rem;display:inline-flex}.not-found{min-height:60vh}.not-found ul{margin:24px 0 0;padding:0;list-style:none}.not-found li a{align-items:center;min-height:40px;display:inline-flex}@media (width<=850px){.hero-aside{grid-template-columns:1fr;gap:20px}.hero-aside .intro{max-width:48ch}.hero-aside .actions{flex-flow:wrap;align-items:center;gap:24px}.hero-aside .solid{width:auto}.work-list{grid-template-columns:1.4fr 1fr 1fr;gap:20px}.work-row strong{min-height:90px;font-size:1.8125rem}.featured-work{min-height:345px;padding:22px}.featured-work strong{min-height:0;font-size:2.375rem}.structure-bottom h2{font-size:2.8125rem}.writing-teaser h3{font-size:2.125rem}}@media (width<=760px){.hero{grid-template-columns:.77fr 2.15fr}.hero-sculpture{max-width:260px;margin-top:30px}.writing-index-grid{grid-template-columns:.8fr 2.3fr;gap:5%}.writing-sidebar h2{font-size:1.8125rem}.index-search{grid-template-columns:minmax(0,1fr) 1fr}.index-search .index-submit{grid-column:1/-1;width:max-content;padding:10px 22px}.post-entry{grid-template-columns:1fr;gap:9px;padding:22px 0}.post-entry time{max-width:none;padding:0}.post-entry h2,.post-entry h3{font-size:1.4375rem}.project-feature{grid-template-columns:1.3fr 1fr;padding:30px}.project-feature .project-art{width:225px;height:220px}.project-record{grid-template-columns:1fr 1.2fr;gap:6%}.project-record h2{font-size:2.1875rem}.directory-invitation{flex-direction:column;align-items:start}.directory-search{grid-template-columns:1fr 1fr}.resume-split{grid-template-columns:1.6fr 1fr;gap:5%}.resume-rail h2{font-size:1.625rem}.career article h3{font-size:2.0625rem}.about-layout{grid-template-columns:1.2fr 1fr;gap:25px}}@media (width<=600px){.hero{padding:27px var(--gutter) 31px;flex-direction:column;gap:25px;display:flex}.hero h1{order:1;max-width:100%;font-size:clamp(2.5rem,13.6vw,4rem);line-height:.97}.hero h1:after{height:4px;margin-top:13px}.hero-rail{order:2;align-items:center;gap:15px;width:100%;padding:0;display:flex}.hero-rail .kicker{border-top:0;border-left:3px solid var(--ice-rule);overflow-wrap:normal;flex:0 0 110px;max-width:none;padding:0 0 0 12px;line-height:1.85}.hero-sculpture{flex:1 1 0;width:0;min-width:0;max-width:200px;height:auto;margin:0}.hero-aside{order:3;margin:0;display:block}.hero-aside .intro{font-size:1rem}.hero-aside .actions{gap:22px;margin-top:23px}.experience-strip{padding:16px var(--gutter);font-size:.6875rem;line-height:1.9;display:block}.experience-strip ul{margin-top:7px}.experience-strip li+li:before{margin:0 5px}.selected{padding-top:32px;padding-bottom:26px}.section-heading{margin-bottom:24px;display:block}.section-heading .kicker{margin-bottom:10px}.section-heading h2{font-size:2.375rem}.work-list{grid-template-columns:1fr;gap:23px}.work-row strong{min-height:0;font-size:2.0625rem}.work-row small{min-height:0}.work-row .work-summary{margin:15px 0 4px;font-size:.875rem;line-height:1.8}.featured-work{min-height:260px;padding:25px}.featured-work strong{font-size:2.875rem}.featured-work .project-art{opacity:.5;bottom:-18px;right:-16px}.structure-bottom{grid-template-columns:1fr;gap:29px;padding-top:33px;padding-bottom:34px}.structure-bottom h2{font-size:3.0625rem}.writing-teaser{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.writing-teaser h3{font-size:2.375rem}.resume-banner{padding:31px var(--gutter);border-bottom-width:6px;display:block}.resume-banner .kicker{margin-bottom:23px}.resume-banner h1{font-size:clamp(2.75rem,14.8vw,4rem);line-height:1}.resume-banner .headline{margin-top:23px;font-size:1rem}.resume-banner .location{margin-top:8px}.resume-split{grid-template-columns:1fr;gap:30px}.resume-rail{border-left:0;border-top:4px solid var(--link);padding:29px 0 0}.resume-rail h2{font-size:2.125rem}.project-hero{padding:31px var(--gutter) 23px}.project-hero h1{font-size:clamp(3rem,19vw,5rem)}.project-hero>.project-art{opacity:.23;width:240px;height:205px;top:-4px;right:-45px}.project-hero-bottom{margin-top:29px;display:block}.project-hero-bottom .tagline{font-size:2.1875rem}.project-hero-bottom .solid{margin-top:18px}.project-rail{gap:10px 20px;margin-top:24px;font-size:.6875rem;line-height:1.8}.project-grid{grid-template-columns:1fr;gap:28px}.project-facts{border-bottom:1px solid var(--line);padding-bottom:25px}.project-facts dl{grid-template-columns:1fr 1.8fr;gap:10px 20px;display:grid}.project-facts dt,.project-facts dd{margin:0}.article-head{padding:31px var(--gutter);border-bottom-width:5px;display:block}.article-head .kicker{margin-bottom:23px}.article-head h1{font-size:clamp(2rem,11.8vw,3rem);line-height:1.15}.article-head.is-poetry h1{font-size:clamp(2.75rem,16vw,4rem)}.article-head .byline{margin-top:24px;font-size:.6875rem;line-height:1.9}.reading-grid{padding:29px var(--gutter) 33px;display:block}.reading-grid aside{border-bottom:1px solid var(--line);margin-bottom:27px;padding:0 0 20px}.article-toc a{min-height:var(--touch-target);align-items:center;font-size:.8125rem;display:flex}.about-layout{padding-top:32px;display:block}.about-layout h1{font-size:clamp(2.75rem,15vw,4rem);line-height:1}.about-layout figure{max-width:360px;margin-top:32px}}@media (width<=540px){.writing-index-grid{padding:26px var(--gutter) 31px;display:block}.writing-sidebar{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:22px}.writing-sidebar h2{font-size:1.75rem}.index-search{grid-template-columns:1fr}.index-search .index-submit{width:100%}.post-entry h2,.post-entry h3{font-size:1.5rem;line-height:1.24}.post-entry.is-poetry h2,.post-entry.is-poetry h3{font-size:2.125rem}.index-pagination{gap:10px;font-size:.6875rem}.project-index-content{padding:28px var(--gutter) 33px}.project-feature{min-height:380px;margin-bottom:3px;padding:27px;display:block}.project-feature h2{font-size:3.25rem}.project-feature .tagline{font-size:1.125rem}.project-feature .project-art{opacity:.7;width:175px;height:170px;position:absolute;bottom:-25px;right:-8px}.project-feature .feature-link{margin-top:20px;font-size:.8125rem}.project-record{grid-template-columns:1fr;gap:18px;padding:27px 0}.project-record h2{font-size:2.375rem}.directory-content{padding:8px var(--gutter) 32px}.directory-search{grid-template-columns:1fr}.repository-row{grid-template-columns:1fr;gap:16px}.repository-links{flex-flow:wrap;gap:22px}.career article h3{font-size:1.875rem}}.prose{max-width:var(--reading-max);font-size:1.0625rem;line-height:1.9}.prose>*+*{margin-top:1.3em}.prose p{margin:0}.prose p+p{margin-top:1.3em}.prose .lead{font-size:1.4375rem;line-height:1.6}.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:var(--body-font);letter-spacing:-.035em;text-wrap:balance;margin-top:1.9em;margin-bottom:.7em;font-weight:600;line-height:1.25}.prose h2{font-size:1.625rem}.prose h3{font-size:1.375rem}.prose h4,.prose h5,.prose h6{font-size:1.125rem}.prose a{color:var(--link)}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose blockquote{background:var(--navy);color:var(--ice);font-family:var(--display-font);margin:2em 0;padding:27px 30px;font-size:clamp(1.75rem,3vw,2.4375rem);font-weight:600;line-height:1.12}.prose blockquote p+p{margin-top:.8em}.prose blockquote a{color:var(--on-navy)}.prose img{max-width:100%;height:auto;margin:0 auto;display:block}.prose p>img:only-child,.prose p>a:only-child>img{margin-top:.5em;margin-bottom:.5em}.prose p>img+em,.prose img+p>em:only-child{color:var(--muted-ink);font-size:.875rem}.prose pre{border:1px solid var(--line);background:var(--soft);tab-size:4;margin:1.5em 0;padding:18px 20px;font-size:.875rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose :not(pre)>code{background:var(--soft);overflow-wrap:anywhere;border-radius:3px;padding:.1em .35em}.prose .table-wrap{margin:1.5em 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;min-width:420px;font-size:.9375rem;line-height:1.5}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.prose th{background:var(--soft);font-weight:600}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose.is-poetry{white-space:normal;font-size:1.125rem;line-height:1.7}.prose.is-poetry p{overflow-wrap:break-word;max-width:100%}.prose.is-poetry p+p{margin-top:1.4em}.prose.is-poetry h2,.prose.is-poetry h3{font-family:var(--display-font);letter-spacing:0}@media (width<=600px){.prose{font-size:1.0625rem;line-height:1.85}.prose .lead{font-size:1.3125rem}.prose h2{font-size:1.5625rem}.prose blockquote{padding:23px 24px;font-size:2.125rem;line-height:1.15}}@media print{:root{--paper:#fff;--navy:#fff;--soft:#fff;--ink:#000;--muted-ink:#333;--link:#000;--on-navy:#000;--body-on-navy:#000;--kicker-on-navy:#000;--ice:#000;--ice-rule:#000;--line:#aaa}body{color:#000;background:#fff;font-size:11pt;line-height:1.45}a{color:#000;text-decoration:none}.hero,.resume-banner,.project-hero,.site-footer,.featured-work,.prose blockquote{color:#000!important;background:#fff!important}.resume-banner{border-bottom:2pt solid #000;padding:0 0 12pt;display:block}.resume-banner .kicker{display:none}.resume-banner h1{text-transform:none;font-size:26pt}.resume-banner .headline{margin-top:4pt;font-size:13pt}.resume-split{padding:12pt 0 0;display:block}.resume-rail{display:none}.career article{break-inside:avoid;padding:10pt 0}.career article:before{display:none}.career article h3{font-size:15pt}.career article ul,.career .job-summary,.career .job-technologies,.career .job-group h4,.definition-list dt,.definition-list dd,.publications,.credentials ul{font-size:10.5pt}.resume-banner .location{margin-top:2pt;font-size:11pt}.definition-item{break-inside:avoid}.consent-bar{display:none!important}.print-only{display:block!important}.project-art,.hero-sculpture,.header-mark,.about-layout figure,.index-search,.results-summary,.reset-search,.related-posts,.article-toc,.unlisted-note{display:none!important}.prose pre{white-space:pre-wrap;border:1pt solid #aaa}.prose a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em}}.print-only{display:none}
