@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;600;700&display=swap";:root{--bg:#faf8f3;--ink:#0f172a;--red:#e5452e;--blue:#4a90a4;--line:rgba(74,144,164,.2);--muted:rgba(15,23,42,.64);--max:1200px;--reading:680px}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Noto Sans JP,sans-serif;line-height:1.8}body{margin:0;background-image:linear-gradient(rgba(74,144,164,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(74,144,164,.09) 1px,transparent 1px),linear-gradient(rgba(74,144,164,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(74,144,164,.13) 1px,transparent 1px);background-size:8px 8px,8px 8px,40px 40px,40px 40px}a{color:inherit;text-decoration:none}a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:10}.skip-link:focus{left:8px}.site-header{height:64px;background:var(--bg);border-bottom:1px solid var(--line);position:relative}.site-header:after{content:"";position:absolute;bottom:-7px;left:0;width:100%;height:6px;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(74,144,164,.35) 7px 8px,transparent 8px 39px,rgba(74,144,164,.5) 39px 41px)}.header-inner{max-width:var(--max);height:100%;margin:auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;flex-direction:column;line-height:1.05;font-weight:700;font-size:20px;letter-spacing:.03em}.brand small,.footer-brand+p,.eyebrow,.work-meta{font-family:IBM Plex Mono,monospace}.brand small{font-size:8px;letter-spacing:.25em;text-align:center;margin-top:5px}.site-header nav{display:flex;gap:28px;align-items:center;font-size:14px}.site-header nav a{min-height:44px;display:flex;align-items:center;position:relative}.site-header nav a.active:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:3px;background:var(--red)}.disabled-link{color:var(--muted);cursor:not-allowed}.disabled-link small{font-family:IBM Plex Mono;font-size:10px;margin-left:6px}.menu-button{display:none;border:0;background:none;font:inherit;min-width:64px;min-height:44px}.content-width{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.hero{padding-top:72px;padding-bottom:64px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--red);margin:0 0 16px}.hero h1,.page-intro h1,.article h1,.not-found h1{font-size:clamp(28px,7vw,52px);line-height:1.4;margin:0 0 20px;max-width:760px;letter-spacing:.01em}.hero-lead{font-size:16px;max-width:590px;margin:0 0 28px}.primary-link,.text-link{display:inline-block;font-weight:700;text-underline-offset:5px}.primary-link{padding:9px 0;border-bottom:2px solid var(--red)}.section{margin-top:0;padding-top:64px;padding-bottom:0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:28px}.section-heading h2{font-size:24px;line-height:1.45;margin:0}.section-heading p{margin:4px 0 0;color:var(--muted);font-size:14px}.section-heading .text-link{font-size:13px;white-space:nowrap}.work-grid{display:grid;grid-template-columns:1fr;gap:48px 24px}.work-entry{background:var(--work-surface);padding-bottom:20px}.work-image-link{display:block;aspect-ratio:16/9;background:#e6e9e6}.work-image-link img{width:100%;height:100%;display:block;object-fit:cover}.work-copy{padding:16px 16px 0}.work-meta{display:flex;gap:12px;color:var(--muted);font-size:11px;letter-spacing:.04em}.work-meta span+span:before{content:" / ";margin-right:12px}.work-copy h3{font-size:20px;line-height:1.5;margin:7px 0 5px}.work-copy p{font-size:14px;margin:0 0 12px}.discovery{border-top:1px solid var(--line);padding-top:40px;margin-top:80px}.about-teaser{max-width:720px}.about-teaser p{max-width:680px}.page-intro{padding-top:72px;padding-bottom:40px}.page-intro>p:last-child{max-width:680px;margin:0;color:var(--muted)}.filter-bar{display:flex;gap:18px;margin-bottom:38px;overflow:auto}.filter-bar span{font-size:13px;white-space:nowrap}.filter-bar span:first-child{font-weight:700;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:3px;text-underline-offset:7px}.article{max-width:var(--reading);padding-top:72px;padding-bottom:96px}.article h1{font-size:clamp(28px,6vw,40px);margin-bottom:36px}.article h2{font-size:24px;line-height:1.5;margin:48px 0 12px}.article p{font-size:16px;margin:0 0 18px}.article-lead{font-size:20px!important;font-weight:600}.not-found{padding-top:120px;padding-bottom:160px}.not-found .text-link{display:block;margin-top:14px}.site-footer{margin-top:96px;padding:42px 0;background:var(--bg);border-top:1px solid var(--line)}.footer-inner{max-width:var(--max);margin:auto;padding:0 20px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.footer-brand{font-weight:700;font-size:18px}.footer-inner p{font-size:9px;letter-spacing:.25em;margin:5px 0}.site-footer nav,.footer-meta{display:flex;flex-direction:column;gap:4px;font-size:13px}.footer-meta{font-family:IBM Plex Mono;font-size:11px;color:var(--muted);text-align:right}*:focus-visible{outline:3px solid var(--red);outline-offset:3px}@media(min-width:768px){.header-inner,.content-width{padding-left:32px;padding-right:32px}.hero{padding-top:112px;padding-bottom:96px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 20px}.work-copy{padding-left:0;padding-right:0}.section{padding-top:96px}.site-header{height:72px}.site-footer{padding-top:56px}.footer-inner{padding-left:32px;padding-right:32px}}@media(max-width:767px){.site-header nav{display:none;position:absolute;z-index:5;top:64px;left:0;right:0;background:var(--bg);padding:12px 20px 20px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.menu-button{display:block;font-size:0}.menu-button:after{content:"☰";font-size:22px}.menu-button[aria-expanded=true]:after{content:"×"}.footer-inner{grid-template-columns:1fr 1fr}.footer-meta{grid-column:1/-1;text-align:left;margin-top:16px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading .text-link{margin-top:2px}}@media(min-width:1024px){.header-inner,.content-width{padding-left:48px;padding-right:48px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
