:root{color-scheme:dark;--bg:#090909;--fg:#f5f3ed;--muted:#a6a39c;--accent:#d8b98a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,select{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px;z-index:9;background:#fff;color:#000;padding:12px}.skip:focus{top:10px}header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 5%;border-bottom:1px solid #ffffff18;background:#090909df;backdrop-filter:blur(20px)}.brand{font-size:14px;letter-spacing:.12em;font-weight:700}.brand span{margin-inline-start:18px;font-size:11px;font-weight:400;letter-spacing:.13em;color:#aaa}nav{display:flex;align-items:center;gap:26px;font-size:12px}.language{display:flex;align-items:center;gap:8px}select{max-width:150px;background:#1c1c1c;border:1px solid #444;border-radius:20px;padding:8px 12px;color:white;font-size:12px}.hero{min-height:870px;height:calc(100svh - 77px);max-height:1150px;text-align:center;position:relative;overflow:hidden;padding:66px 24px 35px}.eyebrow{font-size:13px;letter-spacing:.16em;color:var(--accent);font-weight:600}.hero h1{position:relative;z-index:2;font-size:clamp(48px,6.8vw,100px);letter-spacing:-.055em;line-height:1.17;margin:23px auto;max-width:1100px;text-wrap:balance}.intro{color:#aaa;font-size:clamp(14px,1.5vw,19px);line-height:1.8;position:relative;z-index:2}.pill{display:inline-flex;align-items:center;gap:25px;background:#ece6dc;color:#151311;border-radius:30px;padding:15px 25px;font-size:13px;position:relative;z-index:2;margin-top:10px;transition:background .2s,transform .2s}.pill:hover{background:white;transform:translateY(-2px)}.scene{position:absolute;inset:390px 0 0;perspective:1100px;pointer-events:none}.halo{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#85674428,transparent 58%)}.object{position:absolute;width:400px;height:330px;left:calc(50% - 200px);top:25px;transform:rotateX(16deg) rotateY(-19deg) rotateZ(-11deg);transform-style:preserve-3d;animation:float 9s ease-in-out infinite}.beam{display:block;position:absolute;width:270px;height:53px;background:linear-gradient(0deg,#826240,#d7b584 50%,#edcea0);border-top:2px solid #ffe5b6;box-shadow:14px 20px 20px #0008,inset 0 -10px 18px #34261855;transform:rotate(-22deg);border-radius:2px}.beam:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(1deg,transparent 0 4px,#5c3c191a 5px 6px)}.beam:after{content:"";position:absolute;top:8px;right:-24px;width:24px;height:100%;background:#715232;transform:skewY(35deg);transform-origin:left top}.b1{top:30px;left:20px}.b2{top:100px;left:90px;transform:rotate(36deg) translateZ(35px)}.b3{top:175px;left:5px;transform:rotate(-22deg) translateZ(65px)}.b4{top:215px;left:115px;transform:rotate(36deg) translateZ(90px)}.b5{top:130px;left:65px;transform:rotate(90deg) translateZ(-40px);width:290px}.b6{top:85px;left:10px;transform:rotate(90deg) translateZ(90px);width:240px}.ground{position:absolute;bottom:28px;left:30%;width:40%;height:25px;background:#000;filter:blur(16px);border-radius:50%}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;color:#918c85;letter-spacing:.17em;font-size:10px}.section{padding:130px max(6%,calc((100% - 1120px)/2))}.about{background:#f0eee9;color:#24231f}.about .eyebrow{color:#766146}h2{font-size:clamp(36px,5.3vw,72px);line-height:1.25;letter-spacing:-.04em;margin:26px 0 60px;text-wrap:balance}.bio{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:70px;align-items:start}.kanji{font-size:32px;letter-spacing:.14em}.kanji small{display:block;font-size:10px;letter-spacing:.18em;margin-top:14px;color:#6f6c64}.bio p,.practice p{font-size:16px;line-height:2;margin:0;color:#66635d}.duo{display:grid;grid-template-columns:1fr 1fr;gap:22px}.practice{background:#ded9cf;border-radius:22px;padding:40px;min-height:330px;display:flex;flex-direction:column}.practice.light{background:#e7e3dc}.number{font-size:12px;color:#766146}.practice h3{font-size:30px;letter-spacing:-.04em;margin:35px 0 18px}.practice a{margin-top:auto;padding-top:35px;font-size:14px}.thought{background:radial-gradient(ellipse at 90% 20%,#42322280,transparent 70%),#131211;min-height:570px}blockquote{font-size:clamp(28px,3.7vw,51px);line-height:1.6;letter-spacing:-.025em;margin:45px 0;max-width:1050px;min-height:165px;text-wrap:balance}.quote-controls{display:flex;gap:12px;align-items:center}.quote-controls span{margin-inline-end:auto;font-size:12px;color:#a6a39c;font-variant-numeric:tabular-nums}.quote-controls button{border:1px solid #555;border-radius:50%;width:44px;height:44px;background:transparent;color:white;cursor:pointer}.quote-controls button:hover{background:#444}.connect{text-align:center}.connect h2{margin-bottom:30px}.connect>p{color:#aaa;line-height:1.9}.links{max-width:800px;margin:55px auto 30px;text-align:start}.links a{display:flex;gap:24px;align-items:center;justify-content:space-between;border-bottom:1px solid #333;padding:26px 5px;transition:color .2s}.links a:hover{color:var(--accent)}.links span{color:#aaa;font-size:14px}.links b{font-size:19px;font-weight:500}.save{margin-top:20px}footer{border-top:1px solid #292929;padding:30px 5%;display:flex;justify-content:space-between;gap:20px;color:#999;font-size:11px}html[dir=rtl] .brand{direction:ltr}html[dir=rtl] h1,html[dir=rtl] h2{letter-spacing:0}@keyframes float{0%,100%{transform:translateY(0) rotateX(16deg) rotateY(-19deg) rotateZ(-11deg)}50%{transform:translateY(-16px) rotateX(21deg) rotateY(-10deg) rotateZ(-8deg)}}@media(max-width:700px){header{padding:15px 20px}.brand{font-size:11px}.brand span,header nav>a{display:none}nav{gap:0}select{max-width:130px}.hero{padding-top:60px;min-height:800px;height:auto}.hero h1{font-size:clamp(43px,10vw,64px);margin-top:24px}.hero .eyebrow{font-size:11px}.intro{max-width:320px;margin:20px auto}.scene{top:385px}.object{scale:.8;top:20px}.section{padding:85px 24px}.bio{grid-template-columns:1fr;gap:28px;padding-bottom:45px}.duo{grid-template-columns:1fr}.practice{padding:30px;min-height:300px}h2{margin-bottom:40px}.thought{min-height:530px}blockquote{min-height:200px}.links b{font-size:16px}.links span{font-size:12px}footer{flex-direction:column}.hero-bottom{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.object{animation:none}*,*:before,*:after{transition:none!important}}
/* Keep the illustration below text in every language, including long translations. */
.hero{height:auto;max-height:none;min-height:calc(100svh - 77px);padding-bottom:65px}.scene{position:relative;inset:auto;height:390px;margin-top:35px}.ground{bottom:10px}.hero h1{overflow-wrap:anywhere}.brand span{display:inline}.practice,.bio,.thought blockquote{animation:appear linear both;animation-timeline:view();animation-range:entry 0% entry 25%}@keyframes appear{from{opacity:.4;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@supports not (animation-timeline:view()){.practice,.bio,.thought blockquote{animation:none}}@media(max-width:700px){.brand span{display:block;margin:5px 0 0;font-size:10px}.hero{min-height:800px}.scene{height:350px;margin-top:20px}.object{top:0}.hero h1{font-size:clamp(36px,10vw,64px)}}@media(prefers-reduced-motion:reduce){.practice,.bio,.thought blockquote{animation:none}}

.language-index{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:25px 5% 40px;font-size:12px;color:#aaa}.language-index a:hover{color:white}.kanji small{line-height:1.8}.brand span{letter-spacing:.04em}
.identity{display:flex;align-items:center;gap:12px;flex-shrink:0}.identity img{border-radius:50%;object-fit:contain}.identity>span{font-size:12px;letter-spacing:.08em}.identity small{display:block;font-size:9px;color:#aaa;margin-top:5px}.menu{margin-inline-start:auto}.menu summary{cursor:pointer;list-style:none;font-size:25px;padding:6px}.menu summary::-webkit-details-marker{display:none}.page-menu{position:absolute;inset:100% 0 auto;background:#141414fa;padding:30px 6%;display:flex;flex-wrap:wrap;gap:30px;border-bottom:1px solid #444}.page-menu a{display:block!important;font-size:18px;padding:8px}.page-menu a[aria-current]{color:var(--accent)}.section>h1{font-size:clamp(36px,5.3vw,72px);line-height:1.25;letter-spacing:-.04em;margin:26px 0 60px}main>.section{min-height:calc(100svh - 220px)}.history-mark{margin:30px 0}.history-mark img{border-radius:50%}.timeline{border-top:1px solid #555;padding:30px 0;display:flex;gap:50px;align-items:center}.timeline strong{font-size:44px;font-weight:400;color:var(--accent)}#loader[hidden]{display:none!important}#loader{position:fixed;inset:0;z-index:20;background:#090909;display:grid;place-items:center;pointer-events:none;animation:loader-out 2.5s forwards}#loader img{border-radius:50%;animation:breathe 1s ease-in-out infinite alternate}@keyframes breathe{from{opacity:.45}to{opacity:1}}@keyframes loader-out{0%,90%{opacity:1}100%{opacity:0;visibility:hidden}}@media(min-width:1150px){header{gap:20px}.menu{display:contents}.menu summary{display:none}.menu:not([open])>.page-menu,.page-menu{display:flex;position:static;border:0;background:none;padding:0;gap:18px;margin-inline-start:auto}.page-menu a{font-size:12px;padding:4px}}@media(max-width:700px){header{gap:10px}.identity{gap:8px}.identity>span{font-size:10px}.identity small{font-size:8px}.identity img{width:28px;height:28px}select{max-width:106px}.page-menu{flex-direction:column;gap:12px}.section>h1{overflow-wrap:anywhere}.timeline{gap:20px}}@media(prefers-reduced-motion:reduce){#loader img{animation:none}}

.history-entry{display:grid;grid-template-columns:160px 1fr;gap:35px;border-top:1px solid #333;padding:35px 0}.history-entry time{color:var(--accent);font-size:23px}.history-entry h2{font-size:26px;margin:0 0 15px;line-height:1.5}.history-entry p,.history-source{color:#aaa;line-height:1.8}.history-source{font-size:12px;margin-top:30px}@media(max-width:700px){.history-entry{grid-template-columns:1fr;gap:12px}.history-entry h2{font-size:22px}}

.notice{grid-column:2;margin:5px 0 0;max-width:500px}.notice a{display:block;background:#e6e4df;border-radius:12px;overflow:hidden;cursor:zoom-in}.notice img{display:block;width:100%;height:auto}.notice figcaption{color:#aaa;font-size:12px;line-height:1.7;margin-top:12px}@media(max-width:700px){.notice{grid-column:1;width:100%}}

.art-gallery{margin-bottom:80px}.gallery-intro{margin-bottom:36px}.gallery-intro h2{font-size:32px;margin:0 0 12px}.gallery-intro p{color:#6d675d;font-size:14px}.art-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.artwork{margin:0;min-width:0}.artwork a{display:block;background:#ddd8ce;border-radius:16px;overflow:hidden;cursor:zoom-in}.artwork img{display:block;width:100%;height:540px;object-fit:contain}.artwork figcaption{padding:20px 3px}.artwork h3{font-size:24px;line-height:1.5;margin:9px 0}.artwork figcaption span{font-size:12px;line-height:1.7;color:#6d675d}.artwork.overview{grid-column:1/-1}.artwork.overview img{height:auto}@media(max-width:700px){.art-grid{grid-template-columns:1fr;gap:26px}.artwork img{height:auto}.artwork h3{font-size:22px}.gallery-intro h2{font-size:26px}}
/* Spacious, scroll-led chapters; ordinary scrolling remains fully native. */
.reading-progress{position:fixed;inset:0 auto auto 0;height:2px;width:100%;background:var(--accent);z-index:30;transform:scaleX(var(--read,0));transform-origin:left;pointer-events:none}
.art-grid{display:block}.artwork{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);gap:6%;align-items:start;min-height:125vh;padding:8vh 0 24vh;border-top:1px solid #d1cbc1}.artwork a{position:sticky;top:110px;border-radius:24px;background:#e5e1d9}.artwork img{height:68vh;max-height:850px;width:100%;object-fit:contain}.artwork figcaption{position:sticky;top:32vh;padding:0}.artwork h3{font-size:clamp(30px,4vw,60px);letter-spacing:-.045em;line-height:1.35;margin:20px 0}.artwork.overview{display:block;min-height:auto;padding-bottom:100px}.artwork.overview a{position:relative;top:auto}.artwork.overview img{height:auto}.artwork.overview figcaption{position:relative;top:auto;padding-top:28px}.gallery-intro{margin-bottom:100px}.gallery-intro h2{display:none}html[data-page=practice] main>.section>h1,html[data-page=history] main>.section>h1{min-height:40vh;display:flex;align-items:center;font-size:clamp(48px,8vw,110px)}.solo{grid-template-columns:1fr}.solo .practice{max-width:800px;background:transparent;padding:0;min-height:240px}.history-entry{padding:100px 0;min-height:90vh}.history-entry>div{align-self:start;position:sticky;top:120px}.history-entry h2{font-size:clamp(28px,4vw,48px)}.notice{max-width:650px}.bio{min-height:60vh;align-content:center}.thought{padding-top:18vh;padding-bottom:18vh}.thought blockquote{font-size:clamp(32px,5vw,70px);min-height:40vh;display:flex;align-items:center}.connect .links a{padding:45px 8px}.connect .links b{font-size:clamp(23px,3vw,40px)}
/* IntersectionObserver adds these only when motion is enabled. */
.motion-reveal{opacity:.16;transform:translateY(45px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);animation:none!important}.motion-reveal.is-visible,.motion-reveal:focus-within{opacity:1;transform:none}.practice,.bio,.thought blockquote{animation:none}
@media(max-width:700px){.artwork{display:block;min-height:auto;padding:40px 0 90px}.artwork a,.artwork figcaption{position:relative;top:auto}.artwork img{height:auto;max-height:none}.artwork figcaption{padding-top:24px}.artwork h3{font-size:34px}.gallery-intro{margin-bottom:50px}.history-entry{padding:60px 0;min-height:auto}.history-entry>div{position:static}.bio{min-height:auto;padding:50px 0}.thought blockquote{min-height:45vh}html[data-page=practice] main>.section>h1,html[data-page=history] main>.section>h1{min-height:30vh}.connect .links a{padding:32px 0}.section{padding-top:70px}}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1;transform:none;transition:none}.artwork a,.artwork figcaption{position:relative;top:auto}.reading-progress{display:none}}

.japan{background:#f0eee9;color:#24231f}.japan .eyebrow{color:#766146}.japan>h1{min-height:35vh;display:flex;align-items:center}.japan-photo{margin:0 auto 120px;max-width:1080px}.japan-photo a{display:block;background:#e2ddd4;border-radius:22px;overflow:hidden;cursor:zoom-in}.japan-photo img{display:block;width:100%;max-height:85vh;object-fit:contain}.japan-photo figcaption{max-width:760px;margin:35px auto}.japan-photo h2{font-size:clamp(28px,4vw,48px);margin:0 0 20px}.japan-photo p{font-size:17px;line-height:2;color:#66635d}@media(max-width:700px){.japan-photo{margin-bottom:80px}.japan-photo img{max-height:none}}

.original-title{display:block;color:#706a60;font-size:13px;line-height:1.8;margin:12px 0;font-weight:400}.artwork figcaption span{overflow-wrap:anywhere}

.family{background:#f0eee9;color:#24231f}.family .eyebrow{color:#766146}.family-prose,.family-note{max-width:850px;line-height:2.1;font-size:17px}.family-prose p{margin-bottom:32px}.family h2{font-size:34px;margin:75px 0 30px}.crest-list{padding:0;list-style:none;max-width:850px}.crest-list li{border-top:1px solid #ccc;padding:20px 0;line-height:1.8}.crest-list small{display:block;color:#766146}.family-note{padding:25px;background:#e4dfd5;border-radius:14px}.family-gallery{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:65px}.family-gallery figure{margin:0}.family-gallery img{width:100%;height:auto;border-radius:12px}.family-gallery a{cursor:zoom-in}.family-gallery figcaption{font-size:12px;margin-top:12px;color:#666}.page-menu{gap:12px!important}@media(max-width:700px){.family-gallery{grid-template-columns:1fr}.family>h1{font-size:40px}}
