:root{--paper:#f5f3ee;--ink:#242220;--muted:#68615a;--rose:#855d69;--rule:#dcd6cd;--sans:"Hiragino Sans GB","Hiragino Sans","Hiragino Kaku Gothic ProN",-apple-system,BlinkMacSystemFont,"Noto Sans JP",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.95 var(--sans);overflow-wrap:break-word}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400;line-height:1.6}h1{font-size:clamp(32px,3.2vw,46px);letter-spacing:.02em}h2{font-size:35px}h3{font-size:25px}a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}a:hover{text-decoration:underline}button,summary{font:inherit;color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:5px}img{max-width:100%;display:block;height:auto}[hidden]{display:none!important}.wrap{width:calc(100% - 48px);max-width:1200px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:24px;padding:10px 20px;background:var(--paper);z-index:20}.skip-link:focus{top:10px}.muted,.small{color:var(--muted)}.small{font-size:13px;line-height:1.9}.number,.eyebrow{color:var(--rose);font-size:13px;font-family:"Helvetica Neue",Arial,var(--sans);letter-spacing:.12em}.eyebrow{margin-bottom:40px}.mobile-copy{display:none}.site-header{height:130px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:32px}.brand-home{display:flex;align-items:center;width:100px;min-height:44px;flex-shrink:0}.brand-home img{width:100%;max-width:100%;margin:0}.main-nav{display:flex;gap:42px;margin-left:auto;align-items:center}.main-nav a{display:flex;align-items:center;min-height:44px;text-decoration:none;font-size:14px;white-space:nowrap;position:relative}.main-nav a[aria-current=page]::after{content:"";height:1px;position:absolute;bottom:0;left:0;right:0;background:var(--rose)}.main-nav a:hover{text-decoration:underline}.site-footer{margin-top:0;padding:44px 0 58px;border-top:1px solid var(--rule);display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.site-footer>div{text-align:right}.footer-nav{display:flex;gap:30px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.site-footer .small{margin-top:26px}.return-link{font-size:16px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;gap:30px}.page-intro{padding-top:72px;margin-bottom:110px}.intro-lead{margin-top:32px;max-width:1050px}.intro-note{font-size:14px;margin-top:22px}.text-link{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:44px;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link>span{font-size:22px}.page-closing{border-top:1px solid var(--rule);margin-top:150px;padding:70px 0 100px}.page-closing>p,.page-closing>div>p{margin-top:25px;color:var(--muted)}.page-closing>.text-link{margin-top:35px;width:max-content;min-width:220px;font-size:18px}.section-label{font-size:13px;color:var(--muted);display:flex;gap:30px;align-items:center;font-weight:400}.section-space{margin-top:155px;scroll-margin-top:30px}.section-space>h2{margin-top:34px}.purpose-index,.section-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;margin-top:55px}.purpose-index a,.section-index a{border-top:1px solid var(--rule);padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;text-decoration:none}.purpose-index a:hover,.section-index a:hover{text-decoration:underline}.purpose-index a{font-size:20px}.works-group{scroll-margin-top:35px;margin-top:145px}.group-heading{border-top:1px solid var(--rule);padding-top:26px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;margin-bottom:53px}.group-heading p{color:var(--muted);margin-top:15px}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:95px 64px}.work-visual{aspect-ratio:1.44;background:#f0ece5;display:flex;align-items:center;justify-content:center}.work-visual img{width:100%;height:100%;object-fit:contain}.work-kicker{display:flex;justify-content:space-between;gap:20px;margin-top:26px;font-size:12px;line-height:1.8}.work-kicker>span:first-child{color:var(--rose)}.work-kicker>span:last-child{color:var(--muted);text-align:right}.work-item h3{margin-top:20px;font-size:27px}.work-purpose{margin-top:19px;font-size:16px}.work-stage{margin-top:20px}.work-details{margin-top:22px;border-bottom:1px solid var(--rule)}.work-details summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;font-size:15px;list-style:none}.work-details summary::-webkit-details-marker{display:none}.work-details[open] summary>span{transform:rotate(45deg)}.work-details>div{padding:12px 0 25px;font-size:16px}.work-details>div .small{margin-top:18px}.gallery-note{margin-top:95px}.intro-columns{display:grid;grid-template-columns:minmax(0,1fr) 470px;gap:60px;align-items:start}.service-intro .intro-description{padding-top:10px;font-size:18px;line-height:2}.service-claim{font-size:20px;margin-top:30px}.scope-row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:60px;border-top:1px solid var(--rule);padding:34px 0 50px;min-height:235px}.service-scope>.section-label{margin-bottom:49px}.scope-row h3{font-size:21px}.scope-row h4{font-size:28px}.scope-row p{margin-top:27px;font-size:18px;max-width:760px}.scope-row .concrete{margin-top:28px;font-size:13px}.formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;margin-top:50px}.format-item>img{width:255px;margin-bottom:30px}.format-item h3{font-size:24px}.format-item p{font-size:17px;color:var(--muted);margin-top:22px;max-width:340px}.format-condition{font-size:16px;margin-top:55px;max-width:1100px}.library-intro{margin-top:32px;max-width:1100px}.reference-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;margin-top:58px}.reference-pair figure>img{width:100%;aspect-ratio:1.44;object-fit:contain}.reference-pair figcaption{margin-top:28px;display:flex;flex-direction:column;gap:12px;font-size:23px}.reference-note{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:48px}.reference-note .text-link{font-size:16px;flex-shrink:0}.process-section{display:grid;grid-template-columns:minmax(0,1fr) 670px;gap:80px}.process-section h2{margin-top:35px}.process-note{margin-top:45px;font-size:16px;max-width:330px}.process-list,.principles-list{padding:0;margin:0;list-style:none}.process-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:20px;border-top:1px solid var(--rule);padding:27px 0 40px;min-height:193px}.process-list h3{font-size:23px}.process-list p{margin-top:25px;font-size:17px;line-height:2}.estimate-section,.consultation{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:80px;border-top:1px solid var(--rule);padding-top:65px}.estimate-section>h2{margin-top:0}.consultation{border:0;margin-top:70px;padding-top:0;margin-bottom:120px}.consultation h2{font-size:25px}.consultation p{font-size:15px}.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:30px 80px}.about-kicker{font-size:17px;margin-top:0}.about-intro h1{font-size:62px;line-height:1.5;margin-top:65px}.about-lockup{width:420px;align-self:start;margin-top:-26px}.about-lockup img{width:100%}.about-introduction{grid-column:1/-1;margin-top:12px}.about-introduction h2{font-size:27px}.about-introduction>p{font-size:19px;line-height:2;max-width:900px;margin-top:30px}.principles-section{display:grid;grid-template-columns:360px minmax(0,1fr);gap:80px;border-top:1px solid var(--rule);padding-top:70px;margin-top:100px}.principles-section>h2{font-size:29px}.principles-list li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:20px;padding-bottom:50px;min-height:250px}.principles-list li+li{border-top:1px solid var(--rule);padding-top:35px}.principles-list h3{font-size:27px}.principles-list p{font-size:18px;line-height:2;margin-top:35px}.about-closing{display:flex;justify-content:space-between;gap:60px;margin-top:90px}.closing-links{min-width:220px;display:flex;flex-direction:column;gap:15px;font-size:19px}
/* One static stage. No video, auto-advance, fade, or new flower movement. */
.cover-page{min-height:100svh;display:flex;flex-direction:column}.cover-page .site-header{border:0;height:100px}.cover-main{flex:1;display:grid;place-items:center;min-height:640px;padding:0 0 25px}.cover-stage{width:min(640px,100%);aspect-ratio:1;position:relative;isolation:isolate}.cover-logo{position:absolute;width:560px;max-width:calc(100% - 40px);left:50%;top:50%;transform:translate(-50%,-50%)}.cover-logo img{width:100%}.flower-scene{position:absolute;inset:0}.flower-scene>img{width:100%;height:100%;object-fit:contain}.petal-light{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.petal-light g{opacity:0}.petal-light g.is-selected{opacity:.48}.choice{position:absolute;inset:0;pointer-events:none}.petal-hit{position:absolute;border:0;padding:0;background:transparent;transform:translate(-50%,-50%);min-width:44px;min-height:44px;pointer-events:auto;border-radius:50%}.choice-about .petal-hit{left:73%;top:48%;width:22%;height:15%;transform:translate(-50%,-50%) rotate(-24deg)}.choice-services .petal-hit{left:51%;top:35%;width:13%;height:28%}.choice-work .petal-hit{left:31%;top:68%;width:19%;height:12%;transform:translate(-50%,-50%) rotate(-22deg)}.focus-mark{position:absolute;inset:20%;border-radius:50%;border:1px solid transparent}.petal-hit:focus-visible{outline:0}.petal-hit:focus-visible .focus-mark{border:2px solid var(--rose);outline:2px solid var(--paper);outline-offset:3px}.petal-label{position:absolute;min-height:44px;min-width:44px;padding:8px 10px;display:flex;align-items:center;font-size:22px;letter-spacing:.08em;line-height:1.5;text-decoration:none;white-space:nowrap;pointer-events:auto}.petal-label:hover{text-decoration:underline}.choice-about .petal-label{right:5%;top:8%}.choice-services .petal-label{left:62%;top:10%}.choice-work .petal-label{left:3%;top:60%}.cover-footer{padding-bottom:25px;text-align:center}.state-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.state-controls button{font-size:13px;background:none;border:0;border-bottom:1px solid transparent;padding:8px;min-height:44px}.state-controls button[aria-pressed=true]{border-color:var(--rose);color:var(--rose)}.state-controls .next-state{margin-left:35px}.cover-status{margin-top:14px}.cover-note{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.8}.flower-error{position:absolute;inset:40% 12% auto;font-size:16px;text-align:center}
@media(max-width:1100px){.intro-columns{grid-template-columns:1.2fr 1fr;gap:40px}.process-section{grid-template-columns:1fr 1.8fr;gap:50px}.estimate-section,.consultation{grid-template-columns:1.1fr 1fr;gap:40px}.principles-section{grid-template-columns:250px minmax(0,1fr);gap:45px}.about-intro{grid-template-columns:minmax(0,1fr) 330px;gap:50px}.about-lockup{width:330px}.about-intro h1{font-size:52px}.purpose-index,.section-index,.formats{gap:30px}.purpose-index a{font-size:17px}}
@media(max-width:800px){.main-nav{gap:22px}.site-header{height:104px;gap:18px}.brand-home{width:72px;min-height:44px}.main-nav a{font-size:13px}.page-intro{padding-top:45px;margin-bottom:85px}.eyebrow{font-size:12px;margin-bottom:30px}h1{font-size:31px;line-height:1.65}h2{font-size:28px}h3{font-size:23px}.small{font-size:12px}.intro-columns{grid-template-columns:1fr;gap:36px}.intro-lead{font-size:16px;line-height:2;margin-top:30px}.intro-note{font-size:12px}.purpose-index,.section-index{gap:20px;margin-top:42px}.purpose-index a{font-size:13px;line-height:1.8;align-items:flex-start;flex-direction:column;gap:10px}.purpose-index a .number{align-self:flex-end;font-size:11px}.section-index{grid-template-columns:1fr;gap:0}.section-index a{font-size:15px;padding:10px 0;min-height:55px}.works-group{margin-top:95px}.group-heading{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.group-heading h2{font-size:25px}.group-heading p{font-size:15px}.works-grid{grid-template-columns:1fr;gap:80px}.work-kicker{font-size:12px;margin-top:24px}.work-item h3{font-size:25px}.work-purpose{font-size:15px}.work-stage{font-size:12px}.gallery-note{margin-top:65px}.page-closing{margin-top:95px;padding:55px 0 70px}.page-closing p{font-size:15px}.page-closing .text-link{font-size:17px}.site-footer{display:block;padding:35px 0 45px}.site-footer>div{text-align:left;margin-top:27px}.footer-nav{justify-content:flex-start;gap:24px;font-size:12px}.site-footer .small{margin-top:25px}.service-claim{font-size:16px;margin-top:25px}.service-intro .intro-description{font-size:16px;line-height:2;padding:0}.section-label{font-size:13px;gap:28px}.scope-row{grid-template-columns:1fr;gap:33px;padding:30px 0 50px;min-height:0}.scope-row h3{font-size:17px;color:var(--rose)}.scope-row h4{font-size:25px}.scope-row p{font-size:16px;line-height:2;margin-top:30px}.scope-row .concrete{font-size:12px}.section-space{margin-top:100px}.desktop-copy{display:none}.mobile-copy{display:initial}.formats{grid-template-columns:1fr;gap:0;margin-top:45px}.format-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;border-top:1px solid var(--rule);padding:28px 0 35px;min-height:210px}.format-item>img{width:100px;margin:0}.format-item h3{font-size:21px}.format-item p{font-size:15px;line-height:1.9;margin-top:20px}.format-condition{font-size:14px;margin-top:25px;line-height:1.95}.library-intro{font-size:16px;line-height:2;margin-top:30px}.reference-pair{grid-template-columns:1fr;gap:55px;margin-top:42px}.reference-pair figcaption{font-size:18px;gap:10px;margin-top:25px}.reference-note{display:block;margin-top:35px}.reference-note .text-link{margin-top:30px}.process-section{grid-template-columns:1fr;gap:55px}.process-section h2{font-size:28px}.process-note{font-size:14px;max-width:none;margin-top:28px}.process-list li{grid-template-columns:26px minmax(0,1fr);gap:20px;min-height:0;padding:25px 0 45px}.process-list h3{font-size:20px}.process-list p{font-size:16px;line-height:2;margin-top:28px}.estimate-section,.consultation{grid-template-columns:1fr;gap:35px}.estimate-section h2{font-size:27px}.estimate-section>p{font-size:16px;line-height:2}.consultation{margin-top:65px;margin-bottom:75px}.consultation h2{font-size:20px}.consultation p{font-size:14px}.about-intro{grid-template-columns:1fr;gap:0}.about-kicker{font-size:12px}.about-intro>.eyebrow{margin-bottom:0}.about-intro h1{font-size:35px;margin-top:45px;line-height:1.5}.about-intro>div:first-child{position:relative}.about-intro .about-kicker{position:absolute;right:0;top:0}.about-introduction{display:contents}.about-introduction h2{font-size:22px;order:1;margin-top:34px}.about-lockup{order:2;width:300px;max-width:100%;justify-self:center;margin:45px 0 65px}.about-introduction>p{order:3;font-size:16px;line-height:2;margin-top:0}.principles-section{grid-template-columns:1fr;gap:55px;margin-top:85px;padding-top:40px}.principles-section>h2{font-size:23px}.principles-list li{grid-template-columns:1fr;gap:24px;min-height:0;padding-bottom:45px}.principles-list li+li{padding-top:45px}.principles-list h3{font-size:27px;line-height:1.6}.principles-list p{font-size:16px;line-height:2;margin-top:25px}.about-closing{display:block;margin-top:60px}.closing-links{margin-top:40px;gap:15px}.cover-page .site-header{height:85px}.cover-main{min-height:390px;padding-bottom:15px}.cover-stage{width:min(640px,100vw)}.cover-logo{width:320px;max-width:calc(100% - 48px)}.petal-label{font-size:18px;padding:7px 10px}.choice-about .petal-label{right:5%;top:0}.choice-services .petal-label{left:61%;top:1%}.cover-footer{padding-top:0;padding-bottom:22px}.state-controls{gap:4px}.state-controls button{font-size:12px;padding-inline:7px}.state-controls .next-state{margin-left:8px}.cover-status{font-size:12px}.cover-note{font-size:11px}}
@media(max-width:360px){.site-header{gap:12px}.brand-home{width:60px}.main-nav{gap:8px}.main-nav a{font-size:12px}.work-kicker{gap:10px;font-size:11px}.purpose-index{gap:16px}.format-item{grid-template-columns:80px minmax(0,1fr);gap:18px}.format-item>img{width:80px}.choice-about .petal-label{right:1%}.choice-services .petal-label{left:60%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Align the first gallery view and Japanese heading breaks with the approved artwork. */
@media(min-width:801px){.works-page .page-intro{padding-top:60px;margin-bottom:0}.works-page .eyebrow{margin-bottom:20px}.works-page h1{font-size:44px}.works-page .purpose-index{margin-top:45px}.works-page #shop{margin-top:75px}.works-page .group-heading{margin-bottom:40px}}

.state-controls button:disabled{opacity:.5;cursor:default}

/* Keep the adopted logo inside the narrow layout without changing its proportions. */
@media(max-width:800px){.about-intro{grid-template-columns:minmax(0,1fr)}.about-lockup{width:min(300px,100%);min-width:0}}

/* Research26: one independent cover-flow study. Flower artwork remains untouched. */
.cover-stage .flower-scene{opacity:1;transition:opacity 650ms cubic-bezier(.16,1,.3,1)}
.cover-stage[data-state="intro"] .flower-scene{opacity:0;pointer-events:none}
.cover-logo{opacity:0;transition:opacity 650ms cubic-bezier(.16,1,.3,1);pointer-events:none;z-index:2}
.cover-logo.is-visible{opacity:1}
#opening-movie{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.cover-stage[data-state="opening"] .petal-menus{pointer-events:none}
.petal-label{opacity:0;transform:translateY(8px);transition:opacity 520ms cubic-bezier(.16,1,.3,1),transform 520ms cubic-bezier(.16,1,.3,1);font-family:var(--sans);letter-spacing:.08em}
.petal-label.is-visible{opacity:1;transform:translateY(0)}
.experience-controls{display:flex;align-items:center;justify-content:center;gap:8px 24px;flex-wrap:wrap}
.experience-controls button{border:0;border-bottom:1px solid transparent;background:transparent;font-size:13px;min-height:44px;padding:8px 0}
.experience-controls button:hover{text-decoration:underline;text-underline-offset:.4em}
.experience-controls button[aria-pressed=true]{border-bottom-color:var(--rose);color:var(--rose)}
.experience-controls button:disabled{opacity:.65;cursor:default}



.cover-page.is-reduced .cover-logo,.cover-page.is-reduced .flower-scene,.cover-page.is-reduced .petal-label{transition:none!important;transform:none}
.cover-page.is-reduced .cover-logo{transform:translate(-50%,-50%)}
@media(max-width:800px){.experience-controls{gap:4px 20px}.experience-controls button{font-size:12px}.cover-footer{padding-top:8px}}

/* Soften codec-only empty background. All 108 flower silhouettes remain in the fully opaque mask area. */
@supports (mask-image:linear-gradient(black,transparent)) or (-webkit-mask-image:linear-gradient(black,transparent)){#opening-movie{-webkit-mask-image:url("../assets/flower/empty-background-mask.png");mask-image:url("../assets/flower/empty-background-mask.png");-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}
