:root{--bg:#101012;--white:#f2f2ee;--muted:#a2a2a6;--red:#f04438;--line:#38383d;--ease:cubic-bezier(.19,1,.22,1);--font-jp:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;--font-en:'Archivo','Helvetica Neue',Arial,sans-serif;font-family:var(--font-en),var(--font-jp);color:var(--white);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}::selection{background:var(--red);color:#101012}h1,h2,h3,h4,p,figure{margin:0}em{font-style:normal}.red{color:var(--red)}.section-pad{padding:120px 5vw}.section-kicker{font-size:14px;line-height:1.5;font-weight:500;letter-spacing:.03em}.skip-link{position:fixed;top:8px;left:8px;z-index:200;background:#fff;color:#000;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}
/* Navigation: a wordmark and a short index. */
.site-header{position:fixed;z-index:40;inset:0 0 auto;height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:background .4s,height .4s}.site-header.scrolled{height:72px;background:#101012f2;border-bottom-color:#ffffff12}.wordmark{font-size:28px;font-weight:900;letter-spacing:-1.7px;display:flex;align-items:baseline;gap:7px;line-height:1}.wordmark-slash{font-size:22px;color:var(--red);letter-spacing:-4px;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:40px;font-size:14px}.desktop-nav>a:not(.nav-contact){position:relative;height:24px;overflow:hidden}.desktop-nav [data-roll]>span{display:block;line-height:24px;transition:transform .5s var(--ease)}.desktop-nav [data-roll]:hover>span{transform:translateY(-100%)}.nav-contact{display:flex;gap:24px;align-items:center;padding:8px 0;border-bottom:1px solid #9b9b9e;transition:color .25s,border-color .25s}.nav-contact:hover{color:var(--red);border-color:var(--red)}.nav-contact>span{font-size:20px}.menu-toggle{display:none}.mobile-menu{color:var(--white);background:var(--bg);border:0;max-width:none;max-height:none;width:100%;height:100dvh;padding:26px}.mobile-menu::backdrop{background:#0009}.menu-top{display:flex;justify-content:space-between;align-items:center}.menu-close{font-size:16px;padding:12px}.mobile-menu nav{display:flex;flex-direction:column;gap:24px;margin-top:15vh}.mobile-menu nav a{font-size:clamp(32px,7vw,56px);font-weight:500;letter-spacing:-.045em;width:max-content}.mobile-menu nav a:hover{color:var(--red)}.mobile-menu>p{margin-top:45px;font-size:14px;color:var(--muted)}.mobile-menu[open] nav a{animation:menu-arrive .6s var(--ease) both}.mobile-menu[open] nav a:nth-child(2){animation-delay:.06s}.mobile-menu[open] nav a:nth-child(3){animation-delay:.12s}.mobile-menu[open] nav a:nth-child(4){animation-delay:.18s}
/* The opening is the only full-screen spectacle. */
.hero{height:210svh;min-height:1100px;position:relative}.hero-stage{height:100svh;min-height:660px;position:sticky;top:0;overflow:hidden;isolation:isolate;cursor:grab}.hero-stage.is-dragging{cursor:grabbing}.hero-object{position:absolute;inset:0;z-index:1;pointer-events:none}.hero-object canvas{width:100%;height:100%;display:block}.hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:72% 50%;opacity:.75;transition:opacity .5s}.webgl-ready .hero-fallback{opacity:0}.hero-heading{position:absolute;left:5vw;top:27%;z-index:2;will-change:transform;transition:opacity .65s}.hero-eyebrow{font-size:14px;font-weight:400;letter-spacing:.045em;margin-bottom:35px;color:#b3b3b7}.hero h1{font-size:clamp(48px,6.5vw,112px);font-weight:600;line-height:1.42;letter-spacing:-.065em}.hero h1 .line{display:block;overflow:hidden;padding:0 .1em .07em 0;margin-bottom:-.07em;will-change:transform}.hero h1 .line>span{display:block;transform-origin:0 100%}.js .hero h1 .line>span{animation:linein 1.1s .05s var(--ease) both}.js .hero h1 .line:nth-child(2)>span{animation-delay:.13s}.hero-bottom{position:absolute;inset:auto 5vw 7vh;z-index:3;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;transition:opacity .5s}.hero-jp{font-size:16px;line-height:1.95;letter-spacing:.015em;font-weight:400}.explore-link{display:flex;align-items:center;gap:26px;font-size:14px;padding:12px 0}.down-arrow{display:block;font-size:25px;line-height:1}.explore-link:hover .down-arrow{color:var(--red)}.hero-track{position:absolute;bottom:0;left:5vw;right:5vw;height:1px;background:#303035}.hero-track i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
/* A compact statement. The service details carry the explanation. */
.intro{display:grid;grid-template-columns:1.15fr 1fr;column-gap:10vw;padding-top:145px;padding-bottom:145px}.intro>.section-kicker{grid-column:1/-1;margin-bottom:45px;color:#a2a2a6}.manifesto{font-size:clamp(32px,4.3vw,70px);font-weight:500;line-height:1.65;letter-spacing:-.05em}.manifesto>span:not(.type-word){color:#94949b}.manifesto>em{background:linear-gradient(var(--red),var(--red)) left bottom/var(--underline,0%) 2px no-repeat;padding-bottom:7px}.type-word{display:inline-block;white-space:nowrap;perspective:650px}.type-char{display:inline-block;transform-origin:50% 100%;backface-visibility:hidden}.intro-copy{align-self:end;max-width:540px;padding-bottom:10px}.intro-copy p{font-size:16px;line-height:2.1;font-weight:400;letter-spacing:.015em}.intro-copy p+p{margin-top:22px}.intro-copy p:last-child{margin-top:30px;color:#a2a2a6}
/* Work is presented as a readable index, not a second hero. */
.services{background:#f2f2ee;color:#1b1b1d;display:grid;grid-template-columns:1fr 2.3fr;gap:7vw;padding-top:105px;padding-bottom:115px}.section-head{align-self:start}.section-head .section-kicker{color:#68686c}.section-head h2{font-size:clamp(28px,2.6vw,42px);font-weight:500;line-height:1.4;letter-spacing:-.04em;margin-top:19px}.section-head>p{font-size:16px;line-height:1.9;margin-top:27px;color:#5c5c61}.service-list{border-top:1px solid #96969c;overflow:hidden}.service{border-bottom:1px solid #bdbdc1}.service summary{list-style:none;padding:33px 2px;display:grid;grid-template-columns:44px 1fr 32px;gap:10px;align-items:center;cursor:pointer}.service summary::-webkit-details-marker{display:none}.service-number{font-size:13px;font-variant-numeric:tabular-nums;color:#6e6e72;align-self:start;padding-top:10px}.service-title h3{font-size:clamp(25px,2.65vw,42px);line-height:1.35;font-weight:500;letter-spacing:-.045em;transition:transform .5s var(--ease)}.service-title>span{display:block;font-size:13px;margin-top:8px;color:#77777c}.service:hover .service-title h3{transform:translateX(6px)}.service-plus{position:relative;width:30px;height:30px}.service-plus:before,.service-plus:after{content:'';position:absolute;left:3px;top:14px;width:24px;height:1px;background:#515155;transition:transform .45s var(--ease)}.service-plus:after{transform:rotate(90deg)}.service[open] .service-plus:after{transform:rotate(0)}.service[open] .service-number{color:#ba2921}.service-content{padding:0 42px 35px 56px}.service-content p{font-size:16px;line-height:2;color:#47474d;max-width:630px}.service-content ul{display:flex;flex-wrap:wrap;gap:6px 20px;list-style:none;padding:0;margin:22px 0 0;color:#6a6a70}.service-content li{font-size:13px;line-height:1.8}
/* The process is a continuous list with a fixed reading point. */
.approach{display:grid;grid-template-columns:1fr 1.45fr;gap:12vw;padding-top:140px;padding-bottom:140px}.approach-intro{align-self:start;position:sticky;top:130px}.approach-intro .section-kicker{color:#96969d}.approach-intro h2{font-size:clamp(32px,3.7vw,58px);line-height:1.6;font-weight:500;letter-spacing:-.05em;margin-top:29px}.approach-intro>p{font-size:16px;line-height:1.95;color:#a2a2aa;margin-top:28px}.approach-steps article{display:grid;grid-template-columns:34px 1fr;gap:20px;padding:30px 0 45px;border-top:1px solid var(--line)}.approach-steps article+article{padding-top:38px}.step-number{font-size:13px;font-variant-numeric:tabular-nums;color:#adadaf;padding-top:9px}.approach-steps h3{font-size:clamp(22px,2.1vw,32px);line-height:1.5;letter-spacing:-.035em;font-weight:500}.approach-steps p{font-size:16px;line-height:2;color:#a5a5ad;margin-top:20px;max-width:510px}
/* Company facts keep their own quieter scale. */
.about{display:grid;grid-template-columns:1fr 1.45fr;gap:12vw;border-top:1px solid var(--line);padding-top:80px;padding-bottom:130px}.about-heading .section-kicker{color:#96969d}.about-heading h2{font-size:clamp(25px,2.3vw,36px);line-height:1.4;font-weight:500;letter-spacing:-.055em;margin-top:25px}.about-heading p{font-size:16px;line-height:1.95;color:#a2a2aa;margin-top:28px}.about-grid{min-width:0}.company-info{margin:0}.company-info>div{display:grid;grid-template-columns:105px 1fr;gap:25px;padding:19px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.9}.company-info>div:first-child{padding-top:0}.company-info dt{color:#9999a1}.company-info dd{margin:0}
/* One direct invitation. */
.contact{background:var(--red);color:#171719;padding-top:90px;padding-bottom:75px}.contact-lead{font-size:16px;line-height:1.8;margin-bottom:35px}.contact-display{display:flex;align-items:center;justify-content:space-between;gap:4vw;padding-bottom:10px}.contact-display h2{font-size:clamp(48px,7.4vw,116px);line-height:1.4;letter-spacing:-.065em;font-weight:500}.contact-arrow{display:block;font-size:clamp(76px,12vw,178px);line-height:1;font-weight:200;margin-right:3vw;transition:color .3s}.contact-display:hover .contact-arrow{color:var(--white)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:52px;padding-top:28px;border-top:1px solid #17171950}.mail-link{font-size:clamp(17px,1.9vw,28px);letter-spacing:-.025em;padding:8px 0}.mail-link:hover{text-decoration:underline;text-underline-offset:6px}.contact-link{display:flex;align-items:center;gap:32px;font-size:14px;padding:8px 0}.contact-link span{font-size:22px}.contact a:focus-visible{outline-color:#171719}.site-footer{padding:50px 5vw 75px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;overflow:hidden}.footer-mark{font-size:clamp(42px,6vw,90px);font-weight:900;line-height:1;letter-spacing:-.07em;display:block;white-space:nowrap;transform-origin:left bottom}.footer-mark>span{color:var(--red);font-weight:500;margin-left:.09em;letter-spacing:-.12em}.site-footer>div{display:flex;gap:28px;align-items:center;font-size:12px;color:#a0a0a7}.site-footer>div>a{padding:9px 0}.site-footer>div>a:hover{color:var(--white)}
/* The sculpture has its own explicit playground. */
.play-toggle{display:none;position:absolute;z-index:7;top:128px;right:5vw;align-items:center;gap:14px;padding:12px 0;font-size:14px;border-bottom:1px solid #626269;transition:color .3s,border-color .3s}.webgl-ready .play-toggle{display:flex}.play-toggle:hover{color:var(--red);border-color:var(--red)}.play-icon{font-family:Arial,sans-serif;font-size:20px;font-weight:700;letter-spacing:-3px;padding-right:3px;line-height:1;transition:transform .8s var(--ease)}.play-toggle:hover .play-icon{transform:rotate(180deg)}.play-surface{position:absolute;z-index:4;inset:17% 0 27%;display:none;cursor:grab;touch-action:none}.play-surface:focus-visible{outline:1px dashed #ffffff40;outline-offset:-20px}.play-mode .play-surface{display:block}.play-mode .hero-heading{opacity:.045;pointer-events:none}.play-mode .hero-bottom{opacity:0;pointer-events:none}.play-mode.is-dragging .play-surface{cursor:grabbing}.play-console{position:absolute;z-index:6;bottom:10vh;left:0;right:0;text-align:center}.play-console[hidden]{display:none}.play-instruction{font-size:14px;color:#b1b1b7}.play-tools{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}.material-picker{display:flex;align-items:center;gap:0}.swatch{width:44px;height:44px;border-radius:50%;position:relative;padding:12px;background-clip:content-box!important}.swatch:after{content:'';position:absolute;inset:6px;border:1px solid transparent;border-radius:50%;transition:border-color .3s}.swatch[aria-pressed=true]:after{border-color:#a8a8ae}.swatch-chrome{background:linear-gradient(120deg,#fff,#454549 48%,#dedede)}.swatch-red{background:#f04438}.swatch-blue{background:#3b63e8}.material-name{font-size:12px;letter-spacing:.03em;color:#aaaab0;min-width:68px;text-align:left}.burst-button{border-bottom:1px solid #6a6a71;padding:11px 4px;font-size:14px;display:flex;gap:20px;transition:color .3s}.burst-button:hover{color:var(--red)}.reset-play{font-size:27px;width:44px;height:44px;color:#aaaab0}.reset-play:hover{color:white}.energy-ring{position:fixed;top:0;left:0;width:80px;height:80px;z-index:35;pointer-events:none;opacity:0;transition:opacity .25s}.energy-ring.visible{opacity:1}.energy-ring svg{width:80px;height:80px;transform:rotate(-90deg)}.energy-ring circle{fill:none;stroke:var(--red);stroke-width:1.5;stroke-dasharray:220;stroke-dashoffset:220}.energy-ring span{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;letter-spacing:.02em}.burst-ring{position:absolute;top:50%;left:50%;width:36vw;height:36vw;border:1px solid #f0443850;border-radius:50%;z-index:0;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.burst-ring.fire{animation:burst-wave 1.1s var(--ease) both}
.motion-toggle{position:fixed;bottom:16px;right:22px;z-index:30;background:#19191def;border:1px solid #49494f;display:flex;align-items:center;gap:9px;padding:10px 12px;min-height:40px;font-size:12px;color:#d4d4db}.motion-bars{height:12px;display:flex;align-items:center;gap:3px}.motion-bars i{height:8px;width:1px;background:currentColor;transform-origin:center;animation:equalizer 1.1s ease-in-out infinite alternate}.motion-bars i:nth-child(2){height:12px;animation-delay:-.35s}.motion-bars i:nth-child(3){animation-delay:-.7s}.cursor-orbit{position:fixed;top:0;left:0;width:30px;height:30px;border:1px solid #fff6;border-radius:50%;pointer-events:none;z-index:90;opacity:0;transition:width .25s,height .25s,opacity .2s;will-change:transform}.cursor-orbit.active{width:62px;height:62px;border-color:var(--red)}
@keyframes linein{from{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes menu-arrive{from{transform:translate3d(30px,15px,0)}to{transform:none}}@keyframes equalizer{to{transform:scaleY(.3)}}@keyframes burst-wave{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}15%{opacity:.7}100%{transform:translate(-50%,-50%) scale(2.8);opacity:0}}
@media(min-width:1800px){.section-pad{padding-left:8vw;padding-right:8vw}.hero-heading{left:8vw}.hero-bottom{left:8vw;right:8vw}.site-header{padding:0 8vw}.play-toggle{right:8vw}}
@media(max-width:1100px){.intro{gap:6vw}.manifesto{font-size:4.8vw}.desktop-break{display:none}.services{grid-template-columns:1fr 2fr;gap:5vw}.approach,.about{gap:7vw}.site-footer{align-items:flex-start}.site-footer>div{flex-wrap:wrap;gap:12px 24px;max-width:320px}.site-footer>div>span{width:100%}}
@media(max-width:700px){html{scroll-padding-top:82px}.section-pad{padding:80px 6vw}.site-header{height:76px;padding:0 6vw}.site-header.scrolled{height:66px}.wordmark{font-size:25px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 0 0 14px;font-size:14px}.menu-toggle i{width:22px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.hero{height:185svh;min-height:1050px}.hero-stage{min-height:630px;cursor:auto}.hero-heading{left:6vw;top:29%}.hero-eyebrow{font-size:12px;letter-spacing:.015em;margin-bottom:25px}.hero h1{font-size:10.4vw;line-height:1.5;font-weight:600}.hero-fallback{width:140%;max-width:none;left:-15%;object-position:center}.hero-bottom{left:6vw;right:6vw;bottom:9vh;gap:16px}.hero-jp{font-size:14px;line-height:1.9;max-width:82%}.explore-link{padding:12px 0}.explore-link>span:first-child{display:none}.down-arrow{font-size:25px}.hero-track{left:6vw;right:6vw}.intro{grid-template-columns:1fr;gap:0;padding-top:90px;padding-bottom:90px}.intro>.section-kicker{margin-bottom:35px;font-size:13px}.manifesto{font-size:8.7vw;line-height:1.7}.intro-copy{margin-top:38px;max-width:100%;padding:0}.intro-copy p{font-size:16px;line-height:2.1}.services{grid-template-columns:1fr;gap:35px}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:end}.section-head .section-kicker{grid-column:1/-1;font-size:13px}.section-head h2{font-size:30px;margin-top:14px}.section-head>p{font-size:14px;margin:0;text-align:right;line-height:1.7}.service summary{grid-template-columns:30px 1fr 28px;padding:27px 0;gap:8px}.service-number{font-size:12px;padding-top:8px}.service-title h3{font-size:7vw}.service-title>span{font-size:12px;margin-top:7px}.service-plus{width:28px}.service-plus:before,.service-plus:after{width:21px}.service-content{padding:0 8px 30px 38px}.service-content p{font-size:16px;line-height:1.95}.service-content ul{gap:4px 14px;margin-top:18px}.service:hover .service-title h3{transform:none}.approach{grid-template-columns:1fr;gap:45px}.approach-intro{position:static}.approach-intro .section-kicker{font-size:13px}.approach-intro h2{font-size:34px;line-height:1.6;margin-top:23px}.approach-intro>p{font-size:16px;margin-top:22px}.approach-steps article{grid-template-columns:26px 1fr;gap:14px;padding:26px 0 34px}.approach-steps article+article{padding-top:28px}.step-number{font-size:12px;padding-top:7px}.approach-steps h3{font-size:23px}.approach-steps p{font-size:16px;margin-top:16px}.about{grid-template-columns:1fr;gap:40px;padding-top:60px}.about-heading .section-kicker{font-size:13px}.about-heading h2{font-size:27px;margin-top:20px}.about-heading p{font-size:16px;margin-top:22px}.company-info>div{grid-template-columns:76px 1fr;gap:17px;font-size:14px;padding:17px 0}.contact{padding-top:65px;padding-bottom:55px}.contact-lead{font-size:14px;margin-bottom:28px}.contact-display{gap:16px;align-items:center}.contact-display h2{font-size:11.4vw;line-height:1.45}.contact-arrow{font-size:55px;margin:0;flex-shrink:0}.contact-bottom{flex-direction:column;align-items:flex-start;gap:16px;margin-top:35px;padding-top:20px}.mail-link{font-size:18px}.contact-link{font-size:14px;gap:22px}.site-footer{padding:35px 6vw 100px;flex-direction:column;gap:30px}.footer-mark{font-size:54px}.site-footer>div{font-size:12px;gap:12px 24px;max-width:none}.play-toggle{top:104px;right:6vw;font-size:13px;gap:12px}.play-icon{font-size:19px}.play-surface{inset:19% 0 28%}.play-console{bottom:10vh}.play-instruction{font-size:13px}.play-tools{gap:12px;margin-top:20px}.material-name{display:none}.burst-button{font-size:14px;gap:14px}.burst-ring{width:70vw;height:70vw}.motion-toggle{right:14px;bottom:14px;font-size:12px}.cursor-orbit{display:none}}
.motion-paused .hero{height:100svh;min-height:660px}.motion-paused .hero-stage{position:relative;cursor:auto}.motion-paused .hero-heading,.motion-paused .hero-bottom,.motion-paused .hero h1 .line,.motion-paused .type-char,.motion-paused .service,.motion-paused .approach-steps article,.motion-paused .footer-mark,.motion-paused .nav-contact,.motion-paused .down-arrow,.motion-paused .contact-arrow{transform:none!important}.motion-paused .hero h1 .line>span,.motion-paused .motion-bars i,.motion-paused .mobile-menu[open] nav a{animation:none!important}.motion-paused .cursor-orbit,.motion-paused .play-toggle,.motion-paused .energy-ring,.motion-paused .hero-track{display:none}.motion-paused .motion-bars i{height:3px}.motion-paused .manifesto>em{background-size:100% 2px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero{height:100svh;min-height:660px}.hero-stage{position:relative}.hero-heading,.hero-bottom,.hero h1 .line,.type-char,.service,.approach-steps article,.footer-mark{transform:none!important}.cursor-orbit,.hero-track,.play-toggle,.energy-ring{display:none!important}.approach-intro{position:static}.manifesto>em{background-size:100% 2px}}

/* Custom Japanese and Latin faces, with deliberate weight and spacing. */
.hero h1,.manifesto,.section-head h2,.service-title h3,.approach-intro h2,.approach-steps h3,.about-heading h2,.contact-display h2{font-family:var(--font-jp);font-feature-settings:"palt" 1;}
.hero h1{font-weight:900;font-size:clamp(48px,6.9vw,116px);letter-spacing:-.045em;line-height:1.28}.hero-eyebrow{font-weight:500;letter-spacing:.06em;margin-bottom:36px}.hero-heading{top:29%}.hero-jp{font-weight:400;letter-spacing:.025em}
.manifesto{font-weight:700;letter-spacing:-.02em;line-height:1.55}.section-head h2{font-weight:700;letter-spacing:-.025em}.service-title h3{font-weight:700;letter-spacing:-.025em}.approach-intro h2{font-weight:700;letter-spacing:-.03em;line-height:1.5}.approach-steps h3{font-weight:700;letter-spacing:-.02em}.about-heading h2{font-weight:700;letter-spacing:-.035em}.contact-display h2{font-weight:900;letter-spacing:-.04em;line-height:1.28}
.wordmark,.footer-mark{font-family:var(--font-en);font-weight:900;letter-spacing:-.045em}.wordmark-slash{font-weight:700;letter-spacing:-.1em}.section-kicker,.service-title>span,.step-number,.service-number,.material-name{font-family:var(--font-en),var(--font-jp)}.section-kicker{font-weight:500}.service-title>span{font-weight:500;letter-spacing:.015em}.service-number,.step-number{font-weight:500;font-variant-numeric:tabular-nums}.intro-copy p,.service-content p,.approach-steps p{letter-spacing:.018em}.company-info{letter-spacing:.01em}
@media(max-width:700px){.hero h1{font-size:11.2vw;letter-spacing:-.055em;line-height:1.4}.hero-heading{top:30%}.hero-eyebrow{margin-bottom:25px;letter-spacing:.025em}.manifesto{font-size:9.4vw;line-height:1.55}.contact-display{gap:12px}.contact-display h2{font-size:10.6vw;line-height:1.32}.contact-arrow{font-size:12vw}.wordmark{font-size:26px}.footer-mark{font-size:55px}}
/* Motion belongs to each section, with its own pace and response. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site-header:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--red);transform:scaleX(var(--page-progress,0));transform-origin:left}.kinetic-heading{position:relative;perspective:850px}.kinetic-heading .type-word{position:relative;display:inline-block;vertical-align:baseline;white-space:nowrap;perspective:650px}.kinetic-heading .type-char{position:relative;display:inline-block;transform-origin:50% 85%;backface-visibility:hidden;will-change:transform}.hero h1 .line{padding-top:.2em;padding-bottom:.24em;margin-top:-.2em;margin-bottom:-.24em;overflow:visible}.hero h1 .line>span{display:inline-block}.manifesto>.type-word{color:var(--white)}.footer-mark>.type-word{color:var(--white);font-weight:900;letter-spacing:inherit}.footer-mark .type-char{transform-origin:50% 100%}.decode-output{display:inline-block;min-width:1ch}.section-kicker{min-height:1.5em}.motion-copy{will-change:transform,opacity}
.service-readout{margin-top:48px;--active-service:0}.readout-window{font-family:var(--font-en);font-weight:800;letter-spacing:-.085em;font-size:clamp(90px,10vw,155px);line-height:1;height:1em;width:2ch;overflow:hidden;color:var(--red)}.readout-track{transform:translate3d(0,calc(var(--active-service)*-1em),0);transition:transform .9s var(--ease)}.readout-track>span{display:block;height:1em;line-height:1}.readout-caption{font-family:var(--font-en);display:block;font-size:14px;color:#707077;margin-top:14px;min-height:1.4em}.service{position:relative}.service:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}.service.service-active:after{transform:scaleX(1)}.service-number{transition:color .4s,transform .6s var(--ease)}.service-active .service-number{color:#b82920;transform:translateY(-3px)}.service summary{position:relative;isolation:isolate}.service summary:before{content:'';position:absolute;inset:0;background:#e6e6df;z-index:-1;transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease)}.service summary:hover:before,.service summary:focus-visible:before{transform:scaleY(1)}.service.content-arrive .service-content>p{animation:content-in .6s var(--ease) both}.service.content-arrive .service-content li{animation:content-in .6s var(--ease) both}.service.content-arrive .service-content li:nth-child(1){animation-delay:.06s}.service.content-arrive .service-content li:nth-child(2){animation-delay:.12s}.service.content-arrive .service-content li:nth-child(3){animation-delay:.18s}.service-plus{transition:transform .6s var(--ease)}.service summary:hover .service-plus{transform:rotate(90deg)}.service[open] summary:hover .service-plus{transform:rotate(180deg)}
.process-readout{display:flex;align-items:baseline;gap:16px;margin-top:38px;font-family:var(--font-en);font-variant-numeric:tabular-nums}.process-current{font-size:clamp(54px,6vw,92px);line-height:1;font-weight:700;letter-spacing:-.07em;color:var(--red);min-width:1.15em}.process-total{font-size:14px;color:#95959d}.process-meter{align-self:center;position:relative;flex:1;height:1px;background:#44444b;max-width:100px;overflow:hidden}.process-meter>i{display:block;height:100%;width:100%;background:var(--red);transform:scaleX(var(--process-progress,0));transform-origin:left}.approach-steps article{position:relative;transition:border-color .6s}.approach-steps article:before{content:'';position:absolute;top:-1px;left:0;right:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}.approach-steps .step-active:before{transform:scaleX(1)}.approach-steps h3{transition:color .55s}.step-active h3,.step-active .step-number{color:var(--red)}.company-info>div{position:relative}.company-info>div:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#a0a0a7;transform:scaleX(var(--rule,1));transform-origin:left}.company-info dt,.company-info dd{transition:transform .5s var(--ease),color .4s}.company-info>div:hover dd{transform:translateX(8px)}.company-info>div:hover dt{color:var(--white)}
.contact{position:relative;isolation:isolate;overflow:hidden}.contact-spot{position:absolute;top:0;left:0;width:260px;height:260px;z-index:0;background:var(--white);border-radius:50%;pointer-events:none;transform:scale(0);will-change:transform}.contact>*:not(.contact-spot){position:relative;z-index:1}.contact-display:hover .contact-arrow{color:#171719}.contact-display h2{overflow:visible}.mail-link{position:relative}.mail-link:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}.mail-link:hover{text-decoration:none}.mail-link:hover:after{transform:scaleX(1);transform-origin:left}.cursor-orbit{mix-blend-mode:difference}.cursor-orbit.active{background:#ffffff09}
@keyframes content-in{from{translate:0 22px;opacity:.3}to{translate:0 0;opacity:1}}
@media(max-width:700px){.service-readout{grid-column:1/-1;display:flex;align-items:center;gap:28px;margin-top:22px}.readout-window{font-size:72px;flex-shrink:0}.readout-caption{margin:0;font-size:14px}.process-readout{margin-top:25px}.process-current{font-size:60px}.process-meter{max-width:100px}.contact-spot{width:175px;height:175px}.kinetic-heading .type-char{will-change:auto}.company-info>div:hover dd{transform:none}}
.motion-paused .kinetic-heading .type-char{transform:none!important;color:inherit!important}.motion-paused .motion-copy,.motion-paused .company-info>div{transform:none!important;opacity:1!important}.motion-paused .contact-spot{display:none}.motion-paused .readout-track,.motion-paused .service summary:before,.motion-paused .service:after,.motion-paused .service-plus,.motion-paused .approach-steps article:before{transition:none}.motion-paused .content-arrive .service-content p,.motion-paused .content-arrive .service-content li{animation:none!important}.motion-paused .company-info>div:after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.kinetic-heading .type-char{transform:none!important;color:inherit!important}.motion-copy,.company-info>div{transform:none!important;opacity:1!important}.contact-spot{display:none}.company-info>div:after{transform:scaleX(1)}}
/* A central stage, offset editorial sections, then a full-width invitation. */
.hero-stage{isolation:isolate}.hero-heading{left:8vw;right:8vw;top:26%;width:84vw;mix-blend-mode:difference}.hero-eyebrow{text-align:center;margin-bottom:4vh}.hero h1{font-size:clamp(62px,min(9.3vw,15svh),155px);line-height:1.17;letter-spacing:-.055em}.hero h1 .line{width:100%}.hero h1 .line:first-child{text-align:left}.hero h1 .line:nth-child(2){text-align:right;margin-top:.07em;padding-right:2vw}.hero-bottom{flex-direction:column;align-items:center;justify-content:center;inset:auto 5vw 6.5vh;gap:22px;text-align:center}.hero-jp{font-size:15px;line-height:1.9;max-width:none}.explore-link{gap:17px;font-size:13px;padding:8px}.down-arrow{font-size:24px}.hero-fallback{object-position:center}.play-toggle{right:5vw;top:125px}.play-mode .hero-heading{opacity:.04}
.intro{display:block;position:relative;padding-top:155px;padding-bottom:155px;text-align:center}.intro>.section-kicker{margin-bottom:50px}.manifesto{font-size:clamp(40px,5.7vw,90px);line-height:1.55}.manifesto>.type-word{margin-left:-12vw}.manifesto>span:not(.type-word){padding-left:15vw}.manifesto>em{display:inline-block;margin-left:-2vw}.intro-copy{width:min(580px,56%);max-width:none;margin:68px 4vw 0 auto;text-align:left;padding:0}.intro-copy p{font-size:16px;line-height:2.15}
.services{display:block;padding-top:115px;padding-bottom:150px}.section-head{position:relative;display:block;text-align:center;max-width:1100px;margin:0 auto 80px;padding:0 170px;min-height:220px}.section-head .section-kicker{margin-bottom:22px}.section-head h2{font-size:clamp(36px,6vw,88px);line-height:1.3;margin:0}.section-head>p{text-align:center;margin-top:28px}.service-readout{position:absolute;right:0;bottom:0;margin:0;text-align:center;transform:rotate(-5deg)}.readout-window{font-size:clamp(85px,9vw,140px);margin:auto}.readout-caption{font-size:13px}.service-list{max-width:1100px;margin:0 auto;border:0;overflow:visible}.service{width:78%;border-top:1px solid #bdbdc1;border-bottom:1px solid #bdbdc1}.service:nth-child(1){margin-right:auto}.service:nth-child(2){margin:45px 0 0 auto}.service:nth-child(3){margin:45px auto 0 8%}.service summary{padding:32px 12px;grid-template-columns:44px 1fr 32px}.service-content{padding-left:68px}.service-title h3{font-size:clamp(28px,3.3vw,48px)}
.approach{display:block;padding-top:150px;padding-bottom:145px}.approach-intro{position:static;max-width:700px;margin:0 auto 90px;text-align:center}.approach-intro h2{font-size:clamp(36px,5.1vw,76px);line-height:1.5}.approach-intro>p{margin-top:24px}.process-readout{justify-content:center;margin-top:30px}.process-current{font-size:65px}.process-meter{flex:none;width:100px}.approach-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw;max-width:1240px;margin:0 auto}.approach-steps article{display:block;padding:28px 0 35px}.approach-steps article:nth-child(2){margin-top:105px;padding-top:28px}.approach-steps article:nth-child(3){margin-top:210px;padding-top:28px}.step-number{display:block;margin-bottom:30px;padding:0}.approach-steps h3{font-size:clamp(22px,2.3vw,34px);line-height:1.7}.kinetic-step .type-word{display:inline;position:static;white-space:normal}.approach-steps p{font-size:16px;line-height:2;margin-top:20px}.about{display:block;padding-top:100px;padding-bottom:145px;text-align:center}.about-heading h2{font-size:clamp(30px,4.4vw,65px);margin-top:25px}.about-heading p{margin-top:24px}.about-grid{width:min(800px,80%);margin:65px auto 0}.company-info>div{grid-template-columns:1fr 1.7fr;gap:50px;text-align:left}.company-info dt{text-align:right}.company-info dd{padding-right:30px}
.contact{padding-top:100px;padding-bottom:70px;text-align:center}.contact-lead{margin-bottom:35px}.contact-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px}.contact-display h2{font-size:clamp(48px,9vw,138px);line-height:1.3;text-align:center}.contact-arrow{font-size:75px;line-height:1;margin:0}.contact-bottom{justify-content:center;flex-wrap:wrap;gap:6vw;margin-top:48px;padding-top:25px}.site-footer{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 5vw 80px;gap:35px}.footer-mark{font-size:clamp(66px,14vw,200px);line-height:1.1;transform-origin:center}.site-footer>div{max-width:none;justify-content:center;gap:35px}.site-footer>div>span{width:auto}
@media(min-width:1800px){.hero-heading{left:10vw;right:10vw;width:80vw}.hero-bottom{left:8vw;right:8vw}.play-toggle{right:8vw}}
@media(max-width:1000px) and (min-width:701px){.section-head{padding:0 140px}.approach-steps{gap:4vw}.approach-steps h3{font-size:25px}.service{width:85%}.service:nth-child(3){margin-left:5%}.intro-copy{width:62%;margin-right:0}.hero h1{font-size:9.6vw}}
@media(max-width:700px){.hero-heading{top:28%;left:6vw;right:6vw;width:88vw}.hero-eyebrow{font-size:12px;letter-spacing:.02em;margin-bottom:32px}.hero h1{font-size:11.8vw;line-height:1.38}.hero h1 .line:first-child{text-align:center}.hero h1 .line:nth-child(2){text-align:right;padding-right:6vw;margin-top:.13em}.hero-bottom{left:6vw;right:6vw;bottom:7.5vh;gap:18px}.hero-jp{font-size:13px;line-height:1.95;max-width:none}.explore-link>span:first-child{display:inline-block}.explore-link{font-size:12px;gap:15px}.play-toggle{top:103px;right:6vw}.hero-fallback{width:140%;left:-20%;object-position:center}.intro{padding-top:95px;padding-bottom:95px}.intro>.section-kicker{margin-bottom:35px}.manifesto{font-size:10.1vw;line-height:1.65}.manifesto>.type-word{margin-left:-7vw}.manifesto>span:not(.type-word){padding-left:8vw}.manifesto>em{margin-left:-3vw}.intro-copy{width:92%;margin:42px 0 0 auto}.intro-copy p{font-size:16px;line-height:2.1}.services{padding-top:80px;padding-bottom:90px}.section-head{padding:0;min-height:0;margin-bottom:42px;display:block}.section-head h2{font-size:12vw}.section-head .section-kicker{margin-bottom:18px}.section-head>p{font-size:15px;margin-top:23px;text-align:center}.service-readout{position:static;display:flex;align-items:center;justify-content:center;gap:24px;margin-top:25px;transform:none}.readout-window{font-size:64px;margin:0}.readout-caption{font-size:13px;margin:0}.service{width:94%}.service:nth-child(2){margin-top:25px}.service:nth-child(3){margin:25px auto 0 2%}.service summary{grid-template-columns:27px 1fr 26px;gap:8px;padding:25px 3px}.service-title h3{font-size:7vw}.service-content{padding:0 8px 28px 38px}.approach{padding-top:95px;padding-bottom:90px}.approach-intro{margin-bottom:50px}.approach-intro h2{font-size:10.1vw}.approach-intro>p{font-size:16px}.process-readout{margin-top:25px}.process-current{font-size:55px}.approach-steps{display:block;width:100%}.approach-steps article{width:85%;padding:24px 0 30px}.approach-steps article:nth-child(2){margin:35px 0 0 auto;padding-top:24px}.approach-steps article:nth-child(3){margin:35px auto 0 5%;padding-top:24px}.step-number{margin-bottom:20px}.approach-steps h3{font-size:25px;line-height:1.6}.approach-steps p{font-size:16px}.about{padding-top:70px;padding-bottom:95px}.about-heading h2{font-size:7.3vw}.about-grid{width:100%;margin-top:45px}.company-info>div{grid-template-columns:76px 1fr;gap:17px}.company-info dt{text-align:left}.company-info dd{padding-right:0}.contact{padding-top:80px;padding-bottom:55px}.contact-lead{font-size:14px;margin-bottom:30px}.contact-display{gap:28px}.contact-display h2{font-size:12.4vw;line-height:1.35}.contact-arrow{font-size:55px}.contact-bottom{align-items:center;gap:15px;margin-top:32px}.site-footer{padding:45px 6vw 100px;gap:26px}.footer-mark{font-size:13.5vw}.site-footer>div{gap:12px 24px}.site-footer>div>span{width:100%}}
