:root{--green:#123e30;--green-dark:#092c21;--green-light:#eaf0e9;--paper:#fff;--soft:#f3f5f1;--ink:#182e25;--muted:#536259;--lime:#d7e7b5;--gutter:clamp(22px,5.6vw,100px);--font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;--radius:0px}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.8 var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{cursor:default}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
h1,h2,h3{text-wrap:balance;font-weight:500}
p{text-wrap:pretty}
address{font-style:normal}
button,a,input,select,textarea{outline-offset:6px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #5c8b30}
::selection{background:var(--lime);color:var(--green)}
.wrap{width:100%;padding-inline:var(--gutter);max-width:1800px;margin-inline:auto}
.section-space{padding-top:116px;padding-bottom:116px}
.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);padding:12px;z-index:99}
.skip-link:focus{top:10px}
.site-header{height:96px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:20}
.brand{display:flex;align-items:center;gap:19px}
.brand img{width:96px;height:auto}
.brand>span{font-size:23px;font-weight:600;line-height:1.35;letter-spacing:2px}
.brand small{display:block;font-size:13px;font-weight:400;letter-spacing:1px;margin-top:5px}
.site-header nav{display:flex;align-items:center;gap:32px;font-size:15px}
.site-header nav a{padding-block:11px;transition:color .2s}
.site-header nav a:hover{color:#497e37}
.site-header nav .nav-contact{background:var(--green);color:var(--paper);padding:13px 23px;display:flex;gap:25px}
.menu-toggle{display:none}
.hero{position:relative;min-height:680px;height:calc(100svh - 96px);max-height:1050px;isolation:isolate;background:var(--green);color:var(--paper);overflow:hidden}
.hero-picture,.hero-scrim{position:absolute;inset:0;z-index:-2}
.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:landscape-drift 16s ease-out both}
.hero-scrim{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.42) 40%,rgba(0,0,0,.02) 76%)} /* taste-skill-ignore: neutral contrast scrim over the photograph */
.hero-content{padding-top:clamp(90px,12vh,155px)}
h1{font-size:clamp(56px,5.7vw,88px);line-height:1.32;letter-spacing:.025em;font-weight:500}
.hero-content p{font-size:18px;line-height:1.9;margin-top:30px;max-width:500px;color:#fff}
.button{display:inline-flex;gap:32px;align-items:center;justify-content:center;min-height:54px;padding:15px 25px;border:0;border-radius:0;background:var(--green);color:var(--paper);font-size:15px;font-weight:500;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-3px);background:#255640}
.button:active{transform:translateY(0)}
.button-light{background:var(--paper);color:var(--green)}
.button-light:hover{background:var(--lime)}
.hero .button{margin-top:38px}
.hero-bottom{position:absolute;bottom:30px;display:flex;justify-content:space-between;font-size:14px;color:var(--paper)}
.hero-bottom a:hover{text-decoration:underline}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:55px}
.section-heading h2,h2{font-size:clamp(35px,3.4vw,52px);line-height:1.45;letter-spacing:.015em}
.section-heading>p{width:42%;max-width:500px;font-size:17px;color:var(--muted);padding-bottom:5px}
.application-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-bottom:48px}
.scene-choice{border:0;text-align:left;padding:0 0 15px;background:var(--paper);color:var(--ink);position:relative}
.scene-choice img{width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;transition:filter .3s,transform .3s;filter:saturate(.65)}
.scene-choice:hover img,.scene-choice.active img{filter:saturate(1)}
.scene-choice:hover{transform:translateY(-3px)}
.scene-choice span{font-size:23px;display:block;margin-top:18px}
.scene-choice small{font-size:14px;color:var(--muted);display:block;margin-top:3px}
.scene-choice.active:after{content:"";position:absolute;bottom:0;left:0;width:42px;height:4px;background:var(--green)}
.scene-detail{display:grid;grid-template-columns:1.2fr 1fr;background:var(--soft);min-height:520px}
.scene-image{position:relative;overflow:hidden;min-height:510px}
.scene-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:65% 50%}
.scene-image>span{position:absolute;bottom:18px;left:22px;font-size:13px;color:var(--paper);background:rgba(8,35,24,.72);padding:3px 9px}
.scene-copy{padding:50px 48px;align-self:center}
.scene-copy h3{font-size:32px;line-height:1.5}
.scene-copy>p{margin-top:25px;font-size:16px;color:var(--muted)}
.scene-copy dl{margin:28px 0}
.scene-copy dl div+div{margin-top:20px}
.scene-copy dt{font-size:14px;font-weight:600;color:var(--green)}
.scene-copy dd{font-size:15px;margin:3px 0 0;color:var(--muted)}
.text-link{font-size:16px;color:var(--green);display:inline-flex;align-items:center;gap:24px;border:0;background:transparent;padding:10px 0;font-weight:500;transition:transform .2s}
.text-link:hover{transform:translateX(4px)}
.service{background:var(--soft)}
.service-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin:55px 0 0}
.service-list li{position:relative;padding-top:26px}
.service-list li:before{content:"";display:block;width:25px;height:25px;background:var(--green);margin-bottom:25px;clip-path:polygon(0 0,100% 0,100% 40%,40% 40%,40% 100%,0 100%)}
.service-list h3{font-size:25px;margin-bottom:18px}
.service-list p{font-size:16px;color:var(--muted)}
.service-list li>span{display:block;margin-top:30px;color:var(--green);font-size:14px}
.service-note{font-size:14px;color:var(--muted);margin-top:45px}
.platform-stage{background:var(--green);padding:65px;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center;color:var(--paper)}
.platform-copy h3{font-size:34px;line-height:1.5}
.platform-copy p{margin:26px 0 32px;color:#e1e8df;font-size:16px}
.mobile-system{display:block;font-size:14px;margin-top:20px}
.mobile-system:hover{text-decoration:underline}
.workflow{background:var(--paper);padding:30px;color:var(--ink)}
.workflow-top{display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:12px}
.workflow-top img{width:84px;height:auto}
.workflow-caption{font-size:24px;margin:30px 0 22px;font-weight:500}
.workflow-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.workflow-grid>div{background:var(--soft);padding:20px 16px}
.flow-symbol{font-family:Arial,sans-serif;display:block;font-size:25px;line-height:1.2;margin-bottom:12px;color:var(--green)}
.workflow-grid strong{display:block;font-size:16px;font-weight:500}
.workflow-grid p{font-size:13px;margin-top:8px;color:var(--muted)}
.workflow-foot{font-size:13px;text-align:right;margin-top:18px;color:var(--muted)}
.about{position:relative;min-height:660px;display:flex;align-items:center;justify-content:flex-end;padding:70px var(--gutter);background:var(--green);overflow:hidden}
.about-picture{position:absolute;inset:0}
.about-picture img{width:100%;height:100%;object-fit:cover;object-position:20% 55%}
.about-panel{position:relative;max-width:560px;background:var(--paper);padding:48px 50px}
.about-panel h2{font-size:39px}
.about-panel p{margin-top:22px;font-size:16px;color:var(--muted)}
.about-panel address{margin-top:28px;font-size:15px;color:var(--green)}
.about-panel .text-link{margin-top:10px}
.contact-people{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.contact-person{padding:28px 30px 24px;background:var(--soft);display:block;transition:background .2s,transform .2s}
.contact-person:hover{background:var(--green-light);transform:translateY(-4px)}
.contact-person>span{font-size:15px}
.contact-person strong{font:500 clamp(23px,2.2vw,34px)/1.3 Arial,sans-serif;display:block;margin:18px 0 25px;white-space:nowrap}
.contact-person .call-label{display:flex;justify-content:space-between;color:var(--green);font-size:14px}
.contact-bottom{display:flex;align-items:center;gap:28px;margin-top:30px;color:var(--muted);font-size:14px;flex-wrap:wrap}
.contact-bottom address{margin-right:auto}
.contact-bottom button{font-size:14px}
.contact-bottom a:hover{text-decoration:underline}
.copy-status{font-size:14px;color:var(--green);min-height:25px;margin-top:5px}
.consultation{margin-top:40px;background:var(--soft)}
.consultation summary{padding:25px 32px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:19px}
.consultation summary::-webkit-details-marker{display:none}
.consultation summary>span{font-size:24px}
.consultation[open] summary>span{transform:rotate(45deg)}
.consultation-inner{padding:5px 32px 35px}
.consultation-inner>p{color:var(--muted);margin-bottom:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font-size:15px}
input,select,textarea{display:block;width:100%;border:1px solid #a9b6aa;border-radius:0;padding:12px 14px;background:var(--paper);color:var(--ink);margin-top:7px;min-height:48px;font-size:16px}
textarea{resize:vertical}
.notes-label{margin:22px 0}
.privacy-note{font-size:13px;color:var(--muted);margin-top:12px}
#brief-result{margin-top:30px}
#brief-text{margin-bottom:20px}
#brief-status{margin-top:10px;color:var(--green)}
.site-footer{background:var(--green-dark);color:var(--paper);padding-block:60px 27px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}
.footer-brand img{width:152px;height:auto;margin-bottom:15px}
.footer-brand span{font-size:14px;color:#dae3d9}
.footer-top>p{font-size:27px}
.footer-top>a:last-child{font-size:14px}
.footer-bottom{display:flex;gap:30px;align-items:center;margin-top:65px;color:#bacbc0;font-size:13px}
.footer-bottom>a{margin-left:auto}
.reveal.is-visible{animation:rise-in .7s cubic-bezier(.2,.6,.3,1) both}
.hero h1{animation:rise-in .85s ease-out both}
.hero-content p{animation:rise-in 1s ease-out both}
.hero .button{animation:rise-in 1.15s ease-out both}
.scene-image.changing img{animation:scene-in .8s ease-out}
.scene-copy.changing{animation:rise-in .5s ease-out}
@keyframes rise-in{from{opacity:.2;transform:translateY(22px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes landscape-drift{from{transform:scale(1.035)}
to{transform:scale(1)}
}
@keyframes scene-in{from{opacity:.4;transform:scale(1.025)}
to{opacity:1;transform:scale(1)}
}

@media(min-width:1800px){.site-header{padding-inline:max(var(--gutter),calc((100vw - 1600px)/2))}
}

@media(max-width:1100px){.site-header{height:84px}
.site-header nav{gap:20px;font-size:14px}
.brand{gap:12px}
.brand img{width:75px}
.brand>span{font-size:20px}
.brand small{font-size:13px;letter-spacing:0}
.hero{height:calc(100svh - 84px);min-height:650px}
.scene-copy{padding:32px}
.scene-copy h3{font-size:28px}
.platform-stage{padding:42px;gap:32px;grid-template-columns:.9fr 1.1fr}
.workflow{padding:22px}
.platform-copy h3{font-size:29px}
.contact-person{padding:25px 20px}
.service-list{gap:24px}
}

@media(max-width:800px){.site-header nav{position:absolute;top:84px;left:0;right:0;padding:15px var(--gutter) 30px;background:var(--paper);display:none;flex-direction:column;align-items:stretch;gap:8px}
.site-header nav.open{display:flex}
.site-header nav a{font-size:17px;padding:12px 0}
.site-header nav .nav-contact{justify-content:space-between;padding:12px 20px;margin-top:8px}
.menu-toggle{display:flex;flex-direction:column;gap:7px;background:transparent;padding:14px 6px;border:0;width:44px;height:44px;justify-content:center}
.menu-toggle span{width:26px;height:2px;background:var(--green);display:block}
.hero{min-height:660px;max-height:850px}
.hero-picture img{object-position:60% 50%}
.hero-scrim{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.36) 65%,rgba(0,0,0,.15))} /* taste-skill-ignore: neutral contrast scrim over the photograph */
.hero-content{padding-top:95px}
.hero h1{font-size:64px}
.hero-content p{font-size:17px}
.section-space{padding-top:80px;padding-bottom:80px}
.section-heading{align-items:flex-start;gap:30px;margin-bottom:40px}
.section-heading h2{font-size:35px}
.section-heading>p{font-size:15px;width:44%;padding-top:10px}
.application-picker{gap:16px}
.scene-choice span{font-size:19px}
.scene-choice small{font-size:13px}
.scene-detail{grid-template-columns:1fr 1fr}
.scene-image{min-height:490px}
.scene-copy{padding:30px 25px}
.scene-copy h3{font-size:25px}
.scene-copy>p,.scene-copy dd{font-size:15px}
.service-list{grid-template-columns:1fr 1fr;gap:40px}
.service-list li{padding-top:0}
.service-list li>span{margin-top:15px}
.platform-stage{grid-template-columns:1fr;gap:35px;padding:40px}
.platform-copy p{max-width:490px}
.workflow{padding:32px}
.about{padding-block:60px;min-height:700px}
.about-panel{max-width:460px;padding:40px}
.contact-people{gap:13px}
.contact-person{padding:22px 15px}
.contact-person strong{font-size:22px}
.contact-person>span{font-size:14px}
.footer-top>p{font-size:22px}
.footer-top{flex-wrap:wrap}
.footer-bottom{flex-wrap:wrap;gap:10px 25px}
}

@media(max-width:560px){html{scroll-padding-top:20px}
.site-header{height:78px}
.site-header nav{top:78px}
.brand img{width:74px}
.brand>span{font-size:20px}
.brand small{font-size:13px}
.hero{height:calc(100svh - 78px);min-height:650px;max-height:850px}
.hero-content{padding-top:64px}
.hero h1{font-size:48px;line-height:1.4}
.hero-picture img{object-position:62% 50%}
.hero-scrim{background:linear-gradient(180deg,rgba(0,0,0,.57),rgba(0,0,0,.24) 65%,rgba(0,0,0,.55))} /* taste-skill-ignore: neutral contrast scrim over the photograph */
.hero-content p{font-size:15px;margin-top:24px;line-height:1.9;max-width:340px}
.hero .button{margin-top:30px;font-size:14px;padding:14px 21px}
.hero-bottom{bottom:24px;font-size:13px}
.hero-bottom a{display:none}
.section-space{padding-block:65px}
.section-heading{display:block;margin-bottom:30px}
.section-heading h2{font-size:34px}
.section-heading>p{width:100%;font-size:16px;margin-top:22px;padding-top:0}
.application-picker{grid-template-columns:1fr 1fr;gap:22px 16px;margin-bottom:30px}
.scene-choice img{aspect-ratio:1.45}
.scene-choice span{font-size:20px;margin-top:12px}
.scene-choice small{font-size:13px}
.scene-detail{display:block}
.scene-image{min-height:0;height:295px}
.scene-copy{padding:30px 26px}
.scene-copy h3{font-size:27px}
.scene-copy>p{font-size:16px}
.scene-copy dl{margin:23px 0}
.scene-copy dd{font-size:15px}
.service-list{gap:32px 22px;margin-top:36px}
.service-list h3{font-size:22px;margin-bottom:13px}
.service-list p{font-size:15px}
.service-list li>span{font-size:13px}
.service-list li:before{width:22px;height:22px;margin-bottom:20px}
.service-note{margin-top:30px;font-size:13px}
.platform-stage{padding:30px 22px;gap:35px}
.platform-copy h3{font-size:29px}
.platform-copy p{font-size:16px}
.workflow{padding:20px 15px}
.workflow-top{font-size:13px}
.workflow-top img{width:64px}
.workflow-caption{font-size:20px;margin:25px 0 18px}
.workflow-grid{gap:9px}
.workflow-grid>div{padding:16px 12px}
.workflow-grid strong{font-size:14px}
.workflow-grid p{font-size:13px}
.workflow-foot{font-size:13px}
.about{min-height:0;padding:260px var(--gutter) 35px}
.about-picture img{object-position:64% 30%}
.about-panel{padding:32px 26px;max-width:none}
.about-panel h2{font-size:32px}
.about-panel p{font-size:16px}
.contact-people{grid-template-columns:1fr;gap:14px}
.contact-person{padding:24px 25px;position:relative}
.contact-person strong{font-size:31px;margin:12px 0 0}
.contact-person .call-label{position:absolute;right:25px;top:26px;font-size:13px;gap:8px}
.contact-person>span{font-size:15px}
.contact-bottom{gap:12px 23px;margin-top:25px}
.contact-bottom address{width:100%;font-size:14px}
.contact-bottom button{font-size:14px}
.consultation{margin-top:25px}
.consultation summary{padding:20px;font-size:17px}
.consultation-inner{padding:0 20px 25px}
.consultation-inner>p{font-size:15px}
.form-grid{grid-template-columns:1fr;gap:17px}
.site-footer{padding-block:45px 25px}
.footer-top{gap:30px;align-items:flex-start}
.footer-brand{width:100%}
.footer-brand img{width:138px}
.footer-top>p{font-size:21px}
.footer-top>a:last-child{font-size:13px;align-self:center}
.footer-bottom{margin-top:35px;display:grid;font-size:13px;gap:8px}
.footer-bottom>a{margin-left:0}
.hero-bottom span{font-size:13px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}
.footer-brand img{filter:invert(1)} .skip-link{top:10px;visibility:hidden;transform:translateY(-200%)} .skip-link:focus{visibility:visible;transform:translateY(0)}

.contact-person strong{margin:0 0 14px}.contact-person .call-label{margin-top:23px}@media(max-width:560px){.contact-person .call-label{top:auto;bottom:23px;margin:0}.contact-person strong{margin:0 0 12px}}
.scene-image>span{top:18px;bottom:auto;left:auto;right:18px}
.app-download{display:flex;align-items:center;justify-content:space-between;gap:60px;margin-top:32px;padding:42px 65px;background:var(--soft);scroll-margin-top:30px}.download-description h3{font-size:32px;line-height:1.5}.download-description>p{font-size:16px;color:var(--muted);margin-top:15px}.download-description .download-version{font-size:13px;margin:18px 0}.download-mobile-link{display:block;font-size:14px;margin-top:15px}.download-mobile-link:hover{text-decoration:underline}.download-qr{display:block;flex:0 0 206px;text-align:center}.download-qr img{width:206px;height:206px}.download-qr>span{display:block;font-size:14px;margin-top:12px}.download-qr:active{transform:scale(.98)}@media(max-width:800px){.app-download{padding:35px;gap:30px}.download-description h3{font-size:28px}.download-qr{flex-basis:180px}.download-qr img{width:180px;height:180px}}@media(max-width:560px){.app-download{padding:30px 24px;flex-direction:column;align-items:flex-start;gap:30px}.download-description h3{font-size:27px}.download-description>p{font-size:16px}.download-description .download-version{font-size:13px}.download-qr{align-self:center;flex-basis:auto}.download-qr img{width:206px;height:206px}.download-description .button{font-size:14px;gap:20px}}
:root{--navy:#173e78}.brand-filter{position:absolute;overflow:hidden;pointer-events:none}.brand img,.workflow-top img{filter:url(#brand-navy)}.brand>span{color:var(--navy)}.brand small{color:var(--ink)}.hero-picture .hero-slide{position:absolute;inset:0;opacity:0;animation:none;transform:scale(1.045);transition:opacity 1.3s ease,transform 7s linear}.hero-picture .hero-slide.is-active{opacity:1;transform:scale(1)}.hero-bottom{align-items:center;gap:30px}.hero-controls{display:flex;align-items:center;gap:8px}.hero-controls button{border:0;min-height:44px;padding:10px 17px;font-size:14px;color:var(--paper);background:rgba(0,0,0,.3);transition:background .2s,transform .2s}.hero-controls button:hover{background:rgba(0,0,0,.6);transform:translateY(-3px)}.hero-controls .hero-scene.is-active{background:var(--paper);color:var(--green)}.hero-controls .hero-pause{padding-inline:13px;font-size:13px}.hero-controls button:focus-visible{outline-color:var(--paper)}.scene-choice{overflow:hidden}.scene-choice img{transition:transform .7s ease,filter .4s ease}.scene-choice:hover img{transform:scale(1.045)}.footer-brand img{filter:url(#brand-navy)}.site-footer{background:var(--soft);color:var(--ink)}.footer-brand span,.footer-bottom{color:var(--muted)}@media(max-width:1100px){.hero-bottom{flex-wrap:wrap;gap:20px}.hero-controls button{padding-inline:13px}}@media(max-width:800px){.hero-bottom{display:block}.hero-controls{margin-top:15px}.hero-controls button{padding-inline:14px}.hero .hero-bottom>span{display:block}}@media(max-width:560px){.hero-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;position:relative;padding-top:10px}.hero-controls button{padding:10px 4px;font-size:13px}.hero-controls .hero-pause{position:absolute;right:0;bottom:calc(100% + 3px);min-height:32px;padding:3px 12px;background:rgba(0,0,0,.45)}.hero-bottom{bottom:20px}.hero .hero-bottom>span{font-size:13px}.hero-controls{margin-top:7px}.hero-content{padding-top:55px}.hero .button{margin-top:25px}}@media(prefers-reduced-motion:reduce){.hero-picture .hero-slide,.scene-choice img{transition:none!important;transform:none!important}}
.hero-flight{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.3s ease;pointer-events:none}.hero-flight.is-visible{opacity:1}@media(prefers-reduced-motion:reduce){.hero-flight{display:none}}
