
:root{--paper:#f6f5f0;--ink:#151515;--muted:#77746f;--hair:#c9c7c0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:#dedad0;color:#191919}
.site-header{position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:25px clamp(24px,4vw,70px)}.brand{display:flex;align-items:center;gap:18px;white-space:nowrap}.brand img{width:94px;height:54px;object-fit:contain;object-position:left center}.brand-label{font-family:Georgia,serif;letter-spacing:.18em;font-size:9px;color:#676560;text-transform:uppercase;border-left:1px solid #9f9c94;padding-left:15px}.nav{display:flex;gap:32px;align-items:center;font-size:11px;letter-spacing:.18em}.nav a:hover{opacity:.5}.menu-btn{border:0;background:none;cursor:pointer;font-size:25px;padding:5px 0 5px 8px;line-height:1}.hero{height:100svh;min-height:620px;position:relative;overflow:hidden;isolation:isolate;background:#f6f5f0}.hero:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 62% 51%,#fffefa 0%,#f8f7f3 45%,#eeece6 110%)}.art-reference{position:absolute;inset:-2%;z-index:1;background-image:url('images/fbc47887ad23269a.webp');background-size:cover;background-position:center;opacity:0;transform:scale(1.04);animation:referenceEnter 8.8s both;pointer-events:none}.art-reference:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,transparent 48%,rgba(246,245,240,.8) 73%,var(--paper) 100%)}@keyframes referenceEnter{0%,12%{opacity:0;transform:scale(1.12)}26%,53%{opacity:.91;transform:scale(1.04)}77%,100%{opacity:0;transform:scale(1.02)}}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,245,240,.08),rgba(246,245,240,.78) 78%);z-index:2;pointer-events:none;opacity:0;animation:shade 8.8s both}@keyframes shade{0%,44%{opacity:0}59%{opacity:.25}85%,100%{opacity:1}}
.field{position:absolute;inset:0;z-index:3;pointer-events:none;transition:opacity 1.9s ease}.glyph{position:absolute;line-height:1;font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;color:#191919;white-space:nowrap;will-change:transform,opacity,filter}.glyph.foreground{z-index:5}.glyph.background{z-index:0}.glyph.fade{opacity:0!important;transform:translate3d(0,16px,-60px) scale(.75)!important;filter:blur(15px)!important}.hairline{position:absolute;width:1px;pointer-events:none;background:linear-gradient(to bottom,rgba(29,27,25,0),rgba(29,27,25,.27),rgba(29,27,25,0));transform-origin:top;transition:opacity 1.7s,transform 2s}.field.quiet{opacity:.12}.field.quiet .glyph{filter:blur(10px)!important}.field.quiet .hairline{opacity:0!important}
.wordmark-reveal{position:absolute;z-index:8;left:50%;top:51%;width:min(78vw,980px);transform:translate(-50%,-40%);text-align:center;pointer-events:none;opacity:0;animation:reveal 8.8s both}.wordmark-reveal h1{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-weight:400;font-size:clamp(30px,4.25vw,76px);line-height:1.65;letter-spacing:.13em;margin:0;white-space:nowrap}.wordmark-reveal h1 span{display:block}.wordmark-reveal h1 span:last-child{padding-left:1.4em}.wordmark-reveal .english{margin:35px 0 0;font-family:Georgia,serif;letter-spacing:.22em;font-size:9px;text-transform:uppercase;color:#585650}@keyframes reveal{0%,53%{opacity:0;filter:blur(9px);transform:translate(-50%,-37%)}74%,100%{opacity:1;filter:blur(0);transform:translate(-50%,-40%)}}
.hero-caption{position:absolute;z-index:10;left:clamp(24px,4vw,70px);bottom:32px;font-size:10px;letter-spacing:.2em;display:flex;gap:16px;align-items:center}.hero-caption:after{content:"";width:1px;height:45px;background:#444}.edition{position:absolute;z-index:10;right:clamp(24px,4vw,70px);bottom:40px;font-family:Georgia,serif;font-size:10px;letter-spacing:.18em;color:#6e6b64}.replay{position:absolute;z-index:18;bottom:30px;left:50%;transform:translateX(-50%);border:1px solid #b9b5aa;border-radius:30px;background:rgba(248,247,243,.84);padding:10px 19px;font-size:10px;letter-spacing:.12em;color:#4d4943;cursor:pointer;opacity:0;animation:replayIn 8.8s forwards}@keyframes replayIn{0%,86%{opacity:0;pointer-events:none}100%{opacity:1;pointer-events:auto}}.replay:hover{background:#e9e7e0}
.section{max-width:1220px;margin:auto;padding:124px 36px;border-bottom:1px solid #dcdad3}.eyebrow{font:11px Georgia,serif;letter-spacing:.24em;text-transform:uppercase;color:#77746f}.section h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;font-size:clamp(29px,3.6vw,54px);line-height:1.7;letter-spacing:.09em;margin:38px 0}.lead{font-size:15px;line-height:2.6;letter-spacing:.08em;max-width:750px}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}.work{border-top:1px solid #8e8a80;padding:24px 0 52px}.work .num{font:12px Georgia,serif;color:#aaa69d}.work h3{font-size:20px;font-weight:400;margin:50px 0 8px;letter-spacing:.07em}.work p{font-size:11px;letter-spacing:.09em;color:#79756f}.contact{text-align:center;border:0;padding-bottom:180px}.contact a{display:inline-block;margin-top:25px;border-bottom:1px solid #121212;padding-bottom:13px;font-family:Georgia,serif;letter-spacing:.2em;font-size:17px}footer{padding:32px clamp(24px,4vw,70px);border-top:1px solid #d8d5cc;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#77736d;letter-spacing:.12em}
@media(max-width:700px){.site-header{padding:16px 21px}.brand img{width:78px;height:48px}.brand-label{display:none}.nav{gap:12px}.nav a{display:none}.hero{min-height:580px;height:100svh}.art-reference{background-position:38% center}.field{transform:scale(1.13);transform-origin:center}.wordmark-reveal{width:95vw;top:49%}.wordmark-reveal h1{font-size:clamp(21px,5.2vw,38px);letter-spacing:.04em;line-height:2}.wordmark-reveal h1 span:last-child{padding-left:0}.edition{display:none}.section{padding:82px 24px}.works-grid{grid-template-columns:1fr;gap:0}.work{padding-bottom:22px}.work h3{margin-top:22px}footer{flex-direction:column}.replay{bottom:72px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-reference{animation:none;opacity:0}.shade{animation:none;opacity:1}.wordmark-reveal{animation:none;opacity:1;filter:none;transform:translate(-50%,-40%)}.replay{animation:none;opacity:1}.field{opacity:.08}}

/* Revision 02: persistent editorial atmosphere and layered works */
.section{position:relative;isolation:isolate;overflow:hidden}
#approach{background:radial-gradient(ellipse at -10% 25%,rgba(111,108,102,.075),transparent 58%),radial-gradient(ellipse at 104% 100%,rgba(125,123,118,.055),transparent 58%)}
#approach::before{content:"綴　　Ω　　7";position:absolute;z-index:-1;pointer-events:none;left:-3%;top:6%;font-family:Georgia,"Hiragino Mincho ProN",serif;font-size:clamp(72px,12vw,220px);letter-spacing:.6em;color:rgba(45,43,40,.045);filter:blur(2.8px);white-space:nowrap;transform:rotate(-7deg)}
#approach::after{content:"　λ　　識";position:absolute;right:-3%;bottom:0;z-index:-1;font:clamp(50px,8vw,135px) Georgia,serif;letter-spacing:1.2em;color:rgba(45,43,40,.032);filter:blur(5px)}
.works-section{padding-bottom:clamp(80px,12vw,180px);background:radial-gradient(ellipse at 0% 60%,rgba(145,141,135,.08),transparent 60%),var(--paper)}
.ambient-characters{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ambient-characters span{position:absolute;font-family:Georgia,"Hiragino Mincho ProN",serif;color:rgba(30,30,30,.055);filter:blur(2px);font-size:clamp(40px,7vw,116px)}
.ambient-characters span:nth-child(1){left:-1%;top:2%;font-size:12vw;filter:blur(6px)}
.ambient-characters span:nth-child(2){left:74%;top:18%;font-size:9vw}
.ambient-characters span:nth-child(3){left:6%;top:51%;font-size:13vw;filter:blur(7px)}
.ambient-characters span:nth-child(4){left:86%;top:63%;font-size:10vw;filter:blur(8px)}
.ambient-characters span:nth-child(5){left:49%;top:82%;font-size:5vw}
.ambient-characters span:nth-child(6){left:24%;top:90%;font-size:8vw}
.works-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.works-heading p{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(13px,1.4vw,17px);line-height:2.1;margin:0 0 28px;color:#68645f}
.layer-gallery{position:relative;margin:clamp(45px,6vw,90px) auto 22px;max-width:1300px;min-height:clamp(310px,49vw,620px);perspective:1300px}
.gallery-planes{position:absolute;left:3%;right:3%;top:2%;bottom:10%;transform-style:preserve-3d;perspective:1200px}
.gallery-plane{width:30%;height:78%;position:absolute;top:8%;border:1px solid rgba(70,67,63,.16);box-shadow:12px 18px 28px rgba(41,38,35,.08);overflow:hidden;background:rgba(255,255,255,.67);backdrop-filter:blur(2px);transform-origin:center center;transform:translateX(var(--shift)) rotateY(-26deg) skewY(-2deg) scale(var(--scale));opacity:var(--opacity);transition:transform 1100ms cubic-bezier(.18,.7,.22,1),opacity 1100ms ease,box-shadow 1100ms ease;animation:floatPlane 7s ease-in-out infinite alternate;animation-delay:var(--delay)}
.gallery-plane:hover{box-shadow:18px 28px 50px rgba(41,38,35,.12)}
.plane-1{left:3%;--shift:0;--scale:.80;--opacity:.54;--delay:0s;z-index:1}
.plane-2{left:19%;--shift:0;--scale:.86;--opacity:.7;--delay:-1.4s;z-index:2}
.plane-3{left:35%;--shift:0;--scale:.93;--opacity:.83;--delay:-2.7s;z-index:3}
.plane-4{left:51%;--shift:0;--scale:1;--opacity:.91;--delay:-3.3s;z-index:4}
.plane-5{left:67%;--shift:0;--scale:1.06;--opacity:1;--delay:-4.8s;z-index:5}
.plane-no{position:absolute;left:7%;top:6%;font:9px Georgia,serif;letter-spacing:.17em;color:#77736d}
.plane-art{display:block;position:absolute;left:8%;top:25%;right:8%;bottom:10%;font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
.plane-abstract{font-size:clamp(20px,4vw,60px);letter-spacing:.35em;line-height:2;color:#565450}
.plane-grid{font:clamp(8px,1.1vw,16px)/1.7 Georgia,serif;letter-spacing:.16em;background:repeating-linear-gradient(0deg,transparent 0 17px,rgba(0,0,0,.06) 18px),repeating-linear-gradient(90deg,transparent 0 17px,rgba(0,0,0,.05) 18px)}.plane-grid b{display:block;font-weight:400;font-size:clamp(18px,3vw,43px)}.plane-grid small{display:block;margin-top:20px;font-size:9px}
.plane-word{font-family:Georgia,serif;font-size:clamp(45px,7vw,95px);line-height:1.25;letter-spacing:-.08em}.plane-word span{font-size:.4em}.plane-word em{font-size:.48em;font-style:normal;letter-spacing:.2em}
.plane-4{background:linear-gradient(155deg,rgba(242,241,236,.8),rgba(189,195,192,.57) 52%,rgba(246,245,240,.96))}.plane-horizon{border-top:1px solid rgba(35,35,35,.4);top:57%;height:20%;transform:skewY(-13deg)}
.plane-final{font-size:clamp(23px,3.4vw,54px);line-height:1.55;letter-spacing:.12em;top:34%}
.gallery-label{position:absolute;bottom:0;left:3%;right:3%;display:flex;justify-content:space-between;gap:20px;font:10px Georgia,serif;letter-spacing:.2em;color:#73716d}
.gallery-disclaimer{font-size:11px;color:#89847d;margin:12px 0 72px;line-height:1.9}
.works-list{border-top:1px solid rgba(80,77,73,.22);max-width:1300px;margin:auto}.work-list-row{display:grid;grid-template-columns:60px minmax(160px,1fr) minmax(140px,1fr) 25px;align-items:center;gap:18px;padding:25px 6px;border-bottom:1px solid rgba(80,77,73,.22)}.work-list-row span,.work-list-row small{font-size:10px;letter-spacing:.13em;color:#77736d}.work-list-row strong{font-family:Georgia,serif;font-size:clamp(17px,2.2vw,27px);font-weight:400}.work-list-row:hover{background:rgba(255,255,255,.45)}
@keyframes floatPlane{from{translate:0 0}to{translate:0 -8px}}
@media(max-width:700px){.works-heading{display:block}.works-heading p{margin:0}.layer-gallery{min-height:360px}.gallery-planes{left:0;right:0;top:25px;bottom:60px}.gallery-plane{width:42%;height:83%;transform:rotateY(-24deg) scale(var(--scale))}.plane-1{left:-16%}.plane-2{left:0}.plane-3{left:22%}.plane-4{left:42%}.plane-5{left:66%}.gallery-label{font-size:8px}.work-list-row{grid-template-columns:34px 1fr 24px;gap:12px}.work-list-row small{display:none}.gallery-disclaimer{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){.gallery-plane{animation:none;transition:none}}


/* V03 / portfolio, partnership & full-bleed atmosphere */
:root{--paper:#f6f5f0;--ink:#161616;--rule:#d5d2cb}
html{background:var(--paper)} body{background:var(--paper)}
main{position:relative;background:radial-gradient(ellipse 62% 28% at 81% 42%,rgba(213,208,195,.12),transparent 95%),radial-gradient(ellipse 70% 30% at 9% 76%,rgba(211,207,198,.13),transparent 100%),var(--paper);overflow:hidden}
#approach,.works-section,#about,#partners,#contact{background:transparent!important;box-shadow:none}
.section{max-width:1320px;padding:clamp(92px,8vw,150px) clamp(26px,4vw,65px);border-bottom:1px solid var(--rule)}
.section .lead{font-size:clamp(15px,1.1vw,18px);line-height:2.05}
.works-section{padding-top:clamp(102px,10vw,168px);padding-bottom:clamp(115px,12vw,185px)}
.works-intro,.portfolio-stage-caption,.portfolio-legend{display:flex;justify-content:space-between;gap:20px;font-family:Georgia,serif;font-size:11px;letter-spacing:.16em;color:#77736d}
.works-intro{margin-top:68px;padding-bottom:13px;border-bottom:1px solid var(--rule)}
.portfolio-stage{height:clamp(390px,49vw,635px);position:relative;perspective:1250px;isolation:isolate;overflow:hidden}
.portfolio-stage:before{content:"";position:absolute;left:3%;right:2%;top:14%;bottom:13%;background:radial-gradient(ellipse at 60% 55%,rgba(48,46,40,.09),transparent 65%);pointer-events:none}
.portfolio-depth{position:absolute;inset:10% 4% 12%;perspective:1150px;transform-style:preserve-3d}
.folio-plane{position:absolute;top:10%;height:82%;width:24%;left:calc(-6% + var(--n) * 16.2%);z-index:calc(7 - var(--n));display:block;border:1px solid rgba(57,53,46,.17);padding:0;background:rgba(255,255,255,.72);cursor:pointer;box-shadow:7px 17px 25px rgba(55,49,43,.11);transform:perspective(950px) rotateY(-19deg) translateY(calc(var(--n) * -3px)) scale(calc(.78 + var(--n) * .035));transform-origin:center center;transition:transform .55s ease,box-shadow .55s ease,filter .55s ease;overflow:hidden;filter:saturate(.9)}
.folio-plane:nth-child(1){--n:0}.folio-plane:nth-child(2){--n:1}.folio-plane:nth-child(3){--n:2}.folio-plane:nth-child(4){--n:3}.folio-plane:nth-child(5){--n:4}.folio-plane:nth-child(6){--n:5}
.folio-plane:before{position:absolute;content:"";inset:0;border:10px solid rgba(255,255,255,.15);z-index:1;pointer-events:none}
.folio-plane img{height:100%;width:100%;object-fit:cover;object-position:center;display:block}
.folio-plane:nth-child(1) img,.folio-plane:nth-child(4) img{object-position:top center}
.folio-plane .folio-no{position:absolute;z-index:2;bottom:10px;right:14px;font:11px Georgia,serif;letter-spacing:.1em;color:#161616;background:rgba(246,245,240,.87);padding:5px 8px}
.folio-plane:hover,.folio-plane:focus-visible{box-shadow:9px 25px 35px rgba(25,23,21,.17);transform:perspective(950px) rotateY(-11deg) translateY(-18px) scale(calc(.81 + var(--n) * .035));z-index:8}
.portfolio-stage-caption{position:absolute;left:4%;right:4%;bottom:20px}
.portfolio-legend{align-items:center;margin-top:14px;font-size:11px}.portfolio-legend p{font:clamp(14px,1.4vw,18px)/1.7 "Yu Mincho","Hiragino Mincho ProN",serif;color:#45413b;margin:0}
.featured-strip{margin-top:25px;border-top:1px solid var(--rule)}
.series-button{width:100%;padding:18px 4px;border:0;border-bottom:1px solid var(--rule);background:transparent;display:grid;grid-template-columns:52px minmax(220px,1fr) minmax(190px,.6fr) 26px;gap:16px;text-align:left;align-items:center;cursor:pointer;color:inherit;transition:background .2s}
.series-button:hover,.series-button:focus-visible{background:rgba(40,38,34,.035)}
.series-button span,.series-button small,.series-button b{font:11px Georgia,serif;letter-spacing:.13em;font-weight:400;color:#68635e}.series-button strong{font:clamp(18px,2.2vw,28px) Georgia,serif;font-weight:400;letter-spacing:.035em}.series-button b{font-size:20px;color:#242424;text-align:right}
.work-index-header{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:clamp(95px,12vw,150px) 0 28px;padding-top:24px;border-top:1px solid var(--rule)}
.work-index-header h3{font:400 clamp(23px,2.9vw,38px)/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;margin:26px 0 0;letter-spacing:.08em}.work-index-header p{font-size:13px;line-height:1.9;color:#68635e}
.work-index{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 13px}
.work-tile{width:100%;min-width:0;background:transparent;border:0;padding:0;cursor:pointer;text-align:left;color:inherit}
.work-tile[hidden]{display:none!important}
.tile-image{background:#eeece6;display:flex;justify-content:center;align-items:center;aspect-ratio:1.05;overflow:hidden;border:1px solid rgba(70,70,65,.08);transition:border-color .3s}
.tile-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .45s ease}
.work-tile:hover .tile-image img,.work-tile:focus-visible .tile-image img{transform:scale(1.055)}
.work-tile:hover .tile-image{border-color:rgba(50,50,45,.33)}
.tile-meta{display:flex;flex-direction:column;gap:4px;margin:11px 0 0;min-height:34px;overflow:hidden}.tile-meta b{font:11px Georgia,"Yu Gothic",sans-serif;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.tile-meta small{font:9px Georgia,serif;letter-spacing:.08em;color:#878179;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.more-works{cursor:pointer;display:block;border:1px solid var(--rule);padding:17px 30px;margin:56px auto 0;background:transparent;letter-spacing:.16em;font:12px Georgia,serif;min-width:240px}.more-works span{margin-left:18px;font-size:18px;vertical-align:middle}.more-works:hover{background:rgba(30,29,28,.045)}
.works-footnote{margin-top:36px;color:#88827b;font-size:12px;line-height:1.8}
.partner-section{padding-top:clamp(100px,11vw,170px);padding-bottom:clamp(100px,11vw,170px)}
.partner-grid{display:grid;grid-template-columns:42% 1fr;gap:7%;align-items:start}
.partner-grid h2{margin:32px 0 14px}.partner-sub{font:11px Georgia,serif;color:#74706b;letter-spacing:.18em}
.partner-body{padding-top:30px}.partner-lead{font:400 clamp(20px,2vw,29px)/1.8 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.06em;margin:0 0 30px}.partner-body>p:not(.partner-lead){font-size:15px;line-height:2.05;color:#4a4843}.partner-body p.partner-clarification{font-size:12px;color:#79736b;margin-top:28px}
.partner-mail{margin-top:27px;padding:18px 0;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;max-width:460px;letter-spacing:.14em;font:12px Georgia,serif}.partner-mail span{font-size:20px}.partner-body small{display:block;font-size:12px;line-height:1.85;color:#817c75;margin-top:19px}
.contact-email{margin-top:26px!important;font:15px Georgia,serif;letter-spacing:.06em;color:#504d48}
footer{flex-wrap:wrap;gap:12px 24px}
.lightbox{position:fixed;z-index:300;inset:0;background:rgba(15,15,13,.93);color:#f7f5f1;display:none;align-items:center;justify-content:center;gap:24px;padding:55px clamp(15px,4vw,65px)}
.lightbox.is-visible{display:flex}.lightbox figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;max-width:calc(100% - 150px);height:100%;margin:0}.lightbox img{display:block;object-fit:contain;max-height:calc(100% - 58px);max-width:100%;width:auto;height:auto;background:#f6f5f0}.lightbox figcaption{font:13px Georgia,"Yu Gothic",sans-serif;letter-spacing:.12em;color:#d0ccc4;text-align:center}.lightbox button{color:#f8f6f2;cursor:pointer;background:transparent;border:1px solid rgba(255,255,255,.26);border-radius:100%;height:48px;min-width:48px;font:24px Georgia,serif}
.lightbox .lightbox-close{position:absolute;right:31px;top:24px;border:0;border-radius:0;min-width:unset;height:30px;font-size:12px;letter-spacing:.13em}
@media(max-width:1050px){.work-index{grid-template-columns:repeat(4,minmax(0,1fr))}.folio-plane{width:30%;left:calc(-9% + var(--n) * 17%)}.partner-grid{gap:4%}.folio-plane:nth-child(1){left:-12%}}
@media(max-width:700px){.section{padding:87px 22px}.works-intro{margin-top:35px;font-size:9px}.portfolio-stage{height:350px}.portfolio-depth{inset:8% 0 16%}.folio-plane{width:56%;left:calc(-44% + var(--n) * 24%);height:83%;top:10%;transform:perspective(600px) rotateY(-21deg) scale(.85)}.folio-plane:nth-child(1){left:-44%}.folio-plane:hover{transform:rotateY(-16deg) scale(.9)}.portfolio-stage-caption{bottom:12px;font-size:9px}.series-button{grid-template-columns:32px 1fr 20px;gap:8px}.series-button strong{font-size:21px}.series-button small{display:none}.work-index-header{display:block}.work-index-header p{margin-top:20px}.work-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.partner-grid{display:block}.partner-body{padding-top:10px}.partner-lead br{display:none}.desktop-only{display:none}footer{justify-content:center;text-align:center}.lightbox{padding:76px 10px 48px;gap:5px}.lightbox figure{max-width:calc(100% - 85px)}.lightbox button{height:36px;min-width:36px;font-size:18px}.lightbox .lightbox-close{right:14px;top:16px}}
@media(prefers-reduced-motion:reduce){.folio-plane,.tile-image img{transition:none}}


/* V04 — exhibition-style curation: depth gallery and diagonal archival ribbons */
.works-section{overflow:hidden;padding-top:clamp(110px,10vw,180px);padding-bottom:clamp(95px,10vw,170px)}
.works-section .ambient-characters{opacity:.27}
.curation-intro,.curation-caption,.curation-details,.visual-wall-foot{font-family:Georgia,serif;font-size:11px;letter-spacing:.13em;color:#77716a;display:flex;justify-content:space-between;align-items:center;gap:24px}
.curation-intro{margin-top:58px;padding:14px 0;border-top:1px solid #d6d1c8}
.curation-caption{margin-top:52px;color:#514c47}.curation-caption span:last-child{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.04em}
.curation-stage{position:relative;height:clamp(340px,44vw,580px);margin:10px -4vw 0;perspective:1500px;transform-style:preserve-3d;overflow:hidden;isolation:isolate}
.curation-stage:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 43% 65% at 50% 55%,rgba(209,205,197,.30),transparent 80%)}
.curation-rail{height:100%;width:100%;position:relative;transform-style:preserve-3d}
.curation-panel{position:absolute;top:50%;left:50%;width:clamp(155px,18vw,268px);height:clamp(239px,29vw,400px);border:0;background:transparent;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:0;cursor:pointer;transition:transform .8s cubic-bezier(.2,.82,.15,1),opacity .65s ease,filter .5s ease;transform-style:preserve-3d;will-change:transform;}
.curation-paper{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100%;height:90%;background:#eae8e1;box-shadow:8px 18px 26px rgba(31,28,25,.16),1px 2px 3px rgba(31,28,25,.06);border:1px solid rgba(35,30,28,.07)}
.curation-panel.is-landscape{width:clamp(210px,24vw,338px);height:clamp(176px,23vw,315px)}
.curation-panel .curation-paper img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:saturate(.78);transition:filter .5s}
.curation-panel:hover .curation-paper img,.curation-panel.current .curation-paper img{filter:saturate(1)}
.curation-panel.current .curation-paper{box-shadow:10px 22px 34px rgba(31,28,25,.17),1px 2px 4px rgba(31,28,25,.07)}
.curation-panel:focus-visible{outline:1px solid #333;outline-offset:5px}
.curation-panel>small{font:10px Georgia,serif;letter-spacing:.1em;text-align:right;color:#777;display:block;padding-top:9px}
.curation-nav{position:absolute;z-index:150;top:48%;transform:translateY(-50%);border:1px solid rgba(50,47,42,.25);border-radius:50%;height:48px;width:48px;background:rgba(246,245,240,.92);color:#222;cursor:pointer;font-family:Georgia,serif;font-size:22px;transition:background .2s}
.curation-nav:hover{background:#e6e3dd}.curation-prev{left:max(4vw,24px)}.curation-next{right:max(4vw,24px)}
.curation-details{padding:16px 0 19px;margin-top:8px;border-bottom:1px solid #d6d1c8;font-size:12px}
.curation-details>div:first-child{min-width:80px}.curation-no{font-size:22px;color:#222}.curation-divider{padding:0 10px;color:#bbb}
.curation-active{display:flex;align-items:baseline;gap:17px;flex:1;justify-content:center}.curation-active strong{font:400 clamp(17px,2vw,27px) Georgia,serif;color:#23201e;letter-spacing:.075em}.curation-active small{font-size:10px;line-height:1.5;color:#89847d;text-transform:uppercase}
#curation-action{font-size:10px;text-align:right;min-width:230px;white-space:nowrap}.curation-progress{height:1px;width:100%;background:#d7d2c8}.curation-progress i{display:block;height:1px;width:0;background:#6d6861;transition:width .5s}
.curation-index-head{display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid #d8d4cc;margin-top:clamp(90px,12vw,165px);padding:22px 0 36px}
.curation-index-head span{font:11px Georgia,serif;letter-spacing:.14em;color:#777}.curation-index-head h3{margin:32px 0 0;font:400 clamp(28px,3vw,45px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.08em}.curation-index-head p{font-size:13px;letter-spacing:.08em;line-height:2.1;color:#777;margin:0 0 12px}
.visual-wall{position:relative;overflow:hidden;min-height:clamp(580px,63vw,920px);background:linear-gradient(126deg,#eeece7,#e9e7e1 41%,#f2f0eb);border-top:1px solid #dad7d0;border-bottom:1px solid #dad7d0;isolation:isolate}
.visual-wall:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px 20px rgba(247,246,242,.45)}
.visual-wall-inner{position:absolute;left:-9%;top:-13%;width:125%;height:126%;display:flex;flex-direction:column;justify-content:center;gap:24px;transform:rotate(-11deg)}
.visual-wall-strip{display:flex;gap:21px;flex:0 0 auto;align-items:stretch;min-width:max-content;height:clamp(190px,19vw,265px);position:relative}
.visual-wall-strip-0{margin-left:-130px}.visual-wall-strip-1{margin-left:45px}.visual-wall-strip-2{margin-left:-220px}
.visual-wall-tile{cursor:pointer;margin:0;width:clamp(143px,14vw,196px);display:flex;flex-direction:column;padding:8px;background:rgba(248,247,243,.85);box-shadow:7px 10px 14px rgba(32,30,27,.12);flex-shrink:0}
.visual-wall-picture{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e7e5e1}
.visual-wall-picture img{display:block;width:100%;height:100%;object-fit:contain;filter:saturate(.26) contrast(.91);transition:filter .3s}
.visual-wall-tile:focus-visible{outline:2px solid #4f4d48;outline-offset:5px}.visual-wall-tile:hover img{filter:saturate(1) contrast(1)}
.visual-wall-tile figcaption{font:9px Georgia,serif;letter-spacing:.08em;margin-top:7px;display:flex;gap:8px;align-items:baseline;justify-content:space-between;white-space:nowrap;overflow:hidden}
.visual-wall-tile figcaption b{font-weight:400}.visual-wall-tile figcaption small{font-size:8px;opacity:.5;max-width:65%;overflow:hidden;text-overflow:ellipsis}
.visual-wall-foot{padding:14px 0 0}.works-section .work-index-header,.works-section .work-index,.works-section .more-works,.works-section .featured-strip{display:none}
@media(max-width:740px){.curation-intro span:last-child,.curation-caption span:last-child,.visual-wall-foot span:last-child{display:none}.curation-stage{height:390px;margin:12px -8vw 0}.curation-panel{width:176px;height:275px}.curation-panel.is-landscape{width:213px;height:195px}.curation-nav{width:38px;height:38px;font-size:18px}.curation-prev{left:10px}.curation-next{right:10px}.curation-details{display:grid;grid-template-columns:60px 1fr;gap:5px 13px}.curation-active{justify-content:flex-start;flex-wrap:wrap;gap:6px}#curation-action{grid-column:2;text-align:left;font-size:9px;min-width:unset}.curation-index-head{display:block}.curation-index-head p{margin-top:20px}.visual-wall{min-height:620px}.visual-wall-inner{width:260%;left:-70%;transform:rotate(-12deg)}.visual-wall-strip{height:205px;gap:12px}.visual-wall-tile{width:145px}}
@media(prefers-reduced-motion:reduce){.curation-panel,.curation-progress i{transition:none}}

#about .about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,235px);align-items:center;column-gap:clamp(36px,7vw,120px)}#about .about-logo{display:block;width:100%;max-width:235px;height:auto;justify-self:center;object-fit:contain}#about .about-grid h2{margin-top:38px}@media(max-width:650px){#about .about-grid{grid-template-columns:minmax(0,1fr) 118px;column-gap:12px;align-items:center}#about .about-logo{max-width:118px}#about .about-grid h2{font-size:clamp(26px,7vw,36px)}#about .lead{font-size:13px;letter-spacing:0;line-height:2.0}}@media(max-width:380px){#about .about-grid{grid-template-columns:1fr}#about .about-logo{width:120px;margin:28px 0 0;justify-self:start}}

/* V06: longer message and explicit services, without altering the works/hero art direction. */
.approach-section{padding-bottom:clamp(104px,10vw,160px)}
.approach-intro{display:grid;grid-template-columns:47% 1fr;column-gap:6%;align-items:start}
.approach-intro h2{margin:35px 0 0}
.approach-prose{padding-top:39px}
.approach-prose p{margin:0 0 27px;color:#35332f;font-size:clamp(14px,1.05vw,16px);line-height:2.15;letter-spacing:.025em}
.deliver-editorial{margin-top:clamp(64px,7vw,110px);margin-bottom:52px;border-top:1px solid #aaa79f;max-width:1090px}
.deliver-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#88847e;font:10px Georgia,serif;letter-spacing:.16em;padding:13px 0 22px}
.deliver-row{display:grid;grid-template-columns:38% 1fr;gap:6%;align-items:center;border-bottom:1px solid #d4d0c7;padding:22px 0 27px}
.deliver-word{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,3.4vw,53px);font-weight:400;letter-spacing:.09em;line-height:1.3;white-space:nowrap}
.deliver-word span{margin-left:17px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#8b8780;font-size:11px;letter-spacing:.15em;vertical-align:middle}
.deliver-row p{margin:0;line-height:2;font-size:clamp(13px,1vw,15px);letter-spacing:.025em}
.deliver-row.deliver-emphasis .deliver-word{font-size:clamp(33px,3.8vw,60px)}
.approach-closing{margin:53px 0 0;line-height:2.25;letter-spacing:.035em;font-size:clamp(14px,1.06vw,16px)}
.approach-closing strong{font-weight:500;color:#22201c}
.services-section{padding-bottom:clamp(105px,10vw,163px)}
.service-opening{display:grid;grid-template-columns:47% 1fr;gap:6%;align-items:start}
.service-opening h2{margin-top:35px}
.service-opening>p{font-size:clamp(14px,1.05vw,16px);line-height:2.15;letter-spacing:.025em;margin:46px 0 0;color:#37352f}
.service-index{margin-top:clamp(65px,7vw,105px);border-top:1px solid #aaa79f}
.service-row{display:grid;grid-template-columns:50px minmax(210px,31%) 1fr;gap:clamp(17px,2.4vw,33px);border-bottom:1px solid #d4d0c7;padding:31px 0 36px;align-items:start}
.service-id{font:12px Georgia,serif;color:#8b8780;padding-top:6px}
.service-name{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(18px,1.5vw,23px);line-height:1.6;letter-spacing:.05em}
.service-name small{display:block;font:10px Georgia,serif;letter-spacing:.11em;color:#847f79;margin-top:8px}
.service-row p{font-size:clamp(13px,1vw,15px);line-height:1.95;letter-spacing:.025em;margin:3px 0 0;color:#403d38}
.service-note{font-size:12px;line-height:2.1;color:#746f68;letter-spacing:.035em;margin:27px 0 0}
@media(max-width:860px){.approach-intro,.service-opening{grid-template-columns:1fr}.approach-prose{padding-top:5px}.service-opening>p{margin:0}.service-row{grid-template-columns:34px minmax(168px,32%) 1fr;gap:15px}}
@media(max-width:650px){.approach-section,.services-section{padding-bottom:92px}.approach-intro h2{margin:30px 0 24px}.approach-prose p{margin-bottom:20px;line-height:2.05}.deliver-editorial{margin-top:53px}.deliver-heading{padding-bottom:5px}.deliver-row{grid-template-columns:1fr;gap:10px;padding:20px 0 23px}.deliver-word,.deliver-row.deliver-emphasis .deliver-word{font-size:34px}.deliver-row p{line-height:1.95}.approach-closing{margin-top:36px}.service-opening h2{margin:30px 0 22px}.service-index{margin-top:45px}.service-row{grid-template-columns:30px 1fr;gap:8px 13px;padding:24px 0 28px}.service-id{grid-column:1;grid-row:1}.service-name{grid-column:2;grid-row:1;font-size:20px}.service-row p{grid-column:2;grid-row:2;margin-top:4px}.service-note{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.deliver-editorial *,.service-index *{animation:none!important}}


/* 2026-10-16 — approved pencil visual + desktop-first editorial breathing room */
@media(min-width:861px){
  main>.section{max-width:1360px;padding-left:clamp(54px,5.9vw,96px);padding-right:clamp(54px,5.9vw,96px);padding-top:clamp(142px,11vw,190px);padding-bottom:clamp(152px,12vw,207px)}
  main>.works-section{padding-top:clamp(155px,12vw,205px);padding-bottom:clamp(160px,12vw,205px)}
  main>.partner-section{padding-top:clamp(155px,12vw,205px);padding-bottom:clamp(160px,12vw,205px)}
  .approach-intro,.service-opening{column-gap:8%;grid-template-columns:minmax(0,46%) minmax(0,46%)}
  .approach-intro h2,.service-opening h2{line-height:1.9}
  .service-opening h2{font-size:clamp(34px,3.05vw,46px);letter-spacing:.01em}
  .approach-prose{padding-top:52px}
  .approach-prose p{margin-bottom:39px}
  .deliver-editorial{margin-top:clamp(108px,10vw,166px);margin-bottom:0}
  .deliver-row{padding-top:36px;padding-bottom:42px}
  .service-index{margin-top:clamp(100px,10vw,154px)}
  .service-row{padding-top:41px;padding-bottom:48px}
  .curation-intro{margin-top:82px}
  .curation-index-head{margin-top:clamp(115px,12vw,180px)}
  #about .about-grid{column-gap:clamp(65px,9vw,155px)}
}
/* One uninterrupted editorial spread: text stays editable, illustration stays faithful */
.thought-landscape{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);align-items:center;gap:0;margin:clamp(102px,10vw,162px) -2.2vw 0;min-height:clamp(455px,43vw,630px);position:relative}
.thought-landscape-copy{padding:30px 0 32px 2.2vw;position:relative;z-index:2}
.thought-annotation{display:flex;align-items:center;gap:14px;font:10px/1.7 Georgia,serif;letter-spacing:.18em;color:#8f8b82}
.thought-annotation i{display:block;width:36px;height:1px;background:#aaa69f}
.thought-landscape .approach-closing{margin:35px 0 0;font-family:"Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(17px,1.3vw,20px);font-weight:400;letter-spacing:.028em;line-height:2.35;max-width:34em;text-wrap:pretty}
.thought-landscape .approach-closing strong{font-weight:500}
.thought-landscape-art{margin:0;position:relative;width:100%;height:100%;min-height:460px;overflow:hidden;isolation:isolate;pointer-events:none}
.thought-landscape-art:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 0%,rgba(246,245,240,.8) 8%,transparent 26%);opacity:.75}
.thought-landscape-art img{display:block;position:absolute;width:100%;height:100%;inset:0;object-fit:contain;object-position:center;mix-blend-mode:multiply; -webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.30) 12%,#000 27%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.30) 12%,#000 27%)}
/* section transitions are intentionally generous, without adding grey cards */
#services,#works,#about,#partners,#contact{scroll-margin-top:30px}
@media(min-width:861px) and (max-width:1100px){
  .thought-landscape{grid-template-columns:minmax(0,47%) minmax(0,53%);margin-left:0;margin-right:-1vw}
  .thought-landscape .approach-closing{font-size:clamp(16px,1.53vw,19px);line-height:2.25}
}
@media(max-width:860px){
  .thought-landscape{grid-template-columns:1fr;margin:65px 0 0;min-height:0}
  .thought-landscape-copy{padding:0 0 8px}
  .thought-landscape .approach-closing{margin:23px 0 0;font-size:clamp(16px,3.8vw,19px);line-height:2.25;letter-spacing:.028em}
  .thought-landscape-art{height:clamp(300px,70vw,540px);min-height:0;margin-top:0}
  .thought-landscape-art:before{opacity:.6}
  main>.section{padding-top:clamp(100px,13vw,135px);padding-bottom:clamp(105px,13vw,140px)}
  .deliver-editorial{margin-top:76px}
  .service-index{margin-top:76px}
}
@media(max-width:650px){
  main>.section{padding:clamp(86px,16vw,112px) 22px clamp(91px,17vw,121px)}
  .thought-landscape{margin-top:67px}
  .thought-landscape .approach-closing{font-size:clamp(16px,4.1vw,18px);line-height:2.35}
  .thought-landscape-art{height:clamp(310px,95vw,440px);margin-left:-6%;width:112%}
  .thought-landscape-art img{object-fit:cover;object-position:55% center}
  .thought-annotation{font-size:9px}
  .service-index{margin-top:55px}
  .curation-index-head{margin-top:106px}
  .deliver-editorial{margin-top:69px}
}
@media(prefers-reduced-motion:reduce){.thought-landscape *{transition:none!important}}


/* Restored the author's original two-paragraph manifesto as real, selectable text. */
.thought-landscape{align-items:center;min-height:clamp(630px,52vw,790px)}
.thought-landscape-copy{padding-top:34px;padding-bottom:36px}
.thought-landscape .approach-closing{font-size:clamp(16px,1.15vw,19px);line-height:2.2}
.thought-landscape-detail{margin-top:clamp(36px,3.7vw,54px);max-width:37em;
  font-family:"Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:400;font-size:clamp(12.5px,.96vw,14px);line-height:2.15;letter-spacing:.025em;color:#55524e}
.thought-landscape-detail p{margin:0;text-wrap:pretty}
.thought-landscape-detail p+p{margin-top:clamp(24px,2.3vw,35px)}
@media(max-width:1100px){
  .thought-landscape-detail{font-size:13px;line-height:2.1}
}
@media(max-width:860px){
  .thought-landscape{min-height:0}
  .thought-landscape-detail{margin-top:34px;max-width:42em;font-size:clamp(13px,1.8vw,15px)}
  .thought-landscape-detail p+p{margin-top:23px}
}
@media(max-width:650px){
  .thought-landscape-detail{font-size:13.5px;line-height:2.05;letter-spacing:.02em;margin-top:31px}
  .thought-landscape-detail p+p{margin-top:22px}
}

/* Technical fixes; approved layout and typography stay in the original cascade above. */
.nav-links{display:contents}
.nav.is-open .nav-links{display:flex;position:absolute;top:100%;right:clamp(21px,4vw,70px);min-width:220px;max-width:calc(100vw - 42px);max-height:70svh;overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px;background:var(--paper);border:1px solid var(--hair)}
.nav.is-open .nav-links a{display:block;padding:16px 0}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.curation-stage{touch-action:pan-y pinch-zoom}
@media(min-width:701px) and (max-width:1100px){.brand-label{display:none}.nav{gap:20px}}
.hero.playing .art-reference{animation:referenceEnter 8.8s both}
.hero.playing .shade{animation:shade 8.8s both}
.hero.playing .wordmark-reveal{animation:reveal 8.8s both}
.hero.playing .replay{animation:replayIn 8.8s forwards}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .hero .art-reference,.hero .shade,.hero .wordmark-reveal,.hero .replay{animation:none!important}
 .hero .art-reference{opacity:0}
 .hero .shade,.hero .wordmark-reveal,.hero .replay{opacity:1;filter:none}
 .hero .wordmark-reveal{transform:translate(-50%,-40%)}
 .field,.glyph,.hairline,.curation-panel,.curation-progress i,.visual-wall-picture img{transition:none!important;animation:none!important}
}
.hero.is-resetting .art-reference,.hero.is-resetting .shade,.hero.is-resetting .wordmark-reveal,.hero.is-resetting .replay{animation:none!important}


/* Approved final service artwork. */

/* Approved service illustrations; art is deliberately smaller than the typographic hierarchy. */
.services-section .service-row{
  grid-template-columns:40px minmax(205px,26%) minmax(190px,28%) minmax(0,1fr);
  gap:clamp(14px,2vw,28px);
  align-items:center;
  padding-top:22px;
  padding-bottom:22px;
  min-height:183px;
}
.services-section .service-name{align-self:center;min-width:0}
.services-section .service-illustration{display:flex;justify-content:center;align-items:center;min-width:0;overflow:visible}
.services-section .service-illustration img{display:block;width:min(100%,275px);height:145px;object-fit:contain;mix-blend-mode:multiply;filter:contrast(1.04);}
.services-section .service-row p{min-width:0;align-self:center;line-height:1.85;overflow-wrap:anywhere}
/* Prevent a one-character orphan in the services lead heading on desktop. */
@media(min-width:861px){
  .services-section .service-opening h2{font-size:clamp(30px,2.8vw,41px);letter-spacing:0;line-height:1.85;}
}
@media(min-width:651px) and (max-width:1040px){
  .services-section .service-row{grid-template-columns:34px minmax(180px,28%) minmax(154px,25%) minmax(0,1fr);gap:13px}
  .services-section .service-illustration img{height:125px}
}
@media(max-width:860px){
  .services-section .service-row{grid-template-columns:30px minmax(0,1fr) minmax(160px,35%);gap:16px;padding:24px 0;min-height:164px}
  .services-section .service-name{grid-column:2;grid-row:1}
  .services-section .service-id{grid-column:1;grid-row:1}
  .services-section .service-illustration{grid-column:3;grid-row:1}
  .services-section .service-illustration img{height:115px;max-width:215px}
  .services-section .service-row p{grid-column:2/4;grid-row:2;margin:-7px 0 0;line-height:1.95}
}
@media(max-width:650px){
  .services-section .service-row{grid-template-columns:25px minmax(0,1fr) 90px;gap:10px;padding:25px 0 29px;min-height:0}
  .services-section .service-name{font-size:clamp(16px,4.35vw,19px);letter-spacing:.015em}
  .services-section .service-name small{font-size:9px;letter-spacing:.09em;margin-top:5px}
  .services-section .service-illustration img{width:90px;height:94px;object-fit:contain}
  .services-section .service-row p{font-size:13px;line-height:1.9;margin-top:-2px;overflow-wrap:normal}
  .services-section .service-opening h2{font-size:clamp(27px,7vw,35px);letter-spacing:.015em}
  .services-section .service-note{font-size:12px}
}
@media(max-width:370px){
  .services-section .service-row{grid-template-columns:24px minmax(0,1fr) 75px;gap:8px}
  .services-section .service-illustration img{width:75px;height:82px}
}

