/* A lighter editorial system: one continuous landscape, clear hierarchy, restrained depth. */
:root{--ink:#1d2825;--deep:#315c50;--jade:#267d6b;--paper:#f5f7f5;--gold:#788e81;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;--glass:linear-gradient(135deg,#fffffff0,#f7faf7d9);--glass-border:#ffffffc9}
body{color:#1d2825;background:#f2f5f2;font-family:var(--sans)}
.site-backdrop{background:#17382f}
.site-backdrop:has(.hero-video[hidden]){background:#17382f url('./assets/shanshui-landscape.png') 66% center/cover}
.site-backdrop .hero-video{opacity:1;filter:brightness(1.12) saturate(.92)}
.site-backdrop:after{background:linear-gradient(90deg,#04191224,transparent 75%)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #007b688f;outline-offset:5px}
.global-nav{height:78px;letter-spacing:0;color:#34433e;font-size:12px}
.brand,.brand>span{color:#233b32;font-weight:600;letter-spacing:.5px}
.brand>span{font-weight:400}
.global-nav .brand{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}
.nav-contact{background:#ffffff70;border-color:#57766730;color:#354a40;box-shadow:none;padding:10px 18px}
.global-nav nav a:after{background:#287e68}
.hero{height:100svh;min-height:850px;max-height:1100px}
.hero-content{padding-top:clamp(165px,21vh,230px);text-align:center}
.hero .eyebrow{justify-content:center;font-size:13px;font-weight:550;letter-spacing:2px;color:#567367;margin-bottom:25px}
.hero .eyebrow:before{display:none}
.hero h1{font-family:var(--sans);font-weight:650;font-size:clamp(60px,6.7vw,88px);letter-spacing:-3px;line-height:1.2;color:#202c27;text-shadow:none;margin:0 0 27px}
.hero h1 span{color:#438471}
.hero .hero-description{font-size:20px;line-height:1.65;letter-spacing:0;color:#5b6c64;text-shadow:none;margin-bottom:30px}
.hero-actions{justify-content:center;gap:28px}
.button{background:#167661;color:white;border:1px solid #167661;padding:15px 27px;letter-spacing:0;font-size:15px;font-weight:500;box-shadow:none;gap:17px;transition:background .25s,transform .3s}
.button:hover{background:#21856f;border-color:#21856f;transform:translateY(-2px);box-shadow:0 8px 22px #205e4920}
.hero-actions .text-link,.text-link{color:#176c58;border-color:transparent;font-size:15px;letter-spacing:0}
.hero-actions .text-link span{border:0}
.hero-caption{display:none}
.hero-islands{inset:auto 20px 123px;display:flex;justify-content:center;gap:14px;pointer-events:auto}
.hero-island{position:static;animation:none;transform:none;min-width:195px;padding:17px 22px;gap:13px;background:#ffffffe0;border:1px solid #fff;border-radius:22px;box-shadow:0 10px 35px #21403109;color:#33483e;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:transform .35s,box-shadow .35s}
.hero-island:hover{background:#fff;transform:translateY(-3px);box-shadow:0 12px 36px #244b3312}
.hero-island strong{font-size:13px;font-weight:500;letter-spacing:.5px}
.hero-island small{font-size:7px;letter-spacing:1.2px;color:#6e8075}
.island-icon{border:0;background:#e7efea;color:#427d65;width:34px;height:34px}
.hero-bottom{bottom:30px}
.scene-index,.scene-index b{color:#5d7467}
.scroll-cue{color:#567762}
.scroll-cue span{background:linear-gradient(#72927e,transparent)}
.philosophy{gap:0;padding:32px 0 45px;margin-top:0;border-top:1px solid #54736320;max-width:880px}
.philosophy>div,.philosophy>div+div{background:none;box-shadow:none;border:0;border-radius:0;padding:8px 35px;backdrop-filter:none;-webkit-backdrop-filter:none;justify-content:center}
.philosophy>div+div{border-left:1px solid #54736324}
.philosophy>div:hover{background:none;transform:none}
.philosophy strong{color:#658a72;font-size:32px}
.philosophy p{color:#4f6558}
.philosophy span{color:#758779}
.section{padding:115px 0}
.section h2{font-family:var(--sans);font-size:clamp(40px,4.5vw,62px);font-weight:600;line-height:1.22;letter-spacing:-1.6px;color:#233029;text-shadow:none}
.section h2 .muted,.muted{color:#84948a}
.section .eyebrow,.section .blue{color:#6b8274;text-shadow:none;font-size:10px;letter-spacing:2px;margin-bottom:24px}
.section-heading{margin-bottom:52px;gap:40px}
.section-heading>p,.platforms .section-heading>p{color:#5d7063;text-shadow:none;font-size:16px;line-height:1.7}
.platform-tabs{background:#e5ebe5b8;border:0;padding:6px;gap:3px;margin-bottom:24px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.platform-tabs button{font-size:13px;color:#52675a;padding:13px 20px;min-height:44px}
.platform-tabs button[aria-selected=true]{background:#fff;color:#203f30;box-shadow:0 3px 10px #153e2010}
.platform-panel{background:#ffffffe8;border:1px solid #fff;border-radius:32px;box-shadow:0 18px 60px #163b2110;min-height:460px}
.platform-copy{padding:64px}
.tiny-label{color:#718779;font-size:10px;letter-spacing:2px}
.platform-copy h3{color:#25372d;font-size:34px;font-weight:600;letter-spacing:-.8px}
.platform-copy p{color:#64776a;font-size:16px;line-height:1.8;margin-bottom:30px}
.platform-art{background:#f6f8f3}
.platform-art img.platform-landscape{opacity:1;mask-image:linear-gradient(90deg,transparent,#000 22%);filter:saturate(.55) brightness(1.12);animation:none}
.platform-art #platform-logo{border:1px solid #fff;width:142px;background:#fffffff2;box-shadow:0 12px 35px #153a2229}
.platform-art .orbit{display:none}
.platform-art .connected{background:#ffffffdf;border:1px solid #fff;color:#426650;letter-spacing:1.5px;box-shadow:0 8px 22px #284a2214}
.connected i{background:#459a72;animation:none}
.solution-grid{gap:24px;padding:15px 2px 30px}
.solution-card,.solution-card:nth-child(2n),.solution-card:hover{background:#ffffffed;border:1px solid #fff;border-radius:28px;padding:28px 30px 30px;min-height:498px;box-shadow:0 10px 30px #173c2410;transition:transform .5s,box-shadow .5s}
.solution-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px #1e48211a}
.solution-card:after{display:none}
.solution-card .solution-visual{height:255px;object-fit:cover;opacity:1;mask-image:none;filter:saturate(.65) brightness(1.09);transition:transform .8s}
.card-top{height:254px}
.card-top>span:first-child{color:#2d4739;text-shadow:none;background:#ffffffde;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff90;border-radius:20px;display:inline-block;padding:7px 11px;font-size:8px;letter-spacing:1px}
.card-symbol{display:none}
.solution-card h3{font-family:var(--sans);font-size:25px;font-weight:600;letter-spacing:-.5px;line-height:1.3;color:#253b2e;margin-bottom:13px}
.solution-card p{font-size:14px;line-height:1.75;color:#68796e;max-width:100%;padding-bottom:30px}
.detail-button{width:44px;height:44px;min-width:44px;justify-content:center;padding:0;background:#e9efea;border:0;color:#344f3d;bottom:22px;right:24px}
.detail-button:before{display:none}
.detail-button:hover{background:#dce7df;transform:none}
.carousel-controls{gap:13px;margin-top:12px}
.carousel-arrow,.carousel-pill{background:#e5ece6de;border:0;box-shadow:none;color:#3e5c46}
.carousel-arrow{width:44px;height:44px}
.carousel-arrow:hover{background:#d8e4db}
.carousel-arrow:disabled{opacity:.38}
.carousel-dot{background:#99ac9d}
.carousel-dot[aria-current=true]{background:#3a5946}
.carousel-status{color:#597361;font-size:10px}
.service-grid{gap:28px;margin-top:50px}
.service-large,.service-stack .service-item{background:#ffffffeb;border:1px solid #fff;box-shadow:0 12px 34px #26452b0b}
.service-large{border-radius:30px}
.service-visual{background:#edf2eb;border-radius:30px 30px 0 0;height:295px}
.service-visual img{animation:none;transform:none;filter:saturate(.6) brightness(1.08)}
.service-large:hover .service-visual img{transform:scale(1.025)}
.service-visual:after{background:linear-gradient(0deg,#fffffff0,transparent 35%)}
.scene-orbit,.scene-particle{display:none}
.visual-label{color:#566e5b;text-shadow:none;font-size:8px;letter-spacing:2px}
.service-large h3{font-family:var(--sans);font-weight:600;color:#263b2e;font-size:33px;letter-spacing:-.5px;line-height:1.25;margin-top:28px}
.service-large>p{color:#64756a;font-size:15px;line-height:1.8}
.interaction-hint{color:#6d8171;font-size:11px;letter-spacing:.5px}
.service-stack .service-item.is-open{background:#fafff8ed;border-color:#c9dacf;box-shadow:0 10px 30px #1c4d2510}
.service-toggle{font-family:var(--sans);font-weight:550;font-size:23px;letter-spacing:0;color:#2a4233;padding:30px}
.service-toggle .service-number{color:#84968a;font-size:11px}
.expand-icon{border:0;background:#eef2ec;color:#54725c;font-size:22px}
.is-open .expand-icon{background:#dfece2}
.service-stack .service-answer p{color:#667b6b;font-size:14px}
.service-tags span{background:#edf3eb;border:0;color:#52715a;font-size:10px;letter-spacing:0;padding:7px 12px}
.service-tags span:before{background:#7b9c81}
.stats{gap:24px;margin-top:40px}
.stats>div{background:#ffffffb8;border:1px solid #fff;box-shadow:none;border-radius:25px;padding:33px 28px}
.stats strong{font-family:var(--sans);font-size:46px;font-weight:550;letter-spacing:-2px;color:#327a58}
.stats strong span{font-size:23px;font-weight:400;letter-spacing:0}
.stats p{color:#63786a;font-size:12px;letter-spacing:0}
.stats>div:after{display:none}
.stats-note{color:#7b8b7e;text-shadow:none;font-size:10px}
.journey-tabs{gap:18px}
.journey-tabs button{background:#ffffffba;border:1px solid #fff;box-shadow:none;color:#68816d}
.journey-tabs button[aria-selected=true]{background:#fff;border-color:#b6cec0;color:#244b35;box-shadow:0 8px 26px #2346290c}
.journey-tabs button>span:nth-child(2){font-family:var(--sans);font-size:22px;font-weight:550;letter-spacing:-.3px}
.step-number{font-family:var(--sans);font-weight:500;font-size:28px;color:#8ba18c}
.journey-tabs small{color:#7b907e;letter-spacing:1.2px}
.journey-panel{background:#ffffffeb;border:1px solid #fff;box-shadow:0 18px 50px #2045260a;min-height:300px}
.journey-ring{border-color:#bed1bc;box-shadow:0 0 0 16px #c5dbb81a,0 0 0 32px #c5dbb80b;animation-duration:45s}
.journey-ring:before,.journey-ring:after{background:#77a777;box-shadow:0 0 12px #9dc18f66}
#journey-symbol{color:#5f966a}
.journey-scene small{color:#7c957f}
.journey-copy h3{font-family:var(--sans);font-weight:600;font-size:30px;letter-spacing:-.5px;color:#304b36}
.journey-copy p{color:#657b68;font-size:14px;line-height:1.8}
.journey-next{color:#277048;font-size:12px}
.contact-box{background:#f4f7f0;border:1px solid #fff;box-shadow:0 16px 50px #2643280c;border-radius:32px;padding:56px}
.contact-box:before{background:linear-gradient(90deg,#f6f8f0f7,#eef4e3d9 45%,#f1f5e664),url('./assets/contact.jpg') center/cover no-repeat;opacity:1;filter:saturate(.6)}
.contact-box h3{font-family:var(--sans);font-size:38px;font-weight:600;line-height:1.3;letter-spacing:-1px;color:#294832}
.contact-box p{color:#5a795e;font-size:15px;letter-spacing:0}
.contact-actions .button{font-size:13px;padding:15px 23px}
.secondary{background:#ffffffcf;border-color:#9db9a4;color:#346745}
.secondary:hover{background:#fff;color:#346745;border-color:#7da489}
footer{color:#687c6c;border-color:#8da79233;text-shadow:none;font-size:11px}
footer .brand{filter:none}
dialog{background:#fafff8f7;color:#294432;border:1px solid #fff;box-shadow:0 25px 100px #1d442d36}
dialog::backdrop{background:#e2eae3a3;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
dialog h2{font-family:var(--sans);font-weight:600;font-size:34px;letter-spacing:-1px;color:#294432}
dialog .eyebrow{color:#7a907c}
dialog>p:not(.eyebrow){color:#627966}
dialog ul{color:#41604a}
.dialog-close{background:#e6eee4;border:0;color:#506e56}
.dialog-close:hover{background:#d4e3d3}
.reveal-ready{transform:translateY(18px);transition:opacity .8s ease,transform .9s cubic-bezier(.16,1,.3,1)}
@media(max-width:1000px){.hero h1{font-size:72px}.platform-copy{padding:42px}.platform-copy h3{font-size:29px}.platform-copy p{font-size:15px}.platform-tabs button{font-size:11px;padding:13px 15px}.solution-card{flex-basis:calc((100% - 24px)/2)}.stats>div{padding:28px 20px}.stats strong{font-size:40px}.contact-box{padding:40px}}
@media(max-width:600px){.global-nav{height:74px;font-size:11px}.global-nav .brand{padding:0}.global-nav nav{gap:15px}.hero{height:880px;min-height:880px}.hero-content{padding-top:160px}.hero .eyebrow{font-size:10px;letter-spacing:1.6px;margin-bottom:27px}.hero h1{font-size:52px;line-height:1.22;letter-spacing:-2px;margin-bottom:24px}.hero .hero-description{font-size:16px;line-height:1.7;margin-bottom:28px}.hero-actions{gap:20px}.hero-actions .button{padding:14px 20px;font-size:13px}.hero-actions .text-link{font-size:12px}.site-backdrop .hero-video{opacity:1}.site-backdrop:after{background:linear-gradient(0deg,#04191212,#04191224)}.hero-islands{left:28px;right:28px;bottom:103px;display:grid;grid-template-columns:1fr;gap:9px}.hero-island{padding:12px 18px;border-radius:18px;justify-content:flex-start;min-width:0}.hero-island strong{font-size:12px}.hero-island small{font-size:7px;margin-top:4px}.island-icon{width:31px;height:31px;font-size:17px}.hero-bottom{bottom:27px}.philosophy{padding:16px 0 28px;width:calc(100% - 40px)}.philosophy>div,.philosophy>div+div{padding:10px 8px}.philosophy strong{font-size:25px}.philosophy p{font-size:10px}.philosophy span{font-size:6px}.section{padding:78px 0}.section h2{font-size:37px;letter-spacing:-1px;line-height:1.25}.section .eyebrow{font-size:9px;margin-bottom:20px;letter-spacing:1.7px}.section-heading{margin-bottom:30px}.section-heading>p,.platforms .section-heading>p{font-size:14px;margin-top:20px}.platform-tabs{margin-right:-20px;padding:6px;gap:2px}.platform-tabs button{font-size:11px;padding:12px 17px}.platform-panel{border-radius:27px;min-height:0}.platform-copy{padding:32px 27px 12px}.platform-copy h3{font-size:27px}.platform-copy p{font-size:14px;margin-bottom:22px}.platform-art{min-height:290px}.platform-art img.platform-landscape{mask-image:linear-gradient(transparent,#000 24%)}.solution-grid{gap:16px}.solution-card,.solution-card:nth-child(2n),.solution-card:hover{flex-basis:89%;border-radius:26px;padding:26px;min-height:483px}.solution-card .solution-visual{height:242px}.card-top{height:244px}.solution-card h3{font-size:23px}.solution-card p{font-size:13px}.card-top>span:first-child{font-size:7px;padding:6px 10px}.service-large{border-radius:27px}.service-visual{height:250px;border-radius:27px 27px 0 0}.service-large h3{font-size:29px}.service-large>p{font-size:14px}.service-grid{gap:24px;margin-top:35px}.service-toggle{padding:27px 23px;font-size:22px}.service-stack .service-answer p{font-size:13px}.stats{gap:13px;margin-top:27px}.stats>div{padding:27px 20px;border-radius:23px}.stats strong{font-size:37px}.stats p{font-size:11px}.journey-tabs{gap:8px}.journey-tabs button{padding:18px 8px;border-radius:21px}.journey-tabs button>span:nth-child(2){font-size:16px;letter-spacing:0}.step-number{font-size:21px}.journey-tabs small{font-size:6px;letter-spacing:.8px}.journey-panel{min-height:490px;border-radius:27px}.journey-copy h3{font-size:26px}.journey-copy p{font-size:13px}.contact-box{padding:34px 27px;border-radius:27px}.contact-box h3{font-size:29px;letter-spacing:-.5px}.contact-box p{font-size:13px}.contact-box:before{background:linear-gradient(#f6f8f0e0,#eff5e5c4),url('./assets/contact.jpg') right center/cover}.contact-actions .button{font-size:13px}.stats-note{font-size:9px}dialog h2{font-size:29px}.hero-bottom .scene-index{font-size:7px}}
@media(prefers-reduced-motion:reduce){.hero-island:hover,.solution-card:hover{transform:none}.reveal-ready{transform:none;transition:none}}
/* Keep the film fully visible; protect text locally, never wash out the landscape. */
.global-nav,.global-nav .brand,.global-nav .brand>span{color:#f3f8f0;text-shadow:0 2px 12px #062016}
.nav-contact{color:#eff7ed;background:#11362950;border-color:#f1fff150}
.hero-content:before{content:"";position:absolute;left:50%;top:135px;width:min(820px,110%);height:520px;transform:translateX(-50%);background:radial-gradient(ellipse,#08291c75 10%,#08291c3b 48%,transparent 72%);filter:blur(24px);z-index:-1;pointer-events:none}
.hero h1{color:#fbfff6;text-shadow:0 3px 28px #04221666}
.hero h1 span{color:#d8eedb}
.hero .eyebrow,.hero .hero-description{color:#edf6e9;text-shadow:0 2px 15px #032214}
.hero-actions .text-link{color:#f3faef;text-shadow:0 2px 10px #032214}
.hero-actions .button{background:#f4faee;color:#22553d;border-color:#f4faee}
.hero-actions .button:hover{background:white;border-color:white}
.scene-index,.scene-index b,.scroll-cue{color:#e5f3e0;text-shadow:0 2px 12px #052718}
.scroll-cue span{background:linear-gradient(#d7ebcf,transparent)}
.philosophy{border-top-color:#e8f5df33}
.philosophy strong,.philosophy p,.philosophy span{color:#edf6e6;text-shadow:0 2px 12px #052718}
.philosophy>div+div{border-left-color:#e8f5df44}
.section h2{color:#f5faee;text-shadow:0 3px 25px #032014aa}
.section h2 .muted{color:#c9e0c7}
.section .eyebrow,.section .blue,.section-heading>p,.platforms .section-heading>p{color:#ecf5e5;text-shadow:0 2px 12px #032014}
.interaction-hint,.stats-note{color:#e3efdb;text-shadow:0 2px 9px #032014}
footer,footer .brand,footer .brand>span{color:#ebf4e5;text-shadow:0 2px 10px #042015}
footer{border-top-color:#eff6df33}
@media(max-width:600px){.hero-content:before{top:125px;height:400px;width:110%;background:radial-gradient(ellipse,#08291c80 12%,#08291c35 52%,transparent 75%)}}
