@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/archivo-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/archivo-500-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:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/archivo-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/archivo-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:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-700-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:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hanken-grotesk-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}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/hanken-grotesk-500-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:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/hanken-grotesk-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:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hanken-grotesk-700-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:Montserrat;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/montserrat-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:optional;src:url(/fonts/montserrat-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}:root{--paper:#f5f4f1;--surface:#fff;--ink:#14161b;--ink-muted:#5a6472;--ink-faint:#7a828e;--hairline:#e6e3dc;--night:#0d1016;--night-hi:#202b3d;--night-line:#1e2530;--night-warm:27, 19, 13;--moonlight:#9fb0c6;--link:#3a4658;--on-dark:#c3cbd6;--accent:var(--link);--font-display:"Archivo", system-ui, sans-serif;--font-body:"Hanken Grotesk", system-ui, sans-serif;--font-mark:"Montserrat", sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:40px;--s8:56px;--s9:64px;--maxw:1200px;--measure:64ch;--gap:30px;--r-img:2px;--r-card:4px;--r-panel:8px;--r-pill:100px;--shadow:0 1px 3px #14161b0d;--shadow-hover:0 12px 34px #14161b29}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:400 17px/1.68 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600}h1{font-size:clamp(38px,5.2vw,52px);line-height:1.02}h2{font-size:clamp(28px,3.6vw,40px);line-height:1.04}h3{font-size:clamp(22px,2.4vw,28px);line-height:1.12}p{margin:0 0 1em}.container{max-width:var(--maxw);padding-inline:var(--s7);margin-inline:auto}.prose{max-width:var(--measure)}.prose :is(h2,h3){margin:1.8em 0 .5em}.prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.eyebrow{font:600 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--ink-faint);margin:0 0 var(--s4)}.lede{color:var(--ink-muted);max-width:62ch;font-size:clamp(18px,2vw,21px);line-height:1.6}main{padding-bottom:var(--s9);display:block}.section{padding-top:var(--s9)}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--s5);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.section-head .more{font:600 14px/1 var(--font-body);color:var(--link);white-space:nowrap}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--night-hi);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--night);color:#fff;padding:var(--s3) var(--s4);position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.site-header{background:var(--night);color:#fff}.site-header .container{justify-content:space-between;align-items:center;gap:var(--s5);padding-block:var(--s5);display:flex}.brand{align-items:center;gap:var(--s3);color:#fff;text-decoration:none;display:inline-flex}.brand:hover{text-decoration:none}.brand img{width:34px;height:34px}.wordmark{font:600 15px/1 var(--font-mark);text-transform:uppercase;letter-spacing:.16em;color:#fff}.site-nav ul{gap:var(--s6);margin:0;padding:0;list-style:none;display:flex}.site-nav a{font:600 12px/1 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:#c4cdd9;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{color:#fff;text-decoration:none}.nav-chip{font:600 10px/1 var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:var(--moonlight);border:1px solid var(--night-line);border-radius:var(--r-pill);padding:6px 12px}.nav-toggle{color:#fff;border:1px solid var(--night-line);border-radius:var(--r-card);cursor:pointer;background:0 0;padding:9px 13px;font-size:18px;line-height:1;display:none}.nav-overlay{z-index:90;background:var(--night);padding:var(--s5) var(--s7);flex-direction:column;display:none;position:fixed;inset:0}.nav-overlay[open],.nav-overlay.is-open{display:flex}.nav-overlay .overlay-top{justify-content:space-between;align-items:center;display:flex}.nav-overlay ul{gap:var(--s5);margin:auto 0;padding:0;list-style:none;display:grid}.nav-overlay a{font:600 32px/1.1 var(--font-display);color:#fff;letter-spacing:-.02em}.nav-close{border:1px solid var(--night-line);color:#fff;border-radius:var(--r-card);cursor:pointer;background:0 0;padding:9px 13px;font-size:18px}@media (width<=820px){.site-nav{display:none}.nav-toggle{display:block}}.masthead{background:linear-gradient(180deg, rgba(var(--night-warm),.92) 0px, rgba(var(--night-warm),.62) 76px, rgba(var(--night-warm),0) 165px), linear-gradient(90deg, rgba(var(--night-warm), .1) 0%, rgba(var(--night-warm), .22) 28%, rgba(var(--night-warm), .78) 50%, rgba(var(--night-warm), .92) 72%, rgba(var(--night-warm), .95) 100%), url(/images/brand/hero-backdrop-small.webp) center bottom / cover no-repeat;color:#fff;position:relative;overflow:hidden}@media (width>=900px){.masthead{background-image:linear-gradient(180deg, rgba(var(--night-warm),.92) 0px, rgba(var(--night-warm),.62) 76px, rgba(var(--night-warm),0) 165px), linear-gradient(90deg, rgba(var(--night-warm), .1) 0%, rgba(var(--night-warm), .22) 28%, rgba(var(--night-warm), .78) 50%, rgba(var(--night-warm), .92) 72%, rgba(var(--night-warm), .95) 100%), url(/images/brand/hero-backdrop.webp)}}.masthead:after{content:"";aspect-ratio:1;z-index:0;pointer-events:none;filter:drop-shadow(0 0 26px #000000c7)drop-shadow(0 2px 8px #0009);background:url(/images/brand/logo-badge-white.webp) 50%/contain no-repeat;width:clamp(170px,22vw,300px);position:absolute;top:54%;left:4%;transform:translateY(-50%)}@media (width<=900px){.masthead:after{opacity:.18}}@media (width<=700px){.masthead:after{display:none}.masthead{background-image:linear-gradient(180deg, rgba(var(--night-warm),.95) 0%, rgba(var(--night-warm),.86) 55%, rgba(var(--night-warm),.7) 100%), url(/images/brand/hero-backdrop-small.webp)}}.masthead .site-header{background:0 0}.hero{z-index:1;padding-block:clamp(48px,8vw,104px) clamp(56px,9vw,112px);position:relative}@media (width>=900px){.hero{margin-left:40%}}.hero h1{letter-spacing:-.03em;color:#fff;max-width:15ch;font-size:clamp(40px,6.4vw,68px);line-height:1.02}.hero .eyebrow{color:var(--moonlight)}.hero .lede{color:var(--on-dark);margin-top:var(--s5);max-width:56ch}.hero .cta{margin-top:var(--s7);font:600 14px/1 var(--font-body);color:var(--night);border-radius:var(--r-pill);background:#fff;padding:15px 26px;display:inline-block}.hero .cta:hover{background:var(--moonlight);text-decoration:none}.tools-band{--pk-teal:#214f4b;--pk-terra:#d2603e;--pk-ink:#2a2118;background:var(--pk-teal);color:#eff3f1;margin-block:var(--s9) 0}.tools-inner{gap:var(--s9);grid-template-columns:1.05fr .95fr;align-items:center;padding-block:clamp(48px,7vw,84px);display:grid}.tools-copy .eyebrow{color:#9cc3b6}.tools-copy h2{color:#fff}.tools-copy .lede{color:#d4e0db;margin-top:var(--s4);max-width:46ch}.tools-actions{align-items:center;gap:var(--s5);margin-top:var(--s7);flex-wrap:wrap;display:flex}.btn-tool{background:var(--pk-terra);color:#2a1a12;font:600 15px/1 var(--font-body);border-radius:var(--r-pill);padding:15px 26px;display:inline-block}.btn-tool:hover{filter:brightness(1.06);text-decoration:none}.tools-more{color:#d4e0db;font:600 14px/1 var(--font-body);text-decoration:none}.tools-more:hover{color:#fff;text-decoration:underline}.tools-mark{border-radius:var(--r-panel);background:#fbfaf7;padding:clamp(28px,4vw,46px);transition:transform .25s,box-shadow .25s;display:block;box-shadow:0 18px 44px #00000038}.tools-mark:hover{transform:translateY(-3px);box-shadow:0 26px 60px #0000004d}.tools-mark img{width:100%;height:auto}@media (width<=860px){.tools-inner{gap:var(--s7);grid-template-columns:1fr}.tools-mark{order:-1;max-width:460px}}.portfolio-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.portfolio-card a{color:inherit;text-decoration:none;display:block}.portfolio-card .mat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);padding:var(--s2);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.portfolio-card .frame{border-radius:var(--r-img);aspect-ratio:3/2;overflow:hidden}.portfolio-card img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.portfolio-card a:hover .mat{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.portfolio-card a:hover img{transform:scale(1.03)}.portfolio-card h3{margin:var(--s4) 0 var(--s1);font-size:21px;line-height:1.18}.portfolio-card .meta{font:600 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.13em;color:var(--ink-faint);margin:0}.filter-bar{gap:var(--s2);margin:0 0 var(--s7);flex-wrap:wrap;padding:0;list-style:none;display:flex}.filter-bar button{font:500 13.5px/1 var(--font-body);cursor:pointer;border-radius:var(--r-pill);color:var(--link);background:0 0;border:1px solid #cdccc6;padding:10px 17px;transition:background .18s,color .18s,border-color .18s}.filter-bar button:hover{border-color:var(--ink);color:var(--ink)}.filter-bar button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filter-bar .count{opacity:.55;margin-left:5px}.project-head{padding-top:var(--s8)}.back-link{font:600 12px/1 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}.pill-row{gap:var(--s2);margin:var(--s5) 0 var(--s4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.pill{font:600 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.13em;border:1px solid var(--hairline);border-radius:var(--r-pill);color:var(--ink-muted);background:var(--surface);padding:7px 13px}.project-head h1{letter-spacing:-.03em;font-size:clamp(36px,5.6vw,60px)}.project-head .lede{margin-top:var(--s5)}.media-mat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);padding:var(--s2);box-shadow:var(--shadow);margin:var(--s7) 0 var(--s3)}.media-mat .frame{border-radius:var(--r-img);background:var(--surface);overflow:hidden}.media-mat img{width:auto;max-width:100%;max-height:600px;margin-inline:auto}.credit{font:400 12px/1.5 var(--font-body);color:var(--ink-faint);margin:0 0 var(--s7)}.project-body{gap:var(--s9);grid-template-columns:minmax(0,1fr) 260px;align-items:start;display:grid}.project-aside{top:var(--s5);font-size:14px;position:sticky}.project-aside dl{gap:var(--s4);margin:0;display:grid}.project-aside dt{font:600 10.5px/1 var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-faint);margin-bottom:var(--s1)}.project-aside dd{color:var(--ink-muted);margin:0}@media (width<=900px){.project-body{gap:var(--s7);grid-template-columns:1fr}.project-aside{border-top:1px solid var(--hairline);padding-top:var(--s5);position:static}}.video-embed{aspect-ratio:16/9;margin:var(--s7) 0;border-radius:var(--r-img);position:relative;overflow:hidden}.video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.gallery{margin:var(--s7) 0;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));padding:0;list-style:none;display:grid}.gallery .mat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);padding:var(--s2);box-shadow:var(--shadow)}.gallery .frame{border-radius:var(--r-img);aspect-ratio:3/2;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:100%}.prevnext{justify-content:space-between;gap:var(--s5);margin-top:var(--s9);padding-top:var(--s5);border-top:1px solid var(--hairline);font:600 14px/1.3 var(--font-body);flex-wrap:wrap;display:flex}.child-hero{background:var(--accent);color:#fff;padding:clamp(44px,6vw,76px) 0}.child-hero .eyebrow{color:#ffffffb8}.child-hero h1{color:#fff;letter-spacing:-.03em;font-size:clamp(36px,5.4vw,58px)}.child-hero .byline{color:#ffffffd1;margin:var(--s3) 0 0;font-size:15px}.child-hero .tagline{color:#fff;opacity:.95;max-width:60ch;margin-top:var(--s5);font-size:clamp(17px,2vw,20px)}.child-actions{gap:var(--s3);margin-top:var(--s7);flex-wrap:wrap;display:flex}.btn{font:600 14px/1 var(--font-body);border-radius:var(--r-pill);border:1px solid #0000;padding:15px 26px;display:inline-block}.btn-primary{color:var(--ink);background:#fff}.btn-primary:hover{opacity:.88;text-decoration:none}.btn-ghost{color:#fff;border-color:#ffffff73}.btn-ghost:hover{background:#ffffff1f;text-decoration:none}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-panel);padding:var(--s6);margin:var(--s7) 0}.panel h2{margin-bottom:var(--s3);font-size:22px}.download-row{justify-content:space-between;align-items:center;gap:var(--s5);border:1px solid var(--hairline);border-radius:var(--r-card);padding:var(--s4) var(--s5);background:var(--surface);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.download-row .label{font:600 15px/1.3 var(--font-body)}.download-row .note{color:var(--ink-muted);margin:var(--s1) 0 0;max-width:60ch;font-size:14px}.press{columns:2;column-gap:var(--gap);margin:var(--s5) 0}@media (width<=760px){.press{columns:1}}.press figure{break-inside:avoid;margin:0 0 var(--gap);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-panel);padding:var(--s5)}.press blockquote{color:var(--ink);margin:0;font-size:15px;line-height:1.62}.press figcaption{margin-top:var(--s3);font:600 11px/1.3 var(--font-body);text-transform:uppercase;letter-spacing:.13em;color:var(--ink-faint)}.press figcaption a{color:var(--ink-faint)}.buy{gap:var(--s7);margin:var(--s7) 0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.buy h2{font-size:15px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);margin-bottom:var(--s4);font-weight:600}.buy ul{gap:var(--s3);margin:0;padding:0;list-style:none;display:grid}.buy a{color:var(--ink);border-bottom:1px solid var(--hairline);padding-bottom:var(--s3);display:block}.buy a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.hub{gap:var(--s9);grid-template-columns:200px minmax(0,1fr);align-items:start;display:grid}.hub-nav{top:var(--s5);gap:var(--s3);display:grid;position:sticky}.hub-nav a{justify-content:space-between;gap:var(--s3);font:600 13px/1.3 var(--font-body);color:var(--ink-muted);padding-bottom:var(--s3);border-bottom:1px solid var(--hairline);display:flex}.hub-nav a:hover{color:var(--ink);text-decoration:none}.hub-nav .n{color:var(--ink-faint)}@media (width<=900px){.hub{gap:var(--s6);grid-template-columns:1fr}.hub-nav{grid-auto-flow:column;position:static;overflow-x:auto}}.link-list{margin:0 0 var(--s8);padding:0;list-style:none}.link-row{gap:var(--s5);padding:var(--s5) var(--s4);border-bottom:1px solid var(--hairline);grid-template-columns:92px minmax(0,1fr) 24px;align-items:baseline;transition:background .18s,padding .18s;display:grid}.link-row:hover{background:var(--surface);padding-left:var(--s5)}.link-row .kind{font:600 10.5px/1.4 var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}.link-row .title{font:600 19px/1.3 var(--font-display);color:var(--ink);letter-spacing:-.01em}.link-row a.title:hover{color:var(--accent);text-decoration:none}.link-row .blurb{color:var(--ink-muted);margin:var(--s2) 0 0;max-width:62ch;font-size:15px}.link-row .arrow{color:var(--ink-faint);justify-self:end;transition:transform .18s}.link-row:hover .arrow{color:var(--accent);transform:translate(3px,-3px)}@media (width<=700px){.link-row{gap:var(--s2);grid-template-columns:1fr}.link-row .arrow{display:none}}.bio{gap:var(--s9);padding:var(--s9) 0;border-bottom:1px solid var(--hairline);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.bio-id{top:var(--s5);position:sticky}.portrait{aspect-ratio:1;object-fit:cover;border-radius:var(--r-panel);width:100%;max-width:200px;margin-bottom:var(--s5);background:var(--hairline)}.initials{background:var(--night);color:#fff;border-radius:var(--r-panel);width:110px;height:110px;font:600 42px/1 var(--font-display);letter-spacing:-.02em;margin-bottom:var(--s5);place-items:center;display:grid}.bio-id h2{margin-bottom:var(--s2);font-size:20px}.bio-id .role{font:600 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin:0 0 var(--s3)}.bio-id .disciplines{color:var(--ink-faint);margin:0;font-size:14px}.bio-body{max-width:62ch}@media (width<=820px){.bio{gap:var(--s5);grid-template-columns:1fr}.bio-id{position:static}.initials{width:84px;height:84px;font-size:32px}.portrait{max-width:140px}}.project-sites{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.project-sites a{color:inherit;text-decoration:none;display:block}.project-sites .mat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card);padding:var(--s2);box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}.project-sites .frame{border-radius:var(--r-img);aspect-ratio:3/2;overflow:hidden}.project-sites img{object-fit:cover;width:100%;height:100%}.project-sites a:hover .mat{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.project-sites h3{margin:var(--s4) 0 var(--s1);font-size:19px}.project-sites .byline{color:var(--ink-faint);margin:0;font-size:14px}.site-footer{background:var(--night);color:var(--on-dark);margin-top:var(--s9)}.site-footer a{color:var(--on-dark)}.site-footer a:hover{color:#fff}.site-footer .container{padding-block:var(--s9);gap:var(--s8);grid-template-columns:1.4fr 1fr 1fr;display:grid}.site-footer.compact .container{gap:var(--s5);padding-block:var(--s7);grid-template-columns:1fr}.footer-heading{font:600 10.5px/1 var(--font-body);text-transform:uppercase;letter-spacing:.18em;color:var(--moonlight);margin:0 0 var(--s4)}.site-footer ul{gap:var(--s3);margin:0;padding:0;font-size:14.5px;list-style:none;display:grid}.site-footer .blurb{max-width:42ch;font-size:14.5px}.site-footer .wordmark{margin-bottom:var(--s4);font-size:14px;display:block}.colophon{border-top:1px solid var(--night-line)}.colophon .container{padding-block:var(--s5);justify-content:space-between;gap:var(--s5);color:var(--ink-faint);flex-wrap:wrap;font-size:13px;display:flex}@media (width<=820px){.site-footer .container{gap:var(--s6);grid-template-columns:1fr}}@media (width<=640px){.container{padding-inline:var(--s5)}}
