@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Shippori+Mincho:wght@400;500&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
:root{--paper:#f8f5ed;--ink:#303b36;--green:#516a57;--orange:#bf7655;--line:#dcded3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat','Zen Maru Gothic',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}header{max-width:1400px;margin:auto;padding:29px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:18px;letter-spacing:.13em;font-weight:500;line-height:1.5}.brand span{display:block;font-size:9px;letter-spacing:.26em;margin-top:6px}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav .contact{border:1px solid var(--green);border-radius:40px;padding:8px 23px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;padding:65px 6% 80px;min-height:720px}.eyebrow{font-size:10px;letter-spacing:.19em;color:var(--green);font-weight:500;margin:0 0 25px}h1,h2{font-family:'Shippori Mincho',serif;font-weight:400;letter-spacing:.06em}h1{font-size:clamp(36px,4.1vw,60px);line-height:1.55;margin:25px 0}.warm{color:var(--orange)}.intro{line-height:2.15;font-size:13px}.byline{margin-top:30px;font-size:15px;letter-spacing:.05em}.byline span{font-size:10px;margin-left:12px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px;margin-top:18px}.hero-art{position:relative;padding:0 0 65px 35px;align-self:center}.hero-main{height:470px;border-radius:48% 48% 2px 2px;object-position:center}.hero-small{position:absolute;bottom:0;left:-5px;width:180px;height:210px;border:9px solid var(--paper);transform:rotate(-9deg)}.sun{position:absolute;top:-38px;right:-5px;color:#c29456;font-size:90px;line-height:1;transform:rotate(12deg)}.art-caption{position:absolute;right:0;bottom:24px;font-family:Georgia,serif;font-size:12px;font-style:italic;color:var(--green)}.ribbon{display:flex;justify-content:center;gap:45px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px;font-size:10px;letter-spacing:.2em}.ribbon i{font-size:22px;color:var(--orange);font-style:normal}.section{max-width:1250px;margin:auto;padding:95px 6%}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:35px}h2{font-size:33px;line-height:1.65;margin:0}.section-head p:not(.eyebrow){font-size:12px;line-height:2}.filters{display:flex;gap:10px;margin-bottom:30px}.filters button{border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);padding:7px 19px;cursor:pointer;font-size:11px}.filters .active{background:var(--green);border-color:var(--green);color:white}.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 32px}.work-image{position:relative;overflow:hidden;aspect-ratio:16/10;background:#e1dfd3}.work-image img{height:100%;transition:transform .5s}.work:hover img{transform:scale(1.035)}.view{position:absolute;right:12px;bottom:12px;background:var(--paper);padding:6px 13px;font-size:10px;border-radius:20px}.work-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.11em;color:var(--green);margin-top:18px}h3{font-size:19px;font-weight:500;margin:7px 0 3px;line-height:1.5}.subtitle{font-size:11px;margin:0}.role{font-size:11px;color:#657068;margin:10px 0 0}.recognition{background:#e8eadd;padding:40px max(6%,calc((100vw - 1100px)/2));display:grid;grid-template-columns:1fr 3fr;gap:30px}.recognition>div{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.recognition p{font-size:11px;margin:0;line-height:2}.recognition strong{font-size:12px;font-weight:500}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.about-art img{aspect-ratio:4/5;border-radius:2px 140px 2px 2px}.about-art span{font-family:Georgia,serif;font-style:italic;font-size:12px;display:block;margin-top:15px;color:var(--green)}.about p:not(.eyebrow){font-size:12px;line-height:2.2;margin:22px 0}.journal{border-top:1px solid var(--line)}.feed-note{font-size:10px;color:#677264;margin:0 0 25px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.journal-grid img{aspect-ratio:1;transition:filter .3s}.journal-grid a:hover img{filter:brightness(.93)}.journal-grid span{font-size:9px;color:var(--green);letter-spacing:.13em;display:block;margin-top:15px}.journal-grid h3{font-size:14px}.journal-grid p{font-size:11px}.contact-section{text-align:center;background:#e5e8db;padding:75px 20px}.contact-section h2{font-size:40px}.contact-section p:not(.eyebrow){font-size:12px;margin-top:25px}.contact-button{display:inline-block;border-radius:40px;background:var(--green);color:white;padding:12px 50px;margin-top:20px;font-size:12px}footer{padding:30px 6%;display:flex;justify-content:space-between;align-items:center;font-size:10px}footer .brand{font-size:12px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}[hidden]{display:none!important}@media(max-width:760px){header{padding:22px 6%;gap:20px}.brand{font-size:13px}nav{gap:15px;font-size:10px}nav .contact{padding:5px 12px}nav a[href="#journal"]{display:none}.hero{grid-template-columns:1fr;padding-top:40px;gap:45px}.hero-copy{position:relative}h1{font-size:39px}.hero-art{padding-left:30px;max-width:520px;width:100%;justify-self:center}.hero-main{height:390px}.hero-small{width:135px;height:165px}.sun{font-size:70px}.ribbon{gap:15px;font-size:8px;letter-spacing:.08em;padding:18px 10px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:60px 6%}.section-head{display:block}h2{font-size:28px}.section-head>p{margin-top:20px}.works-grid{gap:35px 20px}.work-meta{font-size:8px}h3{font-size:15px}.subtitle,.role{font-size:10px}.recognition{grid-template-columns:1fr;padding:30px 6%;gap:15px}.recognition>div{gap:20px}.about{grid-template-columns:1fr;gap:40px}.about-art{max-width:400px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-grid img{aspect-ratio:4/3}.contact-section h2{font-size:33px}footer{gap:20px;flex-wrap:wrap}.art-caption{font-size:10px}}@media(max-width:430px){.works-grid{grid-template-columns:1fr}nav{gap:12px}.hero-main{height:340px}.byline span{display:block;margin:5px 0}.recognition>div{grid-template-columns:1fr}.filters button{padding:7px 14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service-grid>div{border-top:1px solid var(--line);padding-top:25px}.service-grid span{font-size:9px;color:var(--green);letter-spacing:.1em}.service-grid h3{font-size:16px;margin:15px 0}.service-grid p{font-size:12px;line-height:2.1}.contact-section .small{font-size:10px!important;color:#55634f}@media(max-width:760px){.service-grid{grid-template-columns:1fr;gap:25px}}
/* A little playfulness, with the work itself carrying the color. */
:root{--paper:#fffdf8;--ink:#374547;--green:#546e65;--orange:#cb785e;--line:#e1e5dc}.brand .logo-name{display:block;font-size:19px;letter-spacing:.08em;font-weight:600;margin:0}.logo-name b{font-weight:inherit;color:#cb785e}.logo-name b:nth-of-type(2){color:#72acb6}.logo-name i{font-style:normal;display:inline-block;font-size:24px;color:#ddbc62;margin-left:10px;transform:rotate(12deg)}nav .contact{border:0;background:#f3e5a8;color:#455145;font-weight:500}nav .contact:hover{background:#edda83}.hero-main{border-radius:45% 45% 8px 8px}.hero-small{width:215px;height:145px;object-fit:contain;background:var(--paper);border:7px solid var(--paper);box-shadow:0 4px 15px #3845410a;transform:rotate(-8deg);bottom:5px;left:-10px}.sun{color:#deb858}.text-link span{color:#cb785e}.ribbon{background:transparent}.works-grid{gap:42px 23px}.work-image{aspect-ratio:16/9;border-radius:6px}.work-image img{object-fit:contain}.view{background:#fffdf8ed}.work:hover img{transform:scale(1.015)}.filters button{border-color:#dce5de}.filters .active{background:#dbe9e2;color:#374c42;border-color:#dbe9e2}.contact-button{background:#546e65}.recognition{background:#f2efdf}.contact-section{background:#edf1e8}.journal-grid img{border-radius:6px}@media(min-width:1000px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work h3{font-size:16px}}@media(max-width:760px){.brand .logo-name{font-size:13px}.logo-name i{font-size:17px;margin-left:5px}.hero-small{width:175px;height:115px;bottom:12px}.hero-art{padding-bottom:65px}.art-caption{bottom:0}.hero-main{border-radius:45% 45% 8px 8px}}@media(prefers-reduced-motion:reduce){.work:hover img{transform:none}}

:root{--paper:#ffffff;--line:#e8ece9}body,header,.section{background:#ffffff}.hero-small{background:#ffffff;border-color:#ffffff}.recognition{background:#f7f9f7}.contact-section{background:#f7faf8}.view{background:#ffffffed}

/* Original portfolio imagery defines the visual identity. */
.hero{grid-template-columns:.8fr 1.2fr;gap:38px;min-height:620px;align-items:center}.hero-art{padding:0 0 40px;align-self:center}.hero-main{height:auto;aspect-ratio:2406/1520;object-fit:contain;border-radius:0}.art-caption{bottom:0;font-size:11px}.worlds{border-top:1px solid var(--line)}.world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.world-item img{aspect-ratio:16/10;object-fit:contain;background:#fff}.world-item h3{font-size:17px}.world-item p{font-size:11px;margin:3px 0;color:#5d6c65}.world-item span{font-size:10px}.world-item:hover img{filter:brightness(.97)}.world-item>div{padding:12px 0}.hero h1{font-size:clamp(34px,3.7vw,53px)}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:32px;min-height:auto}.hero h1{font-size:37px}.hero-art{padding:0 0 30px}.hero-main{height:auto}.world-grid{gap:25px 18px}.world-item h3{font-size:14px}.world-item p{font-size:10px}}@media(max-width:430px){.world-grid{grid-template-columns:1fr}}

.logo-name i.color-dot,.ribbon i.color-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d58d79;transform:none;font-size:0;flex-shrink:0;vertical-align:middle}.logo-name i.color-dot{margin-left:9px}.ribbon i.color-dot:nth-of-type(2){background:#83b1bb}.ribbon i.color-dot:nth-of-type(3){background:#9eb58b}@media(max-width:760px){.logo-name i.color-dot{width:5px;height:5px;margin-left:6px}.ribbon i.color-dot{width:5px;height:5px}}

.recognition-list{border-top:1px solid var(--line);background:#fff}.year-group{display:grid;grid-template-columns:100px 1fr;gap:30px;margin-top:35px}.year-label{font-family:Georgia,serif;font-size:30px;font-weight:400;color:var(--green);margin:0}.history-list{list-style:none;margin:0;padding:0}.history-list li{display:grid;grid-template-columns:105px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.history-list li:first-child{border-top:1px solid var(--line)}.history-type{font-size:10px;color:#516a60;background:#edf3ef;border-radius:30px;padding:4px 10px;width:fit-content;white-space:nowrap}.history-title{font-size:13px;margin:0;line-height:1.9}.history-note{font-size:11px;margin:4px 0 0;color:#65736d}.history-source{font-size:11px;text-align:right;margin-top:25px}@media(max-width:760px){nav{gap:13px}nav a[href="#recognition"]{display:none}.year-group{grid-template-columns:1fr;gap:15px}.year-label{font-size:27px}.history-list li{grid-template-columns:80px 1fr;gap:13px;padding:18px 0}.history-title{font-size:12px}.history-type{font-size:9px;padding:3px 8px}}

/* Consistent work thumbnails, with edge-to-edge film stills. */
.work-image,.world-item img{aspect-ratio:16/9}.work-image img,.world-item img{object-fit:cover;object-position:center}.work-image img{width:100%;height:100%}.journal-grid img{aspect-ratio:1;object-fit:cover}@media(max-width:760px){.journal-grid img{aspect-ratio:1}}

.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}.world-grid{column-gap:30px}@media(max-width:760px){.works-grid,.world-grid{column-gap:18px}}@media(max-width:430px){.works-grid,.world-grid{grid-template-columns:1fr}}

.accolades,.press,.other-work,.personal{border-top:1px solid var(--line)}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.credential{padding:32px;background:#f6f8f7;border-radius:8px}.award-major{background:#f6f1e7}.credential-label{font-size:9px;letter-spacing:.12em;color:#667a70}.credential h3{font-size:23px;line-height:1.65;margin:18px 0}.credential p{font-size:12px;line-height:2}.credential .award-title,.credential .press-lead{font-size:17px;line-height:1.9;font-weight:500}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.activity-grid article{border-top:2px solid #dce6df;padding-top:22px}.activity-grid h3{font-size:18px;line-height:1.75;margin:15px 0}.activity-grid p{font-size:12px;line-height:2}.upcoming{border-top-style:dashed!important}.press{padding-top:65px}.personal{padding-bottom:80px}@media(max-width:760px){.credential-grid,.activity-grid{grid-template-columns:1fr;gap:25px}.credential{padding:25px}.credential h3{font-size:21px}.credential .award-title,.credential .press-lead{font-size:15px}}

.other-work .activity-grid,.education-block .activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-block{margin-top:50px}.activity-subheading{font-size:20px;font-weight:400;margin:0 0 25px}@media(max-width:760px){.other-work .activity-grid,.education-block .activity-grid{grid-template-columns:1fr}}

nav .contact{background:#90c3c5;color:#31474c}nav .contact:hover{background:#80b3b5}

/* Let the artwork speak without captions. */
.logo-name b{color:#72acb6}.world-grid{gap:20px}.world-item{display:block;overflow:hidden}.world-item img{transition:transform .4s ease}.world-item:hover img{transform:scale(1.015)}@media(max-width:760px){.world-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.world-item:hover img{transform:none}}

/* Bright, balanced exhibition sequence; original image files remain intact. */
.world-item img,.world-item:hover img{filter:brightness(var(--gallery-light,1.06)) contrast(var(--gallery-contrast,.97)) saturate(var(--gallery-color,1));}
.world-item img[src="boy-gallery.jpg"]{--gallery-light:1.1;--gallery-contrast:.94}
.world-item img[src="color-birds.jpg"]{--gallery-light:1.09;--gallery-contrast:.96}
.world-item img[src="paper-story.jpg"]{--gallery-light:1.08;--gallery-contrast:.95}
.world-item img[src="pastel-blocks.jpg"]{--gallery-light:1.02;--gallery-contrast:.99}
.world-item img[src="sea.avif"]{--gallery-light:1.04;--gallery-contrast:.98}
.world-item img[src="shabon-gallery.jpg"]{--gallery-light:1.02;--gallery-contrast:.99}
.world-item img[src="open-world.jpg"],.world-item img[src="open-world-second.jpg"]{--gallery-light:1.07;--gallery-contrast:.96}
.world-item img[src="life-gallery.jpg"]{--gallery-light:1.12;--gallery-contrast:.95}
.world-item img[src="forest-still.jpg"]{--gallery-light:1.16;--gallery-contrast:.93}
.world-item img[src="universe-gallery.jpg"]{--gallery-light:1.22;--gallery-contrast:.9}

/* Trim the embedded video-frame borders from the elephant still. */
.world-item img[src="paper-story.jpg"]{transform:scale(1.02)}
.world-item:hover img[src="paper-story.jpg"]{transform:scale(1.035)}
@media(prefers-reduced-motion:reduce){.world-item:hover img[src="paper-story.jpg"]{transform:scale(1.02)}}

.world-item img[src="dancehall-gallery.jpg"]{--gallery-light:1.15;--gallery-contrast:.94}

/* Festival evidence sits beside each achievement. */
.festival-figure{margin:0 0 28px}.festival-figure a{display:block;overflow:hidden;border-radius:5px;background:#fff}.festival-figure img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center}.festival-figure.official-page img{object-fit:contain;border:1px solid #e3e7e3}.festival-figure figcaption{font-size:10px;line-height:1.8;color:#657269;margin-top:10px}.accolades .credential .text-link{margin-top:10px;gap:15px}

/* A persistent, accessible route to project enquiries. */
.floating-contact{position:fixed;z-index:90;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:14px;padding:24px 15px;writing-mode:vertical-rl;background:#90c3c5;color:#243c42;border-radius:12px 0 0 12px;box-shadow:0 3px 16px #31474c18;font-size:13px;letter-spacing:.12em;text-decoration:none;transition:background .2s}
.floating-contact:hover{background:#80b3b5}.floating-contact:focus-visible{outline:3px solid #31474c;outline-offset:3px}
@media(max-width:760px){.floating-contact{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));right:14px;transform:none;writing-mode:horizontal-tb;gap:12px;padding:14px 18px;border-radius:28px;font-size:12px;letter-spacing:.04em}body{padding-bottom:78px}}

/* Quiet gallery rhythm: generous space, clear hierarchy, artwork first. */
@media(min-width:1000px){.hero{padding-top:92px;padding-bottom:112px;gap:64px;min-height:740px}.section{padding-top:126px;padding-bottom:126px}.section-head{margin-bottom:54px}.world-grid{gap:30px}.works-grid{row-gap:64px}}
h2{font-size:clamp(28px,3vw,40px);letter-spacing:.055em;line-height:1.65}.eyebrow{font-size:10px;letter-spacing:.22em}.hero h1{line-height:1.65}.hero .intro{line-height:2.3}.hero-film{position:relative;overflow:hidden;background:#fff}.hero-film video.hero-main{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transform:scale(1.02)}.motion-toggle{position:absolute;bottom:14px;right:14px;z-index:1;border:1px solid #ffffffb3;background:#fffffff0;color:#374547;border-radius:24px;padding:7px 12px;font-size:10px;cursor:pointer}.motion-toggle:focus-visible{outline:3px solid #374547;outline-offset:3px}
.featured-work{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:46px;margin:0 0 70px;padding:0 0 56px;border-bottom:1px solid var(--line)}.featured-visual{position:relative;display:block;overflow:hidden;background:#eff3f5}.featured-visual img{aspect-ratio:16/10;object-fit:cover;transition:transform .7s}.featured-visual:hover img{transform:scale(1.025)}.film-link{position:absolute;bottom:20px;left:20px;padding:9px 17px;border-radius:30px;background:#fffffff0;font-size:11px;letter-spacing:.08em}.featured-copy h3{font-size:30px;font-weight:400;letter-spacing:.06em;margin:0 0 6px}.featured-copy .eyebrow{margin-bottom:20px}.featured-artist{font-size:12px;color:#667571;margin:0 0 24px}.featured-copy>p{font-size:13px;line-height:2}.featured-copy dl{font-size:11px;margin:24px 0}.featured-copy dl div{display:flex;gap:16px}.featured-copy dt{color:#6d7b75;min-width:24px}.featured-copy dd{margin:0}.featured-copy .featured-award{padding-top:20px;border-top:1px solid var(--line);font-size:10px;line-height:2}.featured-award strong{font-weight:500}.featured-copy .text-link{margin-top:8px}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .85s ease,transform .85s ease}.reveal-ready.is-visible{opacity:1;transform:none}
@media(max-width:760px){.section{padding-top:78px;padding-bottom:78px}.section-head{margin-bottom:34px}.featured-work{grid-template-columns:1fr;gap:26px;margin-bottom:44px;padding-bottom:36px}.featured-copy h3{font-size:27px}.hero-film video.hero-main{height:auto}.hero-art{padding-bottom:36px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none}.featured-visual:hover img{transform:none}}

/* Carry the site's white and water-blue palette into the closing invitation. */
.contact-section{background:#f7fafb;border-top:1px solid #e6eef0;color:#374547}.contact-section .eyebrow{color:#64868d}.contact-section .contact-button{background:#90c3c5;color:#243c42;transition:background .2s}.contact-section .contact-button:hover{background:#80b3b5}.contact-section .contact-button:focus-visible{outline:3px solid #31474c;outline-offset:4px}.contact-section .small{color:#6c7c80}

/* Refined Latin and warm Japanese sans, with existing Mincho headings preserved. */
body{font-family:'Montserrat','Zen Maru Gothic',sans-serif;font-weight:400}.brand .logo-name{font-family:'Montserrat',sans-serif;font-weight:500;letter-spacing:.105em}nav,.eyebrow,.work-meta,.credential-label,.ribbon,.filters,.film-link,.brand>span:last-child{font-family:'Montserrat','Zen Maru Gothic',sans-serif}.art-caption,.about-art span{font-family:'Montserrat',sans-serif;font-style:normal;font-size:10px;letter-spacing:.055em}.intro,.subtitle,.role,.about p:not(.eyebrow),.activity-grid p,.credential p{letter-spacing:.025em}

/* Rounded warmth inspired by the reference, balanced with a fine Mincho. */
body{font-family:'Zen Maru Gothic',sans-serif;font-weight:400}.brand .logo-name{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:.14em}.brand>span:last-child,nav,.eyebrow,.work-meta,.credential-label,.ribbon,.filters,.film-link{font-family:'Montserrat','Zen Maru Gothic',sans-serif}.hero .intro,.subtitle,.role,.activity-grid p,.about p:not(.eyebrow){line-height:2.15;letter-spacing:.035em}h1,h2{font-family:'Shippori Mincho',serif;font-weight:400}.featured-copy h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:500}.art-caption,.about-art span{font-family:'Montserrat',sans-serif;font-weight:400}
@media(max-width:760px){.brand .logo-name{letter-spacing:.08em}}

.activity-image{display:block;overflow:hidden;margin:0 0 24px;border-radius:4px;background:#fff}.activity-image img{width:100%;aspect-ratio:16/9;object-fit:contain;transition:transform .5s ease}.activity-image:hover img{transform:scale(1.015)}@media(prefers-reduced-motion:reduce){.activity-image:hover img{transform:none}}

/* Consistent frames and a gently brighter photographic tone across activities. */
.personal>.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-image{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;background:#fff}.activity-image img{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;filter:brightness(var(--activity-light,1.04)) contrast(var(--activity-contrast,.98)) saturate(var(--activity-saturation,1))}
.activity-image img[src="passrelle-signage.jpg"]{--activity-light:1.13;--activity-contrast:.96;--activity-saturation:.96}.activity-image img[src="bakids-stage.jpg"]{--activity-light:1.06;--activity-contrast:.96}.activity-image img[src="coiro-exhibition.jpg"]{--activity-light:1.13;--activity-contrast:.98}.activity-image img[src="tamura-ai-workshop.jpg"]{--activity-light:1.1;--activity-contrast:.96}.activity-image img[src="kagawa-ai-session.jpg"]{--activity-light:1.02;--activity-contrast:.99}.activity-image img[src="ironote-still.png"]{--activity-light:1.04;--activity-contrast:.98}
@media(max-width:760px){.personal>.activity-grid{grid-template-columns:1fr}}

.activity-image img{object-fit:cover}.activity-image img[src="kagawa-ai-session.jpg"]{object-fit:contain}.activity-image img[src="passrelle-signage.jpg"]{object-position:50% 65%}.activity-image img[src="coiro-exhibition.jpg"]{object-position:50% 45%}.activity-image img[src="tamura-ai-workshop.jpg"]{object-position:50% 55%}

/* A compact portrait introduces the artist, with an editorial full profile. */
.about-identity{display:flex;align-items:center;gap:22px;margin:0 0 28px}.about-identity>a{display:block;width:88px;flex:0 0 88px}.about-identity img{width:88px;height:110px;object-fit:cover;object-position:16% 100%;border-radius:2px}.about .about-identity p{font-family:'Shippori Mincho',serif;font-size:20px;margin:0 0 6px;letter-spacing:.1em}.about-identity span{font-size:10px;letter-spacing:.08em;color:#657575;line-height:2}.profile-page{max-width:1120px;margin:auto;padding:40px 6% 100px}.profile-layout{display:grid;grid-template-columns:.8fr 1.2fr;align-items:start;gap:70px;margin-top:65px}.profile-portrait{margin:0}.profile-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:16% 100%;border-radius:2px}.profile-portrait figcaption{margin-top:14px;font-family:'Montserrat',sans-serif;letter-spacing:.12em;font-size:10px;color:#708080}.profile-story h1{font-size:40px;margin:0 0 8px}.profile-reading{font-size:11px;letter-spacing:.12em;color:#708080}.profile-story .profile-lead{font-family:'Shippori Mincho',serif;font-size:21px;line-height:1.9;margin:35px 0 25px}.profile-story p{font-size:13px;line-height:2.3;margin:20px 0}.profile-fields{padding-top:24px;border-top:1px solid var(--line);font-family:'Montserrat',sans-serif;font-size:10px!important;letter-spacing:.09em}.profile-links{display:flex;flex-wrap:wrap;gap:28px;margin-top:25px}@media(max-width:760px){.profile-layout{grid-template-columns:1fr;gap:38px;margin-top:35px}.profile-portrait{max-width:260px}.profile-story h1{font-size:34px}.profile-page{padding-bottom:100px}.about-identity{gap:18px}}

/* A quiet social directory shared by the portfolio and profile. */
footer .social-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.035em}footer .social-label{color:#71858a;font-size:9px;letter-spacing:.16em;margin-right:2px}footer .social-links a{display:inline-flex;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}footer .social-links a:hover{color:#527e85;border-color:#90c3c5}footer .social-links a:focus-visible{outline:2px solid #527e85;outline-offset:5px}footer .social-links a span{color:#719fa6;font-size:12px}@media(max-width:760px){footer .social-links{width:100%;gap:22px}footer .social-label{margin-right:0}}

/* Four painted petals, shared across the whole scrolling experience. */
.petal-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:4;overflow:hidden;opacity:0;transition:opacity 1.2s ease;contain:strict}
.petal-atmosphere.is-active{opacity:1}
.watercolor-petal{position:absolute;top:0;width:42px;height:42px;opacity:.54;transform:translate3d(var(--petal-x,0px),var(--petal-y,-100px),0) rotate(var(--petal-rotation,0deg));will-change:transform}
.petal-paint{display:block;width:100%;height:100%;background-image:url('watercolor-petals.png');background-size:200% 200%;background-repeat:no-repeat;animation:petal-breeze 11s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 70%}
.is-active .petal-paint{animation-play-state:running}
.petal-0{left:2.5%}.petal-0 .petal-paint{background-position:0 0}
.petal-1{right:4%;width:36px;height:36px}.petal-1 .petal-paint{background-position:100% 0;animation-delay:-5s}
.petal-2{left:10%;width:32px;height:32px}.petal-2 .petal-paint{background-position:0 100%;animation-delay:-9s}
.petal-3{right:13%;width:38px;height:38px;opacity:.43}.petal-3 .petal-paint{background-position:100% 100%;animation-delay:-3s}
@keyframes petal-breeze{0%,100%{transform:translate(-18px,-8px) rotate(-28deg) scaleX(.8)}25%{transform:translate(8px,0) rotate(12deg) scaleX(1)}50%{transform:translate(24px,9px) rotate(42deg) scaleX(.62)}75%{transform:translate(-2px,3px) rotate(2deg) scaleX(.95)}}
@media(max-width:760px){.watercolor-petal{width:30px;height:30px;opacity:.45}.petal-0{left:-4px}.petal-1{right:1%}.petal-2{left:3%;width:24px;height:24px}.petal-3{right:5%;width:28px;height:28px;opacity:.35}}
@media(prefers-reduced-motion:reduce){.petal-atmosphere{display:none}.petal-paint{animation:none}}

/* Official Instagram profile embed reads the account's six-post preview live. */
.instagram-feed{width:100%;max-width:1000px;margin:0 auto;container-type:inline-size;background:#fff;border:1px solid #e7edeb;border-radius:4px;overflow:hidden}.instagram-profile{display:block;width:100%;height:calc(66.667cqw + 220px);min-height:430px;border:0;background:#fff}.instagram-note{text-align:center;margin:20px 0 0!important;font-size:11px;color:#718080}.instagram-note a{margin-left:16px;text-decoration:underline;text-underline-offset:4px}

.service-collaboration{margin:30px 0 26px;font-size:12px;line-height:2.1;color:#637774;letter-spacing:.025em;max-width:780px}

/* A quieter, more compact festival section. */
#recognition{padding-top:62px;padding-bottom:62px}#recognition .section-head{margin-bottom:25px}#recognition .credential-grid{gap:24px}#recognition .credential{padding:24px}#recognition .festival-figure{margin-bottom:18px}#recognition .festival-figure a{max-width:330px;margin:0 auto}#recognition .festival-figure img{aspect-ratio:16/9}#recognition .festival-figure figcaption{font-size:9px;margin-top:7px}#recognition .credential h3{font-size:20px;line-height:1.55;margin:12px 0}#recognition .credential .award-title{font-size:15px;line-height:1.8}#recognition .credential p{margin-top:8px;margin-bottom:8px}#recognition .credential .text-link{font-size:11px;margin-top:6px;padding:6px 0}
/* Show the six-post grid, with Instagram's profile statistics outside the visible frame. */
.instagram-feed{position:relative;aspect-ratio:3/2;border-radius:3px;--instagram-header:155px}.instagram-profile{position:absolute;top:calc(-1 * var(--instagram-header));left:0;height:calc(66.667cqw + 240px);min-height:0}
@media(max-width:760px){#recognition{padding-top:45px;padding-bottom:45px}#recognition .credential{padding:20px}#recognition .festival-figure a{max-width:300px}.instagram-feed{--instagram-header:140px}}

.profile-handcraft{margin:30px 0 10px;padding:4px 0 4px 20px;border-left:2px solid #e4ebe7;max-width:520px}.profile-handcraft h2{font-family:inherit;font-size:12px;letter-spacing:.1em;font-weight:500;color:#647772;margin:0 0 10px}.profile-story .profile-handcraft p{font-size:11px;line-height:2.1;color:#74817c;margin:0 0 12px}.profile-handcraft a{display:inline-block;font-size:10px;letter-spacing:.035em;color:#647772;border-bottom:1px solid #d6e2dc;padding-bottom:3px}.profile-handcraft a:hover{color:#374547;border-color:#90c3c5}

.world-motion{position:relative;aspect-ratio:16/9;background:#fff}.world-motion>a{display:block;width:100%;height:100%}.shabon-preview,.forest-preview{display:block;width:100%;height:100%;object-fit:cover}.shabon-toggle,.forest-toggle{position:absolute;right:10px;bottom:10px;border:1px solid #ffffff99;background:#ffffffdd;color:#52615c;border-radius:30px;padding:5px 11px;font-size:9px;cursor:pointer;z-index:2}.shabon-toggle:focus-visible,.forest-toggle:focus-visible{outline:2px solid #527e85;outline-offset:3px}

.activity-image img[src="shimajiro-poyopoyo.png"]{object-fit:contain;filter:none}@media(min-width:1000px){.other-work .activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.other-work .activity-grid h3{font-size:17px}}

.activity-grid .project-partners{font-size:11px;letter-spacing:.04em;color:#587579;font-weight:500;margin:16px 0 8px;line-height:1.8}.activity-grid .project-partners+h3{margin-top:8px}

.personal .shibuya-screening{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:42px;align-items:center;padding-top:30px}.screening-poster{display:block;max-width:250px;border-radius:4px;overflow:hidden}.screening-poster img{width:100%;height:auto;object-fit:contain;filter:none}.screening-copy{max-width:560px}@media(max-width:760px){.personal .shibuya-screening{grid-template-columns:1fr;gap:24px}.screening-poster{max-width:260px;margin:0 auto;width:100%}}

.press-visual{display:flex;align-items:center;justify-content:center;height:215px;margin:0 0 26px;background:#fff;border-radius:4px;overflow:hidden}.book-cover img{height:195px;width:auto;max-width:100%;object-fit:contain}.adobe-mark img{width:88px;height:88px;object-fit:contain}@media(max-width:760px){.press-visual{height:190px;margin-bottom:22px}.book-cover img{height:172px}.adobe-mark img{width:76px;height:76px}}

/* An editorial portfolio: let the films lead and keep supporting proof quiet. */
:root{--line:#e9edeb}
.section-head{align-items:flex-end}.section-head>.text-link{white-space:nowrap}
.activity-image,.work-image,.festival-figure a{border-radius:2px}
#recognition .credential{background:transparent;border-top:1px solid #dce5e1;border-radius:0;padding:24px 0 0}
#recognition .credential-grid{gap:44px}#recognition .festival-figure a{max-width:300px;margin:0}#recognition .festival-figure figcaption{color:#84908a}#recognition .credential h3{font-size:19px}#recognition .credential .award-title{font-size:14px}
#press .credential-grid{gap:44px}#press .credential{background:transparent;border-top:1px solid #dce5e1;border-radius:0;padding:25px 0 0;display:grid;grid-template-columns:108px minmax(0,1fr);gap:25px;align-items:start}
#press .press-visual{height:155px;margin:0;border-radius:0;background:transparent}
#press .book-cover img{height:155px;width:auto;max-width:100%;object-fit:contain}#press .adobe-mark img{width:76px;height:76px;object-fit:contain}
#press .credential h3{font-size:18px;line-height:1.7;margin:10px 0 14px}#press .credential .press-lead{font-size:14px;line-height:1.85;margin:12px 0}#press .credential p:not(.press-lead){font-size:11px;line-height:2.1}#press .credential .text-link{font-size:10px;margin-top:6px}
.other-work .activity-grid{gap:30px}.activity-grid article{border-top-width:1px;padding-top:22px}.activity-grid h3{font-weight:500}.activity-grid .credential-label{font-size:8px;letter-spacing:.14em}
.personal .shibuya-screening{grid-column:auto;display:block;padding-top:22px}.personal .screening-poster{height:190px;max-width:none;width:100%;margin:0 0 24px;background:#f6f8f7;display:flex;align-items:center;justify-content:center;border-radius:2px}.personal .screening-poster img{height:100%;width:auto;max-width:100%;object-fit:contain}.personal .screening-copy{max-width:none}
.personal>.activity-grid .activity-image{height:190px;aspect-ratio:auto}.personal>.activity-grid .activity-image img{height:100%;aspect-ratio:auto}
.education-block{margin-top:72px;padding-top:32px;border-top:1px solid var(--line)}.activity-subheading{font-family:'Shippori Mincho',serif;font-size:22px;letter-spacing:.06em}.education-block .activity-grid h3{font-size:16px}
.services .service-grid>div{border-top:1px solid #dce5e1;padding-top:20px}.service-grid h3{font-size:17px;letter-spacing:.02em}.service-collaboration{font-size:11px;color:#7a8782;line-height:2.2}
.floating-contact{box-shadow:none;font-size:11px;padding:22px 12px;border-radius:6px 0 0 6px}
@media(min-width:1000px){.section{padding-top:104px;padding-bottom:104px}.section-head{margin-bottom:46px}h2{font-size:36px}.personal>.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.personal>.activity-grid h3{font-size:17px}#press{padding-top:66px;padding-bottom:82px}#recognition{padding-top:66px;padding-bottom:60px}}
@media(min-width:761px) and (max-width:999px){#press .credential{grid-template-columns:80px minmax(0,1fr);gap:18px}#press .book-cover img{max-height:130px}#press .adobe-mark img{width:60px;height:60px}}
@media(max-width:760px){#press .credential-grid{gap:36px}#press .credential{grid-template-columns:86px minmax(0,1fr);gap:20px}#press .press-visual{height:130px}#press .book-cover img{height:125px}#press .adobe-mark img{width:60px;height:60px}#press .credential h3{font-size:16px}#press .credential .press-lead{font-size:13px}#recognition .credential-grid{gap:34px}.personal>.activity-grid .activity-image{height:auto;aspect-ratio:16/9}.personal .screening-poster{height:300px;max-width:100%;margin:0 0 24px}.education-block{margin-top:48px}.floating-contact{border-radius:28px;padding:12px 17px;font-size:11px}}

.personal .screening-poster{aspect-ratio:16/9;height:auto;max-width:none;background:#fff}.personal .screening-poster img{width:100%;height:100%;object-fit:contain}
