@font-face{font-family:Hanken;src:url('/assets/hanken-grotesk.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:DM;src:url('/assets/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--paper:#f4f2eb;--ink:#20211e;--muted:#66665f;--line:#c7c6bc;--accent:#8cc4d6;--accent-ink:#376277;--accent-soft:#d8e8ed;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent-ink);outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}button{cursor:pointer}button:disabled{cursor:default}.wrap{width:min(1600px,100%);margin:auto;padding:0 34px}.skip-link{position:absolute;left:20px;top:-70px;z-index:50;background:var(--ink);color:var(--paper);padding:12px}.skip-link:focus{top:10px}.meta{font-size:11px;font-weight:500;letter-spacing:.045em;text-transform:uppercase;line-height:1.45}.muted{color:var(--muted)}.dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:7px}.arrow{font-family:Arial,sans-serif;font-weight:400}.eyebrow{display:flex;justify-content:space-between;gap:12px;align-items:center}.topline{display:flex;align-items:center;justify-content:space-between;padding:20px 0 13px;border-bottom:1px solid var(--ink);gap:20px}.topline .identity{font-size:13px;letter-spacing:-.015em}.topline .edition{display:flex;gap:40px}.wordmark{display:flex;align-items:baseline;justify-content:space-between;font-family:Hanken,Arial,sans-serif;font-weight:650;font-size:clamp(70px,12.35vw,195px);line-height:.99;letter-spacing:-.075em;padding:15px 0 20px}.wordmark .brand-b{color:var(--accent);display:inline-block;transform:rotate(-8deg);transform-origin:50% 80%}.wordmark .studio{font-weight:360}.brand-star{color:var(--accent);height:.49em;width:.49em;align-self:center;margin-left:25px;flex:none;transition:transform .65s var(--ease)}.wordmark:hover .brand-star{transform:rotate(90deg)}.masthead-bottom{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.masthead-bottom p{font-size:13px}.site-nav{display:flex;gap:25px;align-items:center}.site-nav a{font-size:12px;position:relative}.site-nav a:after{content:'';position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-nav a:hover:after,.site-nav a[aria-current=page]:after{transform:scaleX(1)}.site-nav sup{font-size:8px;margin-left:4px;color:var(--accent-ink)}
.home-spread{display:grid;grid-template-columns:130px minmax(0,1fr);padding:28px 0 44px;gap:28px}.margin-note{border-right:1px solid var(--line);padding-right:20px;display:flex;flex-direction:column;justify-content:space-between}.margin-note .vertical-note{margin-top:48px;font-size:13px;max-width:12ch;line-height:1.35}.margin-note .issue-no{font-family:Hanken;font-size:44px;letter-spacing:-.06em;line-height:1;margin-top:50px}.margin-note .issue-no span{color:var(--accent)}.featured{display:grid;grid-template-columns:1.13fr 1fr;gap:28px}.feature{min-width:0;position:relative}.feature+.feature{border-left:1px solid var(--line);padding-left:28px}.feature h2{font-family:Hanken;font-size:clamp(35px,4.5vw,73px);font-weight:550;letter-spacing:-.065em;line-height:1.02;margin:12px 0 15px}.feature .wa-heading{display:flex;align-items:baseline;justify-content:space-between}.feature .wa-heading h2{font-size:clamp(48px,6vw,96px);line-height:.76}.wa-caption{font-family:Georgia,serif;font-size:clamp(15px,1.6vw,25px);font-style:italic;line-height:1.15;max-width:9ch;text-align:right;margin:0 0 12px 10px}.feature-media{overflow:hidden;background:#deddd5;position:relative;aspect-ratio:1.82}.feature-media img{height:100%;width:100%;object-fit:cover;transition:transform .85s var(--ease),filter .5s}.feature-media.wa-cover img{object-fit:cover}.feature a:hover .feature-media img{transform:scale(1.035)}.open-disc{position:absolute;right:12px;bottom:12px;width:44px;height:44px;background:var(--paper);border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .25s,transform .4s var(--ease)}.feature a:hover .open-disc{background:var(--accent);color:var(--ink);transform:rotate(45deg)}.feature-copy{padding-top:15px;display:grid;grid-template-columns:1fr 30px;gap:10px}.feature-copy h3{font-size:19px;font-weight:500;letter-spacing:-.035em;line-height:1.2}.feature-copy p{font-size:13px;line-height:1.55;color:var(--muted);margin-top:8px;max-width:45ch}.feature-copy .arrow{font-size:26px}.feature-end{margin-top:20px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px}.focus-heading{margin-bottom:20px}.focus-heading .meta{color:var(--muted)}
.thought-strip{background:var(--accent);color:var(--ink);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.thought-strip p{font-family:Hanken;font-size:clamp(22px,3.1vw,46px);letter-spacing:-.045em;line-height:1.15}.thought-strip .meta{max-width:20ch;flex-shrink:0}.thought-strip .small-star{width:40px;height:40px;flex-shrink:0}.index-section{padding:54px 0 60px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:28px}.index-intro{font-size:13px;line-height:1.45}.index-intro .meta{margin-bottom:18px}.index-intro p{color:var(--muted);max-width:13ch}.project-index{border-top:1px solid var(--ink)}.index-row{display:grid;grid-template-columns:40px 1fr 155px 35px;align-items:center;gap:18px;padding:23px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .35s var(--ease),color .3s}.index-row:hover{padding-left:12px;color:var(--accent-ink)}.index-row h3{font-family:Hanken;font-size:clamp(24px,3.1vw,44px);line-height:1.1;font-weight:500;letter-spacing:-.045em}.index-row .arrow{font-size:32px;text-align:right;transition:transform .35s var(--ease)}.index-row:hover .arrow{transform:rotate(45deg)}.index-row .index-category{font-size:11px;color:var(--muted)}.index-number{font-size:11px;color:var(--muted);align-self:start;padding-top:8px}.preview-float{position:fixed;width:220px;height:155px;z-index:20;pointer-events:none;object-fit:cover;opacity:0;transform:translate(-50%,-50%) rotate(-5deg) scale(.94);transition:opacity .18s,transform .4s var(--ease);border:7px solid var(--paper);box-shadow:0 15px 40px #0002}.preview-float.visible{opacity:1;transform:translate(-50%,-50%) rotate(-5deg) scale(1)}
.about-teaser{border-top:1px solid var(--ink);padding:30px 0 65px;display:grid;grid-template-columns:130px minmax(0,1fr) 160px;gap:28px}.about-teaser .big-intro{font-family:Hanken;font-size:clamp(27px,3.8vw,55px);letter-spacing:-.045em;line-height:1.16;max-width:24ch}.about-teaser .big-intro em{font-family:Georgia,serif;font-weight:400}.about-teaser .teaser-link{align-self:end}.text-link{display:inline-flex;gap:18px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:7px 0;font-size:13px;transition:color .2s,border-color .2s}.text-link:hover{color:var(--accent-ink);border-color:var(--accent-ink)}.footer{border-top:1px solid var(--ink);padding:20px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px}.footer-links{display:flex;gap:25px}.motion-toggle{background:none;border:0;padding:0;font-size:11px;text-align:left}.motion-toggle:before{content:'';display:inline-block;border-radius:50%;background:var(--accent);width:6px;height:6px;margin-right:7px}.motion-toggle[aria-pressed=false]:before{background:var(--muted)}
.compact-header{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid var(--ink);gap:20px}.compact-brand{font-family:Hanken;font-size:27px;font-weight:600;letter-spacing:-.06em;line-height:1}.compact-brand span{color:var(--accent)}.article-topline{display:flex;justify-content:space-between;align-items:center;padding:30px 0 0;gap:20px}.back-link{font-size:12px}.back-link .arrow{margin-right:14px}.article-title{font-family:Hanken;font-weight:500;font-size:clamp(59px,9.9vw,150px);letter-spacing:-.065em;line-height:.94;margin:38px 0 35px;max-width:15ch}.article-title .accent{color:var(--accent-ink)}.article-title.short{font-size:clamp(94px,15vw,220px);max-width:none}.article-deck{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--line);padding:24px 0 40px}.project-meta{display:grid;grid-template-columns:90px 1fr;align-content:start;gap:8px 16px;font-size:11px}.project-meta dt{color:var(--muted)}.project-meta dd{margin:0}.deck-copy{font-family:Hanken;font-size:clamp(23px,2.6vw,38px);letter-spacing:-.025em;line-height:1.25;max-width:32ch}.article-hero{position:relative}.article-hero>img{width:100%;max-height:760px;object-fit:cover}.article-hero .hero-caption{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;padding:10px 0;gap:20px}.image-button{display:block;padding:0;border:0;width:100%;background:none;text-align:left;position:relative}.image-button:after{content:'↗';position:absolute;right:15px;bottom:15px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:20px;opacity:0;transition:opacity .2s}.image-button:hover:after,.image-button:focus-visible:after{opacity:1}.image-button img{width:100%}.article-section{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:65px 0;border-top:1px solid var(--line);margin-top:34px}.section-label{display:flex;flex-direction:column;gap:18px}.section-number{font-family:Hanken;font-size:clamp(45px,6vw,90px);line-height:1;font-weight:400;letter-spacing:-.07em}.section-label h2{font-size:13px;line-height:1.4;font-weight:500}.prose{max-width:710px}.prose h3{font-family:Hanken;font-size:clamp(26px,3vw,43px);font-weight:500;letter-spacing:-.04em;line-height:1.12;margin:0 0 22px}.prose p{font-size:17px;line-height:1.7;max-width:64ch;margin:0 0 20px}.prose p:last-child{margin-bottom:0}.prose .text-link{margin-top:10px}.figure-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:15px 0 55px}.figure-pair img{width:100%;aspect-ratio:4/5;object-fit:cover}.figure-pair .fit img{object-fit:contain;background:#ebe9e2}.caption{display:flex;justify-content:space-between;gap:16px;font-size:11px;line-height:1.45;color:var(--muted);margin-top:11px}.editorial-quote{padding:52px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-family:Hanken;font-size:clamp(35px,5.4vw,80px);font-weight:400;letter-spacing:-.045em;line-height:1.07;max-width:100%}.editorial-quote em{font-family:Georgia,serif;color:var(--accent-ink);font-weight:400}.wide-figure{margin:25px 0 55px}.wide-figure img{width:100%;max-height:780px;object-fit:cover}.next-project{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--ink);padding:30px 0 70px}.next-project h2{font-family:Hanken;font-size:clamp(37px,6vw,90px);font-weight:500;line-height:1.05;letter-spacing:-.06em;max-width:15ch;margin-top:20px}.next-project .next-arrow{font-size:85px;color:var(--accent-ink);transition:transform .45s var(--ease)}.next-project:hover .next-arrow{transform:translateX(10px)}.video-cover{background:#c9dce6;position:relative;aspect-ratio:16/9;overflow:hidden}.video-cover img{width:100%;height:100%;object-fit:cover}.video-launch{border:0;background:none;padding:0;display:block;width:100%;height:100%}.play-control{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--ink);font-size:23px;transition:scale .4s var(--ease)}.video-launch:hover .play-control{scale:1.08}.video-cover iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-help{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;padding:11px 0;gap:15px}.film-list{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:25px 0 55px}.film{border-top:1px solid var(--ink);padding-top:14px}.film h3{font-family:Hanken;font-weight:500;font-size:28px;letter-spacing:-.035em;line-height:1.15;margin:15px 0 8px}.film p{font-size:13px;line-height:1.55;color:var(--muted);max-width:47ch}.film .video-cover{margin-top:14px}.film .play-control{width:60px;height:60px;font-size:17px}.research-cover{background:var(--accent-soft);padding:35px;min-height:350px;display:flex;flex-direction:column;justify-content:space-between}.research-cover .numbers{font-family:Hanken;font-weight:500;font-size:clamp(88px,16vw,240px);letter-spacing:-.08em;line-height:1.05;display:flex;gap:5vw;align-items:baseline}.research-cover .numbers small{font-size:12px;letter-spacing:0;text-transform:uppercase;display:block;line-height:1.4}.research-cover .numbers .plus{font-size:.3em;font-weight:300;align-self:center}.research-cover>p{font-size:12px;max-width:60ch;margin-top:24px}.finding-list{padding:0;margin:0;list-style:none}.finding-list li{border-top:1px solid var(--line);padding:20px 0}.finding-list li strong{display:block;font-size:19px;font-weight:500;margin-bottom:8px}.finding-list li p{font-size:15px}.water-cover{background:var(--accent-soft);padding:34px;min-height:400px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:space-between}.water-cover .water-word{font-family:Hanken;font-size:clamp(90px,18vw,270px);font-weight:500;letter-spacing:-.075em;line-height:1}.water-cover .water-word span{display:inline-block}.water-cover .water-word span:nth-child(2){font-family:Georgia,serif;font-style:italic;color:var(--accent-ink)}.water-cover .water-notes{display:flex;justify-content:space-between;font-size:12px;position:relative;z-index:1}.post-links{list-style:none;padding:0;margin:25px 0 0}.post-links li{border-top:1px solid var(--line)}.post-links a{display:flex;justify-content:space-between;gap:20px;font-size:15px;padding:18px 0}.post-links a:hover{color:var(--accent-ink)}.ddp-cover{display:grid;grid-template-columns:1fr 1fr;gap:25px;background:#e8e5dc;padding:35px}.ddp-cover img{width:100%;height:620px;object-fit:contain}.ddp-cover img:last-child{object-fit:cover}.about-layout{padding:60px 0 80px;display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.about-mix{aspect-ratio:1;background:var(--accent);display:grid;place-items:center;position:relative;overflow:hidden}.about-mix .mix-b{font-family:Hanken;font-size:clamp(140px,30vw,440px);font-weight:750;letter-spacing:-.06em;line-height:1;color:var(--ink);transform:rotate(-10deg)}.about-mix .mix-caption{position:absolute;bottom:25px;left:25px;color:var(--ink)}.about-layout .prose{align-self:center}.about-layout h2{font-family:Hanken;font-size:54px;font-weight:450;line-height:1.05;letter-spacing:-.06em;margin-bottom:25px}.contact-block{margin-top:35px;display:flex;gap:30px}.reading-progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);z-index:40;width:0;transition:width .1s linear}
.lightbox{border:0;padding:55px 35px 25px;max-width:96vw;width:1200px;background:var(--paper);color:var(--ink);max-height:94vh}.lightbox::backdrop{background:#161812df}.lightbox img{width:100%;height:calc(85vh - 90px);object-fit:contain}.lightbox p{font-size:12px;margin-top:12px}.lightbox-close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:13px;padding:8px}.reveal{transition:opacity .7s var(--ease),transform .8s var(--ease)}.js.motion-on .reveal:not(.in-view){opacity:0;transform:translateY(22px)}.js.motion-on .intro-reveal{animation:title-in .9s var(--ease) both}.js.motion-on .intro-reveal:nth-child(2){animation-delay:.09s}.motion-on .brand-b{animation:brand-settle 1.1s var(--ease) both}.motion-on .small-star{animation:star-turn 1.5s var(--ease) 1}.motion-on .water-cover .water-word span{animation:water-bob 4s ease-in-out 1}.motion-on .water-cover .water-word span:nth-child(2){animation-delay:.2s}.motion-on .water-cover .water-word span:nth-child(3){animation-delay:.4s}@keyframes title-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-settle{from{transform:rotate(13deg) translateY(-10px)}to{transform:rotate(-8deg) translateY(0)}}@keyframes star-turn{from{transform:rotate(-120deg)}to{transform:rotate(0)}}@keyframes water-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.motion-off *,.motion-off *::before,.motion-off *::after,.motion-off *::backdrop{animation:none!important;transition:none!important}.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off .preview-float{display:none}html:has(.motion-off){scroll-behavior:auto}
@media(min-width:1450px){.home-spread,.index-section{grid-template-columns:155px minmax(0,1fr)}.home-spread{padding-top:34px}.feature-media{aspect-ratio:1.8}.about-teaser{grid-template-columns:155px minmax(0,1fr) 180px}}
@media(max-width:1000px){.wrap{padding:0 24px}.topline .edition{gap:18px}.home-spread{grid-template-columns:80px minmax(0,1fr);gap:20px}.margin-note{padding-right:12px}.margin-note .vertical-note{font-size:11px}.featured{gap:20px}.feature+.feature{padding-left:20px}.feature h2{font-size:4.8vw}.feature .wa-heading h2{font-size:7vw}.feature-copy h3{font-size:17px}.feature-copy p{font-size:12px}.index-section{grid-template-columns:80px minmax(0,1fr);gap:20px}.index-row{grid-template-columns:25px 1fr 130px 25px;gap:12px}.about-teaser{grid-template-columns:80px 1fr;gap:20px}.about-teaser .teaser-link{grid-column:2}.article-deck,.article-section{grid-template-columns:1fr 2fr;gap:28px}.project-meta{grid-template-columns:65px 1fr;gap:8px}.ddp-cover img{height:500px}.about-layout{gap:35px}.about-layout h2{font-size:42px}}
@media(max-width:700px){.wrap{padding:0 18px}.topline{padding:15px 0 10px;gap:10px}.topline .edition .location{display:none}.topline .identity{font-size:11px}.meta{font-size:10px}.wordmark{font-size:13.4vw;padding:18px 0 20px;letter-spacing:-.065em}.brand-star{margin-left:10px;width:.45em;height:.45em}.masthead-bottom{align-items:flex-start;padding:11px 0}.masthead-bottom p{font-size:11px;max-width:22ch;line-height:1.3}.site-nav{gap:15px}.site-nav a{font-size:11px}.home-spread{display:block;padding:20px 0 30px}.margin-note{display:none}.featured{grid-template-columns:1fr;gap:32px}.feature+.feature{border-left:0;border-top:1px solid var(--ink);padding:24px 0 0}.feature h2{font-size:11.7vw;margin-top:13px}.feature .wa-heading h2{font-size:19vw;margin-bottom:15px}.wa-caption{font-size:22px;max-width:none}.feature-media{aspect-ratio:1.82}.feature-copy{padding-top:13px}.feature-copy h3{font-size:20px}.feature-copy p{font-size:13px}.feature-end{margin-top:17px}.focus-heading{margin-bottom:18px}.thought-strip{padding:22px 18px;gap:20px}.thought-strip p{font-size:26px;max-width:17ch}.thought-strip .meta{display:none}.thought-strip .small-star{width:36px}.index-section{display:block;padding:35px 0 42px}.index-intro{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.index-intro .meta{margin-bottom:0}.index-intro p{max-width:23ch;font-size:11px}.index-row{grid-template-columns:25px 1fr 22px;gap:10px;padding:22px 0}.index-row h3{font-size:27px}.index-row .index-category{grid-column:2;grid-row:2;margin-top:-4px}.index-row .arrow{grid-column:3;grid-row:1/3;font-size:27px}.index-row .index-number{padding-top:5px}.about-teaser{display:block;padding:24px 0 40px}.about-teaser .meta{margin-bottom:20px}.about-teaser .big-intro{font-size:35px;max-width:21ch}.about-teaser .teaser-link{margin-top:25px}.footer{flex-wrap:wrap;gap:16px;font-size:10px}.footer-links{gap:17px}.motion-toggle{font-size:10px}.compact-header{padding:20px 0;gap:15px}.compact-brand{font-size:23px}.compact-header .site-nav{gap:15px}.article-topline{padding-top:24px}.article-title{font-size:14.3vw;line-height:.96;margin:32px 0;max-width:15ch;overflow-wrap:normal}.article-title.short{font-size:23vw}.article-deck{grid-template-columns:1fr;gap:27px;padding:22px 0 28px}.project-meta{grid-template-columns:85px 1fr;font-size:11px;max-width:360px}.deck-copy{font-size:25px;max-width:28ch}.article-section{grid-template-columns:1fr;gap:26px;padding:35px 0;margin-top:25px}.section-label{flex-direction:row;gap:20px;align-items:baseline}.section-number{font-size:40px}.section-label h2{font-size:12px}.prose h3{font-size:31px;margin-bottom:18px}.prose p{font-size:16px;line-height:1.65}.figure-pair{gap:16px;margin-bottom:35px}.figure-pair img{aspect-ratio:3/4}.caption{font-size:10px;gap:10px}.editorial-quote{font-size:38px;padding:32px 0}.wide-figure{margin-bottom:35px}.next-project{padding:25px 0 45px;gap:20px}.next-project h2{font-size:38px}.next-project .next-arrow{font-size:50px}.play-control{width:62px;height:62px;font-size:19px}.film-list{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.film h3{font-size:25px}.research-cover{padding:22px;min-height:290px}.research-cover .numbers{font-size:25vw;gap:7vw}.research-cover .numbers small{font-size:10px}.research-cover>p{font-size:11px}.water-cover{min-height:285px;padding:22px}.water-cover .water-word{font-size:23vw}.water-cover .water-notes{font-size:10px}.ddp-cover{padding:18px;gap:15px}.ddp-cover img{height:280px}.about-layout{grid-template-columns:1fr;padding:35px 0 50px;gap:35px}.about-mix{max-width:380px}.about-mix .mix-b{font-size:75vw}.about-layout h2{font-size:41px}.lightbox{padding:50px 12px 20px}.lightbox img{height:65vh}.preview-float{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js.motion-on .reveal:not(.in-view){opacity:1;transform:none}.preview-float{display:none}}
/* Portfolio revision: closer wordmark, process imagery and exhibition journal. */
.wordmark{justify-content:flex-start;gap:.13em}.wordmark .brand-star{margin-left:auto}.compact-brand{white-space:nowrap}
.process-pair{display:grid;grid-template-columns:.85fr 1.5fr;gap:28px;align-items:start;margin:10px 0 65px}.process-pair img{width:100%;height:auto}.process-pair .caption{font-size:12px;line-height:1.6}.process-pair .caption>span:last-child{white-space:nowrap;color:var(--accent-ink)}
.exhibition-gallery{margin:20px 0 65px;min-width:0}.gallery-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;border-top:1px solid var(--ink);padding-top:24px;margin-bottom:24px}.gallery-heading h3{font-family:Hanken;font-size:clamp(28px,3.2vw,46px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin-top:10px}.gallery-controls{display:flex;gap:9px;align-items:center;flex-shrink:0}.gallery-count{font-size:12px;font-variant-numeric:tabular-nums;min-width:75px;margin-right:12px}.gallery-controls button{border:1px solid var(--ink);width:43px;height:43px;background:transparent;border-radius:50%;font-size:21px;transition:background .2s,color .2s}.gallery-controls button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--ink)}.gallery-controls button:disabled{opacity:.28}.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/2);gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior-x:contain;padding-bottom:16px}.gallery-track:focus-visible{outline:2px solid var(--accent-ink);outline-offset:5px}.gallery-slide{min-width:0;scroll-snap-align:start}.gallery-slide .image-button{background:#eae8e0}.gallery-slide img{height:620px;height:min(70vh,640px);width:100%;object-fit:contain}.gallery-slide figcaption{display:grid;grid-template-columns:45px 1fr;gap:14px;padding:16px 0}.gallery-slide h4{font-family:Hanken;font-weight:550;font-size:22px;line-height:1.2;letter-spacing:-.03em;margin:0 0 7px}.gallery-slide p{font-size:13px;line-height:1.6;color:var(--muted);max-width:50ch}.gallery-slide figcaption>.meta{padding-top:5px;color:var(--accent-ink)}.gallery-hint{color:var(--muted);margin-top:12px}
.article-read-link{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:21px 25px;margin-bottom:28px;border:1px solid var(--ink);transition:background .2s}.article-read-link strong{display:block;font-family:Hanken;font-size:28px;font-weight:500;line-height:1.25;letter-spacing:-.025em;margin-top:7px}.article-read-link .arrow{font-size:34px;color:var(--accent-ink)}.article-read-link:hover{background:var(--accent-soft)}
body:has(dialog[open]){overflow:hidden}
@media(max-width:700px){.process-pair{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.process-pair .caption{font-size:11px}.gallery-heading{align-items:start;flex-direction:column;gap:18px}.gallery-controls{width:100%;justify-content:flex-end}.gallery-count{margin-right:auto}.gallery-track{grid-auto-columns:100%;gap:18px}.gallery-slide img{height:490px;height:min(65vh,560px)}.gallery-slide h4{font-size:22px}.gallery-slide figcaption{grid-template-columns:40px 1fr;gap:12px}.exhibition-gallery{margin-bottom:40px}.article-read-link{padding:19px}.article-read-link strong{font-size:25px}}

.article-read-link strong small{font-family:DM,sans-serif;font-size:12px;letter-spacing:0;color:var(--muted);margin-left:12px;white-space:nowrap}.publication-credit{font-size:12px;line-height:1.7;color:var(--muted);margin:-12px 0 30px}.publication-credit a{border-bottom:1px solid var(--line)}
/* Give the two lead projects equal visual weight and matching image baselines. */
@media(min-width:701px){
  .featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:stretch}
  .feature+.feature{border-left:0;padding-left:0}
  .feature+.feature::before{content:'';position:absolute;left:-28px;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}
  .feature>a{display:grid;grid-template-rows:32px clamp(95px,8vw,130px) auto 1fr auto;height:100%}
  .feature>a>.eyebrow{align-self:start}
  .feature h2{margin:0;display:flex;align-items:center}
  .feature .wa-heading{align-items:center}
  .feature .wa-heading h2{margin:0}
  .feature .wa-caption{margin:0 0 0 12px}
}

/* Journal motion: short page transitions and a measured reading rhythm. */
::view-transition-group(root){animation-duration:.36s}
::view-transition-old(root){animation:journal-page-out .22s ease both}
::view-transition-new(root){animation:journal-page-in .36s var(--ease) both}
@keyframes journal-page-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes journal-page-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
html.has-page-transition .intro-reveal{animation:none!important}
html[data-motion=off]::view-transition-group(*),html[data-motion=off]::view-transition-old(*),html[data-motion=off]::view-transition-new(*){animation:none!important}

.reveal{transition:opacity .65s var(--ease),transform .8s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.js.motion-on .reveal:not(.in-view){transform:translateY(28px)}
.motion-on .article-section .section-label,.motion-on .article-section .prose{transition:opacity .7s var(--ease),transform .8s var(--ease)}
.motion-on .article-section .prose{transition-delay:90ms}
.js.motion-on .article-section:not(.in-view) .section-label{opacity:0;transform:translateY(10px)}
.js.motion-on .article-section:not(.in-view) .prose{opacity:0;transform:translateY(22px)}
.editorial-quote em{background-image:linear-gradient(var(--accent-soft),var(--accent-soft));background-repeat:no-repeat;background-position:0 95%;background-size:0 .17em;transition:background-size .95s var(--ease) .2s;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.editorial-quote.in-view em{background-size:100% .17em}
.motion-on .thought-strip .small-star{animation:none;transform:rotate(-65deg);transition:transform 1.1s var(--ease) .1s}
.motion-on .thought-strip.in-view .small-star{transform:rotate(0)}
.next-project{position:relative;isolation:isolate}
.next-project:before{content:'';position:absolute;inset:0 -15px;z-index:-1;background:var(--accent-soft);transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease)}
.next-project:is(:hover,:focus-visible):before{transform:scaleY(1)}
.next-project h2{transition:transform .45s var(--ease)}
.next-project:is(:hover,:focus-visible) h2{transform:translateX(10px)}
.lightbox[open]{animation:journal-dialog-in .3s var(--ease)}
.lightbox[open]::backdrop{animation:journal-backdrop-in .25s ease}
@keyframes journal-dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes journal-backdrop-in{from{opacity:0}to{opacity:1}}

.reading-progress{width:100%;transform:scaleX(0);transform-origin:left;transition:transform .12s linear}
.article-section{scroll-margin-top:100px}
#main:focus,.article-section:focus{outline:none}
.chapter-bar{position:fixed;top:15px;left:50%;transform:translate(-50%,-12px);z-index:35;display:flex;align-items:center;gap:22px;width:min(640px,calc(100% - 36px));padding:8px 14px 8px 20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 4px 22px #20211e0c;opacity:0;visibility:hidden;transition:opacity .25s,transform .35s var(--ease),visibility .25s}
.chapter-bar.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.chapter-name{font-size:11px;letter-spacing:.025em;text-transform:uppercase;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chapter-links{display:flex;gap:5px}
.chapter-links a,.chapter-top{display:grid;place-items:center;min-width:36px;height:36px;font-size:11px;position:relative;transition:background .2s,color .2s}
.chapter-links a:after{content:'';position:absolute;left:7px;right:7px;bottom:2px;height:2px;background:var(--accent-ink);transform:scaleX(0);transition:transform .3s var(--ease)}
.chapter-links a[aria-current]{background:var(--accent-soft);color:var(--accent-ink)}
.chapter-links a[aria-current]:after{transform:scaleX(1)}
.chapter-links a:hover,.chapter-top:hover{background:var(--accent)}
.chapter-top{font-size:20px;border-left:1px solid var(--line)}
.chapter-bar a:focus-visible{outline-offset:2px}
.gallery-pagination{display:flex;gap:8px;padding:0 0 3px}
.gallery-pagination button{position:relative;flex:1;border:0;background:transparent;min-width:0;height:32px;padding:0}
.gallery-pagination button:before,.gallery-pagination button:after{content:'';position:absolute;top:14px;left:0;right:0;height:3px;background:var(--line)}
.gallery-pagination button:after{background:var(--accent-ink);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.gallery-pagination button.is-visible:after,.gallery-pagination button:hover:after{transform:scaleX(1)}
.gallery-pagination button:focus-visible{outline-offset:0}
.social-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px;margin:0 0 60px}
.social-sample{min-width:0}
.social-sample .image-button{aspect-ratio:3/2;overflow:hidden;background:var(--accent-soft)}
.social-sample .image-button img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;transition:transform .65s var(--ease)}
.social-sample .image-button:is(:hover,:focus-visible) img{transform:scale(1.015)}
.social-sample figcaption{padding-top:17px;border-top:1px solid var(--line);margin-top:13px}
.social-sample .meta{color:var(--accent-ink)}
.social-sample h3{font-family:Hanken;font-size:clamp(25px,2.7vw,38px);font-weight:500;line-height:1.12;letter-spacing:-.035em;margin:13px 0 12px}
.social-sample figcaption p{font-size:14px;line-height:1.7;color:var(--muted);max-width:58ch}
@media(min-width:701px){.social-sample:nth-child(even){--reveal-delay:100ms}}
@media(max-width:700px){.social-samples{grid-template-columns:1fr;gap:34px;margin-bottom:38px}.social-sample h3{font-size:29px}.social-sample figcaption p{font-size:13px}}

@media(min-width:701px){.featured .feature:nth-child(2),.figure-pair>.reveal:nth-child(2),.process-pair>.reveal:nth-child(2),.film-list>.reveal:nth-child(2){--reveal-delay:100ms}}
@media(max-width:700px){.chapter-bar{top:10px;padding:6px 8px 6px 12px;gap:8px}.chapter-name{font-size:9px}.chapter-links{gap:1px}.chapter-links a,.chapter-top{min-width:32px;height:36px}.article-section{scroll-margin-top:88px}.next-project:before{inset:0 -8px}}
.motion-off .article-section .section-label,.motion-off .article-section .prose{opacity:1!important;transform:none!important}
.motion-off .editorial-quote em{background-size:100% .17em}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
  .article-section .section-label,.article-section .prose{opacity:1!important;transform:none!important}
  .editorial-quote em{background-size:100% .17em}
}

/* A compact production-company note, following Seoyoon's project. */
.production-partner .partner-locations{font-size:11px;letter-spacing:.045em;color:var(--accent-ink);margin-bottom:15px}
.partner-work-heading{display:flex;justify-content:space-between;gap:12px;padding-top:28px;margin-top:28px;border-top:1px solid var(--line)}
.partner-work-heading h4{margin:0}.partner-work-heading>span{color:var(--muted);text-align:right}
.partner-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}
.partner-work{display:block;min-width:0}
.partner-thumbnail{aspect-ratio:16/9;overflow:hidden;background:var(--accent-soft)}
.partner-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.partner-work:is(:hover,:focus-visible) img{transform:scale(1.04)}
.partner-artist{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;line-height:1.4;margin-top:12px}
.partner-artist .arrow{color:var(--accent-ink)}
.partner-work h5{font-family:Hanken;font-size:15px;font-weight:500;letter-spacing:-.02em;line-height:1.3;margin:6px 0 8px}
.partner-category{display:block;font-size:10px;line-height:1.5;color:var(--muted)}
.production-partner .partner-credit{font-size:10px;line-height:1.6;color:var(--muted);margin:22px 0 0}
@media(max-width:1000px){.partner-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
@media(max-width:700px){.partner-work-heading{flex-direction:column;gap:5px}.partner-work-heading>span{text-align:left}}

.series-facts{margin:28px 0 18px;border-top:1px solid var(--line);font-size:13px}
.series-facts>div{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.series-facts dt{color:var(--muted)}.series-facts dd{margin:0}
.prose .series-source{font-size:11px;color:var(--muted)}.series-source a{border-bottom:1px solid var(--line)}
.series-release{margin:0 0 60px}.series-release .image-button{background:#090b0d}.series-release img{max-height:700px;object-fit:contain}.series-release>.text-link{margin-top:15px}
.coverage-journal{border-top:1px solid var(--line);padding:30px 0 35px}
.coverage-heading{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:start;margin-bottom:30px}
.coverage-heading h3{font-family:Hanken;font-size:clamp(25px,3vw,40px);font-weight:500;line-height:1.12;letter-spacing:-.04em}
.coverage-heading>p:last-child{font-size:14px;line-height:1.7;color:var(--muted);max-width:48ch}
.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.coverage-grid>article{min-width:0}.coverage-grid .image-button{height:auto;aspect-ratio:16/10;background:#fff;border:1px solid var(--line)}
.coverage-grid img{height:100%;width:100%;object-fit:contain}
.coverage-grid .caption{display:block;min-height:54px}.coverage-grid .caption>span{display:block}.coverage-grid .caption>span+span{margin-top:5px}
.coverage-source{padding-top:14px;border-top:1px solid var(--line);margin-top:16px}.coverage-source h4{font-family:Hanken;font-size:25px;font-weight:500;letter-spacing:-.025em;line-height:1.2;margin:0 0 5px}.coverage-source>.meta{color:var(--muted);display:block}.coverage-source .text-link{margin-top:12px}
@media(max-width:700px){.series-facts>div{grid-template-columns:75px 1fr;gap:12px}.series-release{margin-bottom:35px}.coverage-heading{grid-template-columns:1fr;gap:16px}.coverage-grid{grid-template-columns:1fr;gap:32px}.coverage-grid .caption{min-height:0}}

/* Draw project navigation as vectors so iOS cannot substitute an emoji. */
.index-row{grid-template-columns:40px minmax(0,1fr) 155px 44px}
.index-row .index-action{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #b6d2dc;background:var(--accent-soft);color:var(--accent-ink);transform:none;transition:background .25s,border-color .25s,color .25s}
.index-action svg{display:block;width:21px;height:21px;transition:transform .3s var(--ease)}
.index-row:is(:hover,:focus-visible,:active) .index-action{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:none}
.index-row:is(:hover,:focus-visible) .index-action svg{transform:translate(2px,-2px)}
@media(max-width:1000px){.index-row{grid-template-columns:25px minmax(0,1fr) 130px 44px}}
@media(max-width:700px){.index-row{grid-template-columns:25px minmax(0,1fr) 40px}.index-row .index-action{width:40px;height:40px}.index-action svg{width:20px;height:20px}}
