:root{color-scheme:dark;--bg:#050807;--ink:#edf2e9;--muted:#a2afa7;--accent:#c4f58a;--line:#ffffff26;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;background:var(--bg);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{cursor:pointer}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:var(--accent);color:var(--bg);padding:12px}.skip:focus{top:10px}.header{height:104px;position:absolute;top:0;left:0;width:100%;z-index:20;display:flex;align-items:center;padding:0 5%;gap:40px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:Arial,sans-serif;font-size:23px;letter-spacing:2px;font-weight:700}.brand img{object-fit:contain;width:40px;height:40px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:400;margin-top:5px}.header nav{display:flex;align-items:center;gap:35px;margin-left:auto;font-size:12px}.header nav a:hover,.language:hover{color:var(--accent)}.contact-pill{border:1px solid #afcf9460;border-radius:30px;padding:12px 20px}.contact-pill span{margin-left:18px;color:var(--accent)}.language{font:11px monospace;border-left:1px solid var(--line);padding-left:22px}.journey{position:relative}.stage{position:relative;min-height:100svh;overflow:hidden;background:var(--bg)}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 76% 44%,#14392755,transparent 53%);pointer-events:none}#light-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.topline{position:absolute;top:140px;left:5%;right:5%;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1.4px;color:#91a499}.topline i{display:inline-block;width:5px;height:5px;margin-right:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.chapters{position:relative;z-index:2}.chapter{position:relative;padding:220px 8% 110px;min-height:100svh;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:.14em;color:var(--accent);margin:0 0 30px}.eyebrow span{font:10px monospace;letter-spacing:1px;margin-right:22px;color:#94a698}h1,h2,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.07em;line-height:1.35}h1{font-size:clamp(60px,6.9vw,108px);margin-bottom:28px}.chapter h2{font-size:clamp(50px,5.8vw,88px);margin-bottom:28px}em{font-style:normal;color:var(--accent)}.chapter-description{font-size:13px;line-height:2.3;letter-spacing:.055em;color:#c0cbc3;margin-bottom:18px}.service-line{font-size:9px;letter-spacing:.06em;color:var(--muted);margin-bottom:28px}.text-link{font-size:12px;display:inline-flex;gap:40px;align-items:center;padding:10px 0;border-bottom:1px solid #b9d9a270}.text-link span{color:var(--accent);font-size:20px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.orbit-label{position:absolute;right:7%;bottom:22%;display:flex;align-items:center;gap:12px;font:9px monospace;letter-spacing:1px;color:#a2c3a5}.cross{font-size:22px;font-weight:200}.orbit-label #scene-number{opacity:.5;margin-left:30px}.stage-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;z-index:4}.scroll-cue{font-size:10px;letter-spacing:.04em;color:#b5c3b8}.scroll-cue>span{display:inline-flex;border:1px solid var(--line);border-radius:50%;height:30px;width:30px;align-items:center;justify-content:center;margin-right:12px;color:var(--accent)}.chapter-nav{display:flex;gap:20px;align-items:center}.chapter-nav a{font:10px monospace;color:#87998b;position:relative;padding:12px 0}.chapter-nav a:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:#5e7062}.chapter-nav a[aria-current]{color:var(--accent)}.chapter-nav a[aria-current]:after{background:var(--accent);height:2px}#motion{background:none;border:0;color:#b5c3b8;font-size:10px;padding:8px 0 8px 10px}#motion span{margin-left:14px}.progress{position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--line)}.progress i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.motion-ready .journey{height:780svh}.motion-ready .stage{position:sticky;top:0;height:100svh;min-height:600px}.motion-ready .chapters{position:absolute;inset:0}.motion-ready .chapter{position:absolute;inset:0;padding:130px 8% 85px;min-height:0;opacity:0;visibility:hidden;will-change:transform,opacity}.motion-ready .chapter.right{padding-left:52%;padding-right:5%}.motion-ready .chapter.active{visibility:visible}.section{padding:100px 8%;position:relative}.section-label{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:65px}.section-label span:last-child{font:10px monospace;letter-spacing:1px}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.studio h2,.contact h2{font-size:clamp(38px,4.5vw,66px);margin:0}.studio-grid>div{padding-top:10px}.studio-grid p{color:var(--muted);font-size:13px;line-height:2.4}.studio-grid .lead{color:var(--ink);font-size:18px;margin-bottom:26px}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capabilities>span{padding:25px 20px 27px 0;font-size:14px}.capabilities b{display:block;font:10px monospace;color:var(--accent);margin-bottom:24px}.capabilities small{display:block;font:9px monospace;color:var(--muted);margin-top:12px;letter-spacing:1px}.selected{padding-top:0}.selected-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.selected-heading h2{font-size:46px;margin:0}.featured{display:grid;grid-template-columns:repeat(3,minmax(0,280px));gap:28px}.featured img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;filter:grayscale(1);transition:filter .4s}.featured a{min-width:0}.featured a:hover img,.featured a:focus-visible img{filter:grayscale(0)}.featured a>span{display:block;padding-top:15px;font-size:14px;line-height:1.7}.featured small{display:block;font:9px monospace;color:var(--muted);margin-bottom:12px;letter-spacing:1px}.featured b{float:right;font-weight:400;color:var(--accent)}.contact{background:radial-gradient(ellipse at 15% 100%,#193f212e,transparent 65%);padding-top:20px;padding-bottom:100px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.contact-team a{display:flex;align-items:center;gap:20px;padding:23px 0;border-bottom:1px solid var(--line);font:13px "Courier New",monospace}.contact-team a>span:first-child{width:45px}.contact-team b{margin-left:auto;color:var(--accent);font-size:18px;font-weight:400}.contact-team a:hover{color:var(--accent)}footer{padding:27px 5%;border-top:1px solid var(--line);display:flex;gap:40px;font:9px monospace;color:var(--muted)}footer a:last-child{margin-left:auto}.work-page .header{position:relative}.work-page .section{padding-left:5%;padding-right:5%}.work-intro{padding-top:70px;padding-bottom:20px}.work-title{display:flex;align-items:center;justify-content:space-between;gap:30px}.work-title h1{font-size:65px;margin:0}.work-title p{font-size:13px;line-height:2;color:var(--muted)}.work-gallery{padding-top:40px}.work-grid{display:grid;grid-template-columns:repeat(5,minmax(0,280px));gap:40px 24px}.project{min-width:0;overflow-wrap:anywhere;background:none;border:0;padding:0;text-align:left;display:block;scroll-margin-top:40px}.project-image{position:relative;overflow:hidden;aspect-ratio:1 / 1}.project-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transition:filter .5s,transform .5s}.project:hover img,.project:focus-visible img{filter:grayscale(0);transform:scale(1.025)}.project-index{position:absolute;top:12px;left:12px;font:10px monospace;background:#050807b0;padding:8px}.project-arrow{position:absolute;bottom:12px;right:12px;display:grid;place-items:center;background:var(--accent);color:var(--bg);width:32px;height:32px;border-radius:50%}.project h2{font-size:16px;letter-spacing:0;line-height:1.7;margin:20px 0 8px}.project-meta{font:9px monospace;color:var(--muted);line-height:1.7;display:block}.project p{font-size:12px;line-height:2;color:var(--muted);margin:12px 0}.project-media{font-size:11px;color:var(--accent)}.archive{margin-top:70px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px}.archive span{color:var(--muted);font-size:11px}dialog{background:#0b120d;color:var(--ink);border:1px solid #aac59c40;padding:0;width:min(800px,90vw);max-height:88svh}dialog::backdrop{background:#000c;backdrop-filter:blur(10px)}.dialog-close{position:absolute;right:15px;top:15px;border:1px solid #fff5;border-radius:50%;width:40px;height:40px;background:#050807;z-index:2;font-size:25px}#dialog-image{width:100%;height:300px;object-fit:cover;display:block}.dialog-body{padding:30px}.dialog-body h2{font-size:25px;letter-spacing:0;line-height:1.6}.dialog-body>p{font-size:13px;line-height:2;color:var(--muted)}.dialog-body .eyebrow{font:10px monospace}.media-links{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.media-links a{border:1px solid var(--line);padding:12px;font-size:11px;color:var(--accent)}.modal-open{overflow:hidden}body:not(.motion-ready) .topline,body:not(.motion-ready) .orbit-label,body:not(.motion-ready) .stage-bottom,body:not(.motion-ready) .progress{display:none}body:not(.motion-ready) #light-canvas{height:100svh}body:not(.motion-ready) .chapter{border-bottom:1px solid var(--line)}
@media(min-width:1700px){.chapter-description{font-size:16px}.service-line{font-size:11px}}
@media(max-width:900px){.header{gap:20px;padding:0 5%;height:85px}.header nav{gap:20px}.header nav a:nth-child(2){display:none}.language{padding-left:16px}.topline{top:115px}.topline span:last-child{font-size:8px;letter-spacing:0}.motion-ready .chapter.right{padding-left:44%}.chapter h2{font-size:54px}.chapter-description{font-size:12px}.chapter-nav{gap:14px}.orbit-label{bottom:19%}.work-grid{grid-template-columns:repeat(2,minmax(0,280px))}.studio-grid,.contact-grid{gap:6%}.contact-team a{font-size:11px;gap:9px}}
@media(max-width:600px){.header{height:78px;gap:18px}.brand{font-size:18px;gap:9px;letter-spacing:1px}.brand img{width:31px;height:31px}.brand small{font-size:6px;letter-spacing:.8px}.header nav{gap:15px;font-size:10px}.contact-pill{border:0;padding:0}.contact-pill span{margin-left:4px}.language{display:none}.topline{top:104px;font-size:8px;letter-spacing:.7px}.topline span:last-child{display:none}.motion-ready .stage{min-height:640px}.motion-ready .chapter,.motion-ready .chapter.right{padding:165px 7% 170px;justify-content:flex-start}.chapter{padding:145px 7% 100px;min-height:85svh}h1{font-size:65px;line-height:1.3;margin-bottom:22px}.chapter h2{font-size:52px;margin-bottom:22px}.eyebrow{font-size:10px;margin-bottom:23px}.eyebrow span{margin-right:14px}.chapter-description{font-size:11px;line-height:2.2;letter-spacing:0}.service-line{font-size:8px;max-width:100%;margin-bottom:12px}.text-link{font-size:11px}.orbit-label{bottom:122px;right:7%;font-size:8px}.stage-bottom{bottom:28px;flex-wrap:wrap;gap:20px}.scroll-cue{font-size:9px;flex-basis:65%}.scroll-cue>span{height:24px;width:24px;margin-right:8px}.chapter-nav{order:3;justify-content:space-between;width:100%}#motion{font-size:9px}#motion span{margin-left:6px}.section{padding:65px 7%}.section-label{margin-bottom:38px;font-size:9px}.section-label span:last-child{font-size:7px;letter-spacing:.4px}.studio-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.studio h2,.contact h2{font-size:44px}.studio-grid p{font-size:12px}.studio-grid .lead{font-size:16px}.capabilities{grid-template-columns:repeat(2,1fr);margin-top:45px}.capabilities>span{font-size:13px}.selected{padding-top:0}.selected-heading{align-items:flex-start;gap:20px}.selected-heading h2{font-size:32px;white-space:nowrap}.selected-heading .text-link{font-size:9px;gap:8px}.featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.featured a>span{font-size:12px}.featured small{font-size:8px;letter-spacing:.4px}.contact{padding-top:0}.contact-team a{font-size:13px;padding:22px 0;gap:16px}footer{flex-wrap:wrap;gap:20px;font-size:8px}footer a:last-child{margin-left:0}.work-intro{padding-top:40px}.work-title{display:block}.work-title h1{font-size:48px;margin-bottom:20px}.work-title p{font-size:12px}.work-gallery{padding-top:15px}.work-grid{grid-template-columns:minmax(0,280px);gap:38px}.project h2{font-size:19px}.archive{gap:18px;font-size:12px}.archive span{font-size:9px}.dialog-body{padding:24px}#dialog-image{height:220px}.dialog-body h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

#light-canvas{mask-image:linear-gradient(to bottom,transparent 5%,#000 21%,#000 88%,transparent 100%)}

.language-switch{display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap;font:11px monospace}
.language-switch a{padding:8px 0}
.language-switch a:hover{color:var(--accent)}
.language-switch>span{color:var(--muted);opacity:.55}
@media(max-width:600px){.header{gap:0 12px;height:100px;flex-wrap:wrap;align-content:center}.header nav{gap:16px;order:3;flex-basis:100%;justify-content:flex-end;margin-top:8px}.header .brand{font-size:16px;margin-right:auto}.header .brand img{width:28px;height:28px}.language-switch{font-size:10px;gap:6px}}

/* Readable Japanese service and project pages, independent of the animation. */
.studio-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.information-content{max-width:1180px;margin:auto;padding-top:44px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:45px;font-size:11px;color:var(--muted);line-height:1.8}
.breadcrumbs a{color:var(--accent)}
.information-content h1{font-size:clamp(30px,4.5vw,58px);line-height:1.5;letter-spacing:-.04em;overflow-wrap:anywhere;max-width:950px}
.information-content h2{font-size:clamp(22px,2.3vw,30px);line-height:1.6;letter-spacing:-.03em}
.information-content p{font-size:14px;line-height:2.1;color:var(--muted);max-width:800px}
.information-content .information-lead{font-size:16px;color:var(--ink)}
.service-toc{display:flex;flex-wrap:wrap;gap:12px 24px;margin:36px 0 50px}
.service-toc a,.related-projects a{font-size:13px;line-height:1.9;color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.service-detail{border-top:1px solid var(--line);padding:36px 0;scroll-margin-top:35px}
.related-projects{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:24px}
.service-detail details{border-bottom:1px solid var(--line);padding:18px 0}
.service-detail summary{cursor:pointer;font-size:14px;line-height:1.9}
.service-detail details p{margin:15px 0 0}
.case-intro{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:45px;margin:40px 0}
.case-intro img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.dialog-body>.text-link{margin-right:24px;margin-bottom:12px}
@media(max-width:600px){.case-intro{grid-template-columns:1fr;gap:24px}.case-intro img{max-width:280px}.information-content .information-lead{font-size:14px}.information-content p{font-size:13px}.service-toc{display:grid}.breadcrumbs{margin-bottom:30px}}
