@font-face{font-family:YamiSerif;src:url('assets/editorial-serif.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{color-scheme:light;--paper:#f4f1e9;--ink:#0c3c30;--muted:#466358;--line:#aab5a8;--seal:#b3452f;font-family:YamiSerif,"Songti SC",serif;font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 20% 18%,#fff9ed66,transparent 60%)}
button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:500}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--seal);outline-offset:6px}::selection{background:var(--ink);color:var(--paper)}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-thumb{background:#7b9284}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}
.skip{position:fixed;top:-70px;left:20px;background:var(--ink);color:var(--paper);padding:12px;z-index:10}.skip:focus{top:12px}.site-header{height:76px;margin:0 4.8%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:13px;font-size:23px;letter-spacing:.08em}.brand-symbol{width:27px;height:42px;background:var(--ink);mask:var(--brand-mask) center/contain no-repeat}nav{display:flex;gap:36px;font-size:15px;letter-spacing:.15em}nav a:hover{text-decoration:underline;text-underline-offset:8px}
.hero{height:calc(58vw - 76px);max-height:760px;min-height:470px;margin:0 4.8%;position:relative;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:1;padding-top:6.5vw;pointer-events:none;width:58%}.hero-copy a{pointer-events:auto}h1{font-size:clamp(64px,9.9vw,142px);letter-spacing:-.04em;line-height:1.24;white-space:nowrap}.hero-intro{display:flex;align-items:center;gap:35px;margin-top:20px}.hero-intro p{font-size:clamp(14px,1.75vw,25px);letter-spacing:.16em;white-space:nowrap}#brand-seal{width:48px;height:54px;object-fit:contain}.text-link{display:inline-flex;align-items:center;gap:24px;background:none;border:0;padding:0;font-size:17px;letter-spacing:.09em}.text-link svg{width:60px;height:16px;stroke:currentColor;stroke-width:1;fill:none;transition:transform .25s ease}.text-link:hover svg{transform:translateX(6px)}.explore{margin-top:48px}.explore::first-letter{text-decoration:underline}.particle-stage{position:absolute;right:-5.3%;top:0;width:64%;height:100%;overflow:hidden}#particles{width:100%;height:100%;display:block;touch-action:pan-y}.stage-controls{position:absolute;right:0;bottom:15px;display:flex;align-items:center;gap:20px;z-index:2;font-family:"PingFang SC",sans-serif;font-size:12px;color:var(--muted)}.stage-controls button{border:0;background:var(--paper);padding:6px 0;font-size:12px}.stage-controls button:hover{color:var(--seal)}.stage-caption{margin-right:12px}
.section-wrap{margin:0 4.8%}.works{padding:35px 0 28px}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}h2{font-size:clamp(28px,4.5vw,64px);line-height:1.35;letter-spacing:-.035em}.section-heading p{font-size:clamp(14px,1.85vw,26px);line-height:1.7}.work-grid{display:grid;grid-template-columns:1.75fr 1fr;gap:24px}.brand-art,.flow-art{position:relative;overflow:hidden;aspect-ratio:1.07}.brand-art{isolation:isolate}.paper-photo{width:100%;height:100%;display:block;object-fit:cover}.brand-ink{position:absolute;width:53%;height:auto;top:26%;left:39%;transform:rotate(-10deg);mix-blend-mode:multiply;pointer-events:none}.flow-art{aspect-ratio:auto;height:100%;min-height:0;background:#eeeae0}.flow-work{display:grid;grid-template-rows:minmax(0,1fr) auto}#growth{width:100%;height:100%;display:block;touch-action:pan-y}figcaption{padding-top:10px;display:flex;justify-content:space-between;align-items:end;gap:8px}.brand-work figcaption{display:block}figcaption h3{font-size:clamp(17px,1.9vw,27px);line-height:1.5}figcaption p{font-size:14px;letter-spacing:.16em;color:var(--muted);margin-top:3px}figcaption .text-link{font-size:13px;gap:10px;white-space:nowrap;padding-bottom:3px}figcaption .text-link svg{width:38px}.services{padding:42px 0 50px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.9fr 1fr 1fr 1fr;align-items:center;gap:0}.services h2{font-size:clamp(28px,4.2vw,60px)}.service-item{padding:0 0 0 26px;border-left:1px solid var(--line)}.service-item h3{font-size:clamp(18px,2.3vw,32px);line-height:1.5}.service-item p{font-size:clamp(12px,1.5vw,20px);margin-top:7px;white-space:nowrap;color:var(--muted)}footer{background:#103f33;color:var(--paper);padding:12px 4.8% 28px;display:flex;align-items:center;justify-content:space-between;min-height:230px}.footer-word{font-size:clamp(110px,19vw,270px);line-height:1.14;letter-spacing:.01em}.footer-copy{padding-top:20px}.footer-copy>p{font-size:clamp(18px,2.4vw,34px);letter-spacing:.04em}.footer-rule{display:block;width:50px;height:1px;background:#a9bbae;margin:24px 0 16px}.footer-copy .footer-name{font-size:18px;letter-spacing:.15em}
.lab{padding:42px 0 12px;border-top:1px solid var(--line);margin-top:34px}.lab-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.lab h2{font-size:36px}.lab-heading p{font-size:14px;margin-top:10px}.quiet-button{background:none;border:0;border-bottom:1px solid var(--muted);padding:8px 0;white-space:nowrap}.lab-layout{display:grid;grid-template-columns:1fr 290px;gap:45px;font-family:"PingFang SC",sans-serif}.image-stage{background:#153d30;position:relative;display:flex;align-items:center;justify-content:center;height:490px;overflow:hidden}.image-stage canvas{width:100%;height:100%;object-fit:contain}.image-top,.image-bottom{position:absolute;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;color:white;gap:12px;font-size:12px}.image-top{top:16px}.image-bottom{bottom:16px}.image-top span,.image-bottom>span{background:#153d30;padding:7px 10px}#image-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-bottom button{padding:8px 12px;background:var(--paper);color:var(--ink);border:0;font-size:12px;flex-shrink:0}.lab-controls h3{font-size:24px;font-family:YamiSerif,serif}.upload{display:block;margin:22px 0 10px;border:1px solid #8b9d8d;padding:12px;cursor:pointer;font-size:14px}.upload:hover{background:#e1e5d8}#upload{position:absolute;width:1px;height:1px;opacity:0}.upload:has(+input:focus-visible){outline:2px solid var(--seal);outline-offset:4px}.lab-controls small{font-size:12px;color:var(--muted);line-height:1.8}fieldset{border:0;padding:0;margin:22px 0}legend{font-size:12px;margin-bottom:12px}.swatches{display:flex;gap:22px}.swatch{padding:0 0 6px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;display:grid;gap:8px}.swatch.active{border-color:var(--ink);color:var(--ink)}.swatch i{height:25px;width:50px;background:linear-gradient(90deg,var(--a) 50%,var(--b) 50%)}.range-label{font-size:12px;display:flex;justify-content:space-between}input[type=range]{accent-color:var(--ink);width:100%;margin:16px 0 22px;cursor:pointer}.download{border:0;background:var(--ink);color:var(--paper);width:100%;padding:14px;font-size:14px}.reset{border:0;background:none;width:100%;margin-top:8px;font-size:12px;padding:7px}#status{min-height:38px;line-height:1.6;font-size:12px;color:var(--muted);margin-top:8px}
@media(min-width:1500px){.site-header,.hero,.section-wrap{max-width:1356px;margin-left:auto;margin-right:auto}.hero-copy{padding-top:95px}.hero{height:790px}footer{padding-left:max(4.8%,calc((100vw - 1356px)/2));padding-right:max(4.8%,calc((100vw - 1356px)/2))}}
@media(max-width:900px){.hero{min-height:440px}.hero-copy{padding-top:55px}.hero-intro{gap:15px}.hero-intro p{letter-spacing:.08em}.explore{margin-top:30px}.stage-caption{display:none}.section-heading p{max-width:16em}.work-grid{gap:18px}figcaption{align-items:start;flex-direction:column}figcaption .text-link{margin-top:5px}.service-item{padding-left:17px}.lab-layout{gap:24px;grid-template-columns:1fr 250px}.image-stage{height:470px}}
@media(max-width:600px){.site-header{height:72px;margin:0 6%}.brand{font-size:17px;gap:8px}.brand-symbol{width:21px;height:31px}nav{gap:19px;font-size:13px}.hero{margin:0 6%;min-height:0;height:660px}.hero-copy{padding-top:24px;width:100%}h1{font-size:clamp(44px,11.9vw,70px);letter-spacing:-.04em;line-height:1.3}.hero-intro{margin-top:18px;gap:13px}.hero-intro p{font-size:12px;letter-spacing:.06em}#brand-seal{width:29px;height:34px}.explore{margin-top:22px;font-size:14px;gap:18px}.text-link svg{width:45px}.particle-stage{top:245px;right:-6.8%;width:100%;height:390px}.stage-controls{gap:22px;bottom:12px;font-size:12px}.section-wrap{margin:0 6%}.works{padding:28px 0}.section-heading{display:block;margin-bottom:20px}h2{font-size:30px;letter-spacing:-.035em}.section-heading p{margin-top:12px;font-size:13px;max-width:none}.work-grid{grid-template-columns:1fr;gap:28px}.brand-art{aspect-ratio:1.07}.flow-art{aspect-ratio:.95;height:auto}.flow-work{width:86%;margin-left:auto}figcaption{flex-direction:row;align-items:end}figcaption h3{font-size:18px}figcaption p{font-size:12px}figcaption .text-link{font-size:12px;gap:8px}.services{padding:28px 0 34px;grid-template-columns:repeat(3,1fr);gap:22px 0}.services h2{grid-column:1/-1;font-size:30px}.service-item{padding-left:12px}.service-item:nth-child(2){border:0;padding-left:0}.service-item h3{font-size:17px}.service-item p{font-size:12px;white-space:normal;line-height:1.7}footer{padding:22px 6%;min-height:165px;gap:15px}.footer-word{font-size:88px;white-space:nowrap}.footer-copy{padding:0}.footer-copy>p{font-size:13px;white-space:nowrap}.footer-rule{width:28px;margin:16px 0 10px}.footer-copy .footer-name{font-size:12px}.lab{margin-top:26px;padding-top:26px}.lab h2{font-size:25px}.lab-heading{align-items:start}.lab-heading p{font-size:12px;line-height:1.7}.quiet-button{font-size:12px}.lab-layout{grid-template-columns:1fr;gap:24px}.image-stage{height:320px}.lab-controls{max-width:none}.lab-controls h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

#brand-ink,#brand-seal{opacity:0}#brand-ink.is-ready,#brand-seal.is-ready{opacity:1}

.brand-story{align-self:center;padding:24px 5%;line-height:1.9}.brand-story h3{font-size:clamp(24px,3vw,42px)}.brand-story p{margin:16px 0;color:var(--muted)}.brand-story a{margin-top:12px;text-decoration:underline;text-underline-offset:5px}
