*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--musou-page);color:var(--musou-ink);font:16px/1.5 var(--musou-font-body);overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}button{border:0;background:none;padding:8px 0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--musou-font-heading);font-weight:400;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}::selection{background:var(--musou-color-charcoal);color:var(--musou-color-cream)}:focus-visible{outline:2px solid currentColor;outline-offset:6px}a:hover{text-decoration:none}a.text-link:hover,.nav-links a:hover{text-decoration:underline;text-underline-offset:5px}body::-webkit-scrollbar{width:8px}body::-webkit-scrollbar-track{background:var(--musou-page)}body::-webkit-scrollbar-thumb{background:var(--musou-color-taupe)}input,textarea{caret-color:var(--musou-ink)}.skip-link{position:fixed;top:12px;left:20px;transform:translateY(-180%);z-index:120;background:var(--musou-color-charcoal);color:var(--musou-color-cream);padding:12px}.skip-link:focus{transform:none}
.site-header{height:108px;padding:22px 4vw;position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;z-index:20;background:var(--musou-color-cream)}.admin-bar .site-header{top:32px}.site-brand{display:flex;gap:13px;align-items:center}.site-brand img{width:64px;height:auto}.site-brand>span{font:29px/1 var(--musou-font-body);letter-spacing:-.03em}.brand-digital{display:block;font-size:9px;letter-spacing:.24em;line-height:1.7;text-align:center}.nav-links{display:flex;align-items:center;gap:42px;list-style:none;margin:0;padding:0;font-size:14px}.nav-links li:last-child a{display:block;border-bottom:1px solid currentColor;padding:10px 0}.nav-links li:last-child a::after{content:'↗';margin-left:22px}
.portfolio-story{position:relative;height:100svh;min-height:700px}.portfolio-stage{position:relative;height:100svh;min-height:700px;overflow:hidden;isolation:isolate}.portfolio-field{display:none}.field-veil{display:none}.hero-introduction{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:100px 24px 140px;z-index:4}.hero-introduction h1{font-size:clamp(72px,9.6vw,180px);line-height:.96;letter-spacing:-.035em}.hero-introduction h1 span,.hero-introduction h1 em{display:block}.hero-introduction h1 em{font-weight:400}.hero-introduction p{margin-top:30px;font-size:14px;letter-spacing:.04em;max-width:34ch}.hero-explore{margin-top:32px;font-size:13px;display:flex;gap:25px;align-items:center}.hero-explore span{font-size:20px}.scroll-footnote{position:absolute;left:4vw;right:4vw;bottom:35px;display:flex;justify-content:space-between;font-size:11px;z-index:5}.scroll-footnote>span:last-child{display:flex;gap:26px}.gallery-ui{position:absolute;bottom:35px;left:4vw;right:4vw;display:none;justify-content:space-between;align-items:flex-end;z-index:6}.gallery-ui h2{font-size:32px}.gallery-ui p{font-size:11px;margin-top:8px}.gallery-actions{display:flex;align-items:center;gap:24px;font-size:12px}.gallery-actions button{border-bottom:1px solid currentColor;padding:5px 0}.field-cursor{display:none}.image-missing{display:grid;place-content:center;width:100%;height:100%;min-height:180px;background:var(--musou-color-taupe);color:var(--musou-color-black);font-size:18px;text-align:center;padding:20px}.work-card{display:block;min-width:0}.work-card figure{overflow:hidden}.work-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.work-card figcaption{display:flex;justify-content:space-between;gap:15px;font-size:12px;line-height:1.3;margin-top:13px}.work-card figcaption span:last-child{text-align:right;font-size:10px}.work-card:hover img{filter:brightness(.96)}
.is-enhanced .portfolio-story{height:225svh;min-height:1400px}.is-enhanced .portfolio-stage{position:sticky;top:0;perspective:1500px}.is-enhanced .portfolio-field{display:block;position:absolute;inset:0;z-index:1;transform:scale(var(--field-scale,.67)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));will-change:transform}.is-enhanced .field-tile{position:absolute;top:50%;left:50%;width:var(--tile-width,250px);transform-origin:center;will-change:transform;user-select:none}.field-tile:nth-child(3n) img{aspect-ratio:5/4}.field-tile:nth-child(5n) img{aspect-ratio:1}.field-tile figure{box-shadow:0 16px 35px rgb(45 41 39 / .1);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s}.field-tile .work-card:hover figure{transform:translateY(-7px) scale(1.025);box-shadow:0 23px 40px rgb(45 41 39 / .17)}.field-tile figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;display:none;padding:25px 14px 12px;background:var(--musou-panel);color:var(--musou-ink)}.is-exploring .field-tile .work-card:hover figcaption{display:flex}.field-tile .work-card{cursor:grab}.is-dragging .field-tile .work-card{cursor:grabbing}.is-enhanced .field-veil{display:block;position:absolute;inset:0;z-index:2;background:var(--musou-color-cream);opacity:var(--veil,.74);pointer-events:none}.is-enhanced .hero-introduction{transform:scale(var(--title-scale,1));opacity:var(--title-opacity,1);will-change:transform,opacity;pointer-events:none}.is-enhanced .hero-introduction a{pointer-events:auto}.is-enhanced .gallery-ui{display:flex;opacity:0;pointer-events:none;transition:opacity .3s;left:0;right:0;bottom:0;background:var(--musou-color-cream);padding:22px 4vw;border-top:1px solid rgb(45 41 39 / .2)}.is-enhanced .scroll-footnote{opacity:var(--title-opacity,1)}.is-exploring .gallery-ui{opacity:1;pointer-events:auto}.is-exploring .hero-introduction{visibility:hidden}.is-enhanced .project-list{display:none}.is-enhanced.is-list-view .project-list{display:block}.gallery-actions .drag-hint{margin-right:22px}.is-exploring .portfolio-stage{cursor:grab;touch-action:pan-y}.is-dragging .portfolio-stage{cursor:grabbing}.is-enhanced .field-cursor{position:absolute;z-index:8;width:65px;height:65px;border:1px solid var(--musou-color-charcoal);border-radius:50%;align-items:center;justify-content:center;font-size:11px;background:var(--musou-color-cream);pointer-events:none;transform:translate(-50%,-50%)}.return-gallery{display:none;border-bottom:1px solid currentColor;margin-bottom:36px}.is-enhanced .return-gallery{display:inline-block}
.project-list,.work-archive{padding:105px 4vw}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px;gap:30px}.section-top h2,.section-top h1{font-size:clamp(48px,5vw,86px);max-width:12ch}.section-top p{font-size:13px;max-width:30ch}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 35px}.project-grid .work-card:nth-child(3n+2){padding-top:90px}.project-grid .work-card:nth-child(3n) img{aspect-ratio:5/4}.studio-section{padding:120px 7vw 145px;border-top:1px solid rgb(45 41 39 / .22);display:grid;grid-template-columns:1.2fr 1fr;gap:14vw}.studio-section h2{font-size:clamp(48px,4.6vw,82px);max-width:13ch}.studio-section>div{padding-top:12px}.studio-section p{font-size:18px;line-height:1.6;max-width:35ch}.disciplines{display:flex;flex-wrap:wrap;gap:22px;margin-top:45px;font-size:13px}.disciplines span{border-bottom:1px solid currentColor;padding-bottom:7px}.site-footer{background:var(--musou-panel);color:var(--musou-ink);padding:105px 4vw 30px}.footer-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:100px}.footer-heading h2{font-size:clamp(52px,7vw,120px);max-width:12ch}.text-link{display:inline-block;font-size:14px;line-height:1.7;border-bottom:1px solid currentColor;padding:8px 0}.text-link span{margin-left:50px}.contact-pending{font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--musou-border);padding-top:25px;font-size:11px}.footer-logo{font-size:21px;letter-spacing:-.02em}
.opening[hidden]{display:none}.opening{position:fixed;inset:0;z-index:100;background:var(--musou-page);color:var(--musou-ink);overflow:hidden}.opening-brand{position:absolute;top:35px;left:4vw;width:70px;height:auto}.opening-frame{position:absolute;left:50%;top:50%;width:min(36vw,480px);height:60vh;transform:translate(-50%,-50%);overflow:hidden}.opening-image{position:absolute;inset:0;opacity:0;transition:opacity .1s}.opening-image.is-active{opacity:1}.opening-image img{width:100%;height:100%;object-fit:cover}.opening-type{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 6vw;font:clamp(60px,7vw,120px)/1 var(--musou-font-heading);letter-spacing:-.035em;pointer-events:none}.opening-type em{max-width:5ch;text-align:right}.opening-bottom{position:absolute;bottom:32px;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;font-size:11px}.opening-bottom button{font-size:12px}.opening-count{font-variant-numeric:tabular-nums}.opening.is-finishing{background:transparent;transition:background .65s}.opening.is-finishing .opening-frame{transform:translate(-50%,-50%) scale(.44);opacity:0;transition:transform 1.1s cubic-bezier(.16,1,.3,1),opacity .85s .2s}.opening.is-finishing .opening-type span{transform:translateX(-50vw)}.opening.is-finishing .opening-type em{transform:translateX(50vw)}.opening.is-finishing .opening-type>*{transition:transform .7s cubic-bezier(.16,1,.3,1)}.opening.is-finishing .opening-brand,.opening.is-finishing .opening-bottom{opacity:0;transition:opacity .3s}body[data-opening]{overflow:hidden}
.case-study,.page-content{padding:155px 6vw 100px}.project-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin:75px 0 55px}.project-heading h1{font-size:clamp(56px,7.2vw,130px);max-width:13ch}.project-heading p{font-size:12px;margin-top:12px;max-width:32ch}.project-cover img{width:100%;max-height:80vh;object-fit:cover}.project-body{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding:70px 0}.project-body dl{margin:0;font-size:13px}.project-body dl div{margin-bottom:25px}.project-body dt{font-size:11px;margin-bottom:5px}.project-body dd{margin:0}.case-copy{max-width:70ch;font-size:18px;line-height:1.7}.case-copy p+ p{margin-top:25px}.case-copy img{width:100%;height:auto}.page-content h1{font-size:clamp(50px,6vw,100px);margin-bottom:50px}.page-content p{max-width:70ch}.work-archive{padding-top:175px}
@media(max-width:900px){.site-header{padding:20px 5vw;height:90px}.site-brand img{width:49px}.site-brand>span{font-size:24px}.nav-links{gap:22px;font-size:12px}.hero-introduction h1{font-size:clamp(70px,13vw,120px)}.gallery-ui h2{font-size:25px}.gallery-actions{gap:16px}.gallery-actions .drag-hint{display:none}.scroll-footnote>span:first-child{max-width:25ch}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 22px}.project-grid .work-card:nth-child(3n+2){padding-top:0}.project-grid .work-card:nth-child(2n){padding-top:70px}.studio-section{gap:8vw;padding:90px 5vw}.studio-section p{font-size:16px}.opening-frame{width:50vw;height:55vh}.opening-type{font-size:9vw;padding:0 4vw}.footer-bottom{flex-wrap:wrap}.project-heading{display:block}.project-heading>div{margin-top:30px}.project-body{grid-template-columns:1fr}.project-body dl{display:flex;flex-wrap:wrap;gap:30px}}
@media(max-width:600px){.site-header{height:88px}.admin-bar .site-header{top:46px}.site-brand{gap:8px}.site-brand img{width:39px}.site-brand>span{font-size:23px}.brand-digital{font-size:8px}.nav-links{gap:18px;font-size:11px}.nav-links{max-width:58vw;flex-wrap:wrap;justify-content:flex-end}.nav-links a{overflow-wrap:anywhere}.nav-links li:last-child a::after{margin-left:7px}.portfolio-story,.portfolio-stage{min-height:620px}.hero-introduction{padding:100px 20px 130px}.hero-introduction h1{font-size:clamp(63px,18vw,108px)}.hero-introduction p{font-size:11px;margin-top:25px}.hero-explore{font-size:12px;margin-top:25px}.scroll-footnote{left:5vw;right:5vw;bottom:25px;font-size:10px}.scroll-footnote>span:first-child{max-width:19ch}.scroll-footnote>span:last-child{gap:12px}.gallery-ui{left:5vw;right:5vw;bottom:28px;align-items:flex-end;gap:18px}.gallery-ui h2{font-size:23px;max-width:8ch}.gallery-ui p{max-width:19ch;font-size:10px}.gallery-actions{flex-direction:column;align-items:flex-end;gap:9px;font-size:11px}.project-list,.work-archive{padding:70px 5vw}.section-top{display:block;margin-bottom:40px}.section-top h2,.section-top h1{font-size:48px}.section-top p{margin-top:20px}.project-grid{gap:35px 16px}.work-card figcaption{flex-direction:column;gap:4px;font-size:11px;margin-top:9px}.work-card figcaption span:last-child{text-align:left;font-size:9px}.project-grid .work-card:nth-child(2n){padding-top:50px}.studio-section{display:block;padding:75px 5vw 90px}.studio-section h2{font-size:49px;max-width:11ch}.studio-section>div{margin-top:30px}.studio-section p{font-size:15px}.disciplines{margin-top:28px}.site-footer{padding:70px 5vw 26px}.footer-heading{display:block;margin-bottom:65px}.footer-heading h2{font-size:58px;max-width:10ch}.contact-pending,.footer-heading .text-link{margin-top:30px}.footer-bottom{gap:18px;font-size:10px}.footer-bottom>*{width:calc(50% - 12px)}.footer-logo{font-size:18px}.opening-brand{top:28px;width:50px}.opening-frame{width:66vw;height:52vh}.opening-type{padding:0 5vw;font-size:15vw;align-items:unset;flex-direction:column;justify-content:center;gap:37vh}.opening-type em{align-self:flex-end;max-width:none}.opening-bottom{font-size:10px;bottom:25px}.opening-count{display:none}.case-study,.page-content{padding:135px 5vw 70px}.project-heading{margin:50px 0 35px}.project-heading h1{font-size:62px}.case-copy{font-size:16px}.project-cover img{max-height:70vh}.project-body{padding-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.opening{display:none!important}.is-enhanced .portfolio-story{height:100svh;min-height:620px}.is-enhanced .portfolio-stage{position:relative}.is-enhanced .portfolio-field,.gallery-ui,.field-cursor{display:none!important}.is-enhanced .hero-introduction{transform:none!important;opacity:1!important;visibility:visible!important}.is-enhanced .project-list{display:block}.is-enhanced .scroll-footnote{opacity:1!important}}

.admin-bar .portfolio-stage{height:calc(100svh - 32px);top:32px}.intro-active .portfolio-field{transform:scale(2.4)}.intro-active .hero-introduction{opacity:0}.intro-reveal .portfolio-field{transition:transform 1.15s cubic-bezier(.16,1,.3,1)}
@media(max-width:782px){.admin-bar .portfolio-stage{height:calc(100svh - 46px);top:46px}.admin-bar .site-header{top:46px}}

.brand-lockup{display:block;width:190px;height:auto}@media(max-width:600px){.brand-lockup{width:136px}}
.hero-introduction h1{max-width:92vw;overflow-wrap:anywhere}.project-heading h1{overflow-wrap:anywhere}

.footer-links{list-style:none;display:flex;flex-wrap:wrap;gap:2rem;padding:0;margin:0 0 2rem}.footer-links a{text-decoration:underline;text-underline-offset:.25em}

/* Wheel inertia on ordinary pages; anchors retain native smooth scrolling. */

/* Print must capture final theme colours, never an intermediate surface transition. */
@media print{*,*::before,*::after{transition:none!important}}
/* Native project index captions retain the main site's readable editorial scale. */
.work-archive .work-card figcaption{font-size:clamp(16px,1.1vw,20px);line-height:1.35}
.work-archive .work-card figcaption span:last-child{font-size:12px;line-height:1.45}
.work-archive .work-card:focus-visible{outline:2px solid currentColor;outline-offset:6px}
