@font-face{font-family:Jionghui Jianhao;src:url(/fonts/jionghui-jianhao-subset.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Jionghui Smile;src:url(/fonts/jionghui-smile-subset.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}:root{--bg:#03150f;--bg2:#061c15;--panel:#08231a;--panel2:#0a2b20;--line:#8ec6952b;--text:#f4f5ef;--muted:#91a99a;--accent:#70d58b;--accent2:#b0ecc0;--cream:#edf2e9;--ink:#092017;--radius:28px;--shell:min(1510px, calc(100vw - 72px));color:var(--text);background:var(--bg);scroll-behavior:smooth;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{color:var(--text);background:linear-gradient(#02110c,#041a13 64%,#03130e);margin:0}button,a,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.site-header{z-index:60;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#03150fdb;border-bottom:1px solid #70d58b14;position:sticky;top:0}.nav-shell{width:var(--shell);grid-template-columns:1fr auto 1fr;align-items:center;height:84px;margin:auto;padding-inline:10px;display:grid;position:relative}.brand-lockup{align-items:flex-start;gap:24px;width:max-content;display:flex}.brand{align-items:center;gap:13px;width:max-content;display:flex}.brand img{object-fit:contain;width:43px;height:43px}.brand span{display:grid}.brand strong{letter-spacing:.02em;white-space:nowrap;font-family:Jionghui Jianhao,STKaiti,KaiTi,serif;font-size:27px;font-weight:400;line-height:1}.brand small{color:var(--muted);margin-top:6px;font-size:10px}.header-motto{pointer-events:none;gap:5px;width:clamp(220px,18vw,330px);margin-top:8px;padding-left:24px;font-family:Jionghui Smile,STKaiti,KaiTi,cursive;font-weight:400;line-height:1.15;display:grid;position:relative}.header-motto:before{content:"";background:linear-gradient(#0000,#70d58bc2,#0000);width:1px;height:44px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.header-motto span{color:var(--accent);letter-spacing:.1em;opacity:.86;font-size:12px;font-weight:600;line-height:1}.header-motto strong{color:#bfe6c9;letter-spacing:.04em;opacity:.88;font-family:inherit;font-size:clamp(19px,1.16vw,22px);font-weight:600;line-height:1}.primary-nav{letter-spacing:.08em;gap:58px;font-family:Manrope,HarmonyOS Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;font-weight:500;display:flex}.primary-nav a{transition:color .24s;position:relative}.primary-nav a:after{content:"";background:var(--accent);opacity:0;width:18px;height:1px;transition:opacity .24s,transform .24s;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)scaleX(.25)}.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--accent2)}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{opacity:1;transform:translate(-50%)scaleX(1)}.nav-actions{justify-self:end;align-items:center;gap:10px;display:flex}.round-button,.language-button{border:1px solid var(--line);cursor:pointer;background:#ffffff06;border-radius:999px;min-width:42px;height:42px;transition:background-color .24s,border-color .24s,color .24s}.round-button:hover,.language-button:hover,.round-button:focus-visible,.language-button:focus-visible{color:var(--accent2);background:#70d58b14;border-color:#70d58b57}.language-button{padding:0 15px}.hero{width:var(--shell);color:#f4f5ef;border:1px solid var(--line);background:radial-gradient(circle at 67% 44%,#15673e3d,#0000 35%),linear-gradient(145deg,#03150f,#031c14 65%,#08251b);border-radius:34px 34px 0 0;grid-template-columns:46% 54%;align-items:center;min-height:790px;margin:28px auto 0;padding:82px 76px 150px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(#66b2780f 1px,#0000 1px),linear-gradient(90deg,#66b2780f 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.hero-copy,.hero-art{z-index:2;position:relative}.eyebrow{letter-spacing:.19em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.hero h1{letter-spacing:-.055em;margin:23px 0 22px;font-family:Noto Serif SC,Songti SC,serif;font-size:clamp(58px,5.2vw,91px);font-weight:600;line-height:.99}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--accent2);font-style:normal}.hero-intro{color:#a8bdaf;max-width:530px;font-size:17px;line-height:1.9}.hero-actions{gap:14px;margin-top:34px;display:flex}.primary-button,.secondary-button{border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:18px;height:54px;padding:0 25px;display:inline-flex}.primary-button{color:#03130d;background:linear-gradient(135deg,#45b96b,#6ddc8c);font-weight:700}.secondary-button{background:#ffffff06}.hero-art{height:560px}.hero-visual-stage{position:absolute;inset:0}.hero-screen{cursor:pointer;background:#091510;border:2px solid #dcffe4c7;border-radius:15px;padding:0;transition:all .45s cubic-bezier(.2,.8,.2,1);position:absolute;overflow:hidden;box-shadow:0 30px 70px #0000007a}.hero-screen:hover{z-index:12;transform:translateY(-10px)rotate(0)!important}.hero-screen img{object-fit:cover;width:100%;height:100%;display:block}.hero-screen span{text-align:left;background:linear-gradient(#0000,#010b07e6);padding:36px 22px 16px;display:grid;position:absolute;bottom:0;left:0;right:0}.hero-screen small{color:var(--accent);font-size:10px}.hero-screen strong{margin-top:5px;font-size:15px}.screen-1{z-index:5;width:64%;height:60%;top:24%;left:5%;transform:rotate(-3deg)}.screen-2{z-index:3;width:53%;height:51%;top:5%;right:4%;transform:rotate(6deg)}.screen-3{z-index:6;width:51%;height:45%;bottom:4%;right:-2%;transform:rotate(4deg)}.hero-orbit{border:1px solid #52b86938;border-radius:50%;position:absolute}.orbit-a{width:470px;height:470px;top:8%;right:7%}.orbit-b{width:300px;height:300px;top:23%;right:19%}.pine-art-image{z-index:8;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:70% 70%;opacity:.98;filter:drop-shadow(0 24px 22px #00000075)drop-shadow(0 7px 8px #0000003d);width:clamp(300px,29vw,500px);max-width:none;height:auto;animation:8s ease-in-out infinite pineBranchFloat;position:absolute;bottom:-2%;right:7%;transform:rotate(-7deg)}@keyframes pineBranchFloat{0%,to{transform:rotate(-7deg)translate(0,0)}50%{transform:rotate(-5.8deg)translateY(-7px)}}@media (width<=1180px){.pine-art-image{width:clamp(260px,36vw,420px);bottom:-1%;right:1%}}@media (width<=760px){.pine-art-image{opacity:.88;width:min(400px,86vw);bottom:-5%;right:-16%}}@media (prefers-reduced-motion:reduce){.pine-art-image{animation:none}}.hero-stats{z-index:8;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#02100bb8;grid-template-columns:repeat(4,1fr);height:126px;margin:0;display:grid;position:absolute;bottom:0;left:0;right:0}.hero-stats div{border-right:1px solid var(--line);flex-direction:column-reverse;justify-content:center;padding-left:60px;display:flex}.hero-stats div:last-child{border:0}.hero-stats dt{color:var(--muted);margin-top:5px;font-size:12px}.hero-stats dd{letter-spacing:.05em;margin:0;font-size:34px;font-weight:700}.section-shell{width:var(--shell);margin:auto}.featured-section{padding:66px 0 110px}.section-heading,.filter-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px;display:flex}.section-heading h2,.filter-heading h2{margin:8px 0 0;font-family:Noto Serif SC,Songti SC,serif;font-size:42px}.filter-heading h2{color:#f4f5ef}.section-heading>div:last-child,.filter-heading>p{max-width:500px;color:var(--muted);line-height:1.8}.section-heading>div:last-child a{color:var(--accent);margin-top:12px;display:inline-block}.featured-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.project-media{aspect-ratio:16/10;background:#0d1d17;border-radius:16px;position:relative;overflow:hidden}.project-media img{object-fit:cover;width:100%;height:100%;transition:all .55s;display:block}.featured-card,.site-card{cursor:pointer}.featured-card:hover img,.site-card:hover img{transform:scale(1.035)}.project-body{justify-content:space-between;align-items:flex-start;padding:18px 3px 2px;display:flex}.project-body small{color:var(--muted);font-size:12px}.project-body h3{margin:7px 0 0;font-size:20px}.project-body p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.project-status{color:#b6c8bb;white-space:nowrap;margin-top:28px;font-size:12px}.project-status i,.status i{background:#62d477;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.favorite-button{color:#0b2118;cursor:pointer;background:#f5f8f2f0;border:0;border-radius:50%;width:42px;height:42px;font-size:20px;position:absolute;top:13px;right:13px}.favorite-button.active{background:var(--accent);color:#07170f}.filter-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#071d16}.filter-inner{padding:80px 0}.search-panel{border-bottom:1px solid #bee0c666;grid-template-columns:32px 1fr auto;align-items:center;max-width:930px;height:66px;display:grid}.search-panel input{color:var(--text);background:0 0;border:0;outline:0;font-size:17px}.search-panel kbd{border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:3px 8px}.filter-bar{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.filter-chip{border:1px solid var(--line);color:#bdd0c1;cursor:pointer;background:#ffffff05;border-radius:999px;padding:11px 16px}.filter-chip span{opacity:.55;margin-left:4px}.filter-chip.active{background:var(--accent);color:#04150d;border-color:var(--accent)}.all-section{padding:80px 0 115px}.section-heading.compact{align-items:center}.site-grid{grid-template-columns:repeat(4,1fr);gap:38px 18px;display:grid}.site-card .project-media{aspect-ratio:16/10}.site-card .project-body h3{font-size:18px}.site-card .project-body{padding-top:13px}.reveal-card{opacity:0;transition:all .6s;transform:translateY(20px)}.reveal-card.visible{opacity:1;transform:none}.site-footer{isolation:isolate;color:#f7faf7;background:radial-gradient(circle at 72% 34%,#2454381c,#0000 38%),linear-gradient(112deg,#020c09,#010b08 55%,#04120d);min-height:820px;padding:82px 0 28px;position:relative;overflow:hidden}.site-footer:before,.site-footer:after{content:"";z-index:-1;pointer-events:none;background:url(/images/songyebeijing.png) no-repeat;position:absolute}.site-footer:before{opacity:.2;filter:brightness(.72)saturate(.65);background-position:100% 0;background-size:900px;width:540px;height:260px;top:-16px;right:-8px}.site-footer:after{opacity:.24;filter:brightness(.64)saturate(.7);background-position:0 100%;background-size:940px;width:560px;height:330px;bottom:-72px;right:-45px;transform:scaleX(-1)}.footer-showcase{z-index:1;width:min(1668px,100vw - 128px);margin-inline:auto;position:relative}.footer-main{grid-template-columns:580px 1fr;gap:58px;display:grid}.footer-profile{border-right:1px solid #759f7e33;padding-right:58px}.footer-brand-row{align-items:center;gap:20px;width:max-content;display:flex}.footer-brand-row img{object-fit:contain;width:54px;height:54px}.footer-brand-row strong{color:#f6f6f0;letter-spacing:.03em;font-family:Jionghui Jianhao,STKaiti,KaiTi,serif;font-size:35px;font-weight:400;line-height:1}.footer-studio-signature{color:#70c789;letter-spacing:.26em;margin:22px 0 48px;font-size:12px;font-weight:600}.footer-profile h2{color:#f4f4ed;letter-spacing:.04em;max-width:530px;margin:0;font-family:Noto Serif SC,Songti SC,serif;font-size:30px;font-weight:500;line-height:1.35}.footer-title-rule{background:#76c38b;width:36px;height:2px;margin:34px 0;display:block}.footer-profile-copy{color:#e8efe9b8;max-width:470px;margin:0;font-size:15px;line-height:1.85}.footer-contact-list{color:#f0f5f0c7;gap:19px;margin-top:54px;font-size:14px;font-style:normal;display:grid}.footer-contact-list>a,.footer-contact-list>span{align-items:center;gap:18px;width:max-content;max-width:100%;display:flex}.footer-contact-list svg{fill:none;stroke:#76c38b;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:0 0 24px;width:24px;height:24px}.footer-contact-list a{transition:color .22s}.footer-contact-list a:hover,.footer-contact-list a:focus-visible{color:#9ed9ac}.footer-services{min-width:0}.footer-services-heading{align-items:center;gap:32px;min-height:44px;display:flex}.footer-services-heading h3{color:#f3f5ef;letter-spacing:.04em;flex:none;margin:0;font-size:22px;font-weight:500}.footer-services-heading>span{background:linear-gradient(90deg,#6fa47b,#6fa47b14);flex:1;height:1px;position:relative}.footer-services-heading>span:before{content:"";background:#70b982;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;left:0;transform:translate(-50%,-50%)}.footer-service-grid{grid-template-columns:repeat(4,1fr);margin-top:36px;display:grid}.footer-service{text-align:center;border-left:1px solid #759f7e29;min-width:0;min-height:220px;padding:8px 24px 28px}.footer-service:nth-child(4n+1){border-left:0}.footer-service:nth-child(n+5){border-top:1px solid #759f7e29;padding-top:34px}.footer-service-icon{color:#74bb86;fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px #70bf8414);width:72px;height:72px}.footer-service-icon text{fill:currentColor;stroke:none;font-family:Georgia,serif;font-size:43px}.footer-service h4{color:#f5f5ef;letter-spacing:.02em;margin:18px 0 10px;font-size:19px;font-weight:500}.footer-service p{color:#e0e8e1ab;white-space:pre-line;margin:0;font-size:15px;line-height:1.7}.footer-bottom{color:#edf2edad;border-top:1px solid #759f7e3d;justify-content:space-between;align-items:center;margin-top:54px;padding-top:28px;font-size:13px;display:flex}.footer-bottom p{margin:0}.footer-bottom button{color:#fff;cursor:pointer;background:0 0;border:0;padding:0;transition:color .22s,transform .22s}.footer-bottom button:hover,.footer-bottom button:focus-visible{color:#8ed09e;transform:translateY(-1px)}.modal[hidden]{display:none}.modal{z-index:100;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000805d1;position:absolute;inset:0}.modal-panel{color:#092017;opacity:0;background:#eff3eb;border-radius:24px;width:min(1220px,100vw - 64px);max-height:calc(100vh - 64px);transition:all .2s;position:relative;overflow:hidden auto;transform:translateY(18px);box-shadow:0 35px 100px #0000008c}.modal.is-open .modal-panel{opacity:1;transform:none}.modal-close{float:right;z-index:5;color:#10261a;cursor:pointer;background:#fff;border:0;border-radius:50%;width:44px;height:44px;margin:18px 18px -58px 0;font-size:27px;position:sticky;top:18px}.modal-project{grid-template-columns:1.65fr .75fr;min-height:650px;display:grid}.modal-media{background:#dfe7dc;align-items:center;padding:34px;display:flex}.modal-image{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:72vh;display:block;box-shadow:0 20px 50px #12231933}.modal-info{padding:70px 48px 45px}.modal-topline{color:#2a7648;justify-content:space-between;font-size:12px;display:flex}.modal-info h2{margin:28px 0;font-family:Noto Serif SC,Songti SC,serif;font-size:47px}.modal-kicker{letter-spacing:.17em;color:#2d7347;font-size:11px}.modal-info>p{color:#496055;line-height:1.8}.modal-tags{flex-wrap:wrap;gap:7px;margin:22px 0;display:flex}.modal-tags span{border:1px solid #c8d6ca;border-radius:999px;padding:7px 10px;font-size:11px}.modal-info dl{border-top:1px solid #ccd7cd;margin:30px 0}.modal-info dl div{border-bottom:1px solid #ccd7cd;grid-template-columns:100px 1fr;gap:15px;padding:15px 0;font-size:12px;display:grid}.modal-info dt{color:#718078}.modal-info dd{word-break:break-all;margin:0}.modal-actions{gap:10px;margin-top:28px;display:flex}.modal-info .secondary-button{color:#092017;border-color:#9fb1a3}.related-projects{padding:34px}.related-projects h3{font-size:25px}.related-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.related-card{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.related-card img{aspect-ratio:16/10;object-fit:cover;border-radius:10px;width:100%}.related-card span{color:#153426;margin-top:8px;display:block}.toast{z-index:110;opacity:0;color:#0a2117;background:#f3f6f0;border-radius:999px;padding:12px 18px;transition:all .25s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.state-box{text-align:center;padding:70px}.state-box h3{font-size:28px}.state-box p{color:var(--muted)}[data-theme=light] body{color:#092017;background:#eaf1eb}[data-theme=light] .site-header{color:#092017;background:#eaf1ebe0;border-bottom-color:#09201712}[data-theme=light] .header-motto span{color:#12683d}[data-theme=light] .header-motto strong{color:#194b38}[data-theme=light] .primary-nav a:hover,[data-theme=light] .primary-nav a:focus-visible{color:#18804b}[data-theme=light] .round-button:hover,[data-theme=light] .language-button:hover,[data-theme=light] .round-button:focus-visible,[data-theme=light] .language-button:focus-visible{color:#0c693d;background:#18804b0f;border-color:#18804b3d}[data-theme=light] .featured-section,[data-theme=light] .all-section{color:#092017}[data-theme=light] .project-body small,[data-theme=light] .project-body p,[data-theme=light] .section-heading>div:last-child{color:#61756a}@media (width<=1100px){:root{--shell:calc(100vw - 36px)}.primary-nav{display:none}.nav-shell{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr;min-height:1100px;padding:64px 38px 150px}.hero-art{height:520px}.featured-grid,.site-grid{grid-template-columns:repeat(2,1fr)}.modal-project{grid-template-columns:1fr}.modal-info{padding:40px}}@media (width<=1340px){.header-motto{display:none}}@media (width<=680px){:root{--shell:calc(100vw - 24px)}.site-header{position:relative}.nav-shell{height:70px}.brand img{width:35px;height:35px}.nav-actions .round-button:first-child{display:none}.hero{border-radius:24px 24px 0 0;min-height:890px;margin-top:12px;padding:48px 22px 125px}.hero h1{font-size:52px}.hero-intro{font-size:14px}.hero-actions{flex-direction:column;align-items:stretch}.hero-art{height:380px}.screen-1{width:76%;height:55%;top:27%;left:0}.screen-2{width:60%;height:44%;right:0}.screen-3{width:60%;height:42%;right:0}.pine-art{width:260px}.hero-stats div{padding-left:14px}.hero-stats dd{font-size:24px}.hero-stats dt{font-size:9px}.section-heading,.filter-heading{display:block}.featured-grid,.site-grid{grid-template-columns:1fr}.section-heading h2,.filter-heading h2{font-size:34px}.modal{padding:10px}.modal-panel{border-radius:16px;width:100%;max-height:calc(100vh - 20px)}.modal-media{padding:16px}.modal-info{padding:34px 22px}.modal-info h2{font-size:38px}.related-grid{grid-template-columns:1fr}}@media (width<=1500px) and (width>=1101px){.footer-main{grid-template-columns:480px 1fr;gap:42px}.footer-profile{padding-right:42px}}@media (width<=1100px){.site-footer{min-height:0;padding:68px 0 26px}.footer-showcase{width:var(--shell)}.footer-main{grid-template-columns:1fr;gap:64px}.footer-profile{border-right:0;padding-right:0}.footer-profile-copy{max-width:620px}.footer-contact-list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.footer-service-grid{grid-template-columns:repeat(2,1fr)}.footer-service{border-top:0;border-left:1px solid #759f7e29}.footer-service:nth-child(odd){border-left:0}.footer-service:nth-child(n+3){border-top:1px solid #759f7e29;padding-top:34px}}@media (width<=680px){.site-footer{padding:54px 0 24px}.site-footer:before{opacity:.15;width:360px;height:190px}.site-footer:after{opacity:.17;width:380px;height:230px}.footer-main{gap:52px}.footer-brand-row img{width:46px;height:46px}.footer-brand-row strong{font-size:30px}.footer-studio-signature{margin:18px 0 34px;font-size:10px}.footer-profile h2{font-size:28px}.footer-profile-copy{font-size:14px}.footer-contact-list{grid-template-columns:1fr;margin-top:38px}.footer-services-heading{gap:18px}.footer-services-heading h3{white-space:normal;font-size:18px}.footer-service{min-height:200px;padding-inline:12px}.footer-service h4{font-size:16px}.footer-service p{font-size:13px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:18px;margin-top:42px;padding-top:22px;line-height:1.6;display:flex}}@media (width<=340px){.footer-service-grid{grid-template-columns:1fr}.footer-service,.footer-service:nth-child(odd){border-left:0}.footer-service:nth-child(n+2){border-top:1px solid #759f7e29;padding-top:28px}}
