/*
Theme Name: Two Rhythms — Astra Child
Description: Two Rhythms renewal preview, prepared for the mystaging01 staging site. Existing page and post content is preserved.
Author: Two Rhythms
Template: astra
Version: 0.1.24
Text Domain: two-rhythms
Requires at least: 6.0
Requires PHP: 7.4
*/
:root{--paper:#fff;--ink:#333}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{margin:0;font-family:var(--tr-font-family);font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:hover{opacity:.55}a:focus-visible,button:focus-visible{outline:1px solid #777;outline-offset:8px}.identity{font-size:14px;font-weight:400;letter-spacing:.04em;white-space:nowrap}.entrance{height:100svh;min-height:500px;position:relative}.entrance>.identity{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%)}nav{display:flex;gap:32px;font-size:10px;letter-spacing:.04em}.entrance nav{position:absolute;top:60px;right:8vw}.gallery{padding-top:24svh}.exhibit{margin:0 0 98svh;width:62vw;margin-left:27vw}.exhibit-2{width:45vw;margin-left:9vw;margin-bottom:107svh}.exhibit-3{width:59vw;margin-left:20vw;margin-bottom:82svh}.art{border:0;padding:0;display:block;width:100%;background:#111;overflow:hidden}.art img{width:100%;height:auto;display:block}.art:focus-visible{outline-offset:10px}figcaption{font-size:9px;letter-spacing:.06em;margin-top:17px;color:#6a6a6a;line-height:1.5}footer{display:flex;align-items:center;gap:28px;margin:0 8vw;padding:0 0 65px;font-size:10px;letter-spacing:.03em}footer small{margin-left:auto;color:#888;font-size:9px}.page-header{height:170px;padding:60px 8vw;display:flex;align-items:center;justify-content:space-between}.statement{min-height:95svh;display:flex;align-items:center;justify-content:center;padding:0 24px 20svh}.statement p{font-size:clamp(16px,1.45vw,23px);line-height:2.65;letter-spacing:.08em;font-weight:300}.text-block{width:460px;max-width:calc(100% - 48px);margin:0 auto 180px;font-size:13px;line-height:2.4;letter-spacing:.04em}.text-block h1,.text-block h2{font-size:12px;letter-spacing:.12em;font-weight:400;margin:0 0 40px}.text-block p{margin:0 0 28px}.profile{margin-top:200px;margin-bottom:240px}.role{font-size:11px;color:#727272}.text-block dl{margin-top:65px;font-size:12px}.text-block dt{color:#838383;font-size:10px;margin-top:32px}.text-block dd{margin:8px 0 0}.source{font-size:10px;color:#888;margin-top:60px!important}.source a{text-decoration:underline;text-underline-offset:4px}.contact{padding-top:16svh;min-height:80svh}form{margin-top:65px}label{display:block;font-size:11px;margin-bottom:30px}input,textarea{display:block;background:transparent;border:0;border-bottom:1px solid #ddd;border-radius:0;width:100%;padding:13px 0;outline-offset:4px;color:var(--ink)}textarea{resize:vertical}.form-note,.status{font-size:10px;color:#818181}.submit{border:0;background:none;padding:10px 0;font-size:11px;color:var(--ink)}dialog{width:100vw;max-width:none;height:100svh;max-height:none;border:0;background:#fff;padding:12svh 12vw;color:var(--ink)}dialog::backdrop{background:#fff}body:has(dialog[open]){overflow:hidden}.close{position:absolute;top:35px;right:5vw;border:0;background:none;font-size:11px;padding:12px}.screen{width:100%;aspect-ratio:16/9;max-height:68svh;background:#080808}.screen iframe{display:block;width:100%;height:100%;border:0}.dialog-caption{font-size:10px;margin-top:22px;display:flex;justify-content:space-between;gap:25px}.original{color:#777}.player-note{font-size:10px;line-height:1.8;color:#888;margin-top:22px}.exhibit{opacity:1}.js-ready .exhibit{opacity:0;transition:opacity 1.1s ease}.js-ready .exhibit.is-visible{opacity:1}@media(prefers-reduced-motion:reduce){.js-ready .exhibit{opacity:1;transition:none}}@media(max-width:600px){.identity{font-size:13px}.entrance nav{right:9vw;top:42px}nav{gap:27px}.gallery{padding-top:22svh}.exhibit{width:65vw;margin-left:27vw;margin-bottom:92svh}.exhibit-2{width:52vw;margin-left:9vw;margin-bottom:100svh}.exhibit-3{width:61vw;margin-left:18vw;margin-bottom:70svh}figcaption{font-size:8px;margin-top:13px}footer{flex-wrap:wrap;gap:25px;padding-bottom:40px}footer small{width:100%;margin:8px 0 0}.page-header{height:130px;padding:42px 9vw}.statement{min-height:85svh;padding-bottom:15svh}.statement p{font-size:15px;letter-spacing:.03em}.text-block{font-size:12px;max-width:calc(100% - 64px)}.profile{margin-top:150px}.contact{padding-top:10svh}dialog{padding:25svh 5vw 10svh}.screen{max-height:none}.dialog-caption{font-size:9px}.close{right:5vw}.player-note{font-size:9px}}

/* A-2: the logo-only area of the original shared board; no font substitution. */
.logo-crop{display:block;position:relative;width:210px;aspect-ratio:315/85;overflow:hidden;mix-blend-mode:multiply}.logo-crop img{position:absolute;width:487.619048%;max-width:none;height:auto;left:-363.492063%;top:-467.058824%}.page-header .logo-crop{width:155px}@media(max-width:600px){.logo-crop{width:185px}.page-header .logo-crop{width:130px}}

/* Composition restored from the selected visual reference. */
.home .entrance{height:132px;min-height:0}.home .entrance>.identity{top:37px;left:9.5vw;transform:none}.home .entrance .logo-crop{width:205px}.home .entrance nav{top:60px;right:7vw}.home .gallery{padding-top:0}.home .exhibit{width:89.4vw;margin-left:10.6vw;margin-bottom:13vw}.home .exhibit-2{width:35.4vw;margin-left:45.4vw;margin-bottom:7vw}.home .exhibit-3{width:69vw;margin-left:20.6vw;margin-bottom:9vw}.home .exhibit-4{width:85.4vw;margin-left:0;margin-bottom:20vw}.home figcaption{margin-top:13px;font-size:8px;letter-spacing:.06em;color:#777}.reference-art{background:none}.reference-frame{display:block;width:100%;position:relative;overflow:hidden;background-image:url('assets/design-reference.png');background-repeat:no-repeat}.crop-1 .reference-frame{aspect-ratio:915/443;background-size:111.912568% 346.726862%;background-position:100% 12.076853%}.crop-2 .reference-frame{aspect-ratio:362/196;background-size:282.872928% 783.673469%;background-position:70.241692% 55.970149%}.crop-3 .reference-frame{aspect-ratio:706/218;background-size:145.042493% 704.587156%;background-position:66.352201% 77.086495%}.crop-4 .reference-frame{aspect-ratio:875/210;background-size:117.028571% 731.428571%;background-position:0 100%}.reference-screen{background:none;aspect-ratio:auto;max-height:none;display:flex;align-items:center;min-height:60svh}.reference-screen .reference-frame{max-height:65svh}.home footer{margin-left:10.6vw}.home dialog{padding:12svh 10vw}.home .dialog-caption{margin-top:20px}
@media(min-width:1600px){.home .entrance{height:165px}.home .entrance>.identity{top:48px}.home .entrance nav{top:70px}}
@media(max-width:600px){.home .entrance{height:110px}.home .entrance>.identity{left:8vw;top:28px}.home .entrance .logo-crop{width:150px}.home .entrance nav{top:45px;right:8vw;gap:19px}.home .exhibit{width:89.4vw;margin-left:10.6vw;margin-bottom:30vw}.home .exhibit-2{width:45vw;margin-left:43vw;margin-bottom:23vw}.home .exhibit-3{width:72vw;margin-left:20vw;margin-bottom:26vw}.home .exhibit-4{width:87vw;margin-left:0;margin-bottom:40vw}.home figcaption{font-size:8px}.home dialog{padding:19svh 5vw}.reference-screen{min-height:45svh}}

.js-ready .home .exhibit-1{opacity:1;transition:none}

.about-intro{padding-top:8svh}.about-intro p{line-height:2.6}@media(max-width:600px){.about-intro{padding-top:6svh}.about-intro p{font-size:12px;letter-spacing:0;line-height:2.6}}

.works-page>h1{font-size:12px;font-weight:400;letter-spacing:.1em;margin:6vh 10.6vw 12vh}.work-item{width:60vw;margin:0 0 24vh 27vw}.work-item-2{width:45vw;margin-left:10.6vw}.work-item-3{width:62vw;margin-left:24vw}.study-index{margin:0 10.6vw 20vh;font-size:10px;line-height:2;color:#777}.study-index h2{font-size:11px;font-weight:400;color:#444}.study-index div{display:flex;gap:28px;flex-wrap:wrap;margin-top:24px}.work-detail{width:78.8vw;margin:8vh auto 22vh}.work-detail h1{font-size:13px;font-weight:400;letter-spacing:.06em;margin:0 0 42px}.film-player{aspect-ratio:16/9;background:#111}.film-player iframe{display:block;width:100%;height:100%;border:0}.detail-note{font-size:10px;line-height:2.2;color:#777;margin:25px 0 0}.detail-note a{text-decoration:underline;text-underline-offset:4px;margin-left:12px}.work-nav{display:flex;justify-content:space-between;gap:25px;margin-top:13vh;font-size:10px}.study-detail .reference-frame{width:100%}@media(max-width:600px){.home .entrance nav{gap:14px}.page-header nav{gap:14px;font-size:9px}.page-header .logo-crop{width:115px}.work-detail{width:84vw;margin-top:6vh}.work-detail h1{font-size:11px;margin-bottom:28px}.work-item{width:65vw;margin-left:27vw;margin-bottom:22vh}.work-item-2{width:55vw;margin-left:9vw}.work-item-3{width:68vw;margin-left:20vw}.works-page>h1{margin-bottom:8vh}.study-index div{gap:20px}.detail-note{font-size:9px}}

/* Works is a complete project index, separate from the HOME exhibition. */
.works-index{width:84vw;margin:5vh auto 18vh}.works-index>h1{margin:0 0 70px;font-size:13px;letter-spacing:.12em}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:64px}.projects-grid figure{margin:0;min-width:0}.projects-grid figure>a{display:block}.projects-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.projects-grid figcaption{font-size:10px;line-height:1.9;margin-top:14px;color:#555;letter-spacing:.01em}.project-still img{width:100%;height:auto;display:block}.project-description{font-size:12px;line-height:2.2;letter-spacing:.02em;margin:32px 0 20px}.project-source{font-size:10px;color:#777;text-decoration:underline;text-underline-offset:4px}@media(max-width:900px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:48px}}@media(max-width:600px){.works-index{width:84vw;margin-top:4vh}.works-index>h1{margin-bottom:45px}.projects-grid{grid-template-columns:1fr;row-gap:42px}.projects-grid figcaption{font-size:10px;margin-top:12px}.project-description{font-size:11px}.work-nav{gap:12px;font-size:9px}}

/* Bilingual typography, composed as a quiet editorial spread. */
.about-editorial{--mincho:var(--tr-font-family);--serif:var(--tr-font-family);width:76vw;max-width:1200px;margin:90px auto 180px;color:#363632}.about-editorial .jp{font-family:var(--tr-font-family);font-weight:300;font-feature-settings:"palt"}.about-editorial .en{font-family:var(--tr-font-family);font-weight:400;font-size:15px;line-height:1.9;color:#6c6c65;letter-spacing:.012em}.about-opening{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:start}.about-japanese h1{font-family:var(--tr-font-family);font-size:15px;font-weight:400;letter-spacing:.04em;margin:0 0 65px}.about-japanese .philosophy{font-size:clamp(15px,1.45vw,20px);line-height:2.5;letter-spacing:.055em;margin:0 0 45px}.about-japanese .belief{font-size:clamp(18px,1.8vw,25px);line-height:2.5;letter-spacing:.06em;margin:75px 0 0}.about-english{padding-top:190px;max-width:290px}.about-english p{margin:0 0 27px}.about-english .english-belief{margin-top:65px;font-size:17px;line-height:2}.creator{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;margin-top:240px;align-items:start}.creator-heading h2{font-size:25px;letter-spacing:.15em;font-weight:300;margin:0 0 16px}.roman-name{font-family:var(--tr-font-family);font-size:11px;letter-spacing:.16em;margin:0 0 45px}.creator-heading .creator-role{font-size:12px;letter-spacing:.08em;margin-bottom:5px}.creator-heading>.en{font-size:13px;margin-top:0}.creator-bio>.jp{font-size:14px;line-height:2.65;letter-spacing:.045em;margin:0 0 38px}.creator-bio>.en{font-size:14px}.activities-editorial,.practice-editorial{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;margin-top:170px}.section-label h2{font-size:15px;letter-spacing:.16em;margin:0 0 10px;font-weight:300}.section-label .en{font-size:13px;margin:0}.activities-editorial ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:31px}.activities-editorial li p{margin:0}.activities-editorial li .jp{font-size:12px;line-height:2.2;letter-spacing:.03em}.activities-editorial li .en{font-size:12px;line-height:1.8;margin-top:6px}.practice-editorial>div>.jp{font-size:12px;line-height:2.6;letter-spacing:.03em;margin-top:0}.practice-editorial>div>.en{font-size:13px;margin-top:25px}.established{margin-top:65px}.established p{margin:0}.established .jp{font-size:12px}.established .en{font-size:12px;margin-top:8px}.about-page footer{margin-top:200px}@media(min-width:1500px){.about-editorial{margin-top:120px}.about-opening{gap:130px}.about-english{max-width:330px}}@media(max-width:800px){.about-editorial{width:80vw;margin-top:65px}.about-opening{grid-template-columns:1.1fr .9fr;gap:5vw}.about-japanese .philosophy{font-size:14px;letter-spacing:.02em}.about-japanese .belief{font-size:17px;letter-spacing:.02em}.about-editorial .en{font-size:13px}.about-english{padding-top:170px}.creator,.activities-editorial,.practice-editorial{gap:6vw;grid-template-columns:.7fr 1.3fr}.creator-heading h2{font-size:21px}}@media(max-width:600px){.about-editorial{width:82vw;margin:65px auto 110px}.about-opening{display:block}.about-japanese h1{margin-bottom:46px}.about-japanese .philosophy{font-size:14px;letter-spacing:.015em;line-height:2.5}.about-japanese .belief{font-size:18px;letter-spacing:.01em;margin-top:58px}.about-english{padding-top:0;margin:70px 0 0 17vw;max-width:260px}.about-english .english-belief{font-size:15px;margin-top:35px}.creator{display:block;margin-top:140px}.creator-heading{margin-bottom:50px}.creator-heading h2{font-size:24px}.roman-name{margin-bottom:25px}.creator-bio>.jp{font-size:13px}.creator-bio>.en{font-size:13px}.activities-editorial,.practice-editorial{display:block;margin-top:100px}.section-label{margin-bottom:40px}.activities-editorial li .jp{font-size:12px}.about-page footer{margin-top:100px}.practice-editorial>div>.jp{font-size:12px;letter-spacing:0}}

/* Portrait-led biography: a large photograph aligned to the text's left edge. */
.creator-portrait{grid-column:1/-1;width:82%;margin:0 0 65px}.creator-portrait img{display:block;width:100%;height:auto}.about-editorial .creator{column-gap:8vw;row-gap:0}.creator-portrait+.creator-heading{padding-top:5px}.creator-portrait~.creator-bio{padding-top:0}@media(max-width:800px){.creator-portrait{width:90%;margin-bottom:55px}.about-editorial .creator{column-gap:6vw}}@media(max-width:600px){.creator-portrait{width:100%;margin:0 0 45px}.creator-portrait+.creator-heading{margin-bottom:40px}}

/* Smaller portrait; activities grouped by language. */
.creator-portrait{width:48%;max-width:440px;margin-bottom:55px}.activities-editorial .activity-language-groups ul{display:block;list-style:disc;padding-left:1.15em;margin:0}.activities-editorial .activity-language-groups li{padding-left:4px;margin:0 0 12px}.activities-editorial .activities-jp li{font-size:12px;line-height:2.2;letter-spacing:.03em}.activities-editorial .activity-language-groups .activities-en{margin-top:50px}.activities-editorial .activities-en li.en{font-size:12px;line-height:1.9}.activities-editorial li::marker{font-size:8px;color:#777}@media(max-width:800px){.creator-portrait{width:55%;max-width:380px}}@media(max-width:600px){.creator-portrait{width:70%;max-width:280px;margin-bottom:40px}.activities-editorial .activity-language-groups .activities-en{margin-top:38px}}

.about-japanese .belief{font-size:clamp(15px,1.45vw,20px);letter-spacing:.055em}@media(max-width:800px){.about-japanese .belief{font-size:14px;letter-spacing:.02em}}@media(max-width:600px){.about-japanese .belief{font-size:14px;letter-spacing:.015em}}

/* WORKS: large image fields and offset duets in place of a uniform grid. */
.works-exhibition>.page-header{position:absolute;left:0;top:0;width:100%;z-index:2;height:155px;color:#fff}.works-exhibition>.page-header .identity{filter:invert(1);mix-blend-mode:screen}.works-exhibition>.page-header .identity .logo-crop{mix-blend-mode:normal}.works-exhibition>.page-header nav a{color:#fff;text-shadow:0 1px 8px #0005}.works-composition{overflow:clip}.works-hero{position:relative;background:#101010;color:#fff}.works-hero h1{position:absolute;top:155px;left:8vw;z-index:1;margin:0;font-size:11px;font-weight:400;letter-spacing:.08em}.project-art{margin:0;min-width:0}.project-art>a{display:block;opacity:1}.project-art img{display:block;width:100%;height:auto;transition:opacity .5s ease}.project-art>a:hover img{opacity:.88}.project-art figcaption{font-size:10px;line-height:1.8;letter-spacing:.025em;margin-top:17px;color:#676763}.hero-art>a{height:100svh;min-height:620px;position:relative}.hero-art>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0005 0%,transparent 32%,transparent 70%,#0005 100%);pointer-events:none}.hero-art img{height:100%;object-fit:cover}.hero-art figcaption{position:absolute;bottom:53px;left:8vw;z-index:1;color:#fff;margin:0;font-size:11px}.works-sequence{padding-top:28vh}.works-movement{margin:0 0 34vh}.work-duet{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:9vw;width:84vw;margin:0 8vw 30vh;align-items:start}.duet-opening .duet-minor{margin-top:31vh}.panoramic-art{width:89vw;margin:0 0 30vh 0}.panoramic-art img{width:100%;height:auto}.duet-closing{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:13vw;width:80vw;margin-left:12vw;margin-bottom:0}.duet-closing .duet-major{margin-top:23vh}.movement-2 .panoramic-art,.movement-4 .panoramic-art{margin-left:11vw}.movement-2 .duet-opening,.movement-4 .duet-opening{width:80vw;margin-left:12vw;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:13vw}.movement-2 .duet-opening .duet-minor,.movement-4 .duet-opening .duet-minor{margin-top:39vh}.movement-3 .duet-closing{margin-left:6vw;width:86vw}.works-exhibition footer{margin-top:10vh}@media(min-width:1600px){.hero-art>a{height:94svh;max-height:1100px}}@media(max-width:900px){.hero-art>a{height:85svh;min-height:520px}.work-duet{gap:6vw;width:86vw;margin-left:7vw}.duet-opening .duet-minor{margin-top:22vh}.duet-closing{gap:9vw}.project-art figcaption{font-size:9px}}@media(max-width:600px){.works-exhibition>.page-header{height:115px}.works-hero h1{top:128px;left:9vw;font-size:10px}.hero-art>a{height:78svh;min-height:480px}.hero-art img{object-position:52% center}.hero-art figcaption{left:9vw;bottom:32px;font-size:10px}.works-sequence{padding-top:18vh}.work-duet,.movement-2 .duet-opening,.movement-4 .duet-opening{display:block;width:auto;margin:0 0 20vh}.duet-opening .duet-major{width:78vw;margin-left:7vw}.duet-opening .duet-minor,.movement-2 .duet-opening .duet-minor,.movement-4 .duet-opening .duet-minor{width:52vw;margin:15vh 0 0 41vw}.panoramic-art{width:94vw;margin:0 0 18vh}.movement-2 .panoramic-art,.movement-4 .panoramic-art{margin-left:6vw}.duet-closing,.movement-3 .duet-closing{display:block;width:auto;margin-left:0}.duet-closing .duet-minor{width:52vw;margin-left:8vw}.duet-closing .duet-major{width:76vw;margin:15vh 0 0 18vw}.works-movement{margin-bottom:22vh}.project-art figcaption{font-size:9px;margin-top:12px}.hero-art figcaption{margin:0}.works-exhibition footer{margin-top:0}}@media(prefers-reduced-motion:reduce){.project-art img{transition:none}}

.works-exhibition>.page-header .identity{filter:none;mix-blend-mode:screen}.works-exhibition>.page-header .logo-crop img{filter:invert(1)}

.works-exhibition>.page-header{mix-blend-mode:screen}

/* Same broad, left-indented horizontal frame as the first image on HOME. */
.works-linear>.page-header{height:132px;padding:37px 7vw 37px 9.5vw}.works-linear>.page-header .logo-crop{width:205px}.linear-gallery{width:100%;overflow:clip}.linear-project{width:89.4vw;margin:0 0 14vw 10.6vw}.linear-project>a{display:block}.linear-project img{display:block;width:100%;height:auto}.linear-project figcaption{font-size:10px;line-height:1.8;letter-spacing:.025em;color:#676763;margin-top:16px}.linear-project:last-child{margin-bottom:18vw}.works-linear footer{margin-left:10.6vw}@media(min-width:1600px){.works-linear>.page-header{height:165px;padding-top:48px;padding-bottom:48px}}@media(max-width:600px){.works-linear>.page-header{height:110px;padding:28px 8vw}.works-linear>.page-header .logo-crop{width:150px}.works-linear>.page-header nav{gap:14px}.linear-project{width:89.4vw;margin-left:10.6vw;margin-bottom:24vw}.linear-project figcaption{font-size:9px;margin-top:12px}.linear-project:last-child{margin-bottom:30vw}}

/* Full-width three-column work wall, below a separate navigation header. */
.works-wall>.page-header{height:132px;padding:37px 7vw 37px 9.5vw;position:relative;background:#fff;z-index:1}.works-wall>.page-header .logo-crop{width:205px}.works-wall .linear-gallery{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0;margin:0;overflow:hidden}.works-wall .linear-project{width:auto;min-width:0;margin:0;overflow:hidden;background:#101010}.works-wall .linear-project>a{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;isolation:isolate}.works-wall .linear-project img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.002);filter:brightness(.96);transition:transform 800ms cubic-bezier(.2,.65,.3,1),filter 650ms ease}.works-wall .linear-project>a:after{content:"";position:absolute;inset:0;pointer-events:none;background:#fff;opacity:0;transition:opacity 650ms ease}.works-wall .linear-project>a:focus-visible{outline:2px solid #fff;outline-offset:-6px;z-index:2}.works-wall .linear-project>a:focus-visible img{transform:scale(1.035);filter:brightness(1.06)}.works-wall footer{margin-top:100px;padding-bottom:60px}@media(hover:hover){.works-wall .linear-project>a:hover img{transform:scale(1.035);filter:brightness(1.06)}.works-wall .linear-project>a:hover:after{opacity:.025}}@media(min-width:1600px){.works-wall>.page-header{height:165px;padding-top:48px;padding-bottom:48px}}@media(max-width:600px){.works-wall>.page-header{height:110px;padding:28px 8vw}.works-wall>.page-header .logo-crop{width:150px}.works-wall>.page-header nav{gap:14px}.works-wall .linear-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.works-wall footer{margin-top:65px}}@media(prefers-reduced-motion:reduce){.works-wall .linear-project img,.works-wall .linear-project>a:after{transition:none}.works-wall .linear-project>a:hover img,.works-wall .linear-project>a:focus-visible img{transform:none}}

/* Shared header logo: smaller and closer to the left edge on every page. */
body>header.page-header{padding-left:4vw}body>header.page-header .logo-crop{width:130px}.home .entrance>.identity{left:4vw;top:38px}.home .entrance .logo-crop{width:130px}@media(min-width:1600px){.home .entrance>.identity{top:49px}}@media(max-width:600px){body>header.page-header{padding-left:5vw}body>header.page-header .logo-crop{width:110px}.home .entrance>.identity{left:5vw;top:30px}.home .entrance .logo-crop{width:110px}}

.page-header.page-header{padding-left:4vw}.page-header .identity .logo-crop{width:130px}@media(max-width:600px){.page-header.page-header{padding-left:5vw}.page-header .identity .logo-crop{width:110px}}

/* HOME: one quiet image at a time, held inside generous white space. */
.home.home-quiet .entrance{height:58svh;min-height:390px}.home.home-quiet .gallery{padding-top:10svh}.home.home-quiet .gallery .exhibit{width:54vw;margin-left:23vw;margin-right:0;margin-top:0;margin-bottom:76svh}.home.home-quiet .gallery .exhibit:last-child{margin-bottom:44svh}.home.home-quiet .gallery figcaption{font-size:8px;letter-spacing:.05em;margin-top:15px;color:#888}.home.home-quiet .entrance nav{top:51px;right:5vw}.home.home-quiet .entrance>.identity{top:33px;left:4vw}.home.home-quiet footer{margin-left:5vw;margin-right:5vw}.home.home-quiet .gallery .art{background:none}.home.home-quiet .gallery .art:hover{opacity:.94}@media(min-width:1600px){.home.home-quiet .entrance{height:58svh}.home.home-quiet .entrance>.identity{top:42px}.home.home-quiet .entrance nav{top:60px}}@media(max-width:600px){.home.home-quiet .entrance{height:57svh;min-height:330px}.home.home-quiet .gallery{padding-top:7svh}.home.home-quiet .gallery .exhibit{width:65vw;margin-left:17.5vw;margin-bottom:65svh}.home.home-quiet .gallery .exhibit:last-child{margin-bottom:38svh}.home.home-quiet .entrance>.identity{left:5vw;top:28px}.home.home-quiet .entrance nav{top:42px;right:5vw;gap:17px}.home.home-quiet .gallery figcaption{font-size:8px;margin-top:12px}}

.portfolio-player{width:100%;aspect-ratio:16/9;background:#111}.portfolio-player iframe{display:block;width:100%;height:100%;border:0}.home.home-quiet .portfolio-gallery .portfolio-reel{margin-bottom:38svh}

/* HOME opening film fills the viewport, with navigation above it. */
.home.home-fullscreen{background:#fff}.home.home-fullscreen .entrance{height:0;min-height:0;position:relative;z-index:2;mix-blend-mode:screen}.home.home-fullscreen .entrance>.identity{position:absolute;top:33px;left:4vw;transform:none}.home.home-fullscreen .entrance .identity{mix-blend-mode:screen}.home.home-fullscreen .entrance .logo-crop{width:130px;mix-blend-mode:normal}.home.home-fullscreen .entrance .logo-crop img{filter:invert(1)}.home.home-fullscreen .entrance nav{position:absolute;top:51px;right:5vw;bottom:auto;color:#fff;gap:32px}.home.home-fullscreen .portfolio-gallery{padding:0}.home.home-fullscreen .portfolio-gallery .portfolio-reel{width:100%;height:100svh;margin:0;opacity:1;animation:none;transition:none}.home.home-fullscreen .portfolio-player{position:relative;width:100%;height:100svh;aspect-ratio:auto;overflow:hidden;background:#080808}.home.home-fullscreen .portfolio-player iframe{position:absolute;left:50%;top:50%;width:max(100vw,177.777778svh);height:max(100svh,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none}.home.home-fullscreen footer{margin-top:90px}@media(max-width:600px){.home.home-fullscreen .entrance>.identity{left:5vw;top:28px}.home.home-fullscreen .entrance .logo-crop{width:110px}.home.home-fullscreen .entrance nav{top:42px;right:5vw;gap:17px}.home.home-fullscreen footer{margin-top:60px}}

/* Final shared direction: precise small navigation, light readable typography. */
body{font-family:var(--tr-font-family);font-weight:300}header nav{font-size:11px;font-weight:300;letter-spacing:.075em}footer{font-weight:300}.about-editorial{width:76vw;max-width:1180px;margin-top:85px}.about-japanese .philosophy,.about-japanese .belief{font-size:16px;line-height:2.3;letter-spacing:.04em;font-weight:300}.about-japanese .belief{margin-top:65px}.about-english{padding-top:155px}.about-editorial .en{color:#65655f}.about-editorial .creator{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);column-gap:10vw;align-items:start;margin-top:190px}.about-editorial .creator-portrait{grid-column:auto;width:100%;max-width:320px;margin:0}.creator-copy{min-width:0;padding-top:8px}.creator-copy .creator-heading{padding-top:0;margin-bottom:52px}.creator-copy .creator-heading h2{font-size:20px;letter-spacing:.12em}.creator-copy .roman-name{font-family:var(--tr-font-family);font-size:10px;font-weight:300;letter-spacing:.14em;margin-bottom:30px}.creator-copy .creator-bio>.jp{font-size:14px;line-height:2.4;letter-spacing:.04em}.creator-copy .creator-bio>.en{font-size:14px;line-height:1.95}.activities-editorial,.practice-editorial{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:10vw}.activities-editorial .activity-language-groups li{margin-bottom:13px}.activities-editorial .activities-jp li{line-height:2.1}.works-wall .linear-project img{filter:brightness(1)}@media(max-width:800px){.about-editorial{width:82vw}.about-editorial .creator{column-gap:7vw;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.activities-editorial,.practice-editorial{column-gap:7vw}.about-japanese .philosophy,.about-japanese .belief{font-size:14px}}@media(max-width:600px){header nav{font-size:10px;letter-spacing:.04em}.about-editorial{margin-top:60px}.about-japanese .philosophy,.about-japanese .belief{font-size:14px;line-height:2.4;letter-spacing:.015em}.about-english{padding-top:0}.about-editorial .creator{display:block;margin-top:125px}.about-editorial .creator-portrait{width:64%;max-width:250px;margin:0 0 45px}.creator-copy{padding-top:0}.creator-copy .creator-heading{margin-bottom:36px}.creator-copy .creator-bio>.jp{font-size:13px}.creator-copy .creator-bio>.en{font-size:13px}.activities-editorial,.practice-editorial{display:block}}

/* Vertical type, quiet original line art, and a freely scrollable film gallery. */
.home.home-fullscreen .horizontal-exhibition{background:#fff;color:#333;padding:130px 0 110px}.exhibition-top{display:flex;justify-content:space-between;align-items:baseline;margin:0 8vw 65px 10vw}.exhibition-top h1{font-family:var(--tr-font-family);font-size:18px;font-weight:400;letter-spacing:.04em;margin:0}.exhibition-top>a{font-family:var(--tr-font-family);font-size:11px;letter-spacing:.04em}.exhibition-body{position:relative}.vertical-label{writing-mode:vertical-rl;font-family:var(--tr-font-family);font-size:12px;letter-spacing:.3em;position:absolute;left:4vw;top:0;margin:0}.film-rail{display:flex;gap:5vw;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:0 10vw 30px;scrollbar-width:thin;scrollbar-color:#d8d8d2 transparent;scroll-padding-left:10vw}.film-rail::-webkit-scrollbar{height:2px}.film-rail::-webkit-scrollbar-thumb{background:#d8d8d2}.rail-film{flex:0 0 61vw;margin:0;scroll-snap-align:start;min-width:0}.rail-film>a{display:block;overflow:hidden}.rail-film img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:opacity .6s ease}.rail-film a:hover img{opacity:.85}.rail-film figcaption{font-size:10px;letter-spacing:.04em;margin-top:20px;color:#666}.rail-navigation{display:flex;gap:25px;justify-content:flex-end;align-items:center;margin:35px 8vw 0;font-size:10px;color:#777}.rail-navigation span{font-family:var(--tr-font-family);margin-right:16px}.rail-navigation button{font-size:19px;line-height:1;background:none;border:0;padding:10px;color:#444}.film-rail:focus-visible{outline:1px solid #aaa;outline-offset:-1px}.home.home-fullscreen footer{margin-top:40px}.emotion-interlude{display:grid;grid-template-columns:.85fr 1fr 1fr;gap:6vw;align-items:center;min-height:520px;margin:140px 0 130px}.listening-illustration{width:165px;max-width:100%;height:auto;justify-self:start}.vertical-belief{justify-self:center}.about-editorial .vertical-belief .belief{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--tr-font-family);font-size:16px;line-height:2.5;letter-spacing:.12em;font-weight:300;margin:0;white-space:nowrap}.interlude-english{font-size:14px!important;max-width:230px;align-self:end;padding-bottom:75px}.interlude-english .english-belief{margin:0;line-height:2}.about-editorial .emotion-interlude+.creator{margin-top:0}@media(max-width:800px){.emotion-interlude{gap:4vw;grid-template-columns:.7fr 1fr .9fr}.listening-illustration{width:135px}.about-editorial .vertical-belief .belief{font-size:14px}.interlude-english{font-size:13px!important}}@media(max-width:600px){.home.home-fullscreen .horizontal-exhibition{padding:90px 0 70px}.exhibition-top{margin:0 7vw 45px 13vw}.exhibition-top h1{font-size:16px}.exhibition-top>a{font-size:10px}.vertical-label{left:4vw;font-size:10px}.film-rail{padding-left:13vw;padding-right:13vw;scroll-padding-left:13vw;gap:7vw}.rail-film{flex-basis:76vw}.rail-film figcaption{font-size:9px;margin-top:15px}.rail-navigation{margin-top:20px;gap:18px}.rail-navigation span{font-size:9px}.emotion-interlude{grid-template-columns:.7fr 1fr;gap:8vw;margin:90px 0 110px;min-height:0}.listening-illustration{width:120px}.about-editorial .vertical-belief .belief{font-size:14px;letter-spacing:.06em;line-height:2.25}.interlude-english{grid-column:2;align-self:auto;padding:0;margin-top:20px;font-size:13px!important}.home.home-fullscreen footer{margin-top:25px}}@media(prefers-reduced-motion:reduce){.rail-film img{transition:none}}

/* TOP follows a landscape, vertical words, then a spacious photographic narrative. */
.home-story .portfolio-reel{position:relative}.hero-vertical-copy{position:absolute;right:7vw;bottom:6svh;margin:0;z-index:1;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-family:var(--tr-font-family);font-size:16px;font-weight:300;line-height:2.4;letter-spacing:.1em;color:#fff;mix-blend-mode:difference;pointer-events:none}.home-narrative{background:#fff;padding-top:160px;padding-bottom:80px}.narrative-opening{margin:0 0 130px 22vw}.narrative-jp{font-family:var(--tr-font-family);font-size:15px;font-weight:300;line-height:2.6;letter-spacing:.06em;color:#383832;margin:0}.narrative-en{font-family:var(--tr-font-family);font-size:14px;line-height:1.9;color:#77786f;letter-spacing:.015em;margin:35px 0 0}.narrative-image{margin:0}.narrative-image>a{display:block}.narrative-image img{display:block;width:100%;height:auto}.narrative-image-right{width:48vw;margin-left:37vw}.narrative-middle{display:grid;grid-template-columns:1fr 1fr;gap:16vw;width:68vw;margin:140px auto 125px;align-items:center}.narrative-drawing{width:150px;max-width:100%;justify-self:center;height:auto}.narrative-text{justify-self:start}.vertical-narrative{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;line-height:2.5;letter-spacing:.1em}.narrative-image-left{width:47vw;margin-left:10vw}.narrative-about{margin:80px 0 0 65vw;font-family:var(--tr-font-family);font-size:12px;letter-spacing:.06em}.narrative-about a{display:inline-block}.narrative-about span{display:block;font-family:var(--tr-font-family);font-size:12px;letter-spacing:.03em;color:#777;margin-top:12px}.home-story .horizontal-exhibition{padding-top:110px}@media(max-width:800px){.hero-vertical-copy{font-size:14px;line-height:2.1;right:6vw;bottom:6svh}.narrative-jp{font-size:14px}.narrative-middle{gap:10vw;width:72vw}}@media(max-width:600px){.hero-vertical-copy{font-size:13px;line-height:2;letter-spacing:.04em;right:6vw;bottom:6svh}.home-narrative{padding-top:100px;padding-bottom:40px}.narrative-opening{margin:0 7vw 75px 12vw}.narrative-jp{font-size:13px;line-height:2.5;letter-spacing:.01em}.narrative-en{font-size:12px;line-height:1.8;margin-top:28px}.narrative-image-right{width:76vw;margin-left:24vw}.narrative-middle{width:80vw;grid-template-columns:.7fr 1fr;gap:9vw;margin:85px auto}.narrative-drawing{width:110px}.vertical-narrative{font-size:13px;line-height:2.2;letter-spacing:.02em}.narrative-image-left{width:76vw;margin-left:0}.narrative-about{margin:50px 0 0 57vw;font-size:11px}.home-story .horizontal-exhibition{padding-top:70px}}

.rail-film img{height:auto}.rail-film>a:hover,.narrative-image>a:hover{opacity:1}

/* White frame around the opening film; the approved logo crosses its top-left edge. */
.home.home-framed .entrance{mix-blend-mode:difference}.home.home-framed .entrance>.identity{left:4vw;top:63px}.home.home-framed .entrance .identity{mix-blend-mode:normal}.home.home-framed .entrance .logo-crop{width:210px}.home.home-framed .entrance nav{top:44px;right:4vw;color:#fff}.home.home-framed .portfolio-gallery{padding-top:100px}.home.home-framed .portfolio-gallery .portfolio-reel{width:86vw;height:calc(100svh - 160px);min-height:340px;margin:0 7vw}.home.home-framed .portfolio-player{width:100%;height:100%;min-height:340px}.home.home-framed .portfolio-player iframe{width:max(86vw,calc((100svh - 160px)*1.77777778),604.444px);height:max(calc(100svh - 160px),48.375vw,340px)}.home.home-framed .hero-vertical-copy{right:4vw;bottom:4svh;font-size:14px;line-height:2.1}.home.home-framed .home-narrative{margin-top:60px}@media(max-width:600px){.home.home-framed .entrance>.identity{left:4vw;top:68px}.home.home-framed .entrance .logo-crop{width:160px}.home.home-framed .entrance nav{top:31px;right:5vw;gap:17px}.home.home-framed .portfolio-gallery{padding-top:100px}.home.home-framed .portfolio-gallery .portfolio-reel{width:88vw;margin:0 6vw;height:calc(84svh - 100px);min-height:330px}.home.home-framed .portfolio-player{min-height:330px}.home.home-framed .portfolio-player iframe{width:max(88vw,calc((84svh - 100px)*1.77777778),586.667px);height:max(calc(84svh - 100px),49.5vw,330px)}.home.home-framed .hero-vertical-copy{font-size:11px;right:4vw;bottom:25px;line-height:1.9}.home.home-framed .home-narrative{margin-top:16svh}}

/* The statement belongs to its own white space after the film. */
.home-quote-space{min-height:70svh;display:flex;align-items:center;justify-content:center;padding:130px 7vw 110px;background:#fff}.standalone-vertical-copy{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-family:var(--tr-font-family);font-size:15px;font-weight:300;line-height:2.5;letter-spacing:.09em;margin:0;color:#383832}.home.home-framed .home-narrative{margin-top:0;padding-top:60px}@media(max-width:600px){.home-quote-space{min-height:65svh;padding:100px 8vw 80px}.standalone-vertical-copy{font-size:13px;line-height:2.2;letter-spacing:.05em}.home.home-framed .home-narrative{margin-top:0;padding-top:35px}}

/* Smaller frames in Selected films, retaining the horizontal gallery. */
.rail-film{flex-basis:30.5vw}@media(max-width:600px){.rail-film{flex-basis:38vw}}

/* One uninterrupted vertical text block, with its complete translation underneath. */
.combined-narrative{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:84vw;margin:0 auto 130px;padding:0}.combined-narrative .narrative-jp{writing-mode:vertical-rl;text-orientation:mixed;font-size:15px;font-weight:300;line-height:2.2;letter-spacing:.06em;white-space:nowrap;margin:0}.combined-narrative .narrative-en{width:480px;max-width:100%;font-size:14px;line-height:1.95;margin:55px 0 0;text-align:left}.home-narrative .narrative-middle{display:flex;justify-content:center;width:68vw;margin:100px auto}.home-narrative .narrative-drawing{width:150px}@media(max-width:600px){.combined-narrative{max-width:88vw;margin:0 auto 80px}.combined-narrative .narrative-jp{font-size:12px;line-height:2.15;letter-spacing:.015em}.combined-narrative .narrative-en{width:82vw;font-size:12px;line-height:1.9;margin-top:38px}.home-narrative .narrative-middle{margin:65px auto}.home-narrative .narrative-drawing{width:110px}}

.home-story .narrative-image-right+.narrative-image-left{margin-top:150px}@media(max-width:600px){.home-story .narrative-image-right+.narrative-image-left{margin-top:90px}}

.about-opening.about-opening-combined{display:block}.about-opening-combined>h1{font-family:var(--tr-font-family);font-size:15px;font-weight:400;letter-spacing:.04em;text-align:center;margin:0 0 65px}.about-opening-combined .combined-narrative{margin-bottom:0}.about-opening-combined .narrative-en{font-family:var(--tr-font-family);color:#65655f}.home.home-framed .home-narrative{padding-top:0;padding-bottom:50px}.home-story .narrative-about{margin:0 8vw 0;text-align:right}@media(max-width:600px){.about-opening-combined>h1{margin-bottom:45px}.home.home-framed .home-narrative{padding-top:0;padding-bottom:30px}.home-story .narrative-about{margin:0 8vw;text-align:right}}

/* A single typographic statement, surrounded by an entire white room. */
.home-quote-space.signature-statement{min-height:96svh;padding:140px 8vw 150px;display:flex;align-items:center;justify-content:center}.signature-statement .standalone-vertical-copy{font-family:var(--tr-font-family);font-size:clamp(22px,2.15vw,32px);font-weight:300;line-height:2.35;letter-spacing:.14em;color:#292b28;white-space:nowrap;margin:0;text-rendering:optimizeLegibility}.home-story .signature-statement+.home-narrative{padding-bottom:70px}@media(max-width:600px){.home-quote-space.signature-statement{min-height:88svh;padding:100px 8vw 110px}.signature-statement .standalone-vertical-copy{font-size:21px;line-height:2.1;letter-spacing:.09em}}@media(max-width:360px){.signature-statement .standalone-vertical-copy{font-size:19px}}

/* Copy rises softly inside the film frame, then the moving image covers it. */
.home.home-framed .portfolio-reel{background:#fff;position:relative}.film-intro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0;background:#fff;overflow:hidden}.film-intro .standalone-vertical-copy{font-family:var(--tr-font-family);writing-mode:vertical-rl;font-size:clamp(20px,2.1vw,30px);font-weight:300;line-height:2.3;letter-spacing:.1em;color:#292b28;white-space:nowrap;animation:copy-emerge 1.8s ease-out both;transition:opacity 1.8s ease,filter 1.8s ease}.home.home-framed .portfolio-player{z-index:1;opacity:0;transition:opacity 2s ease;pointer-events:none}.home.home-framed .film-started .portfolio-player{opacity:1}.film-started .film-intro .standalone-vertical-copy{opacity:0;filter:blur(5px)}.intro-play{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);border:0;background:none;font-size:11px;color:#666;padding:12px;z-index:2}.home.home-framed .home-narrative{margin-top:100px;padding-bottom:50px}@keyframes copy-emerge{from{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur(0)}}@media(max-width:600px){.film-intro .standalone-vertical-copy{font-size:18px;line-height:2.1;letter-spacing:.045em}.home.home-framed .home-narrative{margin-top:80px}}@media(prefers-reduced-motion:reduce){.film-intro .standalone-vertical-copy{animation:none;transition:opacity .3s ease}.home.home-framed .portfolio-player{transition:opacity .3s ease}.film-started .film-intro .standalone-vertical-copy{filter:none}}

.film-intro .standalone-vertical-copy{font-size:15px;line-height:2.5;letter-spacing:.09em}@media(max-width:600px){.film-intro .standalone-vertical-copy{font-size:13px;line-height:2.2;letter-spacing:.05em}}

/* Align TOP navigation with the logo and the right edge of the film. */
.home.home-framed .entrance nav{top:82px;right:7vw;line-height:1.2}@media(max-width:600px){.home.home-framed .entrance nav{top:82px;right:6vw;line-height:1.2}}

header nav{font-size:12px;font-weight:400}.home.home-framed .entrance nav{font-size:12px;font-weight:400}@media(max-width:600px){header nav,.home.home-framed .entrance nav{font-size:11px;font-weight:400}}

.page-header nav,.home .entrance nav{font-size:12px;font-weight:400}@media(max-width:600px){.page-header nav,.home .entrance nav{font-size:11px;font-weight:400}}

.home-story .narrative-about{display:flex;align-items:center;justify-content:space-between;gap:8vw;margin:0 10vw;text-align:left}.about-invitation-copy{font-family:var(--tr-font-family);writing-mode:horizontal-tb;font-size:15px;font-weight:300;line-height:2.4;letter-spacing:.06em;margin:0;color:#383832}.home-story .narrative-about>a{flex-shrink:0}@media(max-width:600px){.home-story .narrative-about{margin:0 9vw;gap:30px;align-items:flex-end}.about-invitation-copy{font-size:12px;line-height:2.3;letter-spacing:.015em}.home-story .narrative-about>a{font-size:10px}.home-story .narrative-about>a span{font-size:10px}}@media(max-width:380px){.home-story .narrative-about{flex-direction:column;align-items:flex-start}.home-story .narrative-about>a{align-self:flex-end}}

.invitation-bilingual{display:flex;align-items:flex-start;gap:6vw;min-width:0}.invitation-translation{font-family:var(--tr-font-family);font-size:14px;font-weight:400;line-height:2.55;letter-spacing:.015em;color:#686960;margin:0}.about-invitation-copy{flex-shrink:0}@media(max-width:900px){.home-story .narrative-about{flex-wrap:wrap;row-gap:35px}.home-story .narrative-about>a{margin-left:auto}.invitation-bilingual{gap:5vw}}@media(max-width:600px){.invitation-bilingual{gap:5vw;align-items:flex-start}.invitation-translation{font-size:11px;line-height:2.5;letter-spacing:0}.about-invitation-copy{font-size:12px;line-height:2.3}}@media(max-width:380px){.invitation-bilingual{gap:16px}.invitation-translation{font-size:10px}.about-invitation-copy{font-size:11px}}

/* A fine rule and a restrained arrow mark the About invitation as a link. */
.home-story .narrative-about>a{position:relative;min-width:170px;padding:0 28px 18px 0;border-bottom:1px solid #b9bab2;opacity:1;transition:border-color .35s ease,color .35s ease}.home-story .narrative-about>a:after{content:"↗";position:absolute;right:0;top:1px;font-family:var(--tr-font-family);font-size:16px;font-weight:300;transition:transform .35s ease}.home-story .narrative-about>a:hover{border-color:#333;color:#111}.home-story .narrative-about>a:hover:after{transform:translate(2px,-2px)}@media(max-width:600px){.home-story .narrative-about>a{min-width:140px;padding-right:24px;padding-bottom:15px}.home-story .narrative-about>a:after{font-size:14px}}@media(prefers-reduced-motion:reduce){.home-story .narrative-about>a,.home-story .narrative-about>a:after{transition:none}.home-story .narrative-about>a:hover:after{transform:none}}

/* Give the three main TOP blocks more room between them. */
.home.home-framed .home-narrative{margin-top:190px;padding-bottom:100px}.home.home-fullscreen .horizontal-exhibition{padding-top:170px}@media(max-width:600px){.home.home-framed .home-narrative{margin-top:125px;padding-bottom:65px}.home.home-fullscreen .horizontal-exhibition{padding-top:115px}}

.home.home-framed .home-narrative{margin-top:clamp(320px,45svh,560px);padding-bottom:0}.home.home-fullscreen .horizontal-exhibition{padding-top:clamp(360px,50svh,620px)}@media(max-width:600px){.home.home-framed .home-narrative{margin-top:38svh;padding-bottom:0}.home.home-fullscreen .horizontal-exhibition{padding-top:42svh}}

.home.home-framed .home-narrative{margin-top:clamp(260px,32svh,400px);padding-bottom:0}.home.home-fullscreen .horizontal-exhibition{padding-top:clamp(300px,38svh,460px)}@media(max-width:600px){.home.home-framed .home-narrative{margin-top:28svh;padding-bottom:0}.home.home-fullscreen .horizontal-exhibition{padding-top:32svh}}

.about-opening-combined .combined-narrative .narrative-jp{line-height:3}@media(max-width:600px){.about-opening-combined .combined-narrative .narrative-jp{line-height:2.7}}

.about-editorial .emotion-interlude{grid-template-columns:1fr 1fr;gap:10vw;width:70%;margin-left:auto;margin-right:auto}.emotion-interlude .vertical-belief{justify-self:center}.emotion-interlude .interlude-english{grid-column:auto}@media(max-width:600px){.about-editorial .emotion-interlude{width:100%;gap:8vw;grid-template-columns:1fr 1fr}.emotion-interlude .interlude-english{grid-column:auto;align-self:center;margin-top:0}}

/* Quiet business information, with each label aligned to its details. */
.business-information{margin-top:170px;font-family:var(--tr-font-family);font-weight:300}.business-information dl{margin:0}.information-row{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);column-gap:10vw;margin-bottom:45px;align-items:start}.information-row dt{font-size:13px;line-height:2.4;letter-spacing:.08em}.information-row dd{margin:0;font-size:12px;line-height:2.4;letter-spacing:.02em;overflow-wrap:anywhere}.business-services{list-style:none;padding:0;margin:0}.business-services li{position:relative;padding-left:1em}.business-services li:before{content:"・";position:absolute;left:0}.equipment-list p{margin:0 0 25px}.equipment-list p:last-child{margin-bottom:0}.information-row a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:#bbb}@media(max-width:800px){.information-row{column-gap:7vw}}@media(max-width:600px){.business-information{margin-top:100px}.information-row{display:block;margin-bottom:35px}.information-row dt{font-size:12px;margin-bottom:12px;color:#666}.information-row dd{font-size:12px;line-height:2.3}.equipment-list p{margin-bottom:20px}}

/* Compact information table with restrained horizontal rules. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.business-information.compact-information{max-width:900px;margin:120px auto 0}.compact-information table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:var(--tr-font-family);font-weight:300}.compact-information th,.compact-information td{border-bottom:1px solid #e1e1db;padding:17px 0;vertical-align:top;text-align:left;font-size:12px;line-height:2;letter-spacing:.015em;font-weight:300}.compact-information tr:first-child th,.compact-information tr:first-child td{border-top:1px solid #e1e1db}.compact-information th{width:18%;padding-right:24px;color:#6a6b63}.compact-information td{overflow-wrap:anywhere}.compact-information .equipment-list p{margin:0 0 12px}.compact-information .equipment-list p:last-child{margin:0}.compact-information .business-services{margin:0;padding:0}.compact-information a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bbb}@media(max-width:600px){.business-information.compact-information{margin-top:80px}.compact-information th,.compact-information td{font-size:11px;line-height:1.95;padding:13px 0}.compact-information th{width:24%;padding-right:12px}.compact-information .equipment-list p{margin-bottom:10px}}

.business-information.compact-information{width:100%;max-width:640px;margin:100px auto 0}.compact-information th,.compact-information td{padding:12px 0;font-size:11px;line-height:1.95}.compact-information th{width:21%;padding-right:20px}.compact-information .equipment-list p{margin-bottom:9px}@media(max-width:600px){.business-information.compact-information{max-width:100%;margin-top:75px}.compact-information th,.compact-information td{padding:11px 0;font-size:11px}.compact-information th{width:23%;padding-right:12px}}

/* Narrow labels; camera equipment stays on one line per item. */
.information-table-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d8d8d2 transparent}.compact-information table{min-width:640px}.compact-information th{width:72px;padding-right:10px}.compact-information .equipment-line{display:block;white-space:nowrap}.information-table-scroll:focus-visible{outline:1px solid #bbb;outline-offset:4px}@media(max-width:600px){.compact-information th{width:65px;padding-right:8px}.compact-information table{min-width:640px}}

.compact-information .info-label-column{width:72px}@media(max-width:600px){.compact-information .info-label-column{width:65px}}

.business-information.compact-information{max-width:680px}.compact-information table{min-width:680px}.compact-information .info-label-column{width:105px}.compact-information th{width:105px;padding-right:20px}@media(max-width:600px){.compact-information .info-label-column{width:90px}.compact-information th{width:90px;padding-right:16px}}

/* Screenshots from each original case page, without unrelated-project thumbnails. */
.project-stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:65px 0 0;align-items:start}.project-stills figure{margin:0;min-width:0}.project-stills img{width:100%;height:auto;display:block}.project-stills.stills-odd figure:first-child{grid-column:1/-1}.work-detail>h1+.project-stills{margin-top:0}.project-stills+.project-description{margin-top:30px}@media(max-width:600px){.project-stills{grid-template-columns:1fr;gap:22px;margin-top:45px}.project-stills.stills-odd figure:first-child{grid-column:auto}}

/* Selected credits, set quietly alongside the compact business information. */
.about-editorial .selected-credits{max-width:680px;margin:120px auto 0;padding-top:28px;border-top:1px solid #e1e1db}.selected-credits .section-label{margin-bottom:30px}.credits-list{list-style:none;padding:0;margin:0;font-family:var(--tr-font-family);font-size:12px;font-weight:300;line-height:2.8;letter-spacing:.025em;overflow-wrap:anywhere}.credits-list li{display:inline}.credits-list li:not(:last-child)::after{content:" ／ ";color:#aaa}.credits-more{margin:12px 0 0;font-family:var(--tr-font-family);font-size:12px;color:#777}@media(max-width:600px){.about-editorial .selected-credits{margin-top:80px;padding-top:24px}.selected-credits .section-label{margin-bottom:25px}.credits-list{font-size:11px;line-height:2.7}}

/* Place both activity lists below their shared heading. */
.about-editorial .activities-editorial{display:block;max-width:680px;margin-left:auto;margin-right:auto}.activities-editorial>.section-label{margin-bottom:38px}.activities-editorial .activity-language-groups{width:100%}@media(max-width:600px){.activities-editorial>.section-label{margin-bottom:30px}}

/* Mouse cursor: a small dot, a wider link ring, and VIEW over works. */
.site-cursor{display:none;position:fixed;left:0;top:0;width:0;height:0;pointer-events:none;z-index:2147483647;mix-blend-mode:difference;opacity:0;transition:opacity .15s ease}.site-cursor::before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;background:#fff;box-sizing:border-box;transition:width .2s ease,height .2s ease,background-color .2s ease}.site-cursor span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font:400 10px/1 var(--tr-font-family);letter-spacing:.12em;color:#fff;opacity:0;transition:opacity .15s ease}.site-cursor.is-visible{opacity:1}.site-cursor.is-link::before{width:26px;height:26px;background:transparent}.site-cursor.is-work::before{width:64px;height:64px;background:transparent}.site-cursor.is-work span{opacity:1}@media(hover:hover) and (pointer:fine){.site-cursor{display:block}.custom-cursor-active,.custom-cursor-active body,.custom-cursor-active body *{cursor:none!important}.custom-cursor-active input,.custom-cursor-active textarea,.custom-cursor-active [contenteditable="true"]{cursor:text!important}.custom-cursor-active select,.custom-cursor-active iframe,.custom-cursor-active video,.custom-cursor-active audio{cursor:auto!important}}@media(prefers-reduced-motion:reduce){.site-cursor,.site-cursor::before,.site-cursor span{transition:none}}

/* Shared footer: approved handwritten logo and copyright. */
body .site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding-top:38px;padding-bottom:55px}.site-footer .footer-brand{justify-self:start;display:block}.site-footer .logo-crop{width:130px;mix-blend-mode:multiply}.site-footer .footer-nav{display:flex;gap:28px;font-size:10px;letter-spacing:.04em}.site-footer .copyright{justify-self:end;margin:0;width:auto;white-space:nowrap;font-size:9px;line-height:1.8;color:#888;letter-spacing:.035em}@media(max-width:600px){body .site-footer{grid-template-columns:1fr auto;gap:28px 16px;padding-top:25px;padding-bottom:35px}.site-footer .logo-crop{width:110px}.site-footer .footer-nav{grid-row:2;grid-column:1/-1;gap:25px;flex-wrap:wrap}.site-footer .copyright{grid-column:2;grid-row:1;font-size:8px}}

/* Opening photograph in the existing framed exhibition. */
.home.home-framed .portfolio-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

/* The photograph settles before the quiet scroll invitation appears. */
.home.home-framed .hero-scroll{position:absolute;left:50%;top:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:64px;height:100px;transform:translate(-50%,-50%);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.2s ease,visibility 0s linear 1.2s}.hero-scroll svg{display:block;width:26px;height:58px;overflow:visible}.hero-scroll path{stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.home.home-framed .film-started .hero-scroll{opacity:.85;visibility:visible;pointer-events:auto;transition:opacity 1.2s ease 2s,visibility 0s linear 2s}.home.home-framed .film-started .hero-scroll:hover,.home.home-framed .film-started .hero-scroll:focus-visible{opacity:1;transition:opacity .3s ease}#home-statement{scroll-margin-top:15svh}@media(prefers-reduced-motion:reduce){.home.home-framed .hero-scroll,.home.home-framed .film-started .hero-scroll{transition:none}}

.hero-scroll svg{width:30px;height:20px}

/* Place the scroll chevron just above the photograph’s lower edge. */
.home.home-framed .hero-scroll{top:auto;bottom:22px;height:60px;transform:translateX(-50%)}@media(max-width:600px){.home.home-framed .hero-scroll{bottom:14px}}

/* A quiet invitation between the statement and selected works. */
.portfolio-film-invitation{margin:90px 0 0 10vw}.portfolio-film-link{display:inline-flex;gap:18px;align-items:center;background:none;border:0;padding:12px 0;color:#444;font-family:var(--tr-font-family);font-size:15px;font-weight:400;letter-spacing:.035em;transition:opacity .3s ease}.portfolio-film-link:hover{opacity:.55}.portfolio-film-link span{font-family:var(--tr-font-family);font-size:12px}.portfolio-dialog{width:100vw;height:100svh;max-width:none;max-height:none;padding:0;border:0;background:#fff}.portfolio-modal-screen{position:absolute;width:min(86vw,142.22svh);aspect-ratio:16/9;left:50%;top:50%;transform:translate(-50%,-50%);background:#080808}.portfolio-modal-screen iframe{display:block;width:100%;height:100%;border:0}.portfolio-close{position:absolute;top:35px;right:7vw;display:flex;gap:14px;align-items:center;padding:12px 0;border:0;background:none;color:#444;font-size:11px;letter-spacing:.06em}.portfolio-close span{font-size:20px;font-weight:300}@media(max-width:600px){.portfolio-film-invitation{margin:60px 0 0 9vw}.portfolio-film-link{font-size:14px}.portfolio-modal-screen{width:94vw}.portfolio-close{top:22px;right:6vw}}

.portfolio-modal-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#080808}

/* An inline moving preview beneath the portfolio invitation. */
.portfolio-film-preview{display:block;width:44vw;max-width:640px;aspect-ratio:16/9;overflow:hidden;padding:0;margin:24px 0 0;border:0;background:#080808}.portfolio-film-preview video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.portfolio-film-preview:focus-visible{outline-offset:8px}@media(max-width:600px){.portfolio-film-preview{width:73vw;margin-top:20px}}

/* Centre the portfolio label and moving preview as one horizontal composition. */
.portfolio-film-invitation{display:flex;align-items:center;justify-content:center;gap:clamp(30px,5vw,80px);margin:90px auto 0;width:84vw;max-width:1080px}.portfolio-film-link{flex-shrink:0}.portfolio-film-preview{flex:0 1 auto;width:44vw;min-width:0;margin:0}@media(max-width:600px){.portfolio-film-invitation{width:82vw;margin:60px auto 0;gap:20px}.portfolio-film-link{font-size:12px;gap:8px}.portfolio-film-preview{width:auto;flex:1 1 0;margin:0}}

/* Give the About invitation and portfolio room to breathe. */
.portfolio-film-invitation{margin-top:clamp(140px,16svh,190px)}@media(max-width:600px){.portfolio-film-invitation{margin-top:100px}}

/* Balance the whitespace on either side of the portfolio block. */
.home.home-framed{--portfolio-section-gap:clamp(200px,26svh,300px)}.home.home-framed .portfolio-film-invitation{margin-top:var(--portfolio-section-gap)}.home.home-framed .horizontal-exhibition{padding-top:var(--portfolio-section-gap)}@media(max-width:600px){.home.home-framed{--portfolio-section-gap:clamp(130px,22svh,190px)}}

/* A restrained play symbol over the black portfolio preview. */
.portfolio-film-preview{position:relative}.portfolio-play-mark{position:absolute;left:50%;top:50%;width:32px;height:40px;transform:translate(-50%,-50%);pointer-events:none;color:#fff;opacity:.8;transition:opacity .3s ease}.portfolio-play-mark path{stroke:currentColor;stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}.portfolio-film-preview:hover .portfolio-play-mark,.portfolio-film-preview:focus-visible .portfolio-play-mark{opacity:1}@media(max-width:600px){.portfolio-play-mark{width:25px;height:31px}}

/* A slightly smaller portrait, keeping its existing alignment. */
.about-editorial .creator-portrait{width:85%;max-width:272px}@media(max-width:600px){.about-editorial .creator-portrait{width:54%;max-width:212px}}

.about-editorial .creator-portrait{justify-self:end}@media(max-width:600px){.about-editorial .creator-portrait{margin-left:auto;margin-right:0}}

/* A single photographic pause between the statement and the portrait. */
.about-editorial .about-atmosphere{width:74%;max-width:780px;margin:140px 0 0 -4vw}.about-atmosphere img{display:block;width:100%;height:auto}.about-editorial .about-atmosphere+.creator{margin-top:160px}@media(max-width:600px){.about-editorial .about-atmosphere{width:94%;margin:95px 0 0 -3vw}.about-editorial .about-atmosphere+.creator{margin-top:100px}}

/* Place the photograph above the opening Two Rhythms heading. */
.about-editorial .about-opening-combined>.about-atmosphere{margin-top:0;margin-bottom:100px}@media(max-width:600px){.about-editorial .about-opening-combined>.about-atmosphere{margin-bottom:65px}}

/* Match the photograph to the ten columns of the vertical statement. */
.about-opening-combined{--statement-column-width:45px}.about-opening-combined .combined-narrative .narrative-jp{line-height:var(--statement-column-width)}.about-editorial .about-opening-combined>.about-atmosphere{width:calc(var(--statement-column-width)*10);max-width:100%;margin-left:auto;margin-right:auto}@media(max-width:600px){.about-opening-combined{--statement-column-width:32.4px}}

/* Give the About opening photograph the same frame as the Home photograph. */
.about-editorial .about-opening-combined>.about-atmosphere{position:relative;left:50%;width:86vw;max-width:none;height:calc(100svh - 160px);min-height:340px;margin-left:0;margin-right:0;transform:translateX(-50%);overflow:hidden}.about-opening-combined>.about-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:600px){.about-editorial .about-opening-combined>.about-atmosphere{width:88vw;height:calc(84svh - 100px);min-height:330px}}

/* Read the Japanese statement and English translation side by side. */
.about-opening-combined .combined-narrative{flex-direction:row;align-items:center;justify-content:center;gap:clamp(40px,6vw,95px);width:100%;max-width:960px}.about-opening-combined .combined-narrative .narrative-jp{flex:0 0 auto}.about-opening-combined .combined-narrative .narrative-en{flex:0 1 320px;width:320px;min-width:0;margin:0;font-size:14px;line-height:2}@media(max-width:600px){.about-opening-combined{--statement-column-width:4.2vw}.about-opening-combined .combined-narrative{max-width:100%;gap:5vw;align-items:flex-start}.about-opening-combined .combined-narrative .narrative-jp{font-size:10px;letter-spacing:.02em}.about-opening-combined .combined-narrative .narrative-en{flex:1 1 0;width:auto;font-size:11px;line-height:1.9}}

/* Horizontal Japanese text alongside the English translation. */
.about-opening-combined .combined-narrative .narrative-jp{writing-mode:horizontal-tb;text-orientation:mixed;white-space:normal;flex:0 1 450px;min-width:0;font-size:15px;line-height:2.5;letter-spacing:.06em}@media(max-width:600px){.about-opening-combined .combined-narrative .narrative-jp{flex:1 1 0;font-size:12px;line-height:2.3;letter-spacing:.015em}}

/* Match the Japanese line height to the English text. */
.about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{line-height:28px}@media(max-width:600px){.about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{line-height:20.9px}}

/* Equal visual weight for the two versions of the statement. */
.about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{font-size:15px;line-height:28px;font-weight:400;color:#383832;letter-spacing:.025em}.about-opening-combined .combined-narrative{align-items:flex-start}@media(max-width:600px){.about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{font-size:12px;line-height:22px;letter-spacing:.015em}}

/* Equal-width bilingual columns with natural Japanese wrapping. */
.about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{flex:1 1 0;width:0;min-width:0;max-width:none;white-space:normal}

.narrative-jp .keep-phrase{white-space:nowrap}

/* The About photograph gently emerges as the page opens. */
.about-opening-combined>.about-atmosphere img{animation:about-photo-emerge 2.4s cubic-bezier(.22,.61,.36,1) both}@keyframes about-photo-emerge{from{opacity:0;filter:blur(12px);transform:translateY(8px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.about-opening-combined>.about-atmosphere img{animation:none}}

/* Align the About opening frame with the Home frame, 100px from the top. */
.about-page .about-editorial{margin-top:-70px}@media(max-width:600px){.about-page .about-editorial{margin-top:-30px}}

/* Echo Home’s handwritten logo overlapping the photograph’s upper-left edge. */
.about-page>header.page-header{position:relative;z-index:2;mix-blend-mode:difference}.about-page>header.page-header>.identity{position:absolute;left:4vw;top:63px;mix-blend-mode:normal}.about-page>header.page-header .identity .logo-crop{width:210px;mix-blend-mode:normal}.about-page>header.page-header .logo-crop img{filter:invert(1)}.about-page>header.page-header nav{margin-left:auto;color:#fff}@media(max-width:600px){.about-page>header.page-header>.identity{top:68px}.about-page>header.page-header .identity .logo-crop{width:160px}}

/* More white space between About sections, keeping their original widths. */
.about-editorial .about-opening-combined>.about-atmosphere{margin-bottom:150px}.about-editorial .creator{margin-top:260px}.about-editorial .activities-editorial{margin-top:230px}.about-editorial .selected-credits{margin-top:190px}.about-editorial .business-information.compact-information{margin-top:170px}@media(max-width:600px){.about-editorial .about-opening-combined>.about-atmosphere{margin-bottom:100px}.about-editorial .creator{margin-top:180px}.about-editorial .activities-editorial{margin-top:150px}.about-editorial .selected-credits{margin-top:135px}.about-editorial .business-information.compact-information{margin-top:125px}}

/* Keep the Highlights heading and Japanese start position; place English to the right. */
.activities-editorial .activity-language-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}.activities-editorial .activity-language-groups .activities-en{margin-top:0}@media(max-width:600px){.activities-editorial .activity-language-groups{gap:24px}}

/* Leave enough room for each English highlight to stay on one line. */
.about-editorial .activities-editorial{position:relative;left:50%;transform:translateX(-50%);width:90vw;max-width:1180px;margin-left:0;margin-right:0}.activities-editorial .activity-language-groups{grid-template-columns:minmax(280px,1fr) max-content;gap:clamp(35px,5vw,80px);overflow-x:auto;scrollbar-width:thin}.activities-editorial .activities-en li{white-space:nowrap}@media(max-width:600px){.about-editorial .activities-editorial{width:88vw}.activities-editorial .activity-language-groups{grid-template-columns:260px max-content;gap:30px}}

/* Keep the bilingual highlights close, without stretching the Japanese column. */
.about-editorial .activities-editorial{width:max-content;max-width:90vw}.activities-editorial .activity-language-groups{grid-template-columns:max-content max-content;gap:42px}.activities-editorial .activities-jp li{white-space:nowrap}@media(max-width:600px){.about-editorial .activities-editorial{max-width:88vw}.activities-editorial .activity-language-groups{gap:28px}}

/* Each Japanese and English highlight shares the same grid row. */
.activities-editorial .activity-language-groups{row-gap:13px;align-items:baseline}.activities-editorial .activity-language-groups ul{display:contents}.activities-editorial .activity-language-groups li{margin:0;padding-left:4px;line-height:25px}.activities-editorial .activities-jp li{grid-column:1}.activities-editorial .activities-en li.en{grid-column:2;line-height:25px}
.activities-editorial .activity-language-groups li:nth-child(1){grid-row:1}
.activities-editorial .activity-language-groups li:nth-child(2){grid-row:2}
.activities-editorial .activity-language-groups li:nth-child(3){grid-row:3}
.activities-editorial .activity-language-groups li:nth-child(4){grid-row:4}
.activities-editorial .activity-language-groups li:nth-child(5){grid-row:5}
.activities-editorial .activity-language-groups li:nth-child(6){grid-row:6}
.activities-editorial .activity-language-groups li:nth-child(7){grid-row:7}
.activities-editorial .activity-language-groups li:nth-child(8){grid-row:8}

/* Explicit Japanese bullets survive the shared bilingual grid. */
.activities-editorial .activity-language-groups .activities-jp li{position:relative;list-style:none;padding-left:1.2em}.activities-editorial .activities-jp li::before{content:"・";position:absolute;left:0;top:0;color:inherit}

.contact .form-label-en{margin-left:10px;font-size:10px;font-weight:300;letter-spacing:.035em;color:#888}

.contact-intro-en{font-size:12px;color:#777;font-weight:300;letter-spacing:.02em}

/* Gently pulse the scroll chevron once its entrance has finished. */
.home.home-framed .film-started .hero-scroll svg{animation:scroll-chevron-breathe 3.8s ease-in-out 3.2s infinite both}@keyframes scroll-chevron-breathe{0%,100%{opacity:1}50%{opacity:.24}}@media(prefers-reduced-motion:reduce){.home.home-framed .film-started .hero-scroll svg{animation:none}}

/* Match Home’s quiet scroll invitation on the About photograph. */
.about-photo-scroll{position:absolute;left:50%;bottom:22px;z-index:2;display:flex;align-items:center;justify-content:center;width:64px;height:60px;transform:translateX(-50%);color:#fff;animation:about-arrow-emerge 1.2s ease 2.4s both}.about-photo-scroll svg{display:block;width:30px;height:20px;pointer-events:none;animation:scroll-chevron-breathe 3.8s ease-in-out 3.6s infinite both}.about-photo-scroll path{stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.about-photo-scroll:hover{opacity:1}#about-name{scroll-margin-top:15svh}@keyframes about-arrow-emerge{from{opacity:0;visibility:hidden}to{opacity:.85;visibility:visible}}@media(max-width:600px){.about-photo-scroll{bottom:14px}}@media(prefers-reduced-motion:reduce){.about-photo-scroll,.about-photo-scroll svg{animation:none}}

/* Keep the custom canvas independent of the Astra page wrapper. */
body.tr-design{padding:0;background:#fff}body.tr-design header,body.tr-design footer{box-sizing:border-box}

/* Keep the Home photograph at its original ratio regardless of viewport height. */
.home.home-framed .portfolio-gallery .portfolio-reel{height:auto;min-height:0;aspect-ratio:2768 / 1848}.home.home-framed .portfolio-reel .portfolio-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0}.home.home-framed .portfolio-photo img{width:100%;height:100%;object-fit:contain;object-position:center}

/* Stable header colours and a transparent rendering of the approved logo. */
body.home.home-framed>header.entrance,body.about-page>header.page-header{mix-blend-mode:normal;isolation:auto;background:transparent}
body.home.home-framed>header.entrance nav,body.about-page>header.page-header nav{color:#333;mix-blend-mode:normal}
body>header nav a,body>header nav a:visited{color:#333;background:transparent;mix-blend-mode:normal}
body>header .identity,body>header .logo-crop,.site-footer .logo-crop{mix-blend-mode:normal;filter:none;background:transparent}
.logo-crop img,body>header .logo-crop img{width:100%;height:100%;left:0;top:0;max-width:none;object-fit:contain;filter:none;mix-blend-mode:normal;background:transparent}

body .logo-crop,body .logo-crop img,body>header .identity{filter:none!important;mix-blend-mode:normal!important;background:transparent!important}

/* Keep the About opening photo at its original proportions at every viewport size. */
.about-editorial .about-opening-combined>.about-atmosphere{height:auto;min-height:0;aspect-ratio:2768 / 1848}.about-opening-combined>.about-atmosphere img{width:100%;height:auto;object-fit:contain;object-position:center}

/* Fine-line mobile navigation, with native dialog focus management. */
.mobile-menu-toggle{display:none}
.mobile-site-menu{width:100vw;height:100svh;max-width:none;max-height:none;padding:0;margin:0;border:0;background:#fff;color:#333}
.mobile-site-menu::backdrop{background:#fff}
.mobile-site-menu[open]{display:flex;align-items:center;justify-content:center}
.mobile-menu-links{position:static;display:flex;flex-direction:column;align-items:center;gap:38px;font-family:var(--tr-font-family);font-size:20px;font-weight:300;letter-spacing:.12em}
.mobile-menu-links a,.mobile-menu-links a:visited{color:#333;text-transform:uppercase;padding:8px 16px}
.mobile-menu-close{position:absolute;right:6vw;top:36px;display:block;width:44px;height:44px;padding:0;border:0;background:transparent;color:#333}
.mobile-menu-close span{position:absolute;left:10px;top:21px;width:24px;height:1px;background:currentColor;transform:rotate(45deg)}
.mobile-menu-close span+span{transform:rotate(-45deg)}
@media(max-width:767px){
 body.mobile-nav-ready>header.page-header{position:relative}
 body.mobile-nav-ready>header nav{display:none}
 body.mobile-nav-ready>header>.mobile-menu-toggle{position:absolute;display:block;right:6vw;top:43px;width:44px;height:44px;margin:0;padding:0;border:0;background:transparent;color:#333;z-index:5}
 body.home.home-framed.mobile-nav-ready>header>.mobile-menu-toggle,body.about-page.mobile-nav-ready>header>.mobile-menu-toggle{top:66px}
 body.works-wall.mobile-nav-ready>header>.mobile-menu-toggle{top:33px}
 .mobile-menu-toggle span{position:absolute;left:10px;top:17px;width:24px;height:1px;background:currentColor}
 .mobile-menu-toggle span+span{top:26px}
}

/* Three delicate lines; the middle line is shortened on the left. */
.mobile-menu-toggle span,.mobile-menu-close span{position:absolute;left:10px;top:14px;width:24px;height:1px;background:currentColor;transition:transform .3s ease,opacity .2s ease,top .3s ease}
.mobile-menu-toggle span:nth-child(2){left:17px;top:21px;width:17px}.mobile-menu-toggle span:nth-child(3){top:28px}
.mobile-menu-close{top:66px}.mobile-menu-close span:first-child{top:21px;transform:rotate(45deg)}.mobile-menu-close span:nth-child(2){left:17px;top:21px;width:17px;opacity:0;transform:none}.mobile-menu-close span:nth-child(3){top:21px;transform:rotate(-45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
body:not(.home):not(.about-page) .mobile-menu-close{top:43px}body.works-wall .mobile-menu-close{top:33px}
@media(prefers-reduced-motion:reduce){.mobile-menu-toggle span,.mobile-menu-close span{transition:none}}

/* Mobile: Japanese copy, English translation, then the About invitation. */
@media(max-width:767px){.home-story .narrative-about{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:flex-start;gap:50px;margin:0 9vw;text-align:left}.home-story .invitation-bilingual{display:flex;flex-direction:column;align-items:flex-start;gap:34px;width:100%}.home-story .narrative-about>a{align-self:flex-start;margin-left:0;margin-right:0}.home-story .invitation-bilingual>p{margin:0}}

/* Mobile About: read the Japanese statement before its English translation. */
@media(max-width:767px){.about-opening-combined .combined-narrative{flex-direction:column;align-items:stretch;gap:38px;width:100%;max-width:100%}.about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{flex:0 0 auto;width:100%;max-width:100%;min-width:0;margin:0}}

/* Mobile business table: use the label size throughout the value cells. */
@media(max-width:767px){.about-page .compact-information th,.about-page .compact-information td{font-size:11px;line-height:1.95}.about-page .compact-information td p,.about-page .compact-information td li,.about-page .compact-information td span,.about-page .compact-information td a{font-size:inherit;line-height:inherit}}

@media(max-width:767px){.about-page .compact-information{-webkit-text-size-adjust:100%;text-size-adjust:100%}}

/* Centre the portrait and bilingual profile together on mobile. */
@media(max-width:767px){.about-editorial .creator{display:block}.about-editorial .creator-portrait{width:54%;max-width:212px;margin:0 auto 45px;justify-self:center}.about-editorial .creator-copy,.about-editorial .creator-heading,.about-editorial .creator-bio{text-align:center}.about-editorial .creator-copy{padding-top:0}}

/* Native dialogs sit above the custom cursor: keep the native pointer visible there. */
body:has(dialog[open]) .site-cursor{display:none}
html.custom-cursor-active body dialog[open],html.custom-cursor-active body dialog[open] *{cursor:auto!important}
html.custom-cursor-active body dialog[open] a,html.custom-cursor-active body dialog[open] button{cursor:pointer!important}
html.custom-cursor-active body dialog[open] input,html.custom-cursor-active body dialog[open] textarea{cursor:text!important}

/* Mobile Works: a single column with a restrained upward reveal. */
@media(max-width:767px){.works-wall .linear-gallery{grid-template-columns:minmax(0,1fr);gap:20px}.works-wall .linear-project{background:transparent}.works-wall .linear-project.work-reveal-pending{opacity:0;filter:blur(9px);transform:translateY(24px)}.works-wall .linear-project.work-reveal-ready{opacity:1;filter:blur(0);transform:translateY(0);transition:opacity 1.15s ease,filter 1.15s ease,transform 1.15s cubic-bezier(.22,.61,.36,1)}}@media(prefers-reduced-motion:reduce){.works-wall .linear-project.work-reveal-pending,.works-wall .linear-project.work-reveal-ready{opacity:1;filter:none;transform:none;transition:none}}

/* Let each mobile work breathe within modest side margins. */
@media(max-width:767px){.works-wall .linear-gallery{width:88vw;margin-left:auto;margin-right:auto;gap:28px}}

/* Cached older markup must use the standalone logo, never the source logo sheet. */
.logo-crop img[src*="logo-board.png"],.logo-crop img[src*="logo-ink.svg"]{content:url("assets/logo-vector.svg");width:100%;height:100%;left:0;top:0;object-fit:contain}

/* Mobile opening photographs fill the first screen, cropped around the centre. */
@media(max-width:767px){.home.home-framed .portfolio-gallery .portfolio-reel,.about-editorial .about-opening-combined>.about-atmosphere{height:calc(100svh - 140px);min-height:0;aspect-ratio:auto}.home.home-framed .portfolio-photo img,.about-opening-combined>.about-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}}

/* iPad: retain the desktop gallery, while giving longer text room to breathe. */
@media(min-width:768px) and (max-width:1199px){
 body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .about-page .about-editorial{width:84vw}
 .about-editorial .creator{column-gap:6vw;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
 .about-editorial .creator-portrait{width:90%;max-width:272px}
 .about-editorial .activities-editorial{max-width:84vw}
 .activities-editorial .activity-language-groups{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:10px}
 .about-page .information-table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .about-page .compact-information td p,.about-page .compact-information td li,.about-page .compact-information td span{font-size:inherit;line-height:inherit}
 .home.home-fullscreen .rail-film{flex-basis:38vw}
}
@media(min-width:768px) and (max-width:1023px){
 .about-opening-combined .combined-narrative{flex-direction:column;align-items:stretch;gap:40px;max-width:600px;width:100%}
 .about-opening-combined .combined-narrative .narrative-jp,.about-opening-combined .combined-narrative .narrative-en{flex:0 0 auto;width:100%;max-width:100%;margin:0}
 .home-story .narrative-about{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:45px}
 .home-story .invitation-bilingual{justify-content:space-between;gap:35px}
 .home-story .narrative-about>a{align-self:flex-end;margin-left:0}
}
.activity-language-groups:focus-visible{outline:1px solid #aaa;outline-offset:6px}

/* Use the approved original lettering unchanged, without tracing or colour filters. */
body>header.entrance,body>header.page-header,body.home.home-framed>header.entrance,body.about-page>header.page-header{mix-blend-mode:multiply;isolation:auto}
body .logo-crop,body .logo-crop img,body>header .identity{filter:none!important;background:transparent!important}
body .logo-crop{mix-blend-mode:multiply!important}
.logo-crop img[src*="logo-board.png"],.logo-crop img[src*="logo-ink.svg"],.logo-crop img[src*="logo-vector.svg"]{content:url("assets/logo-original.svg")}
body .logo-crop img{width:100%;height:100%;left:0;top:0;max-width:none;object-fit:contain;mix-blend-mode:normal!important}

/* A consistent desktop/tablet header across all routes. */
@media(min-width:768px){
 body>header.page-header{position:relative;z-index:2;background:transparent}
 body>header.page-header nav,body.home.home-framed>header.entrance nav{position:absolute;top:82px;right:7vw;bottom:auto;left:auto;display:flex;gap:32px;margin:0;padding:0;font-size:12px;font-weight:400;line-height:1.2;letter-spacing:.075em}
 body>header.page-header>.identity{position:absolute;left:4vw;top:63px;transform:none}
 body>header.page-header .identity .logo-crop{width:210px}
 body.works-wall>header.page-header{height:100px;min-height:0;padding:0}
}

/* Match Home/About branding on every mobile page as well. */
@media(max-width:767px){
 body>header.page-header>.identity,body.home.home-framed>header.entrance>.identity{position:absolute;left:4vw;top:68px;transform:none}
 body>header.page-header .identity .logo-crop,body.home.home-framed>header.entrance .identity .logo-crop{width:160px}
 body.mobile-nav-ready>header>.mobile-menu-toggle,body.works-wall.mobile-nav-ready>header>.mobile-menu-toggle{top:66px;right:6vw}
 body.works-wall>header.page-header{height:100px;min-height:0;padding:0}
 body.mobile-nav-ready .mobile-site-menu>.mobile-menu-close{top:66px;right:6vw}
}

/* Contact: integrate the real WPForms fields with the gallery typography. */
body.tr-design main.contact .wpforms-container-full{margin:64px 0 0;--wpforms-field-border-radius:0;--wpforms-button-border-radius:0;--wpforms-field-background-color:transparent;--wpforms-field-border-color:#c9c9c5;--wpforms-field-text-color:#383832;--wpforms-label-color:#383832;--wpforms-label-error-color:#a24438}
body.tr-design main.contact .wpforms-container-full form{margin:0}
body.tr-design main.contact .wpforms-container-full .wpforms-field{padding:0 0 44px}
body.tr-design main.contact .wpforms-container-full .wpforms-field-label{margin:0 0 14px;padding:0;font:400 13px/1.8 var(--tr-font-family);letter-spacing:.055em;color:#383832}
body.tr-design main.contact .wpforms-container-full .wpforms-required-label{color:#888;font-size:11px;font-weight:400;margin-left:5px}
body.tr-design main.contact .wpforms-container-full input[type=text],
body.tr-design main.contact .wpforms-container-full input[type=email],
body.tr-design main.contact .wpforms-container-full textarea{background:transparent!important;border:0!important;border-bottom:1px solid #c9c9c5!important;border-radius:0!important;box-shadow:none!important;outline:none;width:100%;max-width:100%;height:46px;min-height:46px;padding:10px 0!important;font:400 16px/1.7 var(--tr-font-family);color:#383832;transition:border-color .25s ease}
body.tr-design main.contact .wpforms-container-full textarea{height:150px;min-height:120px;resize:vertical}
body.tr-design main.contact .wpforms-container-full input:focus,
body.tr-design main.contact .wpforms-container-full textarea:focus{border-bottom-color:#383832!important;outline:1px solid #777;outline-offset:5px}
body.tr-design main.contact .wpforms-container-full input.wpforms-error,
body.tr-design main.contact .wpforms-container-full textarea.wpforms-error{border-bottom-color:#a24438!important}
body.tr-design main.contact .wpforms-container-full label.wpforms-error,
body.tr-design main.contact .wpforms-container-full em.wpforms-error{font-size:11px;line-height:1.8;color:#a24438;margin-top:8px}
body.tr-design main.contact .wpforms-container-full .wpforms-field-email .wpforms-field-row{display:flex;flex-wrap:nowrap;gap:24px;max-width:100%;width:100%;margin:0}
body.tr-design main.contact .wpforms-container-full .wpforms-field-email .wpforms-field-row-block{float:none;width:calc((100% - 24px)/2);margin:0;min-width:0;padding:0}
body.tr-design main.contact .wpforms-container-full .wpforms-field-sublabel{font:400 10px/1.8 var(--tr-font-family);letter-spacing:.01em;color:#777;margin:10px 0 0}
body.tr-design main.contact .wpforms-container-full .wpforms-recaptcha-container{padding:0;margin:0 0 38px}
body.tr-design main.contact .wpforms-container-full .wpforms-submit-container{padding:0;margin:0}
body.tr-design main.contact .wpforms-container-full button.wpforms-submit{display:inline-flex;justify-content:space-between;align-items:center;min-width:190px;height:auto;min-height:54px;margin:0;padding:16px 0!important;background:transparent!important;color:#383832!important;border:0!important;border-bottom:1px solid #8d8d87!important;border-radius:0!important;box-shadow:none!important;font:400 12px/1.7 var(--tr-font-family);letter-spacing:.08em;transition:opacity .25s ease}
body.tr-design main.contact .wpforms-container-full button.wpforms-submit:hover{opacity:.55}
body.tr-design main.contact .wpforms-container-full button.wpforms-submit:focus-visible{outline:1px solid #777;outline-offset:6px}
body.tr-design main.contact .wpforms-container-full button.wpforms-submit:disabled{opacity:.45}
body.tr-design main.contact .wpforms-confirmation-container-full{background:transparent;border:0;border-top:1px solid #d5d5d0;border-bottom:1px solid #d5d5d0;padding:32px 0;margin:64px 0 0;color:#383832;font-size:13px;line-height:2.2;box-shadow:none}
@media(max-width:767px){
 body.tr-design main.contact .wpforms-container-full{margin-top:48px}
 body.tr-design main.contact .wpforms-container-full .wpforms-field{padding-bottom:36px}
 body.tr-design main.contact .wpforms-container-full .wpforms-field-email .wpforms-field-row{flex-direction:column;gap:24px}
 body.tr-design main.contact .wpforms-container-full .wpforms-field-email .wpforms-field-row-block{width:100%}
 body.tr-design main.contact .wpforms-container-full .wpforms-field-label{font-size:12px}
 body.tr-design main.contact .wpforms-container-full button.wpforms-submit{min-width:170px}
}
@media(max-width:380px){
 body.tr-design main.contact .wpforms-container-full .g-recaptcha{transform:scale(.83);transform-origin:top left;width:253px;height:65px}
}
@media(prefers-reduced-motion:reduce){body.tr-design main.contact .wpforms-container-full input,body.tr-design main.contact .wpforms-container-full textarea,body.tr-design main.contact .wpforms-container-full button{transition:none}}

body.tr-design main.contact .wpforms-container-full .wpforms-field-email .wpforms-field-row::before,body.tr-design main.contact .wpforms-container-full .wpforms-field-email .wpforms-field-row::after{content:none;display:none}

/* Shared type system: original Helvetica Neue Latin + bundled Shippori Mincho B1 Japanese. */
@font-face{
 font-family:"TR Shippori Mincho B1";
 src:url("assets/fonts/shippori-mincho-b1-regular.woff2") format("woff2");
 font-style:normal;
 font-weight:400;
 font-display:swap;
}
:root{--tr-font-family:"Helvetica Neue",Helvetica,Arial,"TR Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif}
/* Keep WPForms and plugin rules from reintroducing unrelated typefaces. */
body > :where(header,main,footer,dialog,.site-cursor),
body > :where(header,main,footer,dialog,.site-cursor) :where(h1,h2,h3,h4,h5,h6,p,a,span,li,dt,dd,th,td,label,legend,input,textarea,button,small,em,strong,caption,figcaption){font-family:var(--tr-font-family)!important}
