:root{--paper:#f3f4f2;--ink:#192a3b;--muted:#65717d;--line:#ccd2d6;--hero:#eaf1f7;--body:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--mono:'SFMono-Regular',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}button,a,input,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;border:0;background:none;min-height:44px}button:disabled{cursor:default}a,button,summary,input{outline-offset:6px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid #587796}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}.skip{position:fixed;top:-100px;background:var(--paper);padding:12px;z-index:100}.skip:focus{top:0}[hidden]{display:none!important}.eyebrow{font:11px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase}.header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;z-index:10;background:var(--paper)}.brand{font-size:25px;line-height:1;letter-spacing:-1.1px;display:flex;align-items:center;gap:8px;font-weight:600}.brand-symbol{width:84px;height:72px;object-fit:contain}.brand-caption{display:block;font:8px/1 var(--mono);letter-spacing:.17em;margin:7px 0 0 2px}.desktop-nav{display:flex;gap:32px;font-size:13px}.desktop-nav a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:6px}.header-tools{display:flex;align-items:center;gap:30px}.languages{display:flex;align-items:center;gap:2px;font:11px var(--mono)}.languages button{padding:0 6px;opacity:.45;min-width:32px}.languages button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:6px}.contact-link{font-size:13px;border-bottom:1px solid var(--line);padding-bottom:5px}.menu-toggle,.mobile-nav{display:none}
.hero{height:min(740px,calc(100svh - 100px));min-height:620px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,var(--paper) 9%,var(--hero) 100%);transition:background .6s}.hero-topline{position:absolute;top:28px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;z-index:2}.hero-count{font:11px var(--mono);letter-spacing:.08em;color:var(--muted)}.hero-count #current-number{color:var(--ink)}.time-axis{position:absolute;left:5%;top:103px;width:26%;display:flex;align-items:center;gap:13px;color:var(--muted);font:9px var(--mono);letter-spacing:.1em}.time-axis i{height:9px;flex:1;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 9px);position:relative;border-bottom:1px solid var(--line)}.time-axis i:after{content:'';position:absolute;left:61%;top:-4px;height:17px;border-left:1px solid var(--ink)}.stage{position:absolute;top:7%;bottom:13%;left:32%;right:0;touch-action:pan-y}.stage canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .6s}.stage.is-ready canvas{opacity:1}.stage-fallback{height:92%;width:auto;max-width:78%;object-fit:contain;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(12px 20px 20px #192a3b18);transition:opacity .3s}.stage.is-ready .stage-fallback{opacity:0}.stage-coordinate{position:absolute;right:5%;top:49%;writing-mode:vertical-rl;font:9px var(--mono);letter-spacing:.13em;color:var(--muted)}.hero-copy{position:absolute;left:5%;bottom:24%;width:30%;z-index:2}.case-category{font:10px/1.7 var(--mono);letter-spacing:.07em;margin-bottom:16px;color:var(--muted)}.hero h1{font-size:clamp(56px,6.8vw,105px);letter-spacing:-.055em;line-height:1.04;margin:0 0 20px;overflow-wrap:normal;font-weight:400}.hero-artist{font-size:14px}.hero-artist>span:first-child{font-size:11px;color:var(--muted);margin-right:10px}.hero-copy>p{font-size:14px;line-height:1.85;max-width:305px;margin-top:19px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;padding:0;min-height:48px}.hero .text-link{margin-top:24px}.round-arrow{display:grid;place-items:center;border:1px solid #8494a3;border-radius:50%;width:43px;height:43px;font-size:21px;font-weight:400;transition:background .2s,transform .2s}.text-link:hover .round-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.stage-tools{position:absolute;right:5%;bottom:17%;z-index:2}.motion-toggle{display:flex;align-items:center;gap:9px;font:10px var(--mono);padding:0;color:var(--muted)}.motion-toggle>span:first-child{border:1px solid var(--line);display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-size:11px}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;height:61px;border-top:1px solid var(--line);display:flex;align-items:end;gap:20px}.case-tabs{display:flex;gap:13px;margin-right:auto}.case-tab{display:flex;align-items:center;gap:9px;opacity:.4;padding:6px 13px 0 0;font:11px var(--mono);transition:opacity .2s}.case-tab img{width:30px;height:34px;object-fit:cover;filter:grayscale(1)}.case-tab[aria-pressed=true]{opacity:1}.case-tab[aria-pressed=true] img{filter:none;outline:1px solid #8494a3;outline-offset:3px}.case-tab:hover{opacity:.8}.hero-arrows{display:flex;gap:10px}.hero-arrows button{width:47px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:21px;transition:background .2s}.hero-arrows button:hover{background:var(--ink);color:white}.scroll-link{font:10px var(--mono);margin:0 0 13px 4%;display:flex;gap:28px}
.section-pad{padding:110px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px}.section-heading h2{font-size:clamp(40px,4.4vw,66px);line-height:1.12;letter-spacing:-.055em;margin-top:18px}.section-intro{font-size:15px;max-width:280px;padding-bottom:4px;color:var(--muted)}.work-grid{display:flex;flex-direction:column;gap:70px}.work-card{display:grid;grid-template-columns:28px minmax(0,1.8fr) minmax(0,1fr);gap:4%;min-width:0;align-items:center}.work-index{height:100%;display:flex;align-items:center;flex-direction:column;gap:24px;font:10px var(--mono);letter-spacing:.1em}.work-index span{writing-mode:vertical-rl;white-space:nowrap}.work-index i{flex:1;border-left:1px solid var(--line)}.work-visual{width:100%;height:480px;display:block;position:relative;padding:0;overflow:visible;perspective:900px;isolation:isolate}.work-visual:before{content:'';position:absolute;inset:10% 0 7%;background:radial-gradient(ellipse,#e1e7ec,transparent 72%);z-index:-1}.work-backdrop{position:absolute;width:77%;height:65%;object-fit:contain;left:0;top:18%;transform:rotate(-4deg) rotateY(8deg);filter:drop-shadow(4px 14px 12px #192a3b15);transition:transform .7s}.work-character{position:absolute;height:96%;width:62%;object-fit:contain;right:-2%;top:0;filter:drop-shadow(5px 12px 8px #192a3b16);transform:rotate(2deg);transition:transform .7s}.work-card[data-case=mikorei] .work-backdrop{left:2%;width:55%;height:77%;top:8%;transform:rotate(-6deg)}.work-card[data-case=mikorei] .work-character{right:3%;width:55%;height:99%}.work-card[data-case=cafe-de-kita] .work-character{height:92%;top:5%;right:0}.work-visual:hover .work-backdrop{transform:rotate(-2deg) translateX(-8px)}.work-visual:hover .work-character{transform:translate(6px,-8px)}.sample-corner{position:absolute;left:-2%;top:7%;width:27px;height:27px;border-top:1px solid #9caab7;border-left:1px solid #9caab7}.work-plus{position:absolute;right:0;bottom:2%;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px}.work-meta{padding:15px 0 15px 12px;min-width:0}.work-meta>.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.03em}.work-meta h3{font-size:clamp(29px,3.1vw,44px);letter-spacing:-.05em;line-height:1.2;margin:14px 0 9px}.work-credit{font-size:13px;color:var(--muted)}.work-description{font-size:14px;color:var(--muted);line-height:1.85;margin-top:26px}.work-meta .text-link{margin-top:20px;border-bottom:1px solid var(--line);width:100%;max-width:230px}
.creator-section{margin:0 4%;padding:85px 5.5%;background:#e9edf0}.creator-section .section-heading{margin-bottom:32px}.section-sample{font:12px var(--mono);letter-spacing:.06em;color:#8593a0;align-self:start;margin-top:8px}.creator-intro{display:grid;grid-template-columns:1.6fr 1fr;gap:7%;align-items:center;margin-bottom:44px}.creator-intro>p{max-width:610px;font-size:15px;color:var(--muted);line-height:1.85}.creator-intro>a{justify-self:end}.creator-highlights{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.highlight{padding:27px 24px 27px 0}.highlight+.highlight{border-left:1px solid var(--line);padding-left:30px}.highlight strong{display:block;font-size:clamp(24px,2.8vw,40px);letter-spacing:-.04em;font-weight:400;line-height:1.2}.highlight h3{font-size:14px;margin-top:15px}.highlight p{color:var(--muted);font-size:12px;margin-top:5px}.royalty-area{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.royalty-explainer h3{font-size:30px;letter-spacing:-.035em;margin:15px 0}.royalty-explainer>p{font-size:14px;color:var(--muted);line-height:1.85}.tiers{margin:28px 0 23px}.tier{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:13px 0}.tier:first-child{border-top:1px solid var(--line)}.tier span{max-width:68%;font-size:13px}.tier strong{font-size:32px;font-weight:400;letter-spacing:-.04em}.fine-print{font-size:12px!important;line-height:1.85;color:var(--muted)}.royalty-explainer .fine-print+.fine-print{margin-top:12px}.calculator{padding:32px;background:var(--ink);color:#edf2f6;position:relative}.calculator:before{content:'';position:absolute;inset:10px auto auto 10px;width:12px;height:12px;border-top:1px solid #8192a1;border-left:1px solid #8192a1}.calculator-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calculator-top>span:last-child{font-size:23px;color:#aabac7}.calculator label{font-size:12px;display:block;margin-bottom:10px}.sales-input{display:flex;border-bottom:1px solid #71808e;align-items:center;gap:10px;padding-bottom:10px}.sales-input>span{font:11px var(--mono);color:#b2c0ca;white-space:nowrap;flex:0 0 auto}.sales-input input{width:100%;border:0;color:inherit;background:transparent;font-size:38px;font-weight:400;letter-spacing:-.04em;min-width:0;appearance:textfield}.sales-input input::-webkit-inner-spin-button{appearance:none}.calculator input[type=range]{width:100%;height:44px;margin:15px 0 0;accent-color:#bdcfdd;cursor:pointer}.range-labels{display:flex;justify-content:space-between;font:10px var(--mono);margin-top:-8px;color:#b2c0ca}.royalty-result{margin:36px 0 20px}.royalty-result>span:first-child{font-size:12px;display:block}.royalty-result output{font-size:clamp(48px,5vw,70px);line-height:1.2;font-weight:400;letter-spacing:-.06em;margin-right:8px;overflow-wrap:anywhere}.royalty-result>span:last-child{font:11px var(--mono);color:#b2c0ca}.calc-breakdown{font-size:12px;border-top:1px solid #657785;padding-top:16px;min-height:68px}.calc-line{display:flex;justify-content:space-between;gap:10px;margin:4px 0}.calculator .fine-print{color:#b9c7d1;margin-top:18px}.terms{margin-top:60px;border-top:1px solid var(--line)}.terms details{border-bottom:1px solid var(--line)}.terms summary{list-style:none;cursor:pointer;padding:23px 0;font-size:16px;display:flex;justify-content:space-between;gap:20px}.terms summary::-webkit-details-marker{display:none}.terms summary:after{content:'+';font-size:22px;font-weight:300;transition:transform .3s cubic-bezier(.2,.75,.25,1)}.terms details[open]:not([data-expanded=false]) summary:after{transform:rotate(45deg)}.terms .term-body{padding:0 0 27px;max-width:780px;color:var(--muted);font-size:14px;line-height:1.85}.terms .term-body ul{padding-left:19px}.terms .term-body li{padding:3px 0}.terms .term-body h4{color:var(--ink);font-weight:500;margin-bottom:5px}.agreement{font-size:12px;line-height:1.85;color:var(--muted);margin-top:28px;max-width:850px}.about-section{padding-block:110px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:26px}.about-layout h2{font-size:clamp(35px,4.1vw,60px);line-height:1.16;letter-spacing:-.045em}.about-layout>div>p{font-size:16px;color:var(--muted);line-height:1.9}.services{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:27px}.services span{border-bottom:1px solid var(--line);padding:5px 0;font-size:11px}.footer{padding:47px 7% 28px;background:var(--ink);color:#edf2f6}.footer>.eyebrow{color:#a3b3c0}.footer-cta{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:clamp(34px,4.4vw,66px);letter-spacing:-.05em;line-height:1.2;padding:22px 0 42px;max-width:1150px}.footer-cta>span:last-child{font-weight:300}.footer-bottom{border-top:1px solid #526373;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.footer-bottom>span{font:12px var(--mono);letter-spacing:.08em}.credits{font-size:10px;margin-top:21px;color:#a3b3c0}
dialog{max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#192a3bcc}.project-bar{display:flex;justify-content:space-between;align-items:center;padding:17px 5%;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3;background:var(--paper)}.project-bar button{width:44px;border:1px solid var(--line);border-radius:50%;font-size:19px}.project-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:7%;padding:5% 7%;align-items:start}.project-art{padding:20px;background:var(--project-bg);display:flex;justify-content:center}.project-art img{width:100%;height:auto;max-height:78vh;object-fit:contain;align-self:flex-start}.project-info{padding:15px 0}.project-info h2{font-size:clamp(44px,5vw,75px);letter-spacing:-.05em;line-height:1.1;margin:18px 0}.project-info>a[href]:not(.text-link){font-size:15px;border-bottom:1px solid var(--line)}.project-info>p{margin-top:25px;line-height:1.85;font-size:15px;color:var(--muted)}.project-role{border-block:1px solid var(--line);padding:23px 0;margin-top:30px}.project-role>p{font-size:14px;margin-top:12px}.project-info .text-link{margin-top:23px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:0 7% 80px;align-items:start}.gallery-item{margin:0}.gallery-item img{width:100%;height:auto;object-fit:contain;background:#e9edf0;padding:20px}.gallery-item.character img{height:650px;padding:30px}.gallery-item figcaption{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-top:15px}.gallery-item figcaption span{color:var(--muted)}.no-script{padding:30px;background:#e9edf0}
html[lang=ja] h1{font-size:clamp(50px,5.8vw,89px);letter-spacing:-.055em}html[lang=ja] h2{font-size:clamp(34px,3.9vw,59px);line-height:1.35}html[lang=ja] .footer-cta{font-size:clamp(33px,4.3vw,65px)}

@media(max-width:1000px){.header{padding-inline:4%;gap:18px}.desktop-nav{gap:22px}.header-tools{gap:20px}.hero-copy{width:32%;bottom:24%}.hero h1{font-size:6.3vw}.stage{left:30%;right:-3%;top:9%;bottom:16%}.scroll-link{display:none}.section-pad{padding:80px 5%}.work-card{grid-template-columns:22px minmax(0,1.4fr) minmax(0,1fr);gap:3%}.work-visual{height:400px}.work-meta{padding-left:0}.work-description{font-size:13px}.creator-section{margin:0 3%}.royalty-area{gap:5%}.calculator{padding:25px}.highlight+.highlight{padding-left:20px}.project-layout{gap:5%;padding:5%}.section-heading{gap:25px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:82px;padding-inline:20px;gap:15px}.brand{font-size:22px;gap:5px}.brand-symbol{width:71px;height:61px}.brand-caption{font-size:6px;letter-spacing:.16em}.desktop-nav,.contact-link{display:none}.header-tools{gap:14px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0;width:29px}.menu-toggle span{height:1px;background:var(--ink);width:25px;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;inset:82px 0 auto;background:var(--paper);padding:28px 24px 32px;z-index:9;border-bottom:1px solid var(--line);flex-direction:column;gap:12px;font-size:25px;line-height:1.7;box-shadow:0 30px 40px #192a3b14}.languages{font-size:10px}.languages button{padding:0 4px;min-width:27px}.hero{height:auto;min-height:0;display:flex;flex-direction:column;background:linear-gradient(145deg,var(--paper),var(--hero))}.hero-topline{position:relative;top:auto;left:auto;right:auto;padding:20px 22px 0}.hero-topline .eyebrow{font-size:9px;letter-spacing:.045em}.hero-count{font-size:10px}.time-axis{top:64px;left:22px;width:32%;font-size:7px;gap:7px;z-index:1}.time-axis i{height:6px}.time-axis i:after{height:13px}.stage{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:100%;height:385px;margin:9px 0 0}.stage-fallback{height:87%;max-width:85%}.stage-coordinate{right:18px;font-size:8px}.hero-copy{position:relative;left:auto;bottom:auto;width:auto!important;margin:2px 24px 0}.case-category{font-size:10px;letter-spacing:.045em;margin-bottom:13px}.hero h1,html[lang=ja] .hero h1{font-size:51px;margin:0 0 13px;line-height:1.05;letter-spacing:-.045em}.hero-artist{font-size:13px}.hero-artist>span:first-child{font-size:10px}.hero-copy>p{font-size:15px;max-width:none;line-height:1.8;margin-top:15px}.hero .text-link{margin-top:18px;justify-content:space-between;width:100%;font-size:13px}.round-arrow{width:39px;height:39px}.stage-tools{position:absolute;right:22px;top:392px;bottom:auto}.motion-toggle{font-size:9px;gap:6px;min-height:35px}.motion-toggle>span:first-child{height:25px;width:25px;font-size:10px}.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;margin:26px 22px 23px;padding-top:9px;height:58px;align-items:center;gap:6px}.case-tabs{gap:10px}.case-tab{font-size:10px;padding:4px 5px 0 0;gap:7px}.case-tab img{width:24px;height:29px}.hero-arrows{gap:7px}.hero-arrows button{width:41px;min-height:41px;height:41px;font-size:20px}.section-pad{padding:68px 24px}.section-heading{display:block;margin-bottom:36px}.section-heading h2{font-size:42px;margin-top:15px}.section-intro{font-size:14px;max-width:290px;margin-top:19px}.work-grid{gap:54px}.work-card{grid-template-columns:17px minmax(0,1fr);column-gap:15px;row-gap:12px;align-items:start}.work-index{grid-row:1/3;font-size:9px;gap:20px}.work-visual{height:330px}.work-meta{grid-column:2;padding:0}.work-meta h3{font-size:32px;margin-top:13px}.work-meta>.eyebrow{font-size:9px}.work-description{font-size:14px;margin-top:17px}.work-meta .text-link{margin-top:15px;max-width:none}.work-plus{display:none}.work-character{right:-3%;width:66%}.work-backdrop{width:81%;left:-2%}.creator-section{margin:0 12px;padding:45px 18px}.creator-section .section-heading{display:flex;align-items:start;gap:12px;margin-bottom:24px}.creator-section h2{font-size:36px;line-height:1.13}.section-sample{font-size:9px;white-space:nowrap;margin-top:5px}.creator-intro{display:block;margin-bottom:30px}.creator-intro>p{font-size:14px;line-height:1.85}.creator-intro>a{margin-top:20px}.creator-highlights{grid-template-columns:1fr}.highlight,.highlight+.highlight{padding:22px 0;border-left:0;display:grid;grid-template-columns:115px 1fr;align-items:center;column-gap:13px}.highlight+.highlight{border-top:1px solid var(--line)}.highlight strong{font-size:22px;grid-row:1/3;overflow-wrap:anywhere}.highlight h3{font-size:13px;margin:0}.highlight p{font-size:11px;margin-top:5px}.royalty-area{display:block;margin-top:45px}.royalty-explainer h3{font-size:29px}.royalty-explainer>p{font-size:13px}.tier span{font-size:12px}.tier strong{font-size:31px}.calculator{margin-top:28px;padding:26px 22px}.sales-input input{font-size:35px}.royalty-result output{font-size:61px}.royalty-result{margin-top:28px}.terms{margin-top:38px}.terms summary{font-size:15px;padding:20px 0}.terms .term-body{font-size:13px}.agreement{font-size:11px}.about-layout{display:block;margin-top:22px}.about-layout h2{font-size:38px;margin-bottom:27px}.about-layout>div>p{font-size:15px}.services{margin-top:20px;gap:7px 17px}.services span{font-size:10px}.footer{padding:36px 24px 25px}.footer-cta{font-size:37px;padding:23px 0 34px;gap:22px}.footer-cta>span:last-child{font-size:38px}.footer-bottom{flex-wrap:wrap;gap:17px;font-size:11px}.footer-bottom>span{width:100%}.footer-bottom>a:last-child{margin-left:auto}.credits{font-size:9px;max-width:285px}.project-bar{padding:14px 22px}.project-layout{display:flex;flex-direction:column;padding:24px;gap:20px}.project-art{width:100%;padding:12px}.project-art img{max-height:none;width:100%;height:auto}.project-info{padding-top:8px}.project-info h2{font-size:48px}.project-info>p{font-size:14px;margin-top:20px}.project-role>p{font-size:14px}.project-info .text-link{width:100%}.project-gallery{grid-template-columns:1fr;padding:0 24px 45px;gap:30px}.gallery-item img{padding:15px}.gallery-item.character img{height:570px;padding:22px}.gallery-item figcaption{font-size:11px}html[lang=ja] .section-heading h2{font-size:34px}html[lang=ja] .creator-section h2{font-size:30px}html[lang=ja] .about-layout h2{font-size:32px}html[lang=ja] .footer-cta{font-size:32px}}
@media(max-width:370px){.brand{font-size:20px}.header{padding-inline:16px}.header-tools{gap:9px}.stage{height:350px}.stage-tools{top:357px}.hero-topline,.hero-copy{margin-inline:20px}.hero-topline{padding-inline:0}.hero-bottom{margin-inline:20px}.case-tabs{gap:5px}.work-visual{height:285px}.hero h1,html[lang=ja] .hero h1{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.work-visual:hover .work-backdrop,.work-visual:hover .work-character{transform:none}}

@media(max-width:700px){html[lang=ja] .highlight strong{font-size:20px}}
/* English wordmark and compact project directory. */
.header{height:96px}.brand{min-height:44px;flex-shrink:0;letter-spacing:normal}.wordmark{font-size:29px;line-height:1;letter-spacing:-1.25px;font-weight:600;position:relative;display:inline-block;padding-block:7px}.wordmark>span{font-weight:400;letter-spacing:-1.55px}.wordmark>i{position:absolute;width:13px;height:1px;background:var(--ink);bottom:0;left:57%;transform:scaleX(0);transform-origin:left;transition:transform .3s}.brand:hover .wordmark>i{transform:scaleX(1)}
.works{padding-block:90px 100px}.works .section-heading{margin-bottom:42px}.project-index{border-top:1px solid var(--line)}.project-row{display:grid;grid-template-columns:35px minmax(0,1.2fr) minmax(0,1fr) 112px 35px;align-items:center;gap:30px;min-height:166px;border-bottom:1px solid var(--line);position:relative;isolation:isolate;padding:24px 0;--mx:0px;--my:0px;--rx:0deg;--ry:0deg}.project-row:before{content:'';position:absolute;inset:0 -20px;background:#e5ebef;z-index:-1;opacity:0;transition:opacity .35s}.project-row:hover:before,.project-row:focus-visible:before{opacity:.75}.index-number{font:11px var(--mono);color:var(--muted);align-self:start;margin-top:13px}.index-heading{display:flex;flex-direction:column;gap:9px}.index-title{font-size:clamp(27px,2.8vw,39px);letter-spacing:-.045em;line-height:1.18}.index-credit{font-size:12px;color:var(--muted)}.index-summary{font-size:14px;color:var(--muted);line-height:1.8;max-width:330px}.index-thumb{height:100px;display:grid;place-items:center;perspective:600px}.index-thumb img{width:88px;height:100px;object-fit:cover;filter:saturate(.7);transform:translate(var(--mx),var(--my)) rotateX(var(--rx)) rotateY(var(--ry)) rotate(-3deg);transition:filter .4s,box-shadow .4s;box-shadow:0 7px 15px #192a3b0a}.project-row:hover .index-thumb img{filter:saturate(1);box-shadow:0 12px 20px #192a3b1a}.index-arrow{justify-self:end;font-size:23px;font-weight:300;transform:translate(var(--mx),var(--my));display:grid;place-items:center;width:38px;height:38px}.project-row:focus-visible .index-title{text-decoration:underline;text-underline-offset:7px}
@media(max-width:1000px){.project-row{gap:22px;grid-template-columns:24px minmax(0,1.2fr) minmax(0,1fr) 80px 28px}.index-thumb img{width:70px;height:86px}.index-title{font-size:29px}.index-summary{font-size:13px}}
@media(max-width:700px){.header{height:82px}.wordmark{font-size:25px;letter-spacing:-1px}.wordmark>span{letter-spacing:-1.2px}.works{padding-block:65px}.works .section-heading{margin-bottom:30px}.project-row{grid-template-columns:22px minmax(0,1fr) 65px;gap:11px 13px;padding:23px 0;min-height:185px}.index-number{grid-column:1;grid-row:1;margin-top:7px;font-size:10px}.index-heading{grid-column:2;grid-row:1;gap:8px}.index-title{font-size:28px}.index-credit{font-size:12px}.index-thumb{grid-column:3;grid-row:1/3;height:90px;align-self:center}.index-thumb img{width:64px;height:86px}.index-summary{grid-column:2;grid-row:2;font-size:13px;line-height:1.8}.index-arrow{position:absolute;right:0;top:19px;font-size:19px;width:20px;height:22px}.project-row:before{inset:0 -10px}html[lang=ja] .index-title{font-size:25px}}
@media(max-width:370px){.wordmark{font-size:22px}.project-row{grid-template-columns:18px minmax(0,1fr) 54px;gap:10px}.index-title{font-size:25px}.index-thumb img{width:52px;height:75px}.index-summary{font-size:12px}}
/* Sampling details: fixed hit areas, moving inner shapes. */
[data-follow]{--mx:0px;--my:0px;--rx:0deg;--ry:0deg}.detail-motion{display:inline-block;transform:translate3d(var(--mx),var(--my),0) rotateX(var(--rx)) rotateY(var(--ry));will-change:transform}.text-link .round-arrow{transform:translate3d(var(--mx),var(--my),0);transition:background .2s,color .2s}.time-axis{padding-block:13px;top:90px}.time-axis i:after{display:none}.axis-needle{position:absolute;top:-4px;left:50%;height:17px;width:1px;background:var(--ink);animation:sample-sweep 6s ease-in-out infinite}.time-axis.is-tracking .axis-needle{animation:none;left:var(--sample-pos);transition:left .18s ease-out}.hero-detail{position:absolute;z-index:2;width:85px;height:85px;display:grid;place-items:center;color:#7c90a1;perspective:400px}.detail-frame{left:40%;top:13%}.detail-dial{right:4%;top:5%}.detail-motion small{display:block;font:8px var(--mono);letter-spacing:.12em;text-align:center;margin-top:12px;white-space:nowrap}.floating-frame{display:block;width:31px;height:31px;position:relative;animation:frame-float 6.5s ease-in-out infinite}.floating-frame:before,.floating-frame:after{content:'';position:absolute;width:11px;height:11px;border-color:#8ca0b1;border-style:solid}.floating-frame:before{left:0;top:0;border-width:1px 0 0 1px}.floating-frame:after{right:0;bottom:0;border-width:0 1px 1px 0}.floating-dial{display:block;width:28px;height:28px;border:1px solid #94a6b5;border-radius:50%;position:relative;animation:sample-rotate 18s linear infinite}.floating-dial:before{content:'';position:absolute;inset:5px;border:1px dashed #b8c3cc;border-radius:50%}.floating-dial:after{content:'';position:absolute;top:-5px;left:12px;height:11px;border-left:1px solid var(--ink)}.hero-arrows .detail-motion{font-size:21px}.section-sample{display:grid;place-items:center;min-height:60px;min-width:90px;margin-top:-12px}.footer-cta .detail-motion{padding:15px}.desktop-nav a,.contact-link{position:relative}.desktop-nav a:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:-6px;left:0;right:0;transform:scaleX(0);transform-origin:right;transition:transform .3s}.desktop-nav a:hover{text-decoration:none}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}
@keyframes sample-sweep{0%,100%{left:12%}50%{left:88%}}@keyframes frame-float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-9px) rotate(8deg)}}@keyframes sample-rotate{to{transform:rotate(360deg)}}
html[data-motion=paused] .ambient,[data-in-view=false] .ambient{animation-play-state:paused}html[data-motion=paused] .time-axis.is-tracking .axis-needle{transition:none}html[data-motion=paused] .wordmark>i,html[data-motion=paused] .desktop-nav a:after{transition:none}
@media(max-width:1000px){.detail-frame{left:37%;top:13%}.detail-dial{right:4%;top:7%}}
@media(max-width:700px){.time-axis{top:53px;padding-block:9px}.hero-detail{width:52px;height:52px;pointer-events:none}.detail-frame{left:8%;top:122px}.detail-dial{right:7%;top:84px}.floating-frame{width:23px;height:23px}.floating-dial{width:20px;height:20px}.floating-dial:before{inset:4px}.floating-dial:after{left:9px;height:8px;top:-4px}.detail-motion small{font-size:7px;margin-top:8px}.section-sample{min-width:70px;min-height:44px;margin-top:-8px}.footer-cta .detail-motion{padding:5px}}
@media(prefers-reduced-motion:reduce){.ambient{animation:none!important}[data-follow] .detail-motion,.index-thumb img,.index-arrow,.text-link .round-arrow{transform:none!important}}

/* Project previews remain modal until their exit transition has completed. */
dialog[data-transition=opening]::backdrop{animation:preview-backdrop-in .52s ease both}
dialog[data-transition=closing]::backdrop{animation:preview-backdrop-out .26s ease both}
@keyframes preview-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes preview-backdrop-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){dialog::backdrop{animation:none!important}.terms summary:after{transition:none}}
html[data-motion=paused] .terms summary:after{transition:none}

/* A fixed editorial canvas keeps the composition together on wide monitors. */
:root{--page-width:1320px}
body{position:relative;isolation:isolate}
.site-shell{width:100%;max-width:var(--page-width);margin-inline:auto;position:relative;z-index:1;background:var(--paper);container-type:inline-size;box-shadow:-1px 0 0 #192a3b0b,1px 0 0 #192a3b0b}
dialog{width:min(100%,var(--page-width));margin-inline:auto;inset-inline:0;container-type:inline-size}
@media(min-width:701px){
 .hero h1{font-size:clamp(56px,6.8cqi,105px)}
 html[lang=ja] .hero h1{font-size:clamp(50px,5.8cqi,89px)}
 .section-heading h2{font-size:clamp(40px,4.4cqi,66px)}
 html[lang=ja] .section-heading h2{font-size:clamp(34px,3.9cqi,59px)}
 .about-layout h2{font-size:clamp(35px,4.1cqi,60px)}
 html[lang=ja] .about-layout h2{font-size:clamp(34px,3.9cqi,59px)}
 .footer-cta{font-size:clamp(34px,4.4cqi,66px)}
 html[lang=ja] .footer-cta{font-size:clamp(33px,4.3cqi,65px)}
 .index-title{font-size:clamp(27px,2.8cqi,39px)}
 .highlight strong{font-size:clamp(24px,2.8cqi,40px)}
 .royalty-result output{font-size:clamp(48px,5cqi,70px)}
 .project-info h2{font-size:clamp(44px,5cqi,75px)}
 html[lang=ja] .project-info h2{font-size:clamp(34px,3.9cqi,59px)}
}
@media(min-width:701px) and (max-width:1000px){.hero h1{font-size:6.3cqi}.index-title{font-size:29px}}
/* Margin rulers belong to the empty edges, never across the artwork or text. */
.margin-field{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.margin-rail{position:absolute;top:0;bottom:0;width:max(0px,calc((100% - var(--page-width))/2));overflow:hidden}
.rail-left{left:0}.rail-right{right:0}
.rail-track{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent 5%,#a6b4c333 20%,#a6b4c333 80%,transparent 95%)}
.rail-ticks{position:absolute;left:calc(50% - 4px);top:8%;bottom:8%;width:9px;background:repeating-linear-gradient(0deg,#8b9cab2b 0 1px,transparent 1px 96px);mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.rail-scan{position:absolute;left:50%;top:-110px;width:1px;height:110px;background:linear-gradient(transparent,#718a9f99,transparent);animation:margin-scan 17s linear infinite;will-change:transform}
.rail-right .rail-scan{animation-duration:21s;animation-direction:reverse;animation-delay:-8s}
.rail-cross{position:absolute;left:calc(50% - 5px);top:29%;width:11px;height:11px}
.rail-cross:before,.rail-cross:after{content:'';position:absolute;background:#879bae66}
.rail-cross:before{left:5px;top:0;width:1px;height:11px}.rail-cross:after{left:0;top:5px;width:11px;height:1px}
.rail-right .rail-cross{top:71%}
@keyframes margin-scan{0%{transform:translateY(0);opacity:0}12%,85%{opacity:.8}100%{transform:translateY(calc(100svh + 110px));opacity:0}}
@media(max-width:1439px){.margin-field{display:none}.margin-field .ambient{animation:none}}
@media(prefers-reduced-motion:reduce){.margin-field .ambient{animation:none!important}}
