@font-face{font-family:'Noto Serif JP';font-style:normal;font-weight:400;font-display:swap;src:url('assets/noto-serif-jp.woff') format('woff')}
:root{--navy:#101e32;--ink:#192638;--paper:#f7f7f3;--gold:#bea77a;--muted:#aab4c0;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Helvetica Neue','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:#c6b184;color:var(--navy)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);padding:15px}.skip:focus{top:10px}.header{position:absolute;inset:0 0 auto;z-index:20;height:122px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;color:#fff}.brand{display:flex;gap:20px;align-items:center}.brand-kanji{font-family:var(--serif);font-size:44px;line-height:1}.brand-name{font-size:13px;letter-spacing:.12em;border-left:1px solid #ffffff35;padding-left:20px;line-height:1.8}.brand-name span{display:block;font-size:10px;letter-spacing:.25em}.header nav{display:flex;gap:36px;font-size:13px;letter-spacing:.07em}.header nav a{padding:12px 0;position:relative}.header nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.header nav a:hover::after{width:100%}.header nav a:last-child{margin-left:12px}.header nav a span{margin-left:12px;color:var(--gold)}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.hero{position:relative;min-height:820px;height:100svh;max-height:1100px;overflow:hidden;background:radial-gradient(ellipse at 78% 54%,#172b43 0,transparent 50%),var(--navy);color:var(--paper)}.hero-copy{position:relative;z-index:2;padding:clamp(190px,23vh,255px) 0 0 10.4%;pointer-events:none}.eyebrow{font-size:11px;letter-spacing:.21em;font-weight:400}.hero-intro{color:var(--gold);margin:0 0 35px}.hero h1{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:.17em;margin:0 0 22px}.hero h1 span{font-size:1.3em}.hero-message{font-family:var(--serif);font-size:clamp(55px,5.7vw,86px);font-weight:400;letter-spacing:.08em;line-height:1.55;margin:0}.hero-message span{display:block}.hero-description{font-size:13px;letter-spacing:.09em;margin-top:30px;color:#c4cbd4;line-height:2}.hero-art{position:absolute;inset:0}.thread-svg{width:100%;height:100%;overflow:visible}.thread,.thread-ghost{fill:none;stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke}.thread-ghost{opacity:.14}.thread{opacity:.85}.thread-node{fill:var(--gold);stroke:#101e32;stroke-width:3}.guide{position:absolute;width:clamp(160px,16vw,250px);left:65%;top:70%;transform:translate(-50%,-97%);will-change:left,top}.guide img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 14px #0002)}.art-word{position:absolute;font-family:var(--serif);font-size:14px;color:#d4c7ab;letter-spacing:.3em}.word-one{left:37%;top:89%}.word-two{left:73%;top:71%}.word-three{left:85%;top:46%}.hero-bottom{position:absolute;bottom:35px;left:5.5%;right:5.5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.scroll-link{display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.2em}.scroll-line{display:block;width:45px;height:1px;background:var(--gold)}.hero-caption{font-family:var(--serif);font-size:12px;letter-spacing:.13em;color:#bac3ce}.motion-control{background:none;border:0;font-size:11px;letter-spacing:.08em;color:#bcc6d1;padding:12px}.motion-symbol{margin-right:7px;color:var(--gold)}.section-light{background:var(--paper)}.section-label{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.15em;color:#66707a}.statement{padding:70px 10.4% 130px}.statement-content{max-width:1000px;margin:110px auto 0}.statement h2{font-family:var(--serif);font-size:clamp(36px,4.4vw,64px);font-weight:400;line-height:1.8;letter-spacing:.09em;margin:0}.statement-bottom{display:flex;justify-content:space-between;align-items:center;margin:60px 0 0 10%}.statement-bottom p{font-size:16px;line-height:2.5;letter-spacing:.09em}.small-knot{font-size:130px;font-family:var(--serif);color:var(--gold);line-height:1}.mobile-nav{position:fixed;inset:90px 0 0;background:var(--navy);z-index:19;color:var(--paper);padding:45px 8%;display:flex;flex-direction:column;gap:30px;font-family:var(--serif);font-size:24px}.menu-open{overflow:hidden}@media(min-width:1600px){.hero-copy{padding-left:max(10.4%,calc((100vw - 1280px)/2))}}@media(max-width:760px){html{scroll-padding-top:30px}.header{height:90px;padding:0 7%}.brand{gap:12px}.brand-kanji{font-size:36px}.brand-name{padding-left:12px;font-size:11px}.brand-name span{font-size:9px}.header nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 0;font-size:12px}.menu-toggle span{font-size:23px;color:var(--gold)}.hero{height:900px;min-height:790px;max-height:none}.hero-copy{padding:160px 7% 0}.hero-intro{font-size:8px;letter-spacing:.12em;margin-bottom:29px}.hero h1{font-size:25px;margin-bottom:25px}.hero-message{font-size:clamp(34px,8.7vw,62px);letter-spacing:.04em;line-height:1.7;white-space:nowrap}.hero-description{font-size:11px;letter-spacing:0;max-width:310px;margin-top:20px}.guide{width:160px}.art-word{font-size:12px}.word-one{left:15%;top:75%}.word-two{left:68%;top:70%}.word-three{left:66%;top:57%}.hero-bottom{left:7%;right:7%;bottom:25px}.hero-caption{display:none}.scroll-link{font-size:8px;gap:10px}.scroll-line{width:25px}.motion-control{font-size:10px}.statement{padding:50px 7% 90px}.section-label{font-size:10px;letter-spacing:.1em}.statement-content{margin-top:70px}.statement h2{font-size:clamp(27px,6.7vw,44px);line-height:1.9;letter-spacing:.035em}.statement-bottom{margin:30px 0 0;gap:20px}.statement-bottom p{font-size:13px;letter-spacing:.02em;line-height:2.4}.small-knot{font-size:70px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.services{padding:0 10.4% 150px}.services>.section-label{padding-top:45px;border-top:1px solid #19263825}.services-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:85px 0 75px}.services-heading h2,.company h2,.contact h2,.philosophy h2{font-family:var(--serif);font-weight:400;letter-spacing:.08em;line-height:1.8;margin:0}.services-heading h2{font-size:48px}.services-heading p{font-size:15px;line-height:2.2;letter-spacing:.07em;margin:0 0 12px}.service-list{position:relative}.service-list::before{content:'';position:absolute;left:19px;top:80px;bottom:85px;width:1px;background:var(--gold)}.service-row{display:grid;grid-template-columns:70px 1.1fr 1fr 75px;gap:20px;align-items:center;min-height:175px;border-top:1px solid #19263826;padding:30px 0}.service-row:last-child{border-bottom:1px solid #19263826}.service-number{position:relative;font-size:12px;color:#877449;background:var(--paper);padding:15px 0;text-align:center;width:40px;letter-spacing:.06em}.service-name h3{font-weight:400;font-size:clamp(22px,2.4vw,34px);letter-spacing:-.025em;margin:0 0 10px}.service-name>span{font-size:12px;letter-spacing:.08em;color:#606874}.service-row p{font-size:15px;line-height:1.9;margin:0}.service-end{font-family:var(--serif);font-size:14px;color:#7f704f;letter-spacing:.15em;text-align:right}.philosophy{background:#132339;color:var(--paper);padding:65px 10.4% 110px;overflow:hidden}.philosophy>.section-label,.contact>.section-label{color:#aeb9c6}.philosophy-content{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center;margin-top:100px}.philosophy-mark{position:relative;aspect-ratio:1;color:#b5a17b}.philosophy-mark svg{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.philosophy-mark>span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--serif);font-size:116px;color:#dfe4e7;font-weight:400}.philosophy h2{font-size:40px;margin-bottom:42px;white-space:nowrap}.philosophy p{font-size:15px;line-height:2.3;letter-spacing:.04em;color:#d2d9e1;margin:0 0 28px}.company{padding:65px 10.4% 140px}.company-content{display:grid;grid-template-columns:.85fr 1.5fr;gap:70px;margin-top:85px}.company h2{font-size:34px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:130px 1fr;padding:25px 0;border-bottom:1px solid #19263825;font-size:15px;line-height:2}.company dl>div:first-child{border-top:1px solid #19263825}.company dt{font-size:13px;color:#68707a}.company dd{margin:0}.company dd span{margin-left:15px;color:#86774f}.company dd a:hover{text-decoration:underline;text-underline-offset:5px}.contact{padding:60px 10.4% 115px;position:relative;overflow:hidden;background:var(--navy);color:var(--paper)}.contact-content{display:flex;justify-content:space-between;align-items:center;gap:40px;margin:90px 0 45px;position:relative;z-index:1}.contact h2{font-size:58px}.contact-link{display:flex;gap:80px;align-items:center;border-bottom:1px solid #b9a87f;padding:25px 0;font-size:15px;letter-spacing:.05em;transition:color .3s}.contact-link>span[aria-hidden]{color:var(--gold);font-size:22px;transition:transform .3s}.contact-link:hover{color:var(--gold)}.contact-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}.contact-thread{position:absolute;inset:auto 0 -90px;width:100%;height:320px;color:var(--gold);opacity:.24}footer{background:var(--navy);color:#a9b4c3;border-top:1px solid #fff2;padding:38px 5.5%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em}.footer-brand{font-size:34px;font-family:var(--serif);color:var(--paper);display:flex;align-items:center;gap:24px}.footer-brand span{font-size:12px;letter-spacing:.1em}.back-top{font-size:10px}.back-top span{padding-left:15px;color:var(--gold)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.motion-path{fill:none;stroke:none}.hero-copy>*,.art-word,.thread-node{will-change:opacity}.reveal{opacity:1;transform:none}.js-motion .reveal.pending{opacity:0;transform:translateY(20px)}.reveal{transition:opacity 1s ease,transform 1s ease}
@media(max-width:1000px) and (min-width:761px){.philosophy-content{gap:25px}.philosophy h2{font-size:32px}.philosophy p{font-size:14px}.company-content{gap:25px}.company dl>div{grid-template-columns:110px 1fr}.contact h2{font-size:43px}.contact-link{gap:30px}.header nav{gap:20px}}
@media(max-width:760px){.services{padding:0 7% 85px}.services-heading{display:block;margin:55px 0 45px}.services-heading h2{font-size:34px;line-height:1.8}.services-heading p{margin-top:25px;font-size:14px}.service-list::before{left:12px;top:55px;bottom:60px}.service-row{grid-template-columns:30px 1fr;gap:20px 15px;min-height:190px;padding:32px 0}.service-number{width:25px;align-self:start;padding:9px 0;font-size:11px}.service-name h3{font-size:28px;margin-bottom:9px}.service-name>span{font-size:11px}.service-row p{grid-column:2;font-size:14px}.service-end{display:none}.philosophy{padding:45px 7% 65px}.philosophy-content{display:flex;flex-direction:column;gap:35px;margin-top:30px;align-items:stretch}.philosophy-mark{width:240px;margin:0 auto;max-width:80%}.philosophy-mark>span{font-size:90px}.philosophy-text{margin:0 auto}.philosophy h2{font-size:30px;margin-bottom:30px;letter-spacing:.04em}.philosophy p{font-size:14px;letter-spacing:.01em;line-height:2.3}.company{padding:45px 7% 80px}.company-content{display:block;margin-top:50px}.company h2{font-size:30px;margin-bottom:35px}.company dl>div{grid-template-columns:95px 1fr;gap:10px;padding:20px 0;font-size:13px}.company dt{font-size:12px}.company dd{overflow-wrap:anywhere}.company dd span{margin-left:5px}.contact{padding:45px 7% 85px}.contact-content{display:block;margin:60px 0 25px}.contact h2{font-size:40px;line-height:1.8}.contact-link{margin-top:40px;max-width:320px;justify-content:space-between;gap:20px;font-size:14px}.contact-thread{height:200px;bottom:-65px}footer{padding:30px 7%;flex-wrap:wrap;gap:28px;font-size:9px}.footer-brand{width:100%;font-size:30px}.footer-brand span{font-size:12px}.back-top{font-size:9px}.hero{height:max(820px,100svh)}}
@media(prefers-reduced-motion:reduce){.js-motion .reveal.pending{opacity:1;transform:none}}
.services-heading p,.service-row p,.philosophy p{font-size:16px}.header nav{font-size:14px}.hero-description{font-size:14px}.hero-intro{font-size:12px}.section-label{font-size:12px}.motion-control{font-size:12px}.scroll-link{font-size:12px}.brand-name{font-size:14px}.brand-name span{font-size:12px}.hero h1{font-size:38px}.guide{transform-origin:50% 97%}
@media(max-width:760px){.hero h1{font-size:29px}.hero-message{font-size:9.5vw}.hero-description{font-size:12px;line-height:2;max-width:300px}.hero-intro{font-size:9px}.hero-copy{padding-top:145px}.word-two{left:33%;top:72%}.word-three{left:80%;top:54%}.statement-bottom{display:block;margin-top:28px}.small-knot{display:block;font-size:65px;margin:10px 0 15px}.statement-bottom p{font-size:16px;letter-spacing:0;line-height:2.25}.philosophy p{font-size:16px;letter-spacing:0}.company dl>div{font-size:14px}.section-label{font-size:10px}.scroll-link{font-size:9px}.motion-control{font-size:11px}.brand-name{font-size:12px}.brand-name span{font-size:10px}.contact h2{font-size:clamp(32px,9.4vw,40px)}}
@media(min-width:761px) and (max-height:850px){.hero-copy{padding-top:165px}.hero-message{font-size:clamp(52px,5.3vw,76px)}.hero-description{margin-top:20px}}
.description-last::before{content:'・'}@media(max-width:760px){.description-last{display:block}.description-last::before{content:''}.hero-description{max-width:none}}
@media(min-width:761px) and (max-width:1000px){.hero-copy{padding-top:170px}.hero h1{font-size:30px}.hero-message{font-size:clamp(44px,5.8vw,55px);line-height:1.55}.hero-description{font-size:12px;margin-top:20px}.hero-intro{font-size:11px}.hero-caption{font-size:10px}.scroll-link{font-size:10px}.motion-control{font-size:11px}}

/* Hero depth layer: the mascot keeps its light weight while reacting as a small object in space. */
.hero-art{perspective:1400px;perspective-origin:65% 54%;--guide-rotate-x:0deg;--guide-rotate-y:0deg;--guide-lift:0px}.guide{transform-style:preserve-3d}.guide::before{content:"";position:absolute;z-index:-1;left:50%;bottom:6%;width:72%;height:14%;border-radius:50%;background:#020815;filter:blur(15px);opacity:.58;transform:translateX(-50%) translateZ(-40px) scaleX(.92)}.guide img{position:relative;transform:perspective(850px) rotateX(var(--guide-rotate-x)) rotateY(var(--guide-rotate-y)) translateZ(28px) translateY(var(--guide-lift));transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease;filter:drop-shadow(0 25px 18px #0006) saturate(.93)}.guide:hover img{filter:drop-shadow(0 30px 24px #0009) saturate(1.04)}
@media(max-width:760px){.hero-art{perspective:900px}.guide img{transform:perspective(680px) rotateX(var(--guide-rotate-x)) rotateY(var(--guide-rotate-y)) translateZ(12px) translateY(var(--guide-lift))}.guide::before{filter:blur(10px)}}
@media(prefers-reduced-motion:reduce){.guide img{transform:none;transition:none}}

/* Selected works */
.works{background:#0d1a2c;color:var(--paper);padding:65px 10.4% 140px}.works>.section-label{color:#aeb9c6}.works-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:88px 0 70px}.works-heading h2{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1.8;letter-spacing:.08em;margin:0}.works-heading p{font-size:16px;line-height:2.2;letter-spacing:.05em;color:#d1d9e3;margin:0 0 10px}.work-grid{max-width:760px}.work-card{min-width:0}.work-media{position:relative;aspect-ratio:16/9;overflow:hidden;background:#142740}.work-media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease}.work-media::after{content:'';position:absolute;inset:0;border:1px solid #fff2;pointer-events:none}.work-index{position:absolute;right:16px;top:13px;font-size:11px;letter-spacing:.16em;color:var(--gold);z-index:2}.work-action{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);min-width:156px;border:1px solid #e3d6ba;background:#0c1a2ddd;color:var(--paper);padding:14px 16px;font-size:12px;letter-spacing:.1em;display:flex;gap:12px;align-items:center;justify-content:center;transition:background .3s,color .3s}.work-action-icon{color:var(--gold);font-size:11px}.work-card.is-ready .work-action{background:var(--gold);color:var(--navy)}.work-card.is-ready .work-action-icon{color:var(--navy)}.work-controls{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;display:flex;align-items:center;gap:14px;opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity .25s,transform .25s}.work-card.is-ready .work-controls{opacity:1;transform:none;pointer-events:auto}.work-scrubber{appearance:none;flex:1;height:2px;background:#e5decaaa;accent-color:var(--gold);cursor:pointer}.work-scrubber::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:50%;background:var(--gold)}.work-time{font-size:11px;letter-spacing:.08em;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}.work-copy{padding:22px 5px 0}.work-copy p{margin:0 0 11px;color:var(--gold);font-size:11px;letter-spacing:.15em}.work-copy h3{margin:0;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.7;letter-spacing:.07em}@media(max-width:760px){.works{padding:45px 7% 85px}.works-heading{display:block;margin:55px 0 45px}.works-heading h2{font-size:34px}.works-heading p{font-size:14px;margin-top:25px;line-height:2.1}.work-copy{padding-top:16px}.work-copy h3{font-size:22px}.work-index{right:12px;top:10px;font-size:10px}.work-action{min-width:146px;padding:13px 14px}.work-controls{left:12px;right:12px;bottom:12px;gap:10px}.work-time{font-size:10px}}
.contact-content{align-items:flex-start}.contact-note{font-size:16px;line-height:2.15;letter-spacing:.06em;color:#d2d9e1;margin:30px 0 0}.contact-form{position:relative;z-index:1;width:min(460px,100%);display:grid;gap:18px}.contact-form label{display:grid;gap:8px;font-size:12px;letter-spacing:.09em;color:#d7dfe8}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #ffffff55;background:transparent;border-radius:0;color:#fff;font:inherit;font-size:16px;padding:9px 0;outline:none;resize:vertical}.contact-form textarea{line-height:1.7}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form button{margin-top:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--gold);background:var(--gold);color:var(--navy);padding:16px 18px;font-size:14px;letter-spacing:.06em;transition:background .25s,color .25s}.contact-form button span{font-size:20px}.contact-form button:hover{background:transparent;color:var(--gold)}.contact-form>p{font-size:11px;letter-spacing:.05em;color:#adb9c8;margin:0}@media(max-width:760px){.contact-note{font-size:14px;margin:20px 0 35px}.contact-form{width:100%;gap:17px}.contact-form input,.contact-form textarea{font-size:16px}.contact-form button{padding:15px 16px}}
.work-sound{border:0;background:#0c1a2ddd;color:#fff;padding:7px 9px;font-size:10px;letter-spacing:.08em;white-space:nowrap}.work-sound[aria-pressed="true"]{background:var(--gold);color:var(--navy)}.purpose-list{margin-top:65px;border-top:1px solid #ffffff2e;display:grid;grid-template-columns:repeat(5,1fr)}.purpose-list span{padding:18px 14px;border-right:1px solid #ffffff2e;color:#d5dce5;font-size:12px;letter-spacing:.05em;line-height:1.6}.purpose-list span:first-child{padding-left:0}.purpose-list span:last-child{border-right:0}@media(max-width:760px){.work-sound{padding:6px 7px;font-size:9px}.purpose-list{margin-top:45px;grid-template-columns:1fr 1fr}.purpose-list span{padding:14px 10px;border-bottom:1px solid #ffffff2e;font-size:11px}.purpose-list span:nth-child(2n){border-right:0}.purpose-list span:first-child{padding-left:10px}.purpose-list span:last-child{border-bottom:0}}
