:root{--paper:#fbfaf7;--ink:#10213e;--muted:#5d6c7c;--green:#315e7a;--blue:#6e91b3;--wash:#e7edf0;--line:#a2b3c2;--line-strong:#6b87a0}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:22px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}img{display:block;max-width:100%;height:auto}p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.5}p{overflow-wrap:anywhere}a,button,input{touch-action:manipulation}:focus-visible{outline:3px solid #315e7a;outline-offset:5px}[hidden]{display:none!important}
.site-content{margin-left:166px}.wrap{width:calc(100% - 80px);max-width:1360px;margin-inline:auto}.muted,.small,.caption{color:var(--muted)}.small,.caption{font-size:12px}.caption{margin-top:12px}.eyebrow{font-size:12px;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:0;left:12px;z-index:50;transform:translateY(-130%);background:var(--ink);color:#fff;padding:9px 16px}.skip:focus{transform:translateY(0)}
.preview-notice{margin-left:166px;text-align:right;padding:1px 40px;font-size:9px;line-height:1.5;color:var(--muted)}
.sidebar{position:fixed;inset:12px auto 20px 0;width:166px;display:flex;flex-direction:column;align-items:center;padding:28px 16px 12px;border-right:1px solid var(--line-strong);z-index:10;background:var(--paper)}
.wordmark{display:flex;flex-direction:column;align-items:center;font-family:Arial,"Helvetica Neue",sans-serif;font-size:26px;letter-spacing:-1px;font-weight:800;line-height:1.2}.brand-art{width:80px;height:67px}.wordmark>span{display:block}
.desktop-nav{width:100%;display:grid;gap:20px;margin-top:104px}.desktop-nav a{display:flex;align-items:center;gap:14px;min-height:48px;padding:10px 16px;border-radius:28px;font-size:16px;line-height:1.5;font-weight:650;white-space:nowrap}
.desktop-nav a:before{content:"";width:17px;height:17px;border:2px solid var(--ink);border-radius:50%;flex:none}.desktop-nav a[aria-current=page]{color:#fff;background:var(--ink)}.desktop-nav a[aria-current=page]:before{border-color:#fff;background:#fff}.desktop-nav a:hover{background:#e4eaf0}.desktop-nav a[aria-current=page]:hover{background:#29425f}
.corner-art{width:84px;height:244px;margin-top:auto;align-self:center}.menu-toggle{display:none}
.page-head{height:208px;display:flex;gap:30px;align-items:center;position:relative}.heading-title{position:relative;flex:none}.page-head h1{font-size:clamp(70px,7.8vw,120px);font-weight:850;letter-spacing:-.055em;line-height:1.1}.title-strokes{position:absolute;top:-24px;right:-42px;width:58px;height:58px}
.heading-rule{height:1px;background:var(--ink);flex:1;align-self:flex-end;margin-bottom:68px;min-width:30px}.heading-art{width:32%;max-width:390px;height:190px;flex:none}
.works-section{padding-bottom:22px}.work-filters{display:flex;flex-wrap:wrap;gap:15px;margin:-30px 0 22px 15px;position:relative;z-index:1}.work-filters button{min-height:42px;min-width:108px;padding:6px 24px;border:1px solid var(--ink);border-radius:24px;background:transparent;font-size:16px;font-weight:650;line-height:1.5}.work-filters button[aria-pressed=true]{background:var(--ink);color:#fff}.work-filters button:hover{background:#dfe7ed}.work-filters button[aria-pressed=true]:hover{background:#29425f}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:stretch}.project-card{min-width:0;position:relative;overflow:hidden;border-radius:18px;background:#d9e3eb;min-height:278px}.project-card.wide{grid-column:1/-1;min-height:328px}.wallpaper-card{background:#c4d7e5}.album-card{background:#e7e6e2}.project-card-link,.project-card-surface{display:flex;position:relative;min-height:inherit;height:100%;padding:42px 25px 26px;isolation:isolate}
.project-copy{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;width:51%;min-width:0;gap:16px}.project-card h2{font-size:clamp(23px,2.1vw,34px);line-height:1.45;font-weight:800;letter-spacing:-.055em;overflow-wrap:anywhere}.project-card.wide h2{font-size:clamp(32px,3.3vw,48px)}
.status-badge{display:inline-flex;align-items:center;gap:11px;background:#e7f3ee;border-radius:24px;padding:6px 15px;font-size:15px;font-weight:700;line-height:1.7;white-space:nowrap}.status-badge>span{width:15px;height:15px;border-radius:50%;background:#438b80;flex:none}.status-badge.archive{background:#fff4e4}.status-badge.archive>span{background:#cda774}
.project-card-more{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-top:auto;background:#fff;border-radius:50%;font-size:34px;font-family:Arial,sans-serif;line-height:1;flex:none}
.project-shot{position:absolute;right:-12px;top:42px;width:60%;height:calc(100% - 42px);overflow:hidden;border:8px solid #fff;border-bottom:0;border-right:0;border-radius:15px 0 0 0;background:#fff;z-index:2;transform:translateY(0);transition:transform .2s}.project-shot img{width:142%;max-width:none;height:auto}
.card-art{position:absolute;inset:0;width:100%;height:100%;z-index:1}.archive-art{position:absolute;right:-10px;bottom:-2px;width:65%;height:calc(100% - 10px);z-index:1}.album-art{width:72%;height:100%}.project-card-link:hover .project-shot{transform:translateY(-5px)}.project-card-link:hover .project-card-more{background:#eff5f7}.project-card-link:focus-visible{outline:3px solid #315e7a;outline-offset:-5px;border-radius:18px}
.project-grid[data-mode=archive] .wide{grid-column:auto;min-height:278px}.project-grid[data-mode=archive] .wide h2{font-size:clamp(23px,2.1vw,34px)}.project-grid[data-mode=archive] .album-art{width:82%;right:-35%}
.contact-section{border-top:1px solid var(--line-strong);padding-block:20px 8px;scroll-margin-top:20px}.contact-email{display:inline-flex;align-items:center;min-height:48px;gap:17px;font-size:18px;line-height:1.7;font-weight:550;max-width:100%}.contact-address{min-width:0;overflow-wrap:anywhere}.mail-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:50%;background:#e9eef1;font-size:23px;font-weight:400;line-height:1}.contact-email:hover .contact-address{text-decoration:underline;text-underline-offset:5px}.contact-email:focus-visible{outline:3px solid #315e7a;outline-offset:5px}
.footer{display:flex;justify-content:flex-end;padding-block:0 14px;color:var(--muted);font-size:10px}.footer small{font-size:10px}
.text-link{display:inline-flex;align-items:center;min-height:40px;gap:12px;font-size:12px;text-decoration:underline;text-underline-offset:5px}
.article-row{display:grid;grid-template-columns:110px minmax(0,1fr) 24px;gap:25px;align-items:center;border-top:1px solid var(--line);padding:25px 0}.article-row:last-child{border-bottom:1px solid var(--line)}.article-row h3{font-size:20px;line-height:1.8}.article-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--muted);line-height:1.8}.row-arrow{font-size:25px;color:var(--green)}.article-row:hover h3{text-decoration:underline;text-underline-offset:5px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;padding-top:25px;font-size:10px;color:var(--muted)}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.case-head{padding-block:33px 31px}.case-head h1{font-size:34px;font-weight:500}.lead{font-size:14px;line-height:2;color:var(--muted);margin-top:11px}.case-actions{display:flex;align-items:center;gap:20px;margin-top:19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;padding:10px 22px;border:1px solid var(--ink);border-radius:0;background:#fff;font-size:12px;line-height:1.7}.button.primary{background:var(--ink);color:#fff}.button:hover{text-decoration:underline;text-underline-offset:4px}.screen-frame,.screen-frame.large{padding:0;border:1px solid var(--line);background:#fff;overflow:hidden}.screen-frame img{width:100%;border:0;border-radius:0;box-shadow:none}.screen-bar{display:none}.case-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:72px;padding-block:56px 63px}.case-facts dl{margin:0 0 16px;font-size:12px;line-height:2}.case-facts dt{font-size:10px;color:var(--muted);margin-bottom:8px}.case-facts dd{margin:0 0 22px}.prose{font-size:14px;line-height:2.1;min-width:0}.prose h2{font-size:23px;line-height:1.8;margin-bottom:17px;font-weight:500}.prose h3{font-size:17px;margin-bottom:8px}.prose section+section{margin-top:38px}.prose p+p{margin-top:17px}.prose ul,.prose ol{padding-left:22px}.check-list{list-style:none;padding:0!important;margin:0}.check-list li{padding:11px 0;border-top:1px solid var(--line);font-size:13px}.demo-limit{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:12px;color:var(--muted);line-height:2}.related{padding-bottom:66px}.related>h2{font-size:21px;font-weight:500;margin-bottom:18px}.journal-list{padding-bottom:72px}.journal-controls{display:flex;align-items:center;justify-content:space-between;border-block:1px solid var(--line);padding-block:14px}.search{position:relative}.search input{width:260px;max-width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:0;background:#fff;color:var(--ink);padding:9px 35px 9px 12px;font-size:13px}.search>span:last-child{position:absolute;right:12px;top:7px;font-size:18px;color:var(--muted)}.result-count{font-size:10px;color:var(--muted);margin-block:19px}.empty-state{padding:36px 15px;text-align:center;color:var(--muted);font-size:13px}.article-head{padding-top:31px;max-width:940px}.article-head h1{font-size:34px;line-height:1.8;font-weight:500;letter-spacing:-.03em;margin-top:15px;max-width:900px}.article-head .lead{font-size:14px;margin-top:15px}.author-line{display:flex;align-items:center;gap:20px;font-size:10px;margin-top:20px}.article-layout{display:grid;grid-template-columns:190px minmax(0,740px);gap:70px;padding-block:45px 74px}.toc{align-self:start;position:sticky;top:24px;border-top:1px solid var(--line);padding-top:6px}.toc a{display:block;color:var(--muted);font-size:11px;line-height:1.9;margin-top:16px;min-height:32px}.toc a:hover{text-decoration:underline;text-underline-offset:4px}.article-prose{max-width:740px}.article-prose section h2{padding-bottom:11px;border-bottom:1px solid var(--line);font-size:22px}.article-prose a{text-decoration:underline;text-underline-offset:4px}.article-end{margin-block:34px 22px;border-top:1px solid var(--line);padding-top:17px}.error-page{padding-block:62px 86px}.error-page h1{font-size:31px;font-weight:500;margin-top:15px}.error-page .button{margin-top:24px}


.case-head h1,.article-head h1{color:var(--ink);font-weight:750}.screen-frame,.screen-frame.large{border-radius:12px}.button,.search input{border-radius:12px}.button.primary{background:var(--ink);color:#fff}.journal-list{padding-top:10px}.prose{max-width:850px}
@media(max-height:760px) and (min-width:761px){.corner-art{display:none}.desktop-nav{margin-top:60px}}
@media(max-width:1100px){.site-content{margin-left:145px}.preview-notice{margin-left:145px}.sidebar{width:145px;padding-inline:10px}.desktop-nav a{gap:10px;padding-inline:12px;font-size:14px}.wrap{width:calc(100% - 50px)}.page-head{gap:20px;height:190px}.page-head h1{font-size:85px}.heading-art{width:30%;height:160px}.heading-rule{margin-bottom:62px}.project-card{min-height:260px}.project-card-link,.project-card-surface{padding:30px 20px 22px}.project-card h2{font-size:24px}.project-copy{width:53%;gap:13px}.status-badge{font-size:13px;padding:5px 12px;gap:8px}.status-badge>span{width:13px;height:13px}.project-card-more{width:46px;height:46px;font-size:30px}.project-shot{top:40px;width:59%;height:calc(100% - 40px)}.case-body{grid-template-columns:160px minmax(0,1fr);gap:36px}.article-layout{grid-template-columns:150px minmax(0,1fr);gap:30px}}
@media(max-width:760px){.site-content{margin-left:0}.wrap{width:calc(100% - 36px)}.preview-notice{margin-left:0;padding:2px 18px;text-align:right}.sidebar{position:relative;inset:auto;width:100%;padding:10px 18px 14px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center}.wordmark{flex-direction:row;gap:7px;font-size:24px}.brand-art{width:44px;height:40px}.desktop-nav,.corner-art{display:none}.menu-toggle{display:block;min-height:44px;padding:8px 3px;background:none;border:0;white-space:nowrap;font-size:12px;text-decoration:underline;text-underline-offset:5px}.mobile-nav{padding:5px 18px 15px;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;align-items:center;min-height:46px;padding:8px 0;font-size:14px}.mobile-nav a[aria-current=page]{font-weight:750;text-decoration:underline;text-underline-offset:5px}
.page-head{height:150px;gap:16px;overflow:hidden}.page-head h1{font-size:65px}.title-strokes{width:38px;height:38px;top:-17px;right:-29px}.heading-art{width:37%;height:125px;position:absolute;right:-5px;bottom:5px}.heading-rule{margin-left:10px;margin-bottom:46px;max-width:32%;position:relative;z-index:1}.work-filters{gap:10px;margin:-13px 0 20px}.work-filters button{min-width:0;min-height:42px;padding:6px 20px;font-size:14px}.project-grid{grid-template-columns:minmax(0,1fr);gap:14px}.project-card,.project-card.wide{grid-column:auto;min-height:280px;border-radius:15px}.project-card-link,.project-card-surface{padding:32px 20px 22px}.project-copy{width:100%;gap:15px}.project-card h2,.project-card.wide h2{font-size:25px;line-height:1.45}.status-badge{font-size:13px;padding:5px 12px}.project-shot{width:59%;right:-20px;top:105px;height:calc(100% - 105px);border-width:6px;border-radius:12px 0 0}.project-shot img{width:155%}.project-card-more{width:46px;height:46px;font-size:30px}.archive-art{width:64%;right:-18px}.album-art{width:100%;right:-36%;height:100%}.project-grid[data-mode=archive] .wide{min-height:252px}.project-grid[data-mode=archive] .wide h2{font-size:25px}.project-grid[data-mode=archive] .album-art{width:100%;right:-36%}
.works-section{padding-bottom:22px}.contact-section{padding-block:16px 8px}.contact-email{font-size:15px;gap:12px;min-height:46px}.mail-icon{width:38px;height:38px;font-size:20px}.footer{padding-bottom:18px}
.breadcrumb{font-size:10px;gap:10px;padding-top:21px}.case-head{padding-block:27px}.case-head h1{font-size:28px}.lead{font-size:13px;line-height:2;margin-top:10px}.case-actions{margin-top:17px}.button{font-size:12px;min-height:44px;padding:10px 19px}.case-body{display:flex;flex-direction:column;gap:25px;padding-block:29px 45px}.case-facts{padding-bottom:20px;border-bottom:1px solid var(--line)}.case-facts dl{display:grid;grid-template-columns:50px 1fr;gap:14px;margin-bottom:10px;font-size:12px}.case-facts dt,.case-facts dd{margin:0}.case-facts dd br{display:none}.prose{font-size:14px;line-height:2.05}.prose h2{font-size:20px;margin-bottom:14px}.prose section+section{margin-top:29px}.check-list li{font-size:12px;padding-block:10px}.demo-limit{font-size:11px;margin-top:26px;padding-top:16px}.related{padding-bottom:49px}.related>h2{font-size:20px;margin-bottom:16px}
.text-link{font-size:12px;min-height:40px;gap:10px}.article-row{grid-template-columns:1fr 20px;gap:10px;padding-block:21px}.article-row .article-meta{grid-column:1/-1}.article-row h3{font-size:17px;line-height:1.9}.row-arrow{font-size:21px}.journal-list{padding-bottom:49px}.journal-controls{padding-block:13px}.search,.search input{width:100%}.search input{font-size:13px}.result-count{margin-block:17px}.empty-state{padding-block:30px;font-size:12px}.article-head{padding-top:25px}.article-head h1{font-size:26px;line-height:1.8;margin-top:13px}.article-head .lead{font-size:13px;margin-top:13px}.author-line{margin-top:17px}.article-layout{display:flex;flex-direction:column;gap:25px;padding-block:26px 49px}.toc{position:static;border-block:1px solid var(--line);padding-block:7px 12px}.toc a{font-size:11px;margin-top:8px;min-height:32px}.article-prose section h2{font-size:20px;padding-bottom:10px}.article-end{margin-block:28px 18px;padding-top:15px}.error-page{padding-block:43px 57px}.error-page h1{font-size:27px}
}
@media(max-width:350px){.page-head h1{font-size:58px}.project-card h2,.project-card.wide h2{font-size:22px}.project-card-link,.project-card-surface{padding-inline:17px}.project-copy{width:100%}.status-badge{padding-inline:10px;font-size:12px}.contact-email{font-size:13px;gap:9px}.mail-icon{width:34px;height:34px}.work-filters button{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
