@charset "UTF-8";
/* OFF+BRAND reference. Inter substitutes for the unavailable licensed Ataero font. */
@font-face{font-family:Inter;src:url('fonts/inter-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--color-parchment:#e5e4e0;--color-ink:#1d1d1d;--color-paper:#fff;--color-ash:#bfbebe;--color-stone:#cdcdc9;--gradient-iridescent-sphere:linear-gradient(255deg,rgb(250,203,14),rgb(240,107,168) 30%,rgb(120,186,230) 65%,rgb(255,255,255));--font-main:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--page-max-width:1400px;--radius-links:10px;--text-caption:.6875rem;--text-body-sm:.9375rem;--text-body:1.125rem;background:var(--color-parchment);color:var(--color-ink);font-family:var(--font-main);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-decoration:none;border-radius:var(--radius-links)}button{font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-links)}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--color-ink);outline-offset:6px}::selection{background:var(--color-ink);color:var(--color-parchment)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:400}p{font-size:var(--text-body);line-height:1.7;letter-spacing:.013em}section[id]{scroll-margin-top:30px}.wrap{width:calc(100% - 92px);max-width:var(--page-max-width);margin-inline:auto}.skip{position:fixed;left:19px;top:-100px;padding:15px;background:var(--color-paper);z-index:10}.skip:focus{top:15px}.header{display:flex;align-items:center;justify-content:space-between;gap:19px;padding-block:30px;position:relative;z-index:2}.brand{white-space:nowrap;display:inline-flex;align-items:center;font-size:1.5rem;letter-spacing:-.05em;font-weight:700;line-height:1}.brand-mark{font-size:1.85rem;line-height:1;font-weight:400;margin-left:3px}.header nav{display:flex;gap:32px;align-items:center;font-size:var(--text-body-sm)}.header nav a{padding:8px 0}.header nav a:hover{text-decoration:underline;text-underline-offset:5px}.hero{position:relative;overflow:hidden}.hero-inner{min-height:690px;height:calc(100svh - 90px);max-height:950px;position:relative;display:flex;flex-direction:column;padding-top:30px;padding-bottom:30px}.eyebrow{display:flex;justify-content:space-between;position:relative;z-index:1;font-size:var(--text-caption);letter-spacing:.05em;line-height:1.4}.hero h1{font-size:clamp(4.375rem,8.1vw,6.4375rem);line-height:.8;letter-spacing:.013em;margin:90px 0 55px;position:relative;z-index:1;align-self:flex-start}.hero h1>span{display:block}.hero h1>span+span{margin-top:.045em}.hero-geometry{position:absolute;width:560px;height:560px;right:22%;top:53%;transform:translateY(-50%);pointer-events:none}.hero-sphere{position:absolute;inset:0;border-radius:50%;background:var(--gradient-iridescent-sphere)}.orbit{position:absolute;border:1px solid var(--color-ash);border-radius:50%;inset:0}.orbit-one{inset:-56px}.orbit-two{inset:-114px}.orbit-three{inset:-172px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;position:relative;z-index:1;margin-top:auto}.ghost-link{display:inline-flex;gap:30px;align-items:center;padding:8px 0;font-size:var(--text-body-sm);line-height:1.5;width:fit-content}.ghost-link:hover{text-decoration:underline;text-underline-offset:5px}.ghost-link>span{font-size:1.25rem}.hero-copy{width:350px;max-width:45%;padding-left:10px}.hero-copy p{font-size:var(--text-body-sm);line-height:1.7;margin:0}.hero-copy .hero-ja{font-size:1.125rem;margin-bottom:10px}.hero-footer{display:flex;justify-content:space-between;margin-top:38px;font-size:var(--text-caption);letter-spacing:.05em;line-height:1.4;position:relative;z-index:1}.hero-footer>span:last-child{margin-right:100px}.scroll-indicator{position:fixed;z-index:3;bottom:30px;right:30px;display:flex;gap:19px;align-items:center;font-size:var(--text-caption);letter-spacing:.05em;padding:6px 0;transition:opacity .15s}.scroll-indicator[hidden]{display:none}.scroll-indicator span{font-size:1rem}.section{padding-block:100px}.kicker{display:block;font-size:var(--text-caption);line-height:1.4;letter-spacing:.05em;font-weight:400;margin-bottom:30px}h2{font-size:clamp(2.875rem,5.5vw,4.75rem);line-height:.85;letter-spacing:.013em;margin-bottom:0}.about{padding-block:119px 100px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px}.about h2{font-size:clamp(2.125rem,3.9vw,3.75rem);line-height:.95;letter-spacing:-.015em}.name-card{margin-block:46px 19px}.name-card h3{font-size:var(--text-body);margin:0 0 8px;line-height:1.4}.name-card>span{font-size:var(--text-body-sm);line-height:1.4}.about-copy .large-copy{font-size:clamp(1.5rem,2.7vw,2.125rem);line-height:1.5;margin-bottom:30px;letter-spacing:.013em}.about-copy>p{margin-bottom:19px}.about-copy .profile-note{font-size:var(--text-body-sm);color:#555}.about-facts{margin-top:32px;border-top:1px solid var(--color-ash)}.about-facts>div{display:grid;grid-template-columns:105px 1fr;gap:19px;border-bottom:1px solid var(--color-ash);padding:15px 0;align-items:start}.about-facts span{font-size:var(--text-caption);letter-spacing:.05em;padding-top:5px}.about-facts p{font-size:var(--text-body-sm);line-height:1.4;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:46px;margin-bottom:46px}.section-heading>p{font-size:var(--text-body-sm);margin:0;max-width:400px}.draft-note{font-size:var(--text-body-sm);margin-bottom:30px;color:#555}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.work{border:0;background:var(--color-paper);text-align:left;display:flex;flex-direction:column;padding:30px;min-width:0;border-radius:0;position:relative;isolation:isolate;background-image:linear-gradient(var(--color-parchment) 1px,transparent 1px),linear-gradient(90deg,var(--color-parchment) 1px,transparent 1px);background-size:24px 24px}.work-featured{grid-column:1/-1}.work-meta{order:-1;display:flex;justify-content:space-between;align-items:flex-start;gap:19px;position:relative;margin-bottom:25px;min-width:0}.work-kind{font-size:var(--text-caption);letter-spacing:.05em;line-height:1.4;display:block;margin-bottom:15px}.work h3{font-size:2.875rem;line-height:1;letter-spacing:.013em;margin:0}.work h3 span{display:block;font-size:var(--text-body-sm);line-height:1.4;letter-spacing:0;margin-top:15px}.view-label{font-size:var(--text-caption);letter-spacing:.05em;line-height:1.5;border-bottom:1px solid var(--color-ink);padding-bottom:5px;white-space:nowrap}.work:hover .view-label{border-bottom-width:2px}.work-art{height:325px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;width:100%}.art-one{height:400px}.sample-tag{position:absolute;bottom:0;left:0;font-size:var(--text-caption);letter-spacing:.05em;z-index:1;background:var(--color-paper);padding:5px 6px}.mini-site{width:72%;background:var(--color-parchment);border:1px solid var(--color-ash);transform:none}.mini-nav{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-ash);padding:19px 30px;gap:19px}.mini-nav b{font-size:1.5rem;font-weight:400;letter-spacing:-.05em}.mini-nav>span{font-size:var(--text-caption);letter-spacing:.05em}.mini-body{padding:30px}.mini-kicker{display:block;font-size:var(--text-caption);letter-spacing:.05em;margin-bottom:19px}.mini-body strong{display:block;font-size:clamp(2.875rem,4.8vw,4.375rem);line-height:.9;font-weight:400;letter-spacing:-.025em}.mini-body p{font-size:var(--text-body-sm);margin:19px 0}.mini-rule{border-top:1px solid var(--color-ash);margin-bottom:15px}.mini-foot{font-size:var(--text-caption);letter-spacing:.05em}.form-design{background:var(--color-stone);width:84%;padding:25px 30px;color:var(--color-ink)}.form-head{display:flex;justify-content:space-between;gap:19px;align-items:center;border-bottom:1px solid var(--color-ink);padding-bottom:15px}.form-head b{font-weight:400;font-size:var(--text-body)}.form-head>span{font-size:var(--text-caption);letter-spacing:.05em}.form-design>strong{font-size:clamp(2.875rem,4.8vw,4.375rem);line-height:.88;letter-spacing:-.02em;display:block;margin:25px 0;font-weight:400}.form-bottom{display:flex;justify-content:space-between;gap:19px;font-size:var(--text-caption);line-height:1.4}.focus-ui{width:94%;display:grid;grid-template-columns:28% 72%;border:1px solid var(--color-ash);background:var(--color-paper)}.focus-sidebar{border-right:1px solid var(--color-ash);padding:19px 10px;display:flex;flex-direction:column;gap:15px;font-size:var(--text-caption)}.focus-sidebar b{font-size:var(--text-body);font-weight:400;margin-bottom:19px}.focus-sidebar>span{padding:6px}.focus-sidebar .selected{background:var(--color-parchment);border-radius:0}.focus-main{padding:25px 19px}.focus-date{font-size:var(--text-caption);letter-spacing:.05em}.focus-main h4{font-size:1.5rem;line-height:1;margin:15px 0 19px;letter-spacing:-.025em}.focus-stat{padding:12px;border-block:1px solid var(--color-ash);display:flex;justify-content:space-between;align-items:center;font-size:var(--text-caption);margin-bottom:10px}.focus-stat b{font-size:1.5rem;font-weight:400}.focus-stat small{font-size:var(--text-caption)}.focus-task{font-size:var(--text-caption);display:flex;gap:8px;align-items:center;padding:8px 0}.focus-task i{width:10px;height:10px;border:1px solid var(--color-ash);flex-shrink:0}.skill-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:46px}.skill-list article{border-top:1px solid var(--color-ash);padding-top:19px}.skill-number{display:block;font-size:var(--text-caption);letter-spacing:.05em;margin-bottom:30px}.skill-list h3{font-size:2.125rem;line-height:1;letter-spacing:-.025em;margin-bottom:19px}.skill-list p{font-size:var(--text-body-sm);line-height:1.6;margin-bottom:25px}.skill-tag{display:inline-block;font-size:var(--text-body-sm);line-height:1.4;padding:8px 0;margin:0 15px 6px 0;border-bottom:1px solid var(--color-ash)}.contact{padding-top:76px;position:relative;overflow:hidden;isolation:isolate}.contact:before,.contact:after{content:"";position:absolute;width:430px;height:430px;border:1px solid var(--color-ash);border-radius:50%;right:-250px;top:65px;pointer-events:none;z-index:-1}.contact:after{width:520px;height:520px;right:-295px;top:20px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:76px;align-items:end;margin-bottom:76px}.contact h2{font-size:clamp(2.875rem,5.5vw,4.75rem);line-height:.85}.contact-grid>div>p{font-size:var(--text-body-sm);margin:30px 0 0;line-height:1.6}.contact-box{border-block:1px solid var(--color-ash);padding:25px 0}.contact-box>span{font-size:var(--text-caption);letter-spacing:.05em}.contact-box #contact-status{font-size:var(--text-body);margin-top:19px}.contact-box .contact-caption{font-size:var(--text-body-sm);margin-top:15px}.contact-box a{display:block;font-size:var(--text-body);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px;margin-top:19px}.contact-box a[hidden]{display:none}footer{border-top:1px solid var(--color-ash);display:flex;justify-content:space-between;align-items:center;gap:30px;padding:30px 0}footer>span,footer>a:last-child{font-size:var(--text-caption);letter-spacing:.05em}footer .brand{font-size:var(--text-body)}dialog{border:1px solid var(--color-ash);width:min(690px,calc(100% - 38px));max-height:85svh;padding:46px;background:var(--color-parchment);color:var(--color-ink);border-radius:0}dialog::backdrop{background:#1d1d1d80}.dialog-close{position:absolute;right:15px;top:15px;width:44px;height:44px;font-size:1.8rem;font-weight:400;border:0;background:none}dialog h2{font-size:2.875rem;line-height:1}.dialog-subtitle{font-size:var(--text-body-sm);margin:19px 0 30px}dialog>p{font-size:var(--text-body-sm)}dialog dl{margin:30px 0}dialog dl>div{padding:19px 0;border-top:1px solid var(--color-ash)}dialog dt{font-size:var(--text-body-sm);margin-bottom:10px}dialog dd{font-size:var(--text-body-sm);line-height:1.6;margin:0}dialog .dialog-note{font-size:var(--text-body-sm);color:#555}.dialog-done{border:1px solid var(--color-ink);background:none;padding:10px 19px;font-size:var(--text-body-sm);margin-top:8px}.dialog-done:hover{background:var(--color-ink);color:var(--color-parchment)}
@media(min-width:1500px){.hero-geometry{right:22%;width:600px;height:600px}.hero h1{margin-top:119px}}
@media(max-width:1050px){.wrap{width:calc(100% - 60px)}.hero-geometry{width:480px;height:480px;right:1%;top:49%}.hero h1{margin-top:105px}.hero-copy{width:310px;max-width:46%}.about-grid{gap:46px}.work h3{font-size:2.4rem}.work-meta{flex-direction:column}.work .view-label{align-self:flex-end}.work{padding:25px}.work-art{height:300px}.art-one{height:390px}.mini-site{width:80%}.form-design{width:94%;padding:25px}.form-head>span{display:none}.focus-ui{width:100%;grid-template-columns:27% 73%}.focus-main{padding:19px 12px}.focus-sidebar{padding:19px 5px}.skill-list h3{font-size:1.7rem}.contact-grid{gap:46px}}
@media(max-width:700px){.wrap{width:calc(100% - 38px)}.header{padding-block:25px}.brand{font-size:1.125rem}.brand-mark{font-size:1.45rem}.header nav{gap:19px;font-size:var(--text-body-sm)}.hero-inner{min-height:740px;height:calc(100svh - 81px);max-height:950px;padding-top:19px;padding-bottom:25px}.eyebrow>span:last-child{display:none}.hero h1{font-size:clamp(3.4rem,11.8vw,4.75rem);line-height:.82;margin:125px 0 46px;letter-spacing:0}.hero-geometry{width:min(380px,95vw);height:auto;aspect-ratio:1;right:-7vw;top:38%}.orbit-one{inset:-35px}.orbit-two{inset:-75px}.orbit-three{inset:-115px}.hero-bottom{flex-direction:column;align-items:flex-start;gap:30px}.hero-copy{width:auto;max-width:none;padding-left:0}.hero-copy p{font-size:var(--text-body-sm)}.hero-copy .hero-ja{font-size:1.125rem}.hero-footer{margin-top:32px}.hero-footer>span:last-child{display:none}.scroll-indicator{bottom:19px;right:19px}.section{padding-block:76px}.about{padding-top:76px}.about-grid{grid-template-columns:1fr;gap:46px}.about h2{font-size:clamp(2rem,11vw,2.875rem)}.name-card{margin-top:30px}.about-copy .large-copy{font-size:1.65rem}.about-copy>p{font-size:1rem}.kicker{margin-bottom:25px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:25px}h2{font-size:clamp(2.875rem,10vw,4rem)}.work-grid{grid-template-columns:1fr;gap:30px}.work-featured{grid-column:auto}.work{padding:19px}.work-meta{flex-direction:row;gap:10px;margin-bottom:19px}.work h3{font-size:2.125rem}.work h3 span{font-size:var(--text-body-sm)}.work .view-label{align-self:flex-start;white-space:normal;font-size:var(--text-caption);max-width:65px}.work-art,.art-one{height:auto;min-height:310px;padding:25px 0 35px}.mini-site{width:94%}.mini-nav{padding:15px;gap:10px}.mini-nav>span{font-size:var(--text-caption);letter-spacing:0}.mini-body{padding:19px}.mini-body strong{font-size:2.875rem}.mini-kicker,.mini-foot{letter-spacing:0}.mini-foot{display:block;font-size:var(--text-caption)}.form-design{width:86%;padding:25px}.form-head>span{display:inline}.form-design>strong{font-size:3.4rem}.focus-ui{width:94%}.focus-main{padding:25px 19px}.focus-sidebar{padding:19px 8px}.skill-list{grid-template-columns:1fr;gap:30px;margin-top:30px}.skill-list article{display:grid;grid-template-columns:32px 1fr;gap:19px;padding-top:25px}.skill-number{padding-top:5px}.skill-list h3{font-size:clamp(1.4rem,7.5vw,2.125rem)}.skill-list p{font-size:1rem}.contact{padding-top:30px}.contact-grid{grid-template-columns:1fr;gap:30px;margin-bottom:46px}.contact h2{font-size:clamp(2.875rem,10vw,4rem)}footer{flex-wrap:wrap;gap:25px}footer .brand{width:100%}footer>a:last-child{margin-left:auto}dialog{padding:46px 25px 30px}dialog h2{font-size:2.4rem}}
@media(max-width:370px){.header{flex-wrap:wrap;gap:15px}.header nav{gap:19px;font-size:.875rem;margin-left:auto}.brand{font-size:1rem}.hero h1{font-size:3.2rem}.mini-nav>span{max-width:115px}.focus-main{padding:19px 12px}.focus-date{letter-spacing:0}.form-head>span{display:none}.work-art,.art-one{height:auto;min-height:320px}.mini-body strong{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Entrance / preloader — monochrome, with the sole color moment kept in the hero. */
.preloader[hidden]{display:none}
.preloader{position:fixed;inset:0;z-index:100;background:var(--color-parchment);display:grid;grid-template-rows:auto 1fr auto;padding:30px 46px;overflow:hidden;transform:translateY(0);transition:transform .8s cubic-bezier(.76,0,.24,1);isolation:isolate}
.preloader.is-leaving{transform:translateY(-100%);pointer-events:none}
.preloader-top,.preloader-footer{display:flex;justify-content:space-between;align-items:center;gap:19px}
.preloader-caption,.preloader-label,.preloader-footer>span{font-size:var(--text-caption);letter-spacing:.05em;line-height:1.4}
.preloader-center{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 0;min-height:0}
/* Live Japan Standard Time on the dial; the outer ring shows loading progress. */
.preloader-clock{position:relative;width:min(500px,70vw,calc(100svh - 240px));aspect-ratio:1;flex-shrink:0}
.clock-face{display:block;width:100%;height:100%;overflow:visible}
.clock-track,.clock-rim{fill:none;stroke:var(--color-ash);stroke-width:1}
.clock-progress{fill:none;stroke:var(--color-ink);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100}
.clock-ticks line{stroke:var(--color-ink);stroke-width:1;opacity:.45}
.clock-ticks .major{stroke-width:1.5;opacity:1}
.clock-numerals text{font-size:20px;text-anchor:middle;font-weight:400;letter-spacing:.05em;fill:var(--color-ink)}
.clock-wordmark{font-size:10px;letter-spacing:.22em;text-anchor:middle;fill:var(--color-ink)}
.clock-hour line{stroke:var(--color-ink);stroke-width:5;stroke-linecap:round}
.clock-minute line{stroke:var(--color-ink);stroke-width:3;stroke-linecap:round}
.clock-second line{stroke:var(--color-ink);stroke-width:1.2}
.clock-second circle{fill:var(--color-parchment);stroke:var(--color-ink);stroke-width:1.2}
.clock-hub{fill:var(--color-ink)}.clock-hub-center{fill:var(--color-parchment)}
.clock-readout{position:absolute;top:64%;left:0;width:100%;text-align:center}
.clock-readout .preloader-label{font-size:clamp(.5rem,1.1vw,.6875rem);letter-spacing:.16em}
.preloader-counter{display:flex;justify-content:center;align-items:baseline;gap:3px;font-size:clamp(1rem,3.8vw,2.125rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin-top:8px}
#preloader-count{min-width:2ch;text-align:right}.preloader-percent{font-size:.5em}
.preloader-message{margin-top:22px;font-size:var(--text-body-sm);line-height:1.6;letter-spacing:.05em}
.preloader-track{height:1px;background:var(--color-ash);margin-bottom:19px;overflow:hidden}
#preloader-progress{display:block;width:100%;height:100%;background:var(--color-ink);transform:scaleX(0);transform-origin:left center;transition:transform .12s linear}
.preloader-footer button{display:flex;align-items:center;gap:19px;border:0;background:none;padding:10px 0 10px 15px;min-height:44px;font-size:var(--text-body-sm)}
.preloader-footer button:hover{text-decoration:underline;text-underline-offset:5px}
html.intro-active{overflow:hidden}
.intro-active .header,.intro-active #main,.intro-active .skip{visibility:hidden}
.intro-revealing .hero h1{animation:intro-rise 1.1s cubic-bezier(.16,1,.3,1) both}
.intro-revealing .hero-geometry{animation:intro-sphere 1.2s cubic-bezier(.16,1,.3,1) both}
.intro-revealing .hero-bottom,.intro-revealing .header{animation:intro-fade 1s ease .15s both}
@keyframes intro-rise{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}
@keyframes intro-sphere{from{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}
@keyframes intro-fade{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.preloader{padding:25px 19px}.preloader-caption{max-width:110px;text-align:right}.preloader-clock{width:min(88vw,420px,calc(100svh - 260px))}.clock-readout .preloader-label{font-size:.5625rem}.preloader-counter{font-size:1.375rem}.preloader-footer{gap:10px}.preloader-footer>span{max-width:150px}.preloader-footer button{font-size:.875rem;gap:10px}.preloader-message{margin-top:22px;font-size:.875rem}}
@media(max-height:450px){.preloader{padding-block:15px}.preloader-counter{font-size:1rem;margin-top:4px}.preloader-center{padding:10px 0}.preloader-clock{width:min(44vw,calc(100svh - 180px))}.preloader-message{margin-top:8px}.clock-readout .preloader-label{font-size:.4375rem}.preloader-track{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.preloader{transition:opacity .25s ease!important}.preloader.is-leaving{transform:none;opacity:0}.intro-revealing .hero h1,.intro-revealing .hero-geometry,.intro-revealing .hero-bottom,.intro-revealing .header{animation:none}}

/* Quiet, once-only text entrances: no character splitting, pinning, or scroll hijacking. */
.scroll-reveal{opacity:0;transform:translateY(14px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.scroll-reveal.is-revealed,.scroll-reveal:focus-within{opacity:1;transform:none}
.scroll-reveal.reveal-immediate{transition:none!important}
@media(prefers-reduced-motion:reduce){.scroll-reveal{transform:none;transition:opacity .4s ease!important}}
@media print{.scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}}
