@font-face{font-family:Smiley;src:url('assets/fonts/smiley-sans-display.woff2') format('woff2');font-display:swap}
:root{--ink:#151716;--paper:#f1efe8;--silver:#c8cbc7;--muted:#626762;--orange:#c94b1d;--green:#536f5e;--line:rgba(21,23,22,.18);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC","Microsoft YaHei",sans-serif;line-height:1.65;overflow-x:hidden}body.menu-open{overflow:hidden}::selection{background:var(--orange);color:#fff}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.3em}img{display:block;width:100%}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;padding:.75rem 1rem;background:#fff;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:40;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px;padding:0 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);transition:background .35s var(--ease),color .35s}.site-header.scrolled{background:rgba(21,23,22,.96)}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;width:max-content}.brand svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.7}.brand span{display:flex;flex-direction:column;line-height:1.2}.brand strong{font-size:.98rem}.brand small{font-size:.58rem;letter-spacing:.16em;margin-top:.2rem}.desktop-nav{display:flex;gap:2rem;font-size:.85rem}.desktop-nav a,.header-action{text-decoration:none}.desktop-nav a:hover{text-decoration:underline}.header-action{justify-self:end;border-bottom:1px solid currentColor;padding:.5rem 0}.menu-button{display:none;border:0;background:none;color:currentColor;width:48px;height:48px;padding:12px}.menu-button span{display:block;height:1px;background:currentColor;margin:8px 0}.mobile-nav{position:fixed;z-index:35;inset:0;background:var(--ink);color:#fff;padding:8rem 7vw 3rem}.mobile-nav nav{display:flex;flex-direction:column}.mobile-nav a{font-family:Smiley,sans-serif;font-size:clamp(2rem,10vw,4rem);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.2);padding:.5rem 0}.mobile-nav p{position:absolute;bottom:2rem}
.hero{position:relative;min-height:100svh;background:#101211;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,9,.92) 0%,rgba(8,10,9,.5) 48%,rgba(8,10,9,.24)),linear-gradient(0deg,rgba(8,10,9,.68),transparent 45%)}.hero-copy{position:relative;z-index:3;padding:24vh 6vw 10vh;max-width:760px}.hero h1,.statement h2,.process h2,.application h2,.green h2,.contact h2{font-family:Smiley,"Microsoft YaHei",sans-serif;font-weight:600;letter-spacing:-.035em;line-height:.96;margin:0}.hero h1{font-size:clamp(4rem,7.4vw,6.6rem)}.hero h1 em{font-style:normal;color:#d8dbd6}.hero-copy>p{max-width:560px;font-size:1.04rem;color:#edf0eb;margin:1.6rem 0}.hero-actions{display:flex;gap:1rem}.button{min-height:48px;padding:.8rem 1.35rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.primary{background:var(--orange);color:#fff}.line{border:1px solid rgba(255,255,255,.7)}.button:hover{filter:brightness(1.08)}.hero-location{position:absolute;z-index:3;right:4vw;bottom:2.5rem;letter-spacing:.18em;font-size:.72rem}
.cycle-map{position:absolute;z-index:4;right:4.5vw;top:50%;width:min(43vw,620px);aspect-ratio:1;border-radius:50%;transform:translateY(-47%);background:conic-gradient(from -45deg,rgba(201,75,29,.9) 0 23%,rgba(224,226,221,.55) 23% 48%,rgba(83,111,94,.85) 48% 73%,rgba(255,255,255,.24) 73% 98%,transparent 98%);mask:radial-gradient(circle,transparent 0 43%,#000 43.5% 58%,transparent 58.5%);-webkit-mask:radial-gradient(circle,transparent 0 43%,#000 43.5% 58%,transparent 58.5%)}.cycle-map:before,.cycle-map:after{content:"";position:absolute;inset:9%;border:1px solid rgba(255,255,255,.3);border-radius:50%}.cycle-map:after{inset:25%;border-color:rgba(255,255,255,.16)}.cycle-core{position:absolute;z-index:2;inset:34%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.1}.cycle-core span{font-size:.58rem;letter-spacing:.15em;color:#cdd2cd}.cycle-core b{font-family:Smiley,sans-serif;font-size:clamp(1.35rem,2vw,2.2rem);margin-top:.45rem}.cycle-node{position:absolute;z-index:3;display:flex;flex-direction:column;gap:.12rem;text-decoration:none;color:#fff;min-width:88px}.cycle-node i{font-style:normal;font-size:.65rem;letter-spacing:.14em;color:#e0e4df}.cycle-node span{font-weight:700}.node-1{left:4%;top:17%;text-align:right}.node-2{right:0;top:17%}.node-3{right:1%;bottom:17%}.node-4{left:3%;bottom:17%;text-align:right}.cycle-node:focus-visible{outline-color:#fff}
.statement{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;padding:10rem 6vw 9rem;border-bottom:1px solid var(--line)}.statement h2,.process h2,.application h2,.green h2,.contact h2{font-size:clamp(3rem,5.5vw,5.8rem)}.statement-copy{font-size:1.15rem;max-width:630px;padding-top:.6rem}.statement-copy p{margin:0 0 2rem}.statement-copy p:last-child{color:var(--muted)}
.material-spread{display:grid;grid-template-columns:1.45fr .55fr;min-height:780px;background:var(--ink);color:#fff}.material-spread figure{margin:0;position:relative;overflow:hidden}.material-spread img{height:100%;object-fit:cover}.material-spread figcaption{position:absolute;inset:auto 0 0;padding:2rem;background:linear-gradient(transparent,rgba(0,0,0,.85));display:flex;justify-content:space-between;align-items:end}.material-spread b{font-family:Smiley,sans-serif;font-size:clamp(1.6rem,2.5vw,3rem)}.material-spread span{font-size:.82rem;color:#e4e8e2}.spread-side{border-left:1px solid rgba(255,255,255,.3)}
.process{position:relative;background:#d9dad5;padding:8rem 6vw 7rem}.process-head{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:3.5rem}.process-head p{max-width:470px;color:#4e534f}.process-route{position:sticky;z-index:5;top:84px;display:grid;grid-template-columns:repeat(4,1fr);background:#202321;color:#fff;margin:0 0 5rem}.process-route a{display:flex;align-items:center;gap:.75rem;padding:1.15rem 1.3rem;text-decoration:none;border-right:1px solid rgba(255,255,255,.18)}.process-route b{font-size:.68rem;letter-spacing:.14em;color:#e0a087}.process-route span{font-size:.85rem}.process-loop{position:absolute;left:7.9vw;top:26rem;bottom:5rem;width:3rem;border:1px solid rgba(21,23,22,.3);border-right:0;border-radius:2rem 0 0 2rem}.process-loop:after{content:"";position:absolute;left:100%;bottom:0;width:3rem;height:1px;background:rgba(21,23,22,.3)}.process-loop span{display:block;width:4px;height:24%;background:var(--orange);margin-left:-2px;position:sticky;top:33vh}.process-step{position:relative;display:grid;grid-template-columns:6vw .7fr 1.3fr;gap:3vw;align-items:center;margin:0 0 7rem;scroll-margin-top:155px}.process-step.reverse{grid-template-columns:6vw 1fr 1fr}.process-step.reverse img{grid-column:2;grid-row:1}.process-step.reverse .step-copy{grid-column:3;grid-row:1}.step-index{font-variant-numeric:tabular-nums;font-size:.8rem;letter-spacing:.16em;align-self:start;padding-top:.5rem}.step-copy h3{font-family:Smiley,sans-serif;font-size:clamp(2rem,3.2vw,3.8rem);line-height:1;margin:0 0 1.25rem}.step-copy p{max-width:42ch;color:#484d49}.process-step img{aspect-ratio:3/2;object-fit:cover}
.application{display:grid;grid-template-columns:1.08fr .92fr;background:var(--paper);min-height:860px}.application-image img{height:100%;object-fit:cover}.application-copy{padding:9rem 6vw}.application-copy dl{margin:5rem 0 0}.application-copy dl div{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--line)}.application-copy dt{font-weight:700}.application-copy dd{margin:0;color:var(--muted)}
.green{position:relative;min-height:720px;color:#fff;display:flex;align-items:end}.green>img{position:absolute;inset:0;height:100%;object-fit:cover}.green-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,29,23,.9),rgba(18,29,23,.15) 70%)}.green-copy{position:relative;z-index:2;padding:7rem 6vw;max-width:1100px}.green-copy p{max-width:720px;margin:2rem 0 0;color:#eef4ee;font-size:1.05rem}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:10rem 6vw;background:#ece9df}.contact-intro p{max-width:480px;margin:2rem 0;color:#4b504c}.contact-intro span{font-size:.76rem;letter-spacing:.14em}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact label{display:flex;flex-direction:column;gap:.55rem;font-size:.8rem}.contact label.full{grid-column:1/-1}.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid #777d78;background:transparent;padding:.8rem 0;border-radius:0;color:var(--ink)}.contact textarea{border:1px solid #777d78;padding:1rem;resize:vertical}.submit{width:max-content;min-height:48px;border:0;background:var(--ink);color:#fff;padding:.8rem 1.5rem;cursor:pointer}.submit:hover{background:var(--orange)}.form-status{grid-column:1/-1;min-height:1.6em;margin:0;color:#7d2f13;font-weight:600}
footer{display:grid;grid-template-columns:1.2fr 1fr auto;gap:3rem;padding:4rem 6vw;background:var(--ink);color:#fff;align-items:end}footer .footer-brand{display:flex;flex-direction:column;gap:.5rem}footer .footer-brand strong{font-family:Smiley,sans-serif;font-size:1.5rem}footer .footer-brand span,footer p{font-size:.72rem;color:#c9cfca}footer nav{display:flex;gap:1.5rem;flex-wrap:wrap}footer nav a{font-size:.82rem}
.cycle-map{background:none;mask:none;-webkit-mask:none}.cycle-map:before{content:"";position:absolute;inset:0;border:0;border-radius:50%;background:conic-gradient(from -45deg,rgba(201,75,29,.9) 0 23%,rgba(224,226,221,.55) 23% 48%,rgba(83,111,94,.85) 48% 73%,rgba(255,255,255,.24) 73% 98%,transparent 98%);mask:radial-gradient(circle,transparent 0 43%,#000 43.5% 58%,transparent 58.5%);-webkit-mask:radial-gradient(circle,transparent 0 43%,#000 43.5% 58%,transparent 58.5%)}.cycle-map:after{inset:25%;border-color:rgba(255,255,255,.22)}
@media (max-width:980px){.site-header{grid-template-columns:1fr auto;padding:0 5vw}.desktop-nav,.header-action{display:none}.menu-button{display:block}.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.hero-copy{padding:18vh 5vw 47vh}.cycle-map{width:min(72vw,560px);right:50%;top:auto;bottom:-8%;transform:translateX(50%)}.statement,.process-head,.contact{grid-template-columns:1fr}.material-spread{grid-template-columns:1fr}.spread-side{min-height:620px;border-left:0;border-top:1px solid rgba(255,255,255,.3)}.process-step,.process-step.reverse{grid-template-columns:6vw 1fr}.process-step img,.process-step.reverse img{grid-column:2;grid-row:auto}.process-step .step-copy,.process-step.reverse .step-copy{grid-column:2;grid-row:auto}.application{grid-template-columns:1fr}.application-image{height:620px}footer{grid-template-columns:1fr 1fr}footer p{grid-column:1/-1}}
@media (max-width:600px){.site-header{height:72px}.brand small{display:none}.hero{min-height:920px}.hero-copy{padding:16vh 5vw 0}.hero h1{font-size:clamp(3.35rem,15vw,4.7rem)}.hero-copy>p{font-size:.92rem}.hero-actions{flex-direction:column;align-items:stretch}.cycle-map{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;right:5vw;left:5vw;bottom:5rem;width:auto;aspect-ratio:auto;background:rgba(15,18,16,.88);mask:none;-webkit-mask:none;border:1px solid rgba(255,255,255,.28);border-radius:0;transform:none}.cycle-map:before,.cycle-map:after,.cycle-core{display:none}.cycle-node{position:static;min-width:0;padding:1rem .35rem;text-align:center!important;align-items:center;border-right:1px solid rgba(255,255,255,.16)}.cycle-node:last-child{border-right:0}.cycle-node span{font-size:.72rem}.hero-location{left:5vw;right:auto;bottom:1.5rem}.statement,.process,.contact{padding:5.5rem 5vw}.statement h2,.process h2,.application h2,.green h2,.contact h2{font-size:clamp(2.65rem,12vw,4rem)}.statement{gap:3rem}.material-spread{min-height:0}.material-spread figure{min-height:500px}.material-spread figcaption{flex-direction:column;align-items:start;gap:.4rem}.process-head{margin-bottom:2.5rem}.process-route{top:72px;margin:0 -5vw 4rem;overflow-x:auto;grid-template-columns:repeat(4,minmax(118px,1fr))}.process-route a{padding:1rem .9rem}.process-loop{display:block;left:7vw;top:31rem;bottom:3rem;width:1.5rem}.process-loop:after{width:1.5rem}.process-step,.process-step.reverse{display:grid;grid-template-columns:2rem 1fr;margin-bottom:5.5rem;padding-left:0}.process-step .step-index,.process-step.reverse .step-index{grid-column:1;grid-row:1/3}.process-step .step-copy,.process-step.reverse .step-copy{grid-column:2;grid-row:1}.process-step img,.process-step.reverse img{grid-column:2;grid-row:2;margin-top:1.25rem}.application-image{height:440px}.application-copy{padding:5.5rem 5vw}.application-copy dl{margin-top:3rem}.application-copy dl div{grid-template-columns:1fr;gap:.5rem}.green{min-height:600px}.green-copy{padding:5rem 5vw}.contact form{grid-template-columns:1fr}.contact label.full{grid-column:auto}footer{grid-template-columns:1fr;padding:4rem 5vw}footer p{grid-column:auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
