:root{--paper:#fff;--mist:#f5f6f7;--ink:#24272b;--muted:#737a82;--accent:#486478;--line:#e7e9ec;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC",SimSun,serif;--sans:"PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:106px;border-bottom:1px solid var(--line);gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;font-family:var(--serif);font-size:27px;letter-spacing:.12em;font-weight:600;white-space:nowrap}.brand-mark{width:25px;height:27px;border:1.5px solid var(--ink);position:relative}.brand-mark:before{content:"";position:absolute;inset:5px -5px -5px 5px;border:1.5px solid var(--ink);background:var(--paper)}.site-header nav{display:flex;gap:42px}.site-header nav a{color:#51565d}.header-contact{font-size:13px;display:flex;gap:18px}.header-contact span{color:var(--accent);font-size:20px}.hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px;padding-top:36px;padding-bottom:40px}.hero-copy h1{font-family:var(--serif);font-size:clamp(34px,3.65vw,54px);line-height:1.45;font-weight:500;letter-spacing:.025em;margin:0 0 28px;white-space:pre-line}.hero-copy p{max-width:350px;color:var(--muted);line-height:1.95;margin:0 0 37px}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:14px;padding-bottom:7px;border-bottom:1px solid #bec5cb}.hero-visual{position:relative;aspect-ratio:1.18;background:var(--mist);overflow:hidden}.hero-visual button{display:block;width:100%;height:100%;border:0;padding:0;background:none}.hero-image{width:100%;height:100%;object-fit:cover;display:block}.hero-work-title{position:absolute;bottom:18px;left:22px;right:22px;color:white;z-index:1;display:flex;justify-content:space-between;font-size:13px;text-shadow:0 1px 8px #0009}.hero-visual:has(.hero-image):after{content:"";position:absolute;inset:65% 0 0;pointer-events:none;background:linear-gradient(transparent,#0006)}.empty-art{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#7b8791;gap:15px}.empty-art small{font-size:12px;color:#8d969e}.empty-frame{display:inline-block;width:94px;height:122px;border:1px solid #c7cfd5;position:relative;margin-bottom:10px}.empty-frame:before{content:"";position:absolute;inset:15px -13px -15px 13px;border:1px solid #c7cfd5;background:#f5f6f7}.empty-frame:after{content:"";position:absolute;inset:45px 22px 17px -15px;border:1px solid #a9b8c5;background:#eff2f4}.empty-frame.small{transform:scale(.5);margin:-25px 0 0}.section{padding-top:36px;padding-bottom:76px;scroll-margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:26px;margin-bottom:28px}.section h2{font-family:var(--serif);font-size:33px;font-weight:500;margin:0;letter-spacing:.035em}.section-heading p{font-size:14px;color:var(--muted);margin:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 32px}.filter{border:1px solid transparent;background:none;color:#727a84;padding:8px 17px;font-size:13px;border-radius:2px}.filter.active{background:var(--ink);color:white}.filter:hover:not(.active){background:var(--mist)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:39px 27px}.work-card{min-width:0}.work-open{display:block;width:100%;border:0;padding:0;position:relative;background:var(--mist);aspect-ratio:4/5;overflow:hidden;text-align:left}.work-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.work-open:hover .work-image{transform:scale(1.025)}.work-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);background:#e9edf0}.play-symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid #fff9;border-radius:50%;background:#26313c52;color:#fff;display:grid;place-items:center;font-size:18px;padding-left:3px}.media-label{position:absolute;bottom:12px;left:13px;font-size:11px;background:#20262e80;color:white;padding:3px 9px;border-radius:2px}.work-caption{display:flex;justify-content:space-between;gap:16px;margin-top:12px;align-items:center}.work-caption h3{font-size:14px;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-caption p{font-size:11px;color:var(--muted);margin:0;white-space:nowrap}.notice{color:var(--muted);font-size:14px;padding:25px 0}.notice button{margin-left:15px;border:0;border-bottom:1px solid var(--accent);background:none;color:var(--accent)}.empty-state{border:1px solid var(--line);min-height:250px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fcfcfd;padding:32px;text-align:center}.empty-state h3{font-family:var(--serif);font-size:23px;font-weight:500;margin:0 0 8px}.empty-state p{font-size:13px;color:var(--muted);margin:0 0 20px}.services-section{background:var(--mist);margin-top:10px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.service-item{display:grid;grid-template-columns:125px 1fr;align-items:baseline;gap:23px;padding:29px 0;border-top:1px solid #dce1e5}.service-item h3{margin:0;font-size:17px;font-weight:500}.service-item p{color:var(--muted);font-size:13px;line-height:1.9;margin:0}.quote-note{font-size:12px;color:var(--muted);margin:26px 0 0}.about-section{display:grid;grid-template-columns:1fr 1.65fr;gap:60px;align-items:start;padding-block:85px}.about-section p{color:#656d77;max-width:690px;line-height:2.1;margin:0;white-space:pre-line}.contact-section{display:flex;align-items:center;justify-content:space-between;gap:42px;border-top:1px solid var(--line);padding-block:73px 90px}.contact-section h2{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.6;margin:0 0 20px}.contact-section p{color:var(--muted);font-size:13px;margin:0}.contact-action{display:flex;align-items:center;flex-direction:column;gap:16px;min-width:210px}.contact-action small{font-size:11px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--line);padding:13px 24px;border-radius:3px;background:white;font-size:14px;color:var(--ink)}.button.dark{background:var(--ink);border-color:var(--ink);color:white}.pending{border:1px solid var(--line);padding:14px 28px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;gap:24px;padding-block:29px 35px;color:var(--muted);font-size:11px}.footer-brand{font-size:20px;color:var(--ink)}.viewer{border:0;padding:0;max-width:min(1080px,calc(100vw - 48px));width:1080px;background:white;max-height:92vh;overflow:auto}.viewer::backdrop{background:#17212de6}.viewer-close{position:sticky;top:12px;float:right;z-index:5;margin:12px 12px -48px 0;width:36px;height:36px;background:#ffffffde;border:0;border-radius:50%;font-size:25px;line-height:1}.viewer-stage{display:flex;align-items:center;justify-content:center;min-height:200px;background:#eef0f2}.viewer-stage img,.viewer-stage video{display:block;width:100%;max-height:76vh;object-fit:contain}.viewer-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 25px}.viewer-caption h3{font-size:16px;font-weight:500;margin:0}.viewer-caption p{font-size:12px;color:var(--muted);margin:3px 0 0}.viewer-navigation{display:flex;gap:12px}.viewer-navigation button{width:36px;height:36px;background:white;border:1px solid var(--line)}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.hero{gap:32px}.hero-copy h1{font-size:36px}.service-list{gap:0 30px}.service-item{grid-template-columns:1fr;gap:8px}.work-grid{gap:28px 20px}.site-header nav{gap:28px}}
@media(max-width:650px){html{scroll-padding-top:30px}.shell{width:calc(100% - 40px)}.site-header{min-height:80px;flex-wrap:wrap;gap:16px;padding-block:20px}.brand{font-size:23px;gap:10px}.brand-mark{width:20px;height:23px}.site-header nav{gap:23px;font-size:13px}.header-contact{display:none}.hero{grid-template-columns:1fr;gap:32px;padding-top:24px;padding-bottom:18px}.hero-copy h1{font-size:37px;margin-bottom:18px;line-height:1.45;max-width:100%}.hero-copy p{margin-bottom:21px;font-size:13px;max-width:100%}.hero-visual{aspect-ratio:1.15}.section{padding-block:28px 49px}.section h2{font-size:27px}.section-heading{display:block;margin-bottom:23px}.section-heading p{font-size:12px;margin-top:10px}.filters{gap:5px;margin-bottom:22px}.filter{font-size:12px;padding:7px 11px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.work-caption{display:block;margin-top:9px}.work-caption h3{font-size:12px}.work-caption p{font-size:10px;margin-top:3px}.play-symbol{width:43px;height:43px;font-size:14px}.media-label{font-size:10px;left:8px;bottom:8px;padding:1px 6px}.service-list{grid-template-columns:1fr}.service-item{grid-template-columns:100px 1fr;gap:20px;padding:22px 0}.service-item h3{font-size:15px}.service-item p{font-size:12px}.about-section{display:block;padding-block:50px}.about-section p{font-size:13px;margin-top:21px}.contact-section{display:block;padding-block:45px 54px}.contact-section h2{font-size:30px}.contact-action{align-items:flex-start;margin-top:30px}.site-footer{flex-wrap:wrap;gap:15px;padding-block:24px}.site-footer p{margin:0;flex:1;text-align:right}.site-footer>span{width:100%}.viewer{max-width:calc(100vw - 20px);max-height:90vh}.viewer-caption{padding:14px}.viewer-stage img,.viewer-stage video{max-height:70vh}.empty-state{padding:25px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


