@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600&display=swap";:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;--page-pad:clamp(20px, 4vw, 64px);--line:#c9c9c5;--muted:#666662;--paper:#f4f4f2;background:#f4f4f2;font-family:Inter,Noto Sans JP,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:#111;min-width:320px;margin:0}button,a{color:inherit}button{font:inherit}a{text-decoration:none}img,video{width:100%;display:block}[hidden]{display:none!important}::selection{color:#fff;background:#111}.site-header{z-index:50;padding:18px var(--page-pad);mix-blend-mode:difference;color:#fff;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}.brand-link{align-items:baseline;gap:14px;display:flex}.brand-mark{letter-spacing:-.06em;font-size:20px;font-weight:600}.brand-sub{letter-spacing:.18em;font-size:9px}.site-nav{letter-spacing:.08em;gap:clamp(18px,2.5vw,40px);font-size:11px;display:flex}.site-nav a{padding:3px 0 6px;position:relative}.site-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.menu-toggle{display:none}.hero{isolation:isolate;min-height:100svh;padding:86px var(--page-pad) 26px;color:#f3f3f0;background:#05070a;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.hero-media,.hero-media:before,.hero-media:after,.hero-media video{position:absolute;inset:0}.hero-media{z-index:0;background:#05070a;overflow:hidden}.hero-media video{object-fit:cover;object-position:center;filter:contrast(1.06)saturate(1.06);width:100%;height:100%}.hero-media:before{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0204079e 0%,#02040745 34%,#02040770 72%,#020407b8 100%),linear-gradient(90deg,#02040757,#0000 38% 68%,#02040738)}.hero-media:after{z-index:1;content:"";opacity:.14;pointer-events:none;background-image:linear-gradient(#92e8ff14 1px,#0000 1px),linear-gradient(90deg,#92e8ff14 1px,#0000 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(#0000,#000 20% 78%,#0000);mask-image:linear-gradient(#0000,#000 20% 78%,#0000)}.hero-kicker,.hero-footer{z-index:2;letter-spacing:.12em;text-shadow:0 2px 14px #000000e0;text-transform:uppercase;justify-content:space-between;align-items:flex-end;font-size:10px;line-height:1.5;display:flex;position:relative}.hero h1{z-index:2;color:#f8f8f4f5;letter-spacing:-.085em;text-shadow:0 2px 1px #00000080,0 10px 42px #000000b8;white-space:nowrap;margin:auto 0;font-size:clamp(108px,27.4vw,520px);font-weight:500;line-height:.72;position:relative;transform:translate(-.023em)}.hero-footer p{margin:0}.hero-statement{text-align:right}.hero-reel-meta,.hero-reel-status{align-items:center;display:flex}.hero-reel-meta{gap:14px}.hero-reel-status{color:#f3f3f0d1;gap:7px;font-size:8px}.hero-reel-status>span:first-child{background:#a9efff;border-radius:50%;width:5px;height:5px;box-shadow:0 0 12px #a9efffe6}.hero[data-reel-state=paused] .hero-reel-status>span:first-child{box-shadow:none;background:#8c8c88}.hero-reel-toggle{color:#f3f3f0;letter-spacing:.14em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070a47;border:1px solid #f3f3f06b;min-width:58px;padding:7px 10px;font-size:8px}.hero-reel-toggle:hover,.hero-reel-toggle:focus-visible{color:#111;background:#f3f3f0f0;border-color:#f3f3f0}.section-shell{padding-right:var(--page-pad);padding-left:var(--page-pad)}.section-index{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:10px}.intro{grid-template-columns:minmax(160px,1fr) minmax(0,3fr);gap:24px;padding-top:clamp(100px,14vw,220px);padding-bottom:clamp(100px,14vw,220px);display:grid}.intro-copy{max-width:1020px}.intro h2{letter-spacing:-.055em;margin:0 0 clamp(42px,7vw,100px);font-size:clamp(38px,6.1vw,94px);font-weight:500;line-height:1.18}.intro-copy>p{color:#343432;max-width:680px;margin:0 0 0 auto;font-size:clamp(15px,1.4vw,19px);line-height:2}.works-section{color:#f4f4f2;background:#111;padding-top:clamp(80px,10vw,150px);padding-bottom:clamp(90px,11vw,180px)}.works-section--index{border-top:1px solid #2d2d2a;padding-top:clamp(40px,5vw,80px)}.section-heading{border-bottom:1px solid #3b3b38;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:clamp(46px,6vw,90px);padding-bottom:20px;display:flex}.section-heading h2{letter-spacing:-.065em;margin:16px 0 0;font-size:clamp(42px,7.6vw,116px);font-weight:500;line-height:.9}.works-section .section-index,.works-section .section-note{color:#969692}.section-note{letter-spacing:.12em;margin:0;font-size:10px}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1px;align-items:start;gap:0 clamp(12px,1.4vw,22px);display:grid}.works-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;margin:calc(clamp(46px,6vw,90px)/-1.81818) 0 clamp(32px,4vw,54px);display:flex}.works-toolbar>p{color:#777773;letter-spacing:.12em;text-transform:uppercase;margin:9px 0 0;font-size:9px}.work-card{min-width:0;padding-bottom:clamp(28px,3vw,46px);scroll-margin-top:82px;position:relative}.work-card.is-shared .work-card__media,.work-card.is-active .work-card__media{outline-offset:4px;outline:1px solid #f4f4f2}.work-card__media{background:#050505;place-items:center;display:grid;position:relative;overflow:hidden}.work-card__media video{object-fit:contain;background:#050505;width:100%;height:100%;position:absolute;inset:0}.work-card__body{padding-top:15px}.work-card__title{letter-spacing:-.02em;margin:0;font-size:clamp(14px,1.15vw,17px);font-weight:500;line-height:1.35}.work-card__tags{flex-wrap:wrap;gap:6px;margin:11px 0 0;padding:0;list-style:none;display:flex}.work-card__tags li{color:#a7a7a2;border:1px solid #3a3a37;border-radius:999px;padding:5px 9px;font-size:8px}.project-index{border-top:1px solid #3b3b38}.project-index__row{color:#aaa9a4;border-bottom:1px solid #2e2e2b;grid-template-columns:46px minmax(150px,1.2fr) minmax(160px,1fr) minmax(120px,.8fr) minmax(160px,1.2fr) 54px;align-items:center;gap:16px;min-height:52px;font-size:10px;line-height:1.4;display:grid}a.project-index__row{transition:background .15s,color .15s}a.project-index__row:hover,a.project-index__row:focus-visible{color:#111;background:#f4f4f2;outline:0}.project-index__row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-index__head{color:#666662;letter-spacing:.1em;text-transform:uppercase;min-height:34px;font-size:8px}.filter-list{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.filter-list button{color:#9a9a96;cursor:pointer;background:0 0;border:1px solid #3e3e3b;border-radius:999px;padding:8px 11px;font-size:9px}.filter-list button.is-active,.filter-list button:hover,.filter-list button:focus-visible{color:#111;background:#f4f4f2;border-color:#f4f4f2}.empty-state{color:#878783;border-bottom:1px solid #333330;min-height:34vh;padding:70px 0}.empty-state p{color:#d7d7d2;letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(24px,3vw,44px)}.empty-state span{font-size:12px}.services{padding-top:clamp(100px,13vw,210px);padding-bottom:clamp(100px,13vw,210px)}.services .section-heading{border-color:var(--line)}.service-list{border-top:1px solid var(--line)}.service-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(54px,.4fr) minmax(220px,1.5fr) minmax(240px,2fr);align-items:start;gap:24px;padding:clamp(28px,4vw,54px) 0;display:grid}.service-item>span{color:var(--muted);font-size:10px}.service-item h3{letter-spacing:-.045em;margin:0;font-size:clamp(24px,3.3vw,52px);font-weight:500;line-height:1.1}.service-item p{color:#4f4f4b;max-width:560px;margin:0;font-size:14px;line-height:1.9}.about{background:#deded9;padding-top:clamp(100px,13vw,200px);padding-bottom:clamp(100px,13vw,200px)}.about-grid,.contact-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:clamp(50px,8vw,130px);margin-top:clamp(50px,8vw,120px);display:grid}.about h2,.contact h2{letter-spacing:-.075em;margin:0;font-size:clamp(70px,13vw,200px);font-weight:500;line-height:.78}.about-copy{align-self:end}.about-lead{margin:0 0 70px;font-size:clamp(16px,1.6vw,21px);line-height:2}.company-facts{border-top:1px solid #b9b9b4;margin:0}.company-facts>div{border-bottom:1px solid #b9b9b4;grid-template-columns:120px 1fr;gap:20px;padding:17px 0;display:grid}.company-facts dt{color:var(--muted);letter-spacing:.08em;font-size:10px}.company-facts dd{margin:0;font-size:13px}.contact{padding-top:clamp(100px,13vw,200px);padding-bottom:clamp(100px,13vw,200px)}.contact h2{font-size:clamp(54px,9vw,140px);line-height:.9}.contact-grid>div{align-self:end}.contact-grid p{color:var(--muted);font-size:12px}.contact-grid a{border-bottom:1px solid;margin-top:12px;font-size:clamp(20px,2.5vw,34px);display:inline-block}.site-footer{color:#aaa;letter-spacing:.08em;background:#111;justify-content:space-between;gap:40px;padding-top:34px;padding-bottom:34px;font-size:9px;display:flex}.site-footer>div{align-items:center;gap:26px;display:flex}.footer-logo{color:#fff;letter-spacing:-.06em;font-size:18px;font-weight:600}.site-footer a:hover,.site-footer a:focus-visible{color:#fff}:focus-visible{outline-offset:4px;outline:2px solid}@media (max-width:900px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-index__row{grid-template-columns:40px minmax(140px,1.2fr) minmax(140px,1fr) minmax(100px,.8fr) 50px}.project-index__row span:nth-child(5){display:none}.intro{grid-template-columns:1fr}.intro-copy>p{margin-left:0}.about-grid,.contact-grid{grid-template-columns:1fr}.about h2{font-size:clamp(80px,21vw,170px)}}@media (max-width:640px){:root{--page-pad:18px}.site-header{padding-top:15px;padding-bottom:15px}.brand-sub{display:none}.menu-toggle{z-index:2;background:0 0;border:0;width:36px;height:28px;padding:0;display:block;position:relative}.menu-toggle span{background:currentColor;width:22px;height:1px;transition:transform .18s,top .18s;position:absolute;right:0}.menu-toggle span:first-child{top:9px}.menu-toggle span:last-child{top:18px}.menu-toggle[aria-expanded=true] span:first-child{top:14px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{top:14px;transform:rotate(-45deg)}.site-nav{color:#fff;letter-spacing:-.05em;opacity:0;pointer-events:none;background:#111;flex-direction:column;justify-content:flex-end;gap:14px;padding:80px 18px 40px;font-size:12vw;transition:opacity .16s;display:flex;position:fixed;inset:0}.site-nav.is-open{opacity:1;pointer-events:auto}.site-nav a:after{display:none}.hero{padding-top:76px;padding-bottom:20px}.hero h1{font-size:29vw;line-height:.82;transform:translate(-.025em)}.hero-media:after{opacity:.11;background-size:32px 32px}.hero-kicker span:last-child{display:none}.hero-footer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.hero-statement{display:none}.hero-reel-meta{justify-self:end;gap:9px}.hero-reel-status{font-size:7px}.hero-reel-toggle{min-width:52px;padding:7px 8px}.intro{padding-top:90px;padding-bottom:100px}.intro h2{margin-top:48px;font-size:clamp(35px,11vw,54px);line-height:1.25}.intro-copy>p{font-size:14px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading h2{font-size:15vw}.works-grid{grid-template-columns:1fr;gap:0}.works-toolbar{flex-direction:column;align-items:flex-start;margin-top:-20px}.works-toolbar>p{margin-top:0}.filter-list{justify-content:flex-start}.project-index__row{grid-template-columns:28px minmax(0,1fr) minmax(100px,.85fr);gap:10px;min-height:48px}.project-index__row span:nth-child(4),.project-index__row span:nth-child(5),.project-index__row span:nth-child(6){display:none}.service-item{grid-template-columns:38px 1fr;gap:10px 12px}.service-item p{grid-column:2}.about h2{font-size:22vw}.about-lead{margin-bottom:46px;font-size:15px}.company-facts>div{grid-template-columns:88px 1fr}.site-footer,.site-footer>div{flex-direction:column;align-items:flex-start;gap:16px}.site-footer>div:last-child{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
