:root{--paper:#f4f4f1;--ink:#202321;--muted:#626762;--line:#d3d6cf;--blue:#2549c7;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--blue);outline-offset:5px}a:hover{color:var(--blue)}.skip-link{position:absolute;top:-100px;left:20px;padding:12px;background:white;z-index:10}.skip-link:focus{top:10px}.site-header,.site-footer,main{max-width:1504px;margin:auto}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line)}.wordmark{font-size:25px;font-weight:600;letter-spacing:-1.2px}.name-dot{color:var(--blue)}.site-header nav{display:flex;gap:33px;font:12px var(--mono)}.site-header nav a{padding:12px 0}.intro{padding:55px 48px 48px}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}.intro>.eyebrow{margin-bottom:18px}.intro>div{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:90px}.intro h1{font-size:clamp(30px,3.2vw,48px);font-weight:450;line-height:1.12;letter-spacing:-1.7px}.intro>div>p{font-size:16px;max-width:420px;line-height:1.6}.location{font:10px var(--mono);color:var(--muted);margin-top:26px}.location span{margin-left:10px}.project-section{padding:0 48px;margin-bottom:62px;scroll-margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0}.section-heading h2{font-size:22px;letter-spacing:-.6px;font-weight:500}.section-heading sup{font:10px var(--mono);color:var(--muted);vertical-align:top;margin-left:7px;line-height:2}.section-heading>p{font:11px var(--mono);color:var(--muted)}.project-grid{display:grid;gap:0;background:transparent;border-top:1px solid var(--line);border-left:1px solid var(--line)}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{background:var(--paper);min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.project-card>a{display:block;height:100%;color:var(--ink)}.card-media{position:relative;aspect-ratio:1;overflow:hidden;background:#dedfd9}.work-grid .card-media{aspect-ratio:1.6}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.card-media.portrait{padding:28px;background:#e7e7df}.card-media.portrait img{object-fit:contain}.card-media.cd-player{background:#e9e8df}.card-media.calendar{background:#c4cbd9}.card-media.siri-from-suggestion{background:#ced2c8}.card-media.museum{background:#ded4c3}.card-media.recording{background:#253a38}.card-media.shredder{display:flex;align-items:center;background:#e2e4df}.card-media.shredder img{height:auto;object-fit:contain}.view-study{position:absolute;right:18px;bottom:18px;padding:9px 12px;background:var(--paper);font:11px var(--mono);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}.project-card a:hover .view-study,.project-card a:focus-visible .view-study{opacity:1;transform:translateY(0)}.project-card a:hover .card-media img{transform:scale(1.025)}.card-copy{padding:22px 24px 28px;min-height:170px}.card-copy .eyebrow{display:flex;justify-content:space-between;font-size:10px}.card-copy .eyebrow span{font-size:16px;line-height:1}.card-copy h3{font-size:23px;letter-spacing:-.75px;font-weight:500;margin:9px 0}.card-copy>p:last-child{font-size:14px;color:var(--muted);max-width:360px;line-height:1.55}.filter-bar{display:flex;gap:8px;align-items:center;padding:0 0 20px}.filter-bar[hidden],[hidden]{display:none!important}.filter-bar>.eyebrow{margin-right:12px}.filter-bar button{border:1px solid var(--line);border-radius:3px;background:transparent;padding:7px 13px;font:11px var(--mono);cursor:pointer}.filter-bar button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter-bar button:hover{border-color:var(--ink)}.filter-count{margin-left:auto;color:var(--muted);font:10px var(--mono)}.about{margin:0;border-top:1px solid var(--line);padding:64px 48px;background:#eceeec;display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy{grid-column:2;max-width:560px}.about h2{font:10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.about-copy p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.site-footer{padding:30px 48px 40px;border-top:1px solid var(--line);display:flex;align-items:center;gap:32px}.site-footer .wordmark{font-size:18px}.site-footer>span{font:10px var(--mono);color:var(--muted)}.site-footer>div{margin-left:auto;display:flex;gap:22px;font:11px var(--mono)}.site-footer small{font:10px var(--mono);color:var(--muted)}
.case-study{padding:30px 48px 0;max-width:1280px;margin:auto}.back-link{display:inline-block;font:11px var(--mono);margin-bottom:28px}.hero-media{background:#e4e5df}.hero-media>img{width:100%;max-height:650px;object-fit:contain}.hero-media video{width:100%;max-height:680px;min-height:240px;background:#1c201d;object-fit:contain}.hero-media.portrait-media video{height:610px}.hero-media figcaption{padding:14px 0 0;background:var(--paper);font:10px/1.6 var(--mono);color:var(--muted)}.hero-media figcaption a{display:inline-block;margin-left:14px;text-decoration:underline;text-underline-offset:3px}.project-title{margin:48px 0 32px;max-width:750px}.project-title h1{font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-1.8px;font-weight:450;margin:12px 0 18px}.project-title>p:last-child{font-size:20px;line-height:1.5;color:var(--muted);max-width:650px}.project-meta{display:grid;grid-template-columns:1.2fr 1fr .8fr;border:1px solid var(--line);margin:0 0 36px}.project-meta>div{padding:20px 24px;border-right:1px solid var(--line)}.project-meta>div:last-child{border-right:0}.project-meta dt{font:10px var(--mono);text-transform:uppercase;color:var(--muted);margin-bottom:10px}.project-meta dd{margin:0;font-size:14px}.interaction-flow{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0 0 44px;padding:0;gap:24px}.interaction-flow li{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:16px}.interaction-flow span{font:10px var(--mono);color:var(--blue);display:block;margin-bottom:10px}.story-layout{display:grid;grid-template-columns:1fr 2.2fr;gap:50px;padding:16px 0 52px}.project-aside{padding-top:4px}.project-aside ul{padding:0;margin-top:17px;list-style:none;font:12px/1.9 var(--mono);color:var(--muted)}.story{max-width:660px}.story-section{margin-bottom:32px}.story-section h2{font-size:23px;line-height:1.3;letter-spacing:-.65px;font-weight:500;margin-bottom:13px}.story-section p{font-size:16px;line-height:1.75}.project-learning{border-left:2px solid var(--blue);padding:4px 0 4px 24px;margin-top:40px}.project-learning .eyebrow{color:var(--blue);margin-bottom:10px}.project-learning>p:last-child{font-size:19px;line-height:1.5;letter-spacing:-.3px}.reference-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px;color:var(--blue);font:12px var(--mono)}.process{border-top:1px solid var(--line);padding-top:24px;margin-bottom:50px}.process h2{font-size:22px;font-weight:500;margin-bottom:25px}.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.process figure img{width:100%;max-height:560px;object-fit:contain;background:#e9e8e1}.process figcaption{font:10px/1.7 var(--mono);color:var(--muted);margin-top:12px;max-width:600px}.credits{border-top:1px solid var(--line);padding:24px 0 40px;display:grid;grid-template-columns:1fr 2.2fr;gap:50px}.credits>p:last-child{font:11px/1.8 var(--mono);color:var(--muted);max-width:660px}.project-navigation{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);padding:28px 0 42px;gap:16px;font-size:17px}.project-navigation a:nth-child(2){text-align:center}.project-navigation a:last-child{text-align:right}.project-navigation span{display:block;font:10px var(--mono);color:var(--muted);margin-bottom:12px}
@media(min-width:1600px){.site-header,.site-footer,main{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:1000px){.site-header{height:88px}.site-header,.site-footer{padding-left:28px;padding-right:28px}.intro,.case-study{padding-left:28px;padding-right:28px}.intro>div{gap:40px;grid-template-columns:1.1fr 1fr}.intro h1{font-size:36px}.project-section{padding:0 28px}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about{padding:56px 28px;gap:45px}.site-footer>span{display:none}.card-copy h3{font-size:22px}.story-layout{grid-template-columns:1fr 2.6fr;gap:28px}.credits{gap:28px}.project-meta>div{padding:18px}}
@media(max-width:620px){.site-header{height:80px;padding:0 20px}.wordmark{font-size:22px}.site-header nav{gap:17px;font-size:10px}.intro{padding:36px 20px}.intro>div{display:block}.intro h1{font-size:36px;letter-spacing:-1.3px;margin-bottom:24px}.intro>div>p{font-size:15px;max-width:360px}.intro>.eyebrow{font-size:9px}.location{margin-top:20px}.project-section{padding:0 20px;margin-bottom:40px}.section-heading{padding:17px 0}.section-heading>p{font-size:9px;max-width:170px;text-align:right}.section-heading h2{font-size:21px}.work-grid,.lab-grid{grid-template-columns:1fr}.work-grid .card-media{aspect-ratio:1.25}.card-copy{padding:20px;min-height:145px}.card-copy h3{font-size:25px}.card-media.portrait{padding:24px}.filter-bar{flex-wrap:wrap;gap:6px;padding-bottom:16px}.filter-bar>.eyebrow{display:none}.filter-bar button{font-size:10px;padding:8px 11px}.filter-count{font-size:9px}.about{display:block;padding:40px 20px}.about-copy{max-width:560px}.site-footer{padding:24px 20px;flex-wrap:wrap;gap:20px}.site-footer small{width:100%}.site-footer>div{gap:18px;font-size:10px}.case-study{padding:24px 20px 0}.hero-media video{max-height:530px;min-height:180px}.hero-media.portrait-media video{height:520px}.hero-media figcaption{font-size:9px}.project-title{margin:30px 0 24px}.project-title h1{font-size:38px}.project-title>p:last-child{font-size:18px}.project-meta{grid-template-columns:1fr 1fr;margin-bottom:28px}.project-meta>div{padding:15px}.project-meta>div:nth-child(2){border-right:0}.project-meta>div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.project-meta dd{font-size:12px}.project-meta dt{font-size:9px}.interaction-flow{gap:14px;margin-bottom:26px}.interaction-flow li{font-size:12px;line-height:1.4}.story-layout{display:flex;flex-direction:column;gap:22px;padding-bottom:32px}.project-aside ul{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:10px;margin:10px 0}.story-section h2{font-size:22px}.story-section p{font-size:15px;line-height:1.75}.story-section{margin-bottom:28px}.project-learning>p:last-child{font-size:18px}.process{margin-bottom:30px}.process-grid{grid-template-columns:1fr}.credits{display:block;padding-bottom:28px}.credits>.eyebrow{margin-bottom:12px}.credits>p:last-child{font-size:10px}.project-navigation{font-size:12px;gap:14px}.project-navigation span{font-size:9px;line-height:1.4}.view-study{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.site-header,.site-footer,.filter-bar,.back-link,.project-navigation{display:none}.case-study{padding:0}.hero-media video{height:220px}.project-section,.about{break-inside:avoid}body{background:white}.project-card{break-inside:avoid}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#work{padding-top:30px}#work .section-heading{border-top:0}.story-paragraph{font-size:16px;line-height:1.75;margin-bottom:26px}.hero-media>img{height:auto}.process figure img{height:auto}
@media(max-width:620px){#work{padding-top:12px}.story-paragraph{font-size:15px}}

.body-media{margin:30px 0}.body-media img{width:100%;height:auto}.body-media figcaption{font:10px/1.6 var(--mono);color:var(--muted);margin-top:12px}

p,li{text-wrap:pretty;widows:2;orphans:2}h1,h2,h3{text-wrap:balance}
