@charset "UTF-8";
:root{--paper:#eee8dc;--ink:#252721;--red:#a13b30;--muted:#696a5e;--line:#3c3a282a;--serif:"KaiTi","STKaiti","Kaiti SC","FangSong","Noto Serif SC",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px}body:after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:6px}::selection{background:#a13b302b}.red{color:var(--red)}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--paper);padding:12px}.skip:focus{top:10px}.header{height:92px;display:flex;align-items:center;gap:38px;padding:0 5%;position:absolute;z-index:20;top:0;left:0;right:0;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-family:Georgia,serif;font-size:25px;letter-spacing:1px;white-space:nowrap}.brand img{width:33px;height:33px;filter:grayscale(1);mix-blend-mode:multiply}.brand small{font-family:var(--sans);display:block;font-size:8px;letter-spacing:3.2px;margin-top:5px}.header nav{display:flex;gap:38px;margin-left:auto;font-size:12px;letter-spacing:2px}.header nav a{padding:12px 0}.header a:hover,.header a[aria-current]{color:var(--red)}.language{border-left:1px solid var(--line);padding:8px 0 8px 25px;font:11px Georgia,serif;letter-spacing:1px}.language span{margin-left:10px}
.journey{position:relative}.stage{min-height:800px;position:relative;overflow:hidden}.paintings{position:absolute;inset:0;pointer-events:none}.painting{position:absolute;inset:0;background-size:cover;background-position:center;mix-blend-mode:multiply;opacity:0;will-change:transform,opacity;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 91%,transparent 100%)}.mountains{background-image:url('/assets/mountains.webp');opacity:.9}.river{background-image:url('/assets/river.webp')}.red-sun{position:absolute;width:110px;aspect-ratio:1;border-radius:50%;left:56%;top:23%;background:radial-gradient(circle at 42% 30%,#ba4e40d9,#9e362dbf 60%,#9e362d00 72%);mix-blend-mode:multiply;opacity:.8}.paper-light{position:absolute;inset:0;background:linear-gradient(90deg,#eee8dc99,transparent 57%);pointer-events:none}#ink-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.topline{position:absolute;top:129px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2.4px;color:var(--muted)}.topline i{display:inline-block;width:28px;height:1px;background:var(--muted);vertical-align:middle;margin:0 12px}.edition{font-family:Georgia,serif;font-size:10px;letter-spacing:2px}.story-copy{position:relative;padding:215px 9% 140px}.chapter{position:relative;margin-bottom:150px;max-width:650px}.chapter.right{margin-left:auto}.eyebrow{font-size:10px;font-weight:400;letter-spacing:2.7px;margin:0 0 28px;display:flex;align-items:center;gap:15px;color:var(--muted)}.eyebrow>span{font-family:var(--serif);font-size:16px;color:var(--red);border:1px solid #a13b3066;line-height:27px;width:26px;text-align:center;letter-spacing:0}.chapter h1,.chapter h2{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.8vw,96px);letter-spacing:.035em;line-height:1.34;margin:0 0 27px}.chapter h2{font-size:clamp(45px,5.5vw,87px)}.intro-rule{width:41px;height:2px;background:var(--red);margin:28px 0}.service-line{font-size:11px;letter-spacing:1.9px;margin:22px 0 12px}.chapter-description{font-size:12px;letter-spacing:.7px;line-height:2.25;color:#53564c;max-width:480px;margin:0 0 27px}.text-link{display:inline-flex;align-items:center;gap:36px;font-size:11px;letter-spacing:1.4px;border-bottom:1px solid #807e6966;padding:0 0 10px;min-height:36px}.text-link span{font-size:20px;color:var(--red)}.text-link:hover{color:var(--red)}.seal{display:block;border:2px solid var(--red);width:42px;color:var(--red);font-family:var(--serif);font-size:17px;line-height:18px;padding:3px;transform:rotate(-6deg);margin-top:33px;opacity:.8}.chapter-note{display:block;font-family:var(--serif);font-size:17px;letter-spacing:2px;border-left:2px solid var(--red);padding-left:15px;margin-top:32px}.vertical-note{position:absolute;right:3%;top:42%;writing-mode:vertical-rl;letter-spacing:6px;font-family:var(--serif);font-size:13px;color:var(--muted)}.stage-bottom{position:absolute;bottom:33px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:22px}.scroll-cue{display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:2px;color:var(--muted)}.scroll-line{height:37px;width:1px;background:linear-gradient(var(--red),#a13b3010)}.chapter-nav{display:flex;gap:20px}.chapter-nav a{width:27px;height:30px;display:grid;place-items:center;font-family:var(--serif);font-size:13px;color:#747668;position:relative}.chapter-nav a[aria-current]{color:var(--red)}.chapter-nav a[aria-current]:after{content:"";position:absolute;bottom:-7px;width:4px;height:4px;background:var(--red);border-radius:50%}#motion{background:none;border:0;font-size:9px;letter-spacing:1px;min-height:36px;padding:8px 0;color:var(--muted)}#motion span{margin-left:13px;color:var(--red)}.progress{height:2px;position:absolute;bottom:0;left:0;right:0;background:var(--line)}.progress i{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.motion-ready .journey{height:850svh}.motion-ready .stage{height:100svh;min-height:650px;position:sticky;top:0}.motion-ready .story-copy{padding:0;position:absolute;inset:0}.motion-ready .chapter{position:absolute;top:27%;left:9%;width:46%;margin:0;max-width:690px;opacity:0;visibility:hidden;will-change:transform,opacity}.motion-ready .chapter:first-child{opacity:1;visibility:visible}.motion-ready .chapter.right{left:54%;width:40%}.motion-ready .stage[data-scene="4"] .red-sun{opacity:0}.section{padding:95px 8%}.section-label{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;font-size:9px;letter-spacing:2px;color:var(--muted)}.section-label>span:first-child{color:var(--red)}.studio{background:linear-gradient(#eee8dc,#e8e1d3)}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:60px 0}.studio h2,.contact h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,70px);font-weight:400;line-height:1.35;margin:0;letter-spacing:2px}.studio-grid p{font-size:13px;line-height:2.3;color:var(--muted);max-width:490px}.studio-grid .studio-lead{font-family:var(--serif);font-size:27px;color:var(--ink);margin:0 0 20px}.studio-grid .text-link{margin-top:20px}.capabilities{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-top:30px;gap:25px}.capabilities>span{font-family:var(--serif);font-size:24px;letter-spacing:2px}.capabilities small{display:block;font:8px Georgia,serif;letter-spacing:2px;color:var(--muted);margin-top:15px}.contact{position:relative;padding-top:65px;padding-bottom:75px}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding-top:42px;align-items:center}.contact .eyebrow{margin-bottom:15px}.contact h2{font-size:clamp(38px,4.5vw,66px)}.contact-team a{display:grid;grid-template-columns:48px 1fr 20px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font:13px Georgia,serif}.contact-team a:first-child{border-top:1px solid var(--line)}.contact-team a>span:first-child{color:var(--muted);font-size:11px}.contact-team b{font-size:19px;font-weight:400;color:var(--red)}.contact-team a:hover{color:var(--red)}footer{padding:28px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:var(--muted)}
/* Work stays a separate, quieter gallery. */
.work-page main{padding-top:92px}.work-intro{padding-top:60px;padding-bottom:30px}.work-title{display:flex;justify-content:space-between;align-items:end;margin:42px 0 20px;gap:30px}.work-title h1{font:normal clamp(50px,6vw,88px)/1.1 var(--serif);letter-spacing:4px;margin:0}.work-title p{font-size:12px;line-height:2;color:var(--muted);margin:0}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 27px}.work-gallery{padding-top:20px}.project{background:none;border:0;padding:0;text-align:left;display:block;width:100%}.project-image{position:relative;aspect-ratio:1;overflow:hidden;background:#d7d1c5}.project-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.18);transition:filter .5s,transform .6s}.project:hover img,.project:focus-visible img{filter:none;transform:scale(1.035)}.project-index{position:absolute;top:14px;left:14px;color:white;background:#25272166;padding:5px 8px;font:10px Georgia,serif}.project-arrow{position:absolute;bottom:14px;right:14px;color:var(--paper);font-size:22px}.project h2{font-family:var(--serif);font-size:24px;font-weight:400;line-height:1.4;margin:17px 0 10px}.project p{font-size:11px;line-height:1.9;color:var(--muted);margin:10px 0}.project-meta{font-size:8px;letter-spacing:1px;color:var(--red)}.project-media{font-size:10px;color:var(--red);display:block;margin-top:12px}.archive{display:flex;justify-content:space-between;align-items:center;margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;font-size:12px;letter-spacing:1px}.archive span{color:var(--red)}dialog{padding:0;border:1px solid #79746466;background:var(--paper);color:var(--ink);width:min(820px,92vw);max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#171911bb;backdrop-filter:blur(5px)}dialog>img{display:block;width:100%;max-height:43svh;object-fit:cover}.dialog-close{position:absolute;right:15px;top:15px;border:1px solid #aaa;background:var(--paper);width:42px;height:42px;font-size:20px;border-radius:50%;z-index:2}.dialog-body{padding:30px}.dialog-body h2{font:normal 36px/1.4 var(--serif);margin:12px 0 20px}.dialog-body p{font-size:13px;line-height:2;color:var(--muted)}.dialog-body .eyebrow{color:var(--red)}.media-links{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.media-links a{padding:12px 15px;border:1px solid var(--red);font-size:11px;color:var(--red);min-height:44px}.media-links a:hover{background:var(--red);color:var(--paper)}body.modal-open{overflow:hidden}
@media(min-width:1500px){.chapter-description{font-size:14px}.service-line{font-size:13px}.eyebrow{font-size:11px}.motion-ready .chapter{top:28%}}
@media(max-width:1000px){.header{gap:20px}.header nav{gap:23px}.chapter h1,.chapter h2{font-size:59px}.motion-ready .chapter{left:7%;width:50%}.motion-ready .chapter.right{left:48%;width:45%}.chapter-description{font-size:11px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-team a{gap:12px}.vertical-note{right:2%}.story-copy{padding-left:7%;padding-right:7%}}
@media(max-width:600px){.header{height:76px;padding:0 6%;gap:14px}.brand{font-size:18px;gap:7px}.brand img{width:27px;height:27px}.brand small{font-size:6px;letter-spacing:2px}.header nav{gap:18px;font-size:10px;letter-spacing:0}.header nav a:first-child,.header nav a:nth-child(3){display:none}.language{padding-left:12px;font-size:10px}.topline{top:106px;left:7%;right:7%;font-size:8px;letter-spacing:1px}.edition{display:none}.motion-ready .journey{height:740svh}.motion-ready .stage{min-height:620px}.motion-ready .chapter,.motion-ready .chapter.right{top:23%;left:8%;width:84%}.chapter h1,.chapter h2{font-size:clamp(43px,11vw,64px);line-height:1.4;margin-bottom:22px}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:20px}.eyebrow>span{font-size:13px;width:23px;line-height:24px}.service-line{font-size:10px;letter-spacing:.6px;line-height:1.9;margin:15px 0 10px}.chapter-description{font-size:11px;line-height:2.1;max-width:90%;margin-bottom:18px}.chapter-description br{display:none}.intro-rule{margin:20px 0}.seal{margin-top:24px;width:34px;font-size:13px;line-height:14px}.chapter-note{font-size:14px;margin-top:22px}.text-link{font-size:10px}.painting{background-size:auto 76%;background-repeat:no-repeat;background-position:70% bottom;mask-image:linear-gradient(transparent 18%,#000 48%,#000 92%,transparent)}.river{background-position:35% bottom}.paper-light{background:linear-gradient(#eee8dc 15%,#eee8dcbd 53%,transparent 79%)}.red-sun{width:62px;left:71%;top:64%}.vertical-note{top:72%;right:5%;font-size:10px;letter-spacing:4px}.stage-bottom{bottom:24px;left:7%;right:7%;gap:10px;flex-wrap:wrap}.scroll-cue{font-size:8px;letter-spacing:.7px;gap:10px}.chapter-nav{gap:7px}.chapter-nav a{font-size:12px;width:21px}.scroll-line{height:25px}#motion{font-size:8px;width:100%;text-align:right;min-height:25px;padding:0}.section{padding:58px 7%}.section-label{font-size:8px;letter-spacing:1px}.section-label>span:last-child{display:none}.studio-grid{grid-template-columns:1fr;gap:30px;padding:34px 0}.studio h2,.contact h2{font-size:43px}.studio-grid .studio-lead{font-size:24px}.studio-grid p{font-size:12px}.capabilities{grid-template-columns:1fr 1fr;gap:26px}.capabilities>span{font-size:22px}.capabilities small{font-size:7px}.contact-grid{grid-template-columns:1fr;gap:32px;padding-top:30px}.contact-team a{font-size:13px;padding:20px 0}footer{padding:24px 7%;font-size:8px;flex-wrap:wrap}footer>span:nth-child(2){display:none}.work-page main{padding-top:76px}.work-title{display:block;margin-top:30px}.work-title h1{font-size:54px}.work-title p{margin-top:22px;font-size:11px}.work-intro{padding-bottom:15px}.work-gallery{padding-top:15px}.work-grid{grid-template-columns:1fr;gap:34px}.project h2{font-size:24px}.archive{font-size:10px}.dialog-body{padding:24px}.dialog-body h2{font-size:29px}.media-links a{width:100%}.story-copy{padding:180px 8% 130px}.chapter,.chapter.right{margin:0 0 120px;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-image img{transition:none}.painting{will-change:auto}.red-sun{display:none}.chapter{will-change:auto}.stage-bottom{display:none}.story-copy{padding-bottom:20px}.chapter{margin-bottom:110px}.chapter-description{background:#eee8dcc9}.paintings{opacity:.28}.paper-light{background:none}}
.header{position:fixed;background:#eee8dccc;backdrop-filter:blur(8px)}
.seal{position:absolute;left:265px;bottom:0;margin:0;width:46px;text-align:center}
@media(max-width:600px){.seal{left:205px;width:38px}.header{background:#eee8dce8}}
@media(min-width:601px){.painting{background-size:auto calc(100% - 95px);background-repeat:no-repeat;background-position:right bottom}.river{background-position:left bottom}}
@media(min-width:601px){.paper-light{background:linear-gradient(90deg,#eee8dc 0%,#eee8dc 23%,#eee8dc00 55%)}.stage[data-scene="2"] .paper-light,.stage[data-scene="5"] .paper-light{background:linear-gradient(270deg,#eee8dc 0%,#eee8dc 23%,#eee8dc00 55%)}}
.watercolour{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(transparent 7%,#000 19%,#000 94%,transparent 100%)}
.wash-ready .painting,.wash-ready .red-sun{visibility:hidden}
@media(min-width:601px){.stage .wash-ready .paper-light{background:linear-gradient(90deg,rgba(238,232,220,var(--wash-left,.97)) 0%,rgba(238,232,220,var(--wash-left,.97)) 22%,transparent 57%),linear-gradient(270deg,rgba(238,232,220,var(--wash-right,0)) 0%,rgba(238,232,220,var(--wash-right,0)) 22%,transparent 57%)}}
@media(prefers-reduced-motion:reduce){.watercolour{display:none}.wash-ready .painting{visibility:visible}}
/* Stable composition frame; independent, opposing typography motion. */
:root{--latin:"Courier New",Courier,monospace}
.chapter-head,.chapter-body{display:flow-root;position:relative}
.motion-ready .chapter,.motion-ready .chapter.right{top:calc(50% + 16px);transform:translateY(-50%);will-change:auto}
.motion-ready .chapter-head,.motion-ready .chapter-body{will-change:transform,opacity}
.chapter h1,.chapter h2{margin-bottom:24px}
.chapter-body .intro-rule{margin:0 0 22px}
.chapter-body>.service-line:first-child{margin-top:0}
.chapter-description{max-width:100%;text-wrap:pretty}
.chapter-note{line-height:1.6}
.contact-team a{font-family:var(--latin);grid-template-columns:48px minmax(0,1fr) 20px;align-items:center;line-height:1.5;letter-spacing:0}
.contact-team a>span:nth-child(2){overflow-wrap:anywhere}
@media(min-width:601px){.motion-ready .chapter{left:8%;width:44%;max-width:660px}.motion-ready .chapter.right{left:auto;right:8%;width:38%;max-width:620px}.chapter h1,.chapter h2{font-size:clamp(43px,5.3vw,88px);line-height:1.3}.eyebrow{margin-bottom:24px}.service-line{line-height:1.9}.chapter-note{margin-top:24px}}
@media(min-width:601px) and (max-height:750px){.chapter h1,.chapter h2{font-size:clamp(40px,8.5svh,66px);margin-bottom:18px}.eyebrow{margin-bottom:18px}.chapter-description{margin-bottom:18px}.chapter-body .intro-rule{margin-bottom:16px}.chapter-note{margin-top:18px}}
@media(max-width:600px){.motion-ready .chapter,.motion-ready .chapter.right{top:max(43%,330px);left:8%;right:auto;width:84%;max-width:none}.chapter h1,.chapter h2{margin-bottom:20px}.chapter-description{max-width:100%}.chapter-body .intro-rule{margin-bottom:18px}.contact-team a{grid-template-columns:40px minmax(0,1fr) 18px;gap:10px}.chapter-note{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.chapter-head,.chapter-body{opacity:1!important;transform:none!important;will-change:auto}}

/* Chinese reading versions and concise service reference. */
body.wechat-open{overflow:hidden}.contact-gino>a{border-bottom:0}.wechat-contact{display:flex;align-items:center;gap:10px;padding:0 0 18px 68px;border-bottom:1px solid var(--line);font:12px/1.6 var(--latin);letter-spacing:0}.wechat-contact strong,.wechat-id strong{font-weight:400}.wechat-trigger{display:grid;place-items:center;flex:0 0 40px;width:40px;height:44px;padding:0;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink)}.wechat-trigger:hover{color:#27823c;border-color:#27823c}.wechat-dialog{width:min(440px,92vw);max-height:92svh;padding:18px;background:#fff;color:var(--ink);border:0;border-radius:12px;box-shadow:0 18px 80px #0003}.wechat-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.wechat-dialog h2{font:20px var(--latin);margin:0}.wechat-close{width:44px;height:44px;flex:none;border:1px solid #ddd;border-radius:50%;background:#fff;font-size:24px;line-height:1}.wechat-dialog>img{display:block;width:auto;max-width:100%;height:auto;max-height:64svh;object-fit:contain;margin:0 auto}.wechat-dialog p{text-align:center;font:12px/1.7 var(--sans);margin:10px 0 0}.wechat-dialog .wechat-id{font-family:var(--latin);font-size:13px}.wechat-dialog::backdrop{background:#171911aa;backdrop-filter:blur(5px)}@media(max-width:600px){.wechat-contact{padding-left:50px;font-size:11px;gap:8px}.wechat-trigger{flex-basis:36px;width:36px}.wechat-dialog{padding:14px}.wechat-dialog>img{max-height:62svh}}
html[lang="zh-Hant"]{--serif:"BiauKai","DFKai-SB","KaiTi","STKaiti","PMingLiU","PMingLiU-ExtB","MingLiU","Songti TC","Noto Serif TC",serif;--sans:"Microsoft JhengHei","PingFang TC",sans-serif}.header .language-links{margin-left:0;border-left:1px solid var(--line);padding-left:22px;gap:14px;font:11px var(--sans);letter-spacing:0;white-space:nowrap}.language-links a{min-width:16px;text-align:center}.service-overview-link{margin-right:26px}.service-document{max-width:1400px;margin:auto;padding-top:160px}.service-document h1{font:400 clamp(42px,5.3vw,80px)/1.35 var(--serif);margin:45px 0 24px}.service-intro{max-width:690px;line-height:2.1;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 70px;margin:60px 0}.service-grid article{border-top:1px solid var(--line);padding-top:24px}.service-grid h2,.service-contact h2,.faq>h2{font:400 clamp(24px,2.4vw,34px)/1.5 var(--serif)}.service-grid p,.faq p{font-size:14px;line-height:2.1;color:var(--muted)}.faq{margin-top:80px}.faq details,.project-resources details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary,.project-resources summary{cursor:pointer;line-height:1.8;font-size:14px}.faq p{max-width:900px}.project-resources{margin-top:60px}.project-resources h2{font:400 26px var(--serif);margin-bottom:20px}.project-resources ul{padding-left:22px;line-height:2.2;font-size:13px}.project-resources a{text-decoration:underline;text-underline-offset:4px}.service-contact{margin-top:70px}.service-contact .contact-team{max-width:660px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.header{gap:10px}.header nav{gap:12px}.header .language-links{padding-left:10px;gap:9px;font-size:10px}.header nav.language-links a{display:block}.header .language-links a[lang=en],.header .language-links a[lang=th]{font-size:9px}.service-document{padding-top:115px}.service-document h1{font-size:clamp(28px,8.2vw,38px);margin-top:30px}.service-intro{font-size:13px}.service-grid{grid-template-columns:1fr;gap:24px;margin:38px 0}.faq{margin-top:55px}.service-grid p,.faq p{font-size:13px}.project-resources{margin-top:36px}.service-overview-link{margin-bottom:15px}}
