/* CP Sunshine — material, spacing and motion refinement */
:root{--cream:#f8f7f2;--ink:#203b34;--green:#214f40;--muted:#6c776f;--line:#dce1d7}
body{background:#f8f7f2}.site-header{background:#faf9f5ed}.nav-cta{border-radius:30px;padding-inline:24px}.button{border-radius:30px;padding-inline:27px}.tags span{border-radius:20px;background:#f1f3ec}.hero{margin:0 14px;border-radius:0 0 28px 28px}.hero-photo{object-position:60% 55%;animation:none}.hero-shade{background:linear-gradient(90deg,#09291ee3,#133c3196 47%,#173a2621 85%),linear-gradient(0deg,#10332985,transparent 40%)}
.hero h1{font-size:clamp(58px,6.4vw,92px)}.hero-description{color:#e9ede4}.hero-bottom{bottom:34px}.hero h1 em{color:#e9edc5}
.solutions{background:#f8f7f2}.section-heading{margin-bottom:58px}.solution-grid{gap:30px}.solution-row{gap:28px}
.solution.service-card{--card-bg:#edf2e7;--card-ink:#4f7657;min-height:470px;padding:32px 34px 28px;border-radius:28px;border:1px solid #ccdac550;background:linear-gradient(135deg,#f5f8ef,var(--card-bg));box-shadow:0 3px 9px #3b493904;overflow:hidden;transition:flex .75s var(--ease-out),box-shadow .7s,transform .7s,border-color .7s;flex:1}
.solution.service-1{--card-bg:#e2f0eb;--card-ink:#37746d;background:linear-gradient(135deg,#f0faf6,#deede8);border-color:#bfdacf75}.solution.service-2{--card-bg:#f4ebd5;--card-ink:#98764a;background:linear-gradient(135deg,#fffbf0,#f1e5ca);border-color:#e3d2ac85}.solution.service-3{--card-bg:#eae8f3;--card-ink:#6b6e94;background:linear-gradient(135deg,#f7f5fc,#e6e6f1);border-color:#cfcee375}
.solution.service-card.is-expanded{flex:1.12;transform:translateY(-7px);box-shadow:0 20px 42px -22px #3b55432b;border-color:#96b09a80}
.service-top{min-height:0;display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.service-brand{font-size:10px;letter-spacing:1.8px;font-weight:600;color:var(--card-ink)}.solution-num{font-family:var(--sans);font-size:12px;color:var(--card-ink);opacity:.75}
.solution.service-card h3{font-size:clamp(27px,2.5vw,36px);font-weight:500;line-height:1.18;margin:0 0 22px;letter-spacing:-1px;max-width:100%;position:relative;z-index:2}.service-toggle{gap:22px}.service-toggle>span{display:none}
.solution.service-card>strong{max-width:62%;font-size:13px;color:var(--card-ink);font-weight:550;margin-bottom:12px}.solution.service-card>.service-summary{font-size:14px;line-height:1.9;max-width:58%;color:#68756c;position:relative;z-index:2}
.service-detail{max-width:58%;position:relative;z-index:2}.service-detail p{font-size:12px;line-height:1.8;color:var(--card-ink)}.is-expanded .service-detail{margin-top:16px}.service-hint{padding-top:24px;max-width:150px;min-height:46px;font-size:11px;letter-spacing:.2px}.service-hint>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid #889b7b45;font-size:17px}.service-hint{position:relative;z-index:3}
.service-art,.is-expanded .service-art{position:absolute;right:0;bottom:24px;width:48%;height:auto;aspect-ratio:1;margin:0;transform:none;transition:none;color:var(--card-ink);z-index:1;pointer-events:none}
.premium-object{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 13px 10px #354f3510)}
.service-art .object-motion{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.service-art small{font-size:6px;letter-spacing:1.3px;right:20px;bottom:-6px;opacity:.45}
.service-0 .service-art{width:48%;right:-2px;bottom:24px}.service-1 .service-art{width:46%;right:2px;bottom:19px}.service-2 .service-art{width:49%;right:-3px;bottom:14px}.service-3 .service-art{width:46%;right:1px;bottom:24px}
.object-motion{opacity:.28;transition:opacity .65s}.is-expanded .object-motion{opacity:1}
.solar-flux path{stroke-dasharray:20 180;animation:sunlight-flow 2.7s linear infinite}.solar-flux path:nth-child(2){animation-delay:-1s}.solar-flux path:nth-child(3){animation-delay:-1.8s}.panel-current{stroke-dasharray:30 280;animation:panel-flow 4s linear infinite;opacity:.8}
.battery-charge path{animation:battery-energy 4.8s ease-in-out infinite;opacity:.1}.battery-charge path:nth-child(2){animation-delay:.45s}.battery-charge path:nth-child(3){animation-delay:.9s}.battery-charge path:nth-child(4){animation-delay:1.35s}.battery-current{stroke-dasharray:25 115;animation:panel-flow 2.5s linear infinite;opacity:.7}
.investment-ring{opacity:.13}.investment-pulse{stroke-dasharray:25 860;animation:investment-flow 10s linear infinite;filter:drop-shadow(0 0 5px #fff5af)}
.service-art .gauge-needle{transform-origin:485px 490px}.gauge-arc{transition:none}
@keyframes sunlight-flow{to{stroke-dashoffset:-200}}@keyframes panel-flow{to{stroke-dashoffset:-310}}@keyframes battery-energy{0%,100%{opacity:.04}40%,60%{opacity:.38}}@keyframes investment-flow{to{stroke-dashoffset:-1770}}
.brand-band{--band-bg:#e7edcf;margin-top:16px;padding-block:22px;border:0}.band-group>span{font-size:clamp(31px,3.1vw,48px);letter-spacing:-1px}.band-group>i{font-size:25px;color:#85946c}.band-values{--band-bg:#204b3c;margin-top:0;margin-bottom:80px;padding-block:40px}.band-values .band-group>span{font-size:clamp(34px,4vw,62px)}.band-control{border-color:#81916755;opacity:.65}.band-services .band-group>span:nth-of-type(even){color:#69835e}
.about-note{background:#eef1e6;border:1px solid #e0e6d7;border-radius:24px;padding:30px 35px}.sun-mark{color:#849567}
.energy{margin:0 14px;border-radius:30px}.flow-node{background:#ffffff08;border-color:#b8c7b12b;border-radius:18px;box-shadow:0 20px 36px #071c2318;gap:3px;overflow:visible;animation:none}.flow-node .flow-object{height:100px;width:110px;object-fit:contain;margin-top:-28px;filter:drop-shadow(0 8px 6px #00000012)}.flow-node strong{font-size:11px;letter-spacing:.2px;margin-bottom:9px}.node-business{background:#e4ead728;color:#e7eedd;border:1px solid #bbcba338}.node-business .flow-object{width:128px;height:132px;margin-top:-20px}.is-night .node-business{background:#cee4e418;color:#e0eeef;border:1px solid #badad52a}.battery-bars{margin-bottom:10px}.flow-node.node-battery .flow-object{height:94px}.segmented{border-radius:30px}.segment-indicator{border-radius:30px}.cycle-tools{opacity:.8}.flow-sun{font-size:32px}.orbit{border-color:#e0f4cb0c}
.model-tabs{gap:8px;padding:6px;border:1px solid #e1e6d8;border-radius:18px;margin-bottom:16px;background:#f0f2e9}.model-tabs button{border:0;border-radius:13px;padding:17px 18px}.model-tabs button[aria-selected=true]{background:white;box-shadow:0 4px 10px #1735280b}.model-panel{border-radius:26px;background:linear-gradient(130deg,#eef2e6,#e8ede1);padding:48px;border:1px solid #d9e1d180}.model-intro .text-link{color:#34674e}
.projects{background:#f0f2ea}.project{background:#fafbf6;border:1px solid #d9e2d580;border-radius:22px;padding:10px 10px 0;overflow:hidden;box-shadow:0 8px 24px #243e2705;transition:transform .7s var(--ease-out),box-shadow .7s,opacity 1s}.project.visible:hover{transform:translateY(-6px);box-shadow:0 18px 35px #243e2710}.project-photo{border-radius:15px}.project-photo>span{border-radius:20px;padding:5px 11px;backdrop-filter:blur(8px)}.project>.eyebrow,.project>h3,.project-capacity{margin-inline:16px}.project h3{font-size:22px}.project-capacity{border:0;margin-bottom:2px}.technology-metrics>div{padding:25px 0}.technology-metrics strong{color:#426449}
.process-grid{gap:20px}.process-grid article{padding:28px 25px;background:#f0f2e9;border:1px solid #dce3d4;border-radius:20px;overflow:hidden}.process-grid article:before{top:0;left:25px;width:calc(100% - 50px);background:#9aaa80}.process-grid article>span{font-size:24px}.process-grid h3{font-size:20px}.contact{margin:0 14px;border-radius:30px 30px 0 0;background:radial-gradient(ellipse at top right,#49694c60,transparent 65%),#173d30}.contact-details{border-color:#d8e4c826}
@media(min-width:1500px){.container{width:min(1400px,calc(100% - 160px))}.solution.service-card{min-height:480px;padding:36px 40px}.service-art{max-width:310px}.solution.service-card>.service-summary{font-size:16px}.solution.service-card h3{font-size:38px}}
@media(max-width:1100px){.solution.service-card{padding:27px 27px 25px;min-height:465px}.solution.service-card h3{font-size:28px}.solution.service-card>.service-summary{font-size:13px;max-width:60%}.service-detail{max-width:60%}.service-brand{font-size:8px;letter-spacing:1.4px}.service-art{bottom:28px}.model-panel{padding:34px}.flow-node .flow-object{width:95px;height:90px}.node-business .flow-object{height:115px;width:108px}}
@media(max-width:850px){.solution-row{gap:18px}.solution.service-card,.solution.service-card.is-expanded{flex:1;transform:none;min-height:490px;padding:25px}.solution.service-card h3{font-size:27px}.solution.service-card>.service-summary,.service-detail{max-width:100%}.solution.service-card>strong{max-width:100%}.service-art,.service-0 .service-art,.service-1 .service-art,.service-2 .service-art,.service-3 .service-art{width:170px;right:3px;bottom:18px}.service-hint{margin-top:auto;padding-top:160px;max-width:118px}.service-top{margin-bottom:26px}.flow-node .flow-object{height:68px;width:78px;margin-top:-22px}.flow-node.node-battery .flow-object{height:68px}.node-business .flow-object{height:83px;width:88px}.flow-node strong{font-size:9px}.flow-node{border-radius:12px}.flow-caption{bottom:-15px}.project h3{font-size:19px}.project>.eyebrow,.project>h3,.project-capacity{margin-inline:8px}.process-grid{gap:16px}}
@media(max-width:580px){.site-header{background:#faf9f5fa}.hero{margin:0 7px;border-radius:0 0 22px 22px;height:705px}.hero-content{padding-top:78px}.hero h1{font-size:51px}.hero-photo{object-position:57% 50%}.hero-shade{background:linear-gradient(90deg,#102c27e6,#153a3275),linear-gradient(0deg,#092b22a0,transparent 50%)}.hero .container{width:calc(100% - 40px)}.hero-description{font-size:14px}.hero-buttons{gap:22px}.brand-band{margin-top:10px}.band-values{margin-bottom:55px}.solution-grid,.solution-row{gap:22px}.solution.service-card,.solution.service-card.is-expanded{border-radius:24px;min-height:430px;padding:25px 25px 23px}.solution.service-card h3{font-size:29px;letter-spacing:-.8px}.solution.service-card>.service-summary{font-size:13px;max-width:100%}.service-detail{max-width:100%}.service-hint{padding-top:164px;max-width:132px}.service-art,.service-0 .service-art,.service-1 .service-art,.service-2 .service-art,.service-3 .service-art{width:180px;right:0;bottom:15px}.service-top{margin-bottom:23px}.section-heading{margin-bottom:35px}.about-note{padding:23px 20px}.energy{margin:0 7px;border-radius:24px}.energy .container{width:calc(100% - 40px)}.flow-node .flow-object{width:100px;height:93px;margin-top:-23px}.flow-node.node-battery .flow-object{height:90px}.node-business .flow-object{height:112px;width:112px}.flow-node strong{font-size:10px}.flow-diagram{margin-top:15px}.model-tabs button{padding:13px 8px}.model-panel{padding:28px 22px;border-radius:20px}.model-tabs{border-radius:16px}.project{border-radius:22px;padding:9px 9px 0}.project h3{font-size:24px}.project>.eyebrow,.project>h3,.project-capacity{margin-inline:15px}.process-grid{grid-template-columns:1fr 1fr;gap:12px}.process-grid article{padding:22px 18px;border-radius:17px}.process-grid h3{font-size:19px}.contact{margin:0 7px;border-radius:24px 24px 0 0}html[lang=zh-CN] .hero{height:665px}html[lang=zh-CN] .hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.object-motion *{animation:none!important}.service-card.is-expanded{transform:none!important}.object-motion{opacity:.4}.service-card .gauge-needle{transition:none}}
.solution.service-card>.service-summary{min-height:0}.service-hint{text-align:left;padding-inline:0;background:none;width:150px;flex-shrink:0}
.service-3 .object-motion{opacity:1}
/* Editorial ribbons and reveal-on-hover cards. */
.brand-band{--band-bg:#183a31;display:flex;align-items:center;gap:0;margin:18px 14px 0;border:1px solid #314e4266;border-radius:17px;padding:0;background:linear-gradient(110deg,#14372c,#243e36);color:#dbe8c4;min-height:84px;box-shadow:0 8px 22px #1f3c2410;overflow:hidden}
.band-signature{position:relative;z-index:2;flex:0 0 180px;padding:16px 26px;background:linear-gradient(90deg,#16372f 80%,#16372f00);align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:5px}.band-signature>span{font-size:7px;letter-spacing:2px;color:#a1b3a6}.band-signature>strong{font-size:12px;font-weight:500;letter-spacing:1px;color:#eef1df}.band-window{flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 35px,#000 calc(100% - 50px),transparent)}.band-group{gap:34px;padding-right:34px;min-width:max-content}.band-track{animation-duration:40s}.band-group>span,.band-values .band-group>span,html[lang=zh-CN] .band-group>span{font-family:var(--sans);font-size:16px;font-weight:650;line-height:1.4;letter-spacing:.4px;color:#e4edcb}.band-group>span:nth-of-type(4n+2){color:#94d4c5}.band-group>span:nth-of-type(4n+3){color:#e6c692}.band-group>span:nth-of-type(4n+4){color:#c2cadf}.band-services .band-group>span:nth-of-type(even){color:#a9d7cf}.band-group>i{width:4px;height:4px;flex-shrink:0;border-radius:50%;background:#b5c8a14a;font-size:0}.band-control{position:relative;right:auto;bottom:auto;flex-shrink:0;margin:0 18px 0 10px;border-color:#ced9c34d;color:#dce8ca;background:#ffffff06;width:28px;height:28px}
.band-values{--band-bg:#f1f3eb;background:linear-gradient(110deg,#f3f4ed,#edf1e7);border-color:#dae2d0;margin-top:0;margin-bottom:80px;box-shadow:none}.band-values .band-signature{background:linear-gradient(90deg,#f2f4ec 80%,#f2f4ec00)}.band-values .band-signature>span{color:#88997b}.band-values .band-signature>strong{color:#3f5d48}.band-values .band-group>span{color:#496d58}.band-values .band-group>span:nth-of-type(3n+2){color:#778a69}.band-values .band-group>span:nth-of-type(3n+3){color:#957e58}.band-values .band-control{color:#45644b;border-color:#bccbb9;background:#fff8}
.solution.service-card h3{font-weight:650;font-size:clamp(31px,2.65vw,39px);color:#182923;letter-spacing:-1px}.solution.service-card>strong{font-size:14px;font-weight:500;line-height:1.7}.service-detail{margin-top:0;transform:translateY(12px);transition:grid-template-rows .6s var(--ease-out),opacity .45s,transform .6s var(--ease-out),margin .6s;max-width:58%}.is-expanded .service-detail{margin-top:8px;transform:translateY(0)}.service-detail .service-summary{font-size:14px;line-height:1.85;color:#627066;margin:0}.service-detail .service-extra{font-size:11px;color:var(--card-ink);margin-top:15px;line-height:1.8}.service-detail>div{min-height:0}.service-card:not(.is-expanded) .service-detail{visibility:hidden}.service-card.is-expanded .service-detail{visibility:visible}
.sun-breathe{transform-origin:818px 170px;animation:sun-power 3.6s ease-in-out infinite}.glass-sweep{animation:glass-light 4.8s var(--ease-out) infinite}.cell-response{animation:cell-energy 4.8s ease-in-out infinite}.investment-wave{stroke-dasharray:650 235;animation:energy-orbit 8s linear infinite;filter:drop-shadow(0 0 6px #f5d38699)}.investment-wave.wave-inner{stroke-dasharray:350 490;animation-direction:reverse;animation-duration:11s;opacity:.7}.building-glow{opacity:.08;animation:building-energy 5s ease-in-out infinite;mix-blend-mode:screen}
@keyframes glass-light{0%,10%{transform:translateX(0);opacity:0}20%{opacity:1}85%,100%{transform:translateX(1350px);opacity:0}}@keyframes cell-energy{0%,100%{opacity:.15}45%,65%{opacity:.8}}@keyframes sun-power{0%,100%{opacity:.35;transform:scale(.88)}50%{opacity:.85;transform:scale(1.1)}}@keyframes energy-orbit{to{stroke-dashoffset:-1770}}@keyframes building-energy{0%,100%{opacity:.04}50%{opacity:.23}}
@media(max-width:850px){.service-detail{max-width:100%}.solution.service-card h3{font-size:30px}.band-signature{flex-basis:150px;padding-inline:20px}.band-group{gap:26px;padding-right:26px}.band-group>span,html[lang=zh-CN] .band-group>span{font-size:14px}}
@media(max-width:580px){.brand-band{margin:12px 7px 0;min-height:75px;border-radius:14px}.band-signature{flex-basis:106px;padding:12px 13px}.band-signature>span{font-size:6px;letter-spacing:1px}.band-signature>strong{font-size:10px}.band-group{gap:22px;padding-right:22px}.band-group>span,.band-values .band-group>span,html[lang=zh-CN] .band-group>span{font-size:13px;font-weight:600}.band-control{width:23px;height:23px;margin-right:9px;margin-left:3px}.band-window{mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.band-values{margin-bottom:55px}.solution.service-card h3{font-size:30px}.service-detail .service-summary{font-size:13px}.solution.service-card>strong{font-size:13px}.service-hint{padding-top:155px}}
@media(prefers-reduced-motion:reduce){.brand-band{align-items:stretch}.band-track{width:100%}.band-group{min-width:0;gap:12px;padding:15px;justify-content:flex-start}.band-group>i{display:none}.band-group>span[aria-hidden=true]{display:none}.band-window{mask-image:none}.service-detail{transform:none}.sun-breathe,.glass-sweep,.cell-response,.investment-wave,.building-glow{animation:none!important}}
.band-group{min-width:calc(100vw - 260px);justify-content:space-around}@media(prefers-reduced-motion:reduce){.band-group{min-width:0;justify-content:flex-start}}
h1,h2,h3{text-wrap:balance}
