:root{--paper: #fcfdfd;--ink: #141716;--ink-65: color-mix(in srgb, var(--ink) 65%, var(--paper));--ink-40: color-mix(in srgb, var(--ink) 40%, var(--paper));--ink-20: color-mix(in srgb, var(--ink) 20%, var(--paper));--ink-08: color-mix(in srgb, var(--ink) 8%, var(--paper));--font: "Mulish", "Avenir Next", "Avenir", system-ui, -apple-system, sans-serif;--font-jp: "Zen Kaku Gothic New", "Mulish", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;--max-width: 1240px;--page-pad: clamp(20px, 3.4vw, 40px);--header-h: 72px;--gap: 24px;--dur: .16s;--ease: cubic-bezier(.2, 0, 0, 1)}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.75;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}::selection{background:var(--ink);color:var(--paper)}.jp{font-family:var(--font-jp);font-size:.95em;line-height:1.9}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.container{width:min(100%,var(--max-width));margin-inline:auto;padding-inline:var(--page-pad)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.label{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65);line-height:1.6}.label--ink{color:var(--ink)}.display{font-weight:600;letter-spacing:-.02em;line-height:1.04;margin:0}.link{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;transition:border-bottom-width var(--dur) var(--ease)}.link:hover,.link:focus-visible{border-bottom-width:2px}.link-accent{border-bottom:1px solid currentColor;padding-bottom:2px;transition:border-bottom-width var(--dur) var(--ease)}.link-accent:hover{border-bottom-width:2px}:where(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:0}.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--ink-20)}.site-header__inner{width:min(100%,var(--max-width));margin-inline:auto;padding:20px var(--page-pad);display:flex;align-items:center;justify-content:space-between;gap:24px}.site-header__logo{display:block;width:172px;color:var(--ink);transition:opacity var(--dur) var(--ease)}.site-header__logo svg,.site-header__logo img{width:100%;height:auto}.site-header__logo:hover{opacity:.66}.site-header__nav{display:flex;gap:28px}.site-header__nav a{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65);border-bottom:1px solid transparent;padding-bottom:3px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.site-header__nav a:hover{color:var(--ink);border-bottom-color:var(--ink-40)}.site-header__nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ink)}@media(max-width:640px){.site-header__inner{padding-block:16px}.site-header__logo{width:34px}.site-header__nav{gap:20px}}.site-footer{margin-top:96px;border-top:2px solid var(--ink)}.site-footer__inner{width:min(100%,var(--max-width));margin-inline:auto;padding:26px var(--page-pad) 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.site-footer__meta,.site-footer__nav a{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.site-footer__nav{display:flex;gap:24px}.site-footer__nav a[href^="mailto:"]{text-transform:none;letter-spacing:.04em}.site-footer__nav a{border-bottom:1px solid transparent;padding-bottom:2px}.site-footer__nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}.home-spread{display:grid;grid-template-columns:minmax(260px,29%) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-top:clamp(28px,3.4vw,48px)}@media(max-width:900px){.home-spread{grid-template-columns:1fr;gap:32px}}.home-side{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;border-top:2px solid var(--ink);padding-top:16px}@media(max-width:900px){.home-side{position:static}}.home-side__lead{font-size:clamp(20px,1.9vw,25px);font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:10px 0 22px}.home-side p{margin:0 0 14px;font-size:14px}.home-side .jp{color:var(--ink-65)}.home-side .link{margin-top:12px}.home-stream{border-top:2px solid var(--ink);padding-top:16px}.home-block+.home-block{margin-top:clamp(40px,5vw,72px)}.home-row{display:grid;gap:var(--gap)}.home-row--1{grid-template-columns:1fr}.home-row--2{grid-template-columns:1fr 1fr;margin-top:var(--gap)}.home-row--3{grid-template-columns:repeat(3,1fr);margin-top:var(--gap)}@media(max-width:620px){.home-row--2,.home-row--3{grid-template-columns:1fr}}.home-cell{display:block;margin:0}.home-cell figure,figure.home-cell{margin:0}.home-cell img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;background:var(--ink-08);transition:opacity var(--dur) var(--ease)}.home-cell:hover img,a:hover>.home-cell img{opacity:.82}.home-block__cap{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:10px}.home-block__title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em;border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease)}.home-block__cap:hover .home-block__title{border-bottom-color:var(--ink)}.home-stream__end{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--ink-20);padding-top:20px}.work-index{padding-block:clamp(36px,5vw,64px) 0}.work-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap) var(--gap)}@media(max-width:1040px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.work-grid{grid-template-columns:1fr}}.work-card__link{display:block}.work-card__media{background:var(--ink-08);border:1px solid var(--ink-20);overflow:hidden}.work-card__image{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;transition:opacity var(--dur) var(--ease)}.work-card__link:hover .work-card__image{opacity:.78}.work-card__info{padding-top:12px}.work-card__meta{margin:0 0 4px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.work-card__title{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.35}.empty-note{color:var(--ink-65)}.project-page{padding-block:clamp(36px,5vw,64px) 0}.project-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);border-top:2px solid var(--ink);padding-top:18px}@media(max-width:840px){.project-intro{grid-template-columns:1fr;gap:24px}}.project-title{margin:0;font-size:clamp(28px,4.4vw,54px);font-weight:600;letter-spacing:-.025em;line-height:1.05}.project-meta{margin:12px 0 0;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.project-desc p{margin:0 0 12px}.project-desc .jp{color:var(--ink-65)}.project-credits{margin:26px 0 0}.project-credits-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid var(--ink-20)}.project-credits-row:first-child{border-top:1px solid var(--ink-20)}.project-credits dt{margin:0;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.project-credits dd{margin:0;font-size:14px}.project-cta{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:11px 18px;border:1px solid var(--ink);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.project-cta:hover{background:var(--ink);color:var(--paper)}.project-cta__icon{font-size:13px}.project-overview{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);border-top:1px solid var(--ink-20);padding-top:26px}@media(max-width:840px){.project-overview{grid-template-columns:1fr;gap:20px}}.project-overview p{margin:0 0 14px}.project-overview p:last-child{margin-bottom:0}.project-overview .jp{color:var(--ink-65)}.project-gallery{margin-top:clamp(48px,6vw,80px)}.project-gallery figure{margin:0}.project-gallery__row+.project-gallery__row{margin-top:var(--gap)}.project-gallery__row--pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}.project-gallery__row--pair img{aspect-ratio:3 / 4;object-fit:cover}@media(max-width:720px){.project-gallery__row--pair{grid-template-columns:1fr}}.project-gallery img{width:100%;height:auto;background:var(--ink-08);border:1px solid var(--ink-20)}.project-gallery__credit{margin-top:8px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.project-comment{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--ink-20);padding-top:26px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px clamp(16px,3vw,48px)}@media(max-width:720px){.project-comment{grid-template-columns:1fr}}.project-comment__label{margin:0;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.project-comment p{margin:0 0 14px;max-width:62ch;grid-column:2}.project-comment p:last-child{margin-bottom:0}.project-comment .jp{color:var(--ink-65)}@media(max-width:720px){.project-comment p{grid-column:1}}.project-pagination{margin-top:clamp(56px,7vw,96px);border-top:1px solid var(--ink-20);padding-top:20px;display:flex;justify-content:space-between;gap:20px}.project-pagination a{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65);border-bottom:1px solid transparent;padding-bottom:3px;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.project-pagination a:hover{color:var(--ink);border-bottom-color:var(--ink)}.about-page{padding-block:clamp(36px,5vw,64px) 0}.about-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(16px,3vw,48px);border-top:1px solid var(--ink-20);padding-block:clamp(28px,4vw,48px)}.about-section:first-child{border-top:2px solid var(--ink)}@media(max-width:800px){.about-section{grid-template-columns:1fr;gap:16px}}.about-heading{margin:0;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.about-body>p{margin:0 0 14px;max-width:68ch}.about-body>p:last-child{margin-bottom:0}.about-body .jp{color:var(--ink-65)}.founder-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}@media(max-width:720px){.founder-grid{grid-template-columns:1fr}}.founder-card p{margin:0 0 12px}.founder-photo{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;background:var(--ink-08);border:1px solid var(--ink-20);margin-bottom:16px}.founder-name{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em}.founder-name-ja{margin:2px 0 0!important;color:var(--ink-65)}.founder-role{margin:8px 0 14px!important;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.about-list{list-style:none;margin:0;padding:0}.about-list li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--ink-20);font-size:14px}.about-list li:first-child{border-top:1px solid var(--ink-20)}.about-year{font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--ink-65);padding-top:3px}@media(prefers-reduced-motion:no-preference){.site-main{animation:fade-in var(--dur) var(--ease) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0ms!important;transition-duration:0ms!important}}.site-footer__brand{display:flex;align-items:center;gap:14px}.site-footer__mark{display:block;width:36px;color:var(--ink)}.site-footer__mark svg{width:100%;height:auto}.page-head{border-top:2px solid var(--ink);padding-top:16px;margin-top:clamp(28px,4vw,48px);margin-bottom:0}.page-head__title{font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0}.page-head__note{margin:4px 0 0;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-65)}.about-body a,.project-desc a{border-bottom:1px solid currentColor;padding-bottom:1px}
