:root{--ink:#090a0d;--paper:#f4f2ef;--soft:#99999e;--electric:#6f7dff}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper)}
#network{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.9}
.grain{opacity:.08}
.site-header{height:78px;background:rgba(8,9,12,.84);border-bottom:1px solid rgba(255,255,255,.1);padding:0 clamp(22px,3.1vw,60px)}
.brand-dot,.footer-brand span{color:var(--electric)}
.brand-mark{color:var(--electric);border-color:var(--electric)}
.top-nav a.active:after{background:var(--electric)}
.top-nav a:hover{color:var(--electric)}
.header-note{color:#8f9097;letter-spacing:.1em}
main,.site-footer{position:relative;z-index:1}
.site-footer{background:#08090c;border-top:1px solid rgba(255,255,255,.14)}
.scroll-progress{background:var(--electric)}
.art{background-size:300% auto}
.editorial-label{display:flex;gap:32px;align-items:center;color:#aaaab0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:.2em;padding:0 0 70px;text-transform:uppercase}
.editorial-label i{height:1px;flex:1;background:rgba(255,255,255,.22)}
.editorial-hero{position:relative;min-height:670px;height:calc(100svh - 78px);max-height:980px;margin:0 auto;overflow:hidden;isolation:isolate}
.hero-gridline{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(111,125,255,.14) 50%,transparent calc(50% + .5px)),linear-gradient(0deg,transparent calc(50% - .5px),rgba(111,125,255,.1) 50%,transparent calc(50% + .5px));mask-image:linear-gradient(90deg,transparent 10%,#000 65%)}
.hero-micro{position:absolute;top:55px;left:clamp(24px,5vw,88px);right:clamp(24px,5vw,88px);display:flex;justify-content:space-between;font:13px ui-monospace,monospace;color:#a5a5ad;letter-spacing:.18em}
.hero-headline{position:absolute;left:clamp(24px,7vw,130px);top:45%;transform:translateY(-50%);z-index:3;max-width:1000px}
.hero-headline>p:first-child{font-size:14px;letter-spacing:.25em;color:var(--electric);margin:0 0 26px}
.hero-headline h1{margin:0;color:#f1f1f2;font-size:clamp(78px,11vw,190px);line-height:1.03;letter-spacing:-.11em;font-weight:600;text-shadow:0 14px 40px #0505059c}
.hero-headline h1 em{font-family:"Songti SC","Noto Serif SC",serif;font-style:normal;font-weight:500;color:#f8f7f8}
.hero-claim{margin-top:32px;display:flex;gap:28px;color:#b8b7bd;font-size:15px}.hero-claim span+span:before{content:"／";color:var(--electric);margin-right:28px}
.hero-image-link{position:absolute;right:6%;top:11%;width:min(37vw,610px);height:74%;display:block;overflow:hidden;background:#191b24;z-index:1;box-shadow:0 35px 100px #0008;transform:translate(var(--tx,0px),var(--ty,0px));transition:transform .4s ease}
.hero-image{position:absolute;inset:0;background-size:auto 200%;filter:saturate(.8) brightness(.75);transition:filter .6s,transform .9s}.hero-image-link:hover .hero-image{filter:saturate(1.15) brightness(.92);transform:scale(1.07)}
.hero-image-link:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090a0d99,transparent 50%),linear-gradient(90deg,#090a0d44,transparent 55%)}
.hero-image-corner,.hero-image-label{position:absolute;z-index:1;color:#fff;font-family:ui-monospace,monospace;font-size:13px;letter-spacing:.17em}.hero-image-corner{top:27px;right:28px}.hero-image-label{bottom:25px;left:26px;font-family:inherit;font-size:18px;letter-spacing:.04em}
.hero-bottomline{position:absolute;bottom:40px;left:clamp(24px,5vw,88px);right:clamp(24px,5vw,88px);display:flex;justify-content:space-between;align-items:center;font:13px ui-monospace,monospace;letter-spacing:.1em;color:#a2a2a8}
.hero-bottomline button{border:0;background:none;color:#ddd;font:inherit;letter-spacing:inherit}.hero-bottomline button:hover{color:var(--electric)}
.editorial-work-section,.editorial-service-section,.editorial-end,.editorial-page,.editorial-detail,.editorial-about{max-width:1700px;margin:auto;padding:130px clamp(24px,3vw,54px) 80px}
.work-intro{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:100px}.work-intro h2{margin:0;font-size:clamp(66px,10vw,156px);line-height:1;letter-spacing:-.1em;font-weight:500}.work-intro h2 span{font-family:"Songti SC","Noto Serif SC",serif;font-weight:400;color:#c7c4c4}.work-intro p{margin:0 0 10px;color:#9d9da4;font-size:17px;max-width:350px;line-height:1.8}
.editorial-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(90px,16vw,300px);row-gap:120px;align-items:start;padding-bottom:90px}
.editorial-project{min-width:0;display:block;position:relative;transform:translateY(44px);opacity:0;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.editorial-project.is-visible{opacity:1;transform:translateY(0)}
.editorial-project:nth-child(2n){margin-top:210px}
.editorial-project:nth-child(3n){margin-left:8%}
.editorial-project:nth-child(4n){margin-right:7%}
.project-meta{display:flex;justify-content:space-between;font:clamp(15px,1.4vw,22px) ui-monospace,SFMono-Regular,monospace;letter-spacing:.18em;color:#a6a6ad;margin-bottom:22px}
.project-media{position:relative;aspect-ratio:1.53;overflow:hidden;background:#181922}
.project-art{position:absolute;inset:0;transform:scale(1.01) translate(var(--tx,0px),var(--ty,0px));transition:transform .7s ease,filter .7s ease;filter:saturate(.94)}
.editorial-project:hover .project-art{transform:scale(1.09) translate(var(--tx,0px),var(--ty,0px));filter:saturate(1.22)}
.project-over{position:absolute;right:22px;bottom:18px;padding:8px 12px;background:#090a0dbd;backdrop-filter:blur(8px);font-size:13px;opacity:0;transform:translateY(7px);transition:opacity .3s,transform .3s}.editorial-project:hover .project-over{opacity:1;transform:none}
.project-caption{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-top:22px}.project-caption h3{font-size:clamp(23px,2.25vw,39px);line-height:1.3;letter-spacing:-.055em;margin:0;font-weight:600}.project-caption>div{text-align:right;color:#aaaab1;font:13px ui-monospace,monospace;line-height:1.7;white-space:nowrap}.project-caption small{display:block;font-size:12px;color:#777984}.editorial-project:hover .project-caption h3{color:#9ca5ff}
.editorial-service-section{padding-top:160px}.services{border-top:1px solid rgba(255,255,255,.2)}.service-row{min-height:300px;border-bottom:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:5% 28% 34% 1fr;gap:2%;align-items:center;padding:35px 0}.service-no{color:var(--electric);font:15px ui-monospace,monospace}.service-name h3{font-family:"Songti SC","Noto Serif SC",serif;font-size:clamp(48px,5vw,92px);font-weight:400;line-height:1.1;letter-spacing:-.09em;margin:0 0 15px}.service-name small{font:12px ui-monospace,monospace;color:#c4c3c6;letter-spacing:.2em}.service-row>p{color:#adadb3;max-width:430px;font-size:clamp(16px,1.4vw,23px);line-height:1.8;margin:0}.service-images{display:flex;gap:12px;justify-content:flex-end}.service-images a{width:48%;max-width:200px;aspect-ratio:1.16;position:relative;overflow:hidden;background:#1b1e26}.service-images a .art{position:absolute;inset:0;transition:transform .55s,filter .55s;filter:saturate(.75)}.service-images a:hover .art{transform:scale(1.12);filter:saturate(1.2)}
.editorial-end{padding-top:160px;padding-bottom:160px}.editorial-end h2{font:400 clamp(70px,10vw,160px)/1.2 "Songti SC","Noto Serif SC",serif;letter-spacing:-.1em;margin:0 0 45px}.editorial-end>a{display:inline-block;border-bottom:1px solid var(--electric);font-size:19px;padding-bottom:9px}.editorial-end>a:hover{color:var(--electric)}
.editorial-page{min-height:100vh;padding-top:80px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:55px}.catalog-heading h1{font-size:clamp(60px,8vw,125px);font-weight:500;letter-spacing:-.09em;margin:0}.catalog-heading h1 span{font:14px ui-monospace,monospace;color:#95969e;vertical-align:top;letter-spacing:.1em}.catalog-heading p{color:#999aa1;font-size:16px;margin:0 0 13px}.editorial-filters{padding-bottom:70px}.editorial-filters button{border:0;border-bottom:1px solid #555861;background:none;padding:12px 18px;color:#9fa0a7}.editorial-filters button.selected,.editorial-filters button:hover{background:none;color:#f5f5f6;border-color:var(--electric)}.catalog-gallery{row-gap:90px}.catalog-gallery .editorial-project:nth-child(2n){margin-top:135px}
.editorial-detail{padding-top:60px;padding-bottom:90px}.detail-topline{display:flex;justify-content:space-between;color:#a5a5ac;font:13px ui-monospace,monospace;letter-spacing:.12em}.detail-topline a:hover{color:var(--electric)}.detail-editorial-title{margin:90px 0 38px}.detail-editorial-title>span{font:14px ui-monospace,monospace;color:var(--electric);letter-spacing:.15em}.detail-editorial-title h1{font-size:clamp(78px,13vw,200px);letter-spacing:-.11em;line-height:1.05;margin:15px 0 0;font-weight:500}.detail-editorial-image{height:min(72vw,830px);min-height:360px;position:relative;overflow:hidden;background:#1a1c25}.detail-editorial-image .art{position:absolute;inset:0;animation:detail-drift 18s ease-in-out infinite alternate}.detail-editorial-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:70px 0;border-bottom:1px solid #3a3a42}.detail-editorial-copy span{color:var(--electric);font:13px ui-monospace,monospace}.detail-editorial-copy h2{font:400 clamp(46px,6vw,88px) "Songti SC",serif;margin:15px 0 0}.detail-editorial-copy p{font-size:18px;color:#b8b8c0;line-height:2;max-width:660px;margin:0}.detail-editorial-facts{display:flex;justify-content:space-between;gap:25px;padding:36px 0 80px}.detail-editorial-facts div{display:flex;gap:24px}.detail-editorial-facts span{color:#898a94}.detail-editorial-facts strong{font-weight:500}.detail-next{border-top:1px solid #3a3a42;padding-top:40px;display:flex;align-items:center;gap:25px}.detail-next small{font-size:13px;color:#a1a1a8}.detail-next strong{font-size:clamp(35px,5vw,75px);font-weight:500}.detail-next span{margin-left:auto;font-size:40px;color:var(--electric)}.detail-next:hover strong{color:#9da5ff}
.editorial-about{min-height:90vh}.editorial-about h1{font-size:clamp(50px,8vw,130px);font-weight:500;letter-spacing:-.1em;line-height:1.25;margin:10px 0 100px}.editorial-about h1 em{font-family:"Songti SC",serif;font-style:normal;color:#a8afff}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid #383942;padding-top:35px}.about-layout p{font-size:20px;line-height:2;color:#b6b6be;margin:0}.about-layout a{display:flex;align-items:center;gap:25px;border-bottom:1px solid #3b3b44;padding:13px 0;font-size:21px}.about-layout a span{font:13px ui-monospace,monospace;color:var(--electric)}.about-layout a b{margin-left:auto;font-weight:400}.about-layout a:hover{color:#9da5ff}
.reveal{opacity:0;transform:translateY(45px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.editorial-hero{min-height:610px}.hero-image-link{width:43vw;right:3%}.hero-headline h1{font-size:clamp(76px,10vw,125px)}.editorial-gallery{column-gap:8vw}.service-row{grid-template-columns:5% 28% 32% 1fr}.service-images a{aspect-ratio:1}.service-name h3{font-size:clamp(44px,5vw,72px)}}
@media(max-width:700px){.site-header{height:66px}.header-note{display:none}.editorial-hero{height:730px;min-height:0}.hero-micro{top:25px;font-size:11px}.hero-micro span:last-child{display:none}.hero-image-link{top:76px;right:6%;height:300px;width:65%;opacity:.9}.hero-headline{left:24px;right:20px;top:404px;transform:none}.hero-headline h1{font-size:clamp(62px,14vw,95px)}.hero-headline>p:first-child{font-size:12px}.hero-claim{font-size:12px;gap:5px;flex-wrap:wrap}.hero-claim span+span:before{margin-right:6px}.hero-bottomline{bottom:25px;font-size:11px}.editorial-work-section,.editorial-service-section,.editorial-end,.editorial-page,.editorial-detail,.editorial-about{padding-left:22px;padding-right:22px;padding-top:80px}.editorial-label{padding-bottom:40px;font-size:11px;gap:12px}.work-intro{display:block;margin-bottom:55px}.work-intro h2{font-size:65px}.work-intro p{font-size:15px;margin-top:22px}.editorial-gallery{display:block;padding-bottom:0}.editorial-project,.editorial-project:nth-child(2n),.editorial-project:nth-child(3n),.editorial-project:nth-child(4n){margin:0 0 75px}.project-meta{font-size:13px;margin-bottom:14px}.project-caption h3{font-size:27px}.project-caption>div{font-size:11px}.project-media{aspect-ratio:1.45}.service-row{grid-template-columns:32px 1fr;gap:15px;min-height:0;padding:38px 0}.service-no{grid-column:1;grid-row:1}.service-name{grid-column:2;grid-row:1}.service-name h3{font-size:58px}.service-row>p{grid-column:2;font-size:16px}.service-images{grid-column:2;justify-content:flex-start;width:100%;margin-top:5px}.service-images a{max-width:185px}.editorial-end h2{font-size:70px}.catalog-heading{display:block}.catalog-heading h1{font-size:60px}.catalog-heading p{margin-top:16px}.editorial-filters{padding-bottom:45px}.catalog-gallery .editorial-project:nth-child(2n){margin-top:0}.detail-editorial-title{margin:55px 0 28px}.detail-editorial-title h1{font-size:74px}.detail-editorial-image{height:450px;min-height:0}.detail-editorial-copy{grid-template-columns:1fr;gap:25px;padding:40px 0}.detail-editorial-copy h2{font-size:48px}.detail-editorial-copy p{font-size:16px}.detail-editorial-facts{display:block}.detail-editorial-facts div{justify-content:space-between;padding:13px 0;border-bottom:1px solid #2c2d35}.detail-next strong{font-size:35px}.editorial-about h1{font-size:55px;margin-bottom:60px}.about-layout{grid-template-columns:1fr;gap:35px}.about-layout p{font-size:16px}#network{display:none}#mouse-trail{display:none}}
@media(prefers-reduced-motion:reduce){.reveal,.editorial-project{opacity:1;transform:none}#network,#mouse-trail{display:none}.detail-editorial-image .art{animation:none}}
@media(max-width:700px){.detail-editorial-image .art{background-size:auto 200%}}
#network{opacity:.46}
#app:focus{outline:none}
@media(max-width:700px){#network{display:none}}

/* Motion follows the image and leaves the page's layout unchanged. */
#mouse-trail{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.8;mix-blend-mode:screen}
.hero-image-link::before,.editorial-project .project-media::before,.service-images a::before,.detail-editorial-image::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .28s ease;background:radial-gradient(circle 185px at var(--mx,50%) var(--my,50%),rgba(167,172,255,.23),rgba(136,148,255,.07) 45%,transparent 78%);mix-blend-mode:screen}
.hero-image-link.is-pointer-lit::before,.editorial-project.is-pointer-lit .project-media::before,.service-images a.is-pointer-lit::before,.detail-editorial-image.is-pointer-lit::before{opacity:1}
.hero-image-corner,.hero-image-label{z-index:3}
.project-over{z-index:3}
@media(max-width:700px),(prefers-reduced-motion:reduce){#mouse-trail{display:none}.hero-image-link::before,.editorial-project .project-media::before,.service-images a::before,.detail-editorial-image::before{display:none}}
