
:root{--bg:#020816;--bg2:#07162c;--blue:#3898ff;--orange:#ff8a35;--text:#f4f8ff;--muted:#9aacc6;--glass:rgba(13,29,54,.58);--line:rgba(174,211,255,.18);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;background:radial-gradient(circle at 15% 10%,rgba(40,120,255,.12),transparent 30%),radial-gradient(circle at 88% 12%,rgba(255,126,42,.08),transparent 26%),linear-gradient(145deg,var(--bg),var(--bg2) 55%,#030a19);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(89,157,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(89,157,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 90%)}a{color:inherit;text-decoration:none}.nav{position:fixed;z-index:50;top:16px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 32px));height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:rgba(5,15,32,.62);backdrop-filter:blur(28px) saturate(165%);border:1px solid rgba(207,229,255,.14);border-radius:20px;box-shadow:inset 0 1px rgba(255,255,255,.08),0 18px 50px rgba(0,0,0,.25)}.brand{font-weight:800;letter-spacing:.08em}.brand i{font-style:normal;color:var(--orange)}.menu{display:flex;    justify-content: end;
    flex: 1;gap:15%;color:#c6d3e6;font-size:18px}.menu a:hover{color:#fff}.nav-cta{padding:10px 16px;border:1px solid rgba(255,151,73,.45);border-radius:999px;color:#ffd3b5}.mobile-toggle{display:none}.page{position:relative;z-index:1}.hero{min-height:100vh;display:grid;place-items:center;padding:130px 24px 72px;text-align:center;overflow:hidden}.hero.small{min-height:76vh}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(100px);opacity:.22;pointer-events:none}.hero:before{width:420px;height:420px;background:#1976ff;left:-170px;top:15%}.hero:after{width:340px;height:340px;background:#ff792f;right:-140px;bottom:10%;opacity:.15}.hero-inner{position:relative;z-index:2;max-width:1060px}.eyebrow{font-size:13px;letter-spacing:.32em;color:#90b6e9;text-transform:uppercase}.hero h1{font-size:clamp(46px,7vw,94px);line-height:1.08;margin:18px 0 20px;letter-spacing:-.04em}.gradient-text{background:linear-gradient(100deg,#fff 8%,#65b4ff 45%,#ff9b50 78%,#fff);background-size:220% auto;-webkit-background-clip:text;color:transparent;animation:shine 7s linear infinite}@keyframes shine{to{background-position:220% center}}.lead{max-width:760px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.9}.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}.tag{padding:9px 14px;border:1px solid rgba(131,192,255,.22);background:rgba(8,29,56,.46);backdrop-filter:blur(18px);border-radius:999px;color:#bdd9f7;font-size:13px}.energy-lines{position:absolute;inset:0;pointer-events:none;opacity:.55}.energy-lines i{position:absolute;height:1px;width:32vw;background:linear-gradient(90deg,transparent,#4ea6ff,transparent);animation:drift 6s ease-in-out infinite}.energy-lines i:nth-child(1){top:30%;left:-10%;transform:rotate(8deg)}.energy-lines i:nth-child(2){top:67%;right:-12%;transform:rotate(-9deg);animation-delay:-2s;background:linear-gradient(90deg,transparent,#ff8a35,transparent)}.energy-lines i:nth-child(3){top:52%;left:38%;width:24vw;animation-delay:-4s}@keyframes drift{50%{transform:translateX(90px) scaleX(1.25)}}.particles{position:absolute;inset:0;pointer-events:none}.particles b{position:absolute;width:3px;height:3px;border-radius:50%;background:#74b9ff;box-shadow:0 0 12px #5caeff;animation:float 5s ease-in-out infinite}.particles b:nth-child(2n){background:#ff9a51;box-shadow:0 0 12px #ff8a35}@keyframes float{50%{transform:translateY(-18px);opacity:.4}}.section{padding:100px 24px}.container{width:min(1180px,100%);margin:auto}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-head h2{font-size:clamp(32px,4vw,54px);margin:8px 0}.section-head p{color:var(--muted);line-height:1.8}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid.two{grid-template-columns:repeat(2,1fr)}.glass{position:relative;isolation:isolate;padding:30px;border-radius:var(--radius);background:linear-gradient(145deg,rgba(19,40,73,.68),rgba(7,20,42,.46));backdrop-filter:blur(36px) saturate(175%);border:1px solid rgba(203,228,255,.17);box-shadow:inset 0 1px rgba(255,255,255,.10),inset 0 -1px rgba(48,102,168,.08),0 18px 50px rgba(0,0,0,.22);transition:.35s ease;overflow:hidden}.glass:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 72%,rgba(75,166,255,.78) 78%,rgba(255,139,56,.82) 82%,transparent 88%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borderRun 8s linear infinite;opacity:.62;pointer-events:none}.glass:after{content:"";position:absolute;left:24px;right:45%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);opacity:.48}.glass:hover{transform:translateY(-8px);border-color:rgba(100,176,255,.35);box-shadow:inset 0 1px rgba(255,255,255,.14),0 24px 68px rgba(0,0,0,.32)}.glass:hover:before{opacity:1;animation-duration:3.8s}@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}@keyframes borderRun{to{--a:360deg}}.business-card{min-height:310px;display:flex;flex-direction:column}.number{font-size:12px;letter-spacing:.28em;color:#7197c4}.business-card h3{font-size:27px;margin:35px 0 12px}.business-card p{color:var(--muted);line-height:1.8;margin:0}.arrow{margin-top:auto;padding-top:28px;color:#8ec9ff}.orange .arrow{color:#ffb27d}.metric{font-size:42px;font-weight:800;margin-bottom:10px}.glass h3{font-size:22px;margin:0 0 12px}.glass p,.list{color:var(--muted);line-height:1.85}.list{padding-left:18px}.cta{display:flex;justify-content:space-between;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;background:linear-gradient(100deg,#2b83e9,#ff842f);font-weight:700;box-shadow:0 8px 28px rgba(17,93,184,.22)}footer{padding:42px 24px;color:#7f92ae}.footer-in{width:100%;margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.intro{position:fixed;z-index:999;inset:0;background:#020712;display:grid;place-items:center;overflow:hidden;transition:opacity .8s,visibility .8s}.intro.hide{opacity:0;visibility:hidden}.intro-core{text-align:center;position:relative;z-index:2}.intro-core .mission{font-size:14px;letter-spacing:.45em;color:#8eb6e7;opacity:0;animation:reveal .8s .4s forwards}.intro-core h1{font-size:clamp(48px,8vw,108px);margin:20px;opacity:0;filter:blur(16px);transform:scale(.92);animation:mission 1.6s .85s cubic-bezier(.2,.8,.2,1) forwards;background:linear-gradient(90deg,#68b7ff,#fff,#ff964a);-webkit-background-clip:text;color:transparent}.intro-core:after{content:"";display:block;width:0;height:1px;margin:25px auto;background:linear-gradient(90deg,transparent,#4ba6ff,#ff8a35,transparent);animation:line 1.8s 1s forwards}.intro-orbit{position:absolute;width:75vmin;height:75vmin;border:1px solid rgba(82,155,255,.15);border-radius:50%;animation:spin 10s linear infinite}.intro-orbit:nth-child(2){width:52vmin;height:52vmin;border-color:rgba(255,138,53,.12);animation-direction:reverse}@keyframes reveal{to{opacity:1}}@keyframes mission{to{opacity:1;filter:blur(0);transform:scale(1)}}@keyframes line{to{width:min(520px,70vw)}}@keyframes spin{to{transform:rotate(360deg)}}.form{display:grid;gap:14px}.input{width:100%;padding:15px 16px;color:white;background:rgba(1,11,25,.45);border:1px solid rgba(176,213,255,.15);border-radius:14px;outline:none}.input:focus{border-color:#458fdc}.timeline{display:grid;gap:18px}.timeline .glass{padding-left:80px}.year{position:absolute;left:28px;color:#ff9b58;font-weight:800}.notice{padding:18px;border-left:2px solid var(--orange);background:rgba(255,138,53,.05);color:#bdc9da}.fade-up{opacity:0;transform:translateY(24px);transition:.7s}.fade-up.show{opacity:1;transform:none}
@media(max-width:900px){.menu{display:none}.grid,.grid.two{grid-template-columns:1fr 1fr}.hero h1{font-size:52px}.section{padding:76px 18px}}@media(max-width:620px){.grid,.grid.two{grid-template-columns:1fr}.nav{top:8px;height:60px}.nav-cta{display:none}.hero{padding-top:105px}.hero h1{font-size:42px}.section-head,.cta{align-items:flex-start;flex-direction:column}.glass{padding:23px}.business-card{min-height:250px}.lead{font-size:16px}}

/* V4.1 navigation, one-screen homepage and typography refinements */
.menu{align-items:center}.nav-business{position:relative;height:68px;display:flex;align-items:center}.nav-business-trigger{display:flex;align-items:center;gap:6px;height:100%}.nav-business-trigger span{font-size:12px;transition:transform .25s}.nav-business:hover .nav-business-trigger span{transform:rotate(180deg)}.business-dropdown{position:absolute;top:58px;left:50%;width:560px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(3,13,29,.88);backdrop-filter:blur(34px) saturate(185%);border:1px solid rgba(196,224,255,.17);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.08);opacity:0;visibility:hidden;transform:translate(-50%,10px);transition:.25s ease}.nav-business:hover .business-dropdown,.nav-business:focus-within .business-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}.business-dropdown:before{content:"";position:absolute;top:-14px;left:0;right:0;height:18px}.business-dropdown>a{display:flex;gap:12px;align-items:center;padding:13px 14px;border:1px solid transparent;border-radius:13px;transition:.25s;background:rgba(255,255,255,.018)}.business-dropdown>a:hover{background:rgba(29,91,159,.16);border-color:rgba(104,178,255,.22);transform:translateY(-1px)}.business-dropdown b{font-size:11px;color:#ff9d59;letter-spacing:.08em}.business-dropdown span{display:flex;flex-direction:column;gap:4px;color:#eef6ff;font-size:14px;white-space:nowrap}.business-dropdown small{color:#7891af;font-size:11px;font-weight:400;letter-spacing:.02em}
.home-page{height:100vh;min-height:720px;overflow:hidden}.home-stage{position:relative;height:100vh;min-height:720px;padding:108px 24px 28px;display:flex;align-items:center;overflow:hidden}.home-stage:before,.home-stage:after{content:"";position:absolute;border-radius:50%;filter:blur(110px);pointer-events:none}.home-stage:before{width:420px;height:420px;left:-190px;top:12%;background:rgba(33,126,255,.18)}.home-stage:after{width:360px;height:360px;right:-170px;bottom:4%;background:rgba(255,122,39,.12)}.home-content{position:relative;z-index:2;width:min(1180px,100%);margin:auto}.home-mission{text-align:center;margin:0 auto 30px;max-width:900px}.home-mission h1{font-size:clamp(44px,5.8vw,78px);line-height:1.08;margin:12px 0 13px;letter-spacing:-.045em;text-wrap:balance}.home-mission p{margin:0 auto;color:var(--muted);font-size:16px;line-height:1.7;text-wrap:balance}.business-panel{padding:22px;border-radius:28px;background:rgba(10,29,55,.48);backdrop-filter:blur(42px) saturate(185%);border:1px solid rgba(199,227,255,.17);box-shadow:inset 0 1px rgba(255,255,255,.11),0 26px 70px rgba(0,0,0,.25)}.business-panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:0 4px 16px}.business-panel-head h2{font-size:28px;line-height:1.2;margin:5px 0 0;white-space:nowrap}.business-panel-head p{max-width:590px;margin:0;color:var(--muted);font-size:14px;line-height:1.65;text-align:right;text-wrap:balance}.home-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-business-card{position:relative;min-height:104px;display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:12px;padding:18px;border-radius:18px;background:rgba(7,25,49,.54);border:1px solid rgba(188,220,255,.13);overflow:hidden;transition:.3s ease;box-shadow:inset 0 1px rgba(255,255,255,.07)}.home-business-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 78%,rgba(72,160,255,.75) 82%,rgba(255,139,56,.75) 85%,transparent 89%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borderRun 9s linear infinite;opacity:.5;pointer-events:none}.home-business-card:hover{transform:translateY(-5px);background:rgba(9,32,63,.68);border-color:rgba(107,181,255,.28);box-shadow:0 16px 38px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.1)}.home-business-card:hover:before{opacity:1;animation-duration:4s}.business-no{font-size:11px;letter-spacing:.12em;color:#ff9f5d}.home-business-card h3{font-size:18px;line-height:1.25;margin:0 0 6px;text-wrap:balance}.home-business-card p{margin:0;color:#849bb8;font-size:12px;white-space:nowrap}.home-business-card i{font-style:normal;color:#75baff;font-size:18px;transition:.25s}.home-business-card:hover i{transform:translate(3px,-3px);color:#ffad72}
.hero-inner h1,.section-head h2,.glass h3,.lead,.section-head p,.glass p,.notice,.footer-in span{text-wrap:balance;font-weight: 900;}.hero-inner h1,.section-head h2,.glass h3{word-break:keep-all;overflow-wrap:normal}.lead,.section-head p,.glass p,.notice{word-break:normal;overflow-wrap:anywhere}.section-head>div{min-width:max-content}.glass p{max-width:58em}
@media(max-width:1050px){.business-dropdown{left:auto;right:-140px;transform:translateY(10px)}.nav-business:hover .business-dropdown,.nav-business:focus-within .business-dropdown{transform:translateY(0)}.home-business-grid{grid-template-columns:repeat(2,1fr)}.home-page,.home-stage{height:auto;min-height:100vh;overflow:visible}.home-stage{padding-bottom:48px}.home-mission{margin-bottom:24px}}
@media(max-width:900px){.nav-business{height:auto}.business-dropdown{display:none}.home-stage{padding-top:98px}.business-panel-head{align-items:flex-start;flex-direction:column;gap:8px}.business-panel-head p{text-align:left}.section-head>div{min-width:0}}
@media(max-width:620px){.home-business-grid{grid-template-columns:1fr}.home-mission h1{font-size:40px}.business-panel{padding:15px}.home-business-card{min-height:86px;padding:15px}.home-page,.home-stage{min-height:100vh}.home-stage{padding-top:88px}.business-panel-head h2{font-size:24px}.home-mission p{font-size:14px}.home-business-card h3{font-size:17px}.hero-inner h1,.section-head h2,.glass h3{word-break:normal}}

/* V4.2 full-page scroll, restored homepage and content refinements */
html{scroll-snap-type:y mandatory;scroll-padding-top:0}
body{scroll-snap-type:y mandatory}
main.page>section,body>footer{scroll-snap-align:start;scroll-snap-stop:always}
main.page>section{min-height:100vh;display:flex;align-items:center}
main.page>section.hero{justify-content:center}
main.page>section.section>.container{width:min(1180px,100%)}
footer{min-height:26vh;display:flex;align-items:center;scroll-snap-align:start}
.nav-business-trigger{gap:0}
.nav-business-trigger span{display:none!important}

/* Restored homepage composition */
.home-page{height:auto;min-height:100vh;overflow:visible}
.home-hero{min-height:100vh}
.business-screen{min-height:100vh;padding-top:118px;padding-bottom:44px}
.home-six-grid{grid-template-columns:repeat(3,1fr)}
.home-six-grid .business-card{min-height:190px;justify-content:center;padding:28px}
.home-six-grid .business-card h3{font-size:clamp(22px,2vw,30px);margin:24px 0 13px;line-height:1.28;word-break:keep-all}
.home-six-grid .business-card .eyebrow{letter-spacing:.16em;line-height:1.5}
.home-six-grid .business-card:after{content:"";position:absolute;right:24px;bottom:22px;color:#7598c2;font-size:12px;letter-spacing:.08em;opacity:0;transform:translateY(6px);transition:.28s}
.home-six-grid .business-card:hover:after{opacity:1;transform:none;color:#ffad72}

/* Life service details */
.life-service-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.life-service-layout .glass{min-height:340px}
.life-service-layout h3{font-size:30px;margin:18px 0 24px}
.service-chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.service-chip-grid span{display:flex;align-items:center;min-height:48px;padding:11px 14px;border:1px solid rgba(148,199,255,.15);border-radius:13px;background:rgba(7,25,49,.38);color:#c8d8ea;line-height:1.45;word-break:keep-all}
.service-chip-grid span:before{content:"";width:5px;height:5px;margin-right:10px;border-radius:50%;background:linear-gradient(135deg,#59adff,#ff9a55);box-shadow:0 0 10px rgba(82,169,255,.58);flex:none}
.service-chip-grid.projects{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Contact manifesto */
.contact-manifesto{font-size:clamp(40px,6.4vw,80px)!important;line-height:1.16!important;margin:20px 0 26px!important;letter-spacing:-.045em!important;display:flex;flex-direction:column;gap:4px;word-break:keep-all}
.contact-manifesto .bigSize {display: flex;align-items: center}
.contact-manifesto .small {font-size: 64px;width:3em; text-align:justify;text-align-last:justify;margin: 0 20px;}
.contact-manifesto span{display:block;background:linear-gradient(100deg,#f8fbff 5%,#69b6ff 42%,#ff9950 74%,#fff);background-size:210% auto;-webkit-background-clip:text;color:transparent;animation:shine 6s linear infinite;filter:drop-shadow(0 0 22px rgba(55,144,255,.14))}
.contact-manifesto span:nth-child(2){animation-delay:-1.7s}.contact-manifesto span:nth-child(3){animation-delay:-3.4s}

/* Keep headings intact and avoid isolated short wraps */
h1,h2,h3,.tag,.eyebrow,.nav a,.service-chip-grid span{text-wrap:balance;word-break:keep-all;overflow-wrap:normal}
p,.lead,.section-head p,.glass p{orphans:2;widows:2;text-wrap:pretty}

@media(max-width:900px){
  html,body{scroll-snap-type:y mandatory}
  main.page>section{min-height:auto;display:block}
  main.page>section.hero{min-height:100vh;display:grid}
  .business-screen{padding-top:105px;min-height:auto}
  .home-six-grid{grid-template-columns:repeat(2,1fr)}
  .life-service-layout{grid-template-columns:1fr}
  .service-chip-grid.projects{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Figma 1:972 - Silicon Fusion. */
body:has(main.silicon-page){
  color:#fff!important;
  font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
}
body:has(main.silicon-page) .nav{
  top:0!important;
  left:0!important;
  width:100%!important;
  height:72px!important;
  padding:0 13.333vw 0 6.667vw!important;
  border:0!important;
  /* border-bottom:1px solid rgba(255,255,255,.08)!important; */
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  transform:none!important;
}
body:has(main.silicon-page) .brand{
  padding-left:64px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
}
body:has(main.silicon-page) .brand i{display:none}
body:has(main.silicon-page) .menu{
  width:800px;
  flex:0 0 800px;
  justify-content:space-between;
  gap:0;
  color:rgba(255,255,255,.7)!important;
  font-size:16px;
  font-weight:700;
  letter-spacing:.0625em;
}
body:has(main.silicon-page) .menu a:hover,
body:has(main.silicon-page) .menu a.is-active{color:#fff!important}
body:has(main.silicon-page) .nav-business{height:72px}
body:has(main.silicon-page) .back-btn{
  position:absolute!important;
  z-index:60!important;
  top:125px!important;
  left:58px!important;
  padding:6px 20px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:120px!important;
  background:rgba(255,255,255,.1)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#fff!important;
  font:500 18px/1.2 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif!important;
}
body:has(main.silicon-page) .back-btn:hover{
  border-color:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
}
.silicon-page{isolation:isolate}
body.secondary-page main.page.silicon-page>section.silicon-screen{
  position:relative;
  display:block!important;
  width:100%;
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
}
/*.silicon-page .silicon-screen:before{*/
/*  content:"";*/
/*  position:absolute;*/
/*  z-index:-2;*/
/*  top:-12%;*/
/*  left:-11.2%;*/
/*  width:122.6%;*/
/*  height:73%;*/
/*  background:linear-gradient(180deg,#183a85 29%,#386abf 62%,#9acdfb 83%,rgba(154,205,251,0) 97%);*/
/*  filter:blur(75px);*/
/*  opacity:.88;*/
/*  pointer-events:none;*/
/*}*/
/* .silicon-page .silicon-screen:after{
  content:"";
  position:absolute;
  z-index:-1;
  bottom:27.1%;
  left:calc(50% - 77px);
  width:154px;
  height:135px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,162,2,1) 18%,rgba(252,244,141,.6) 100%);
  filter:blur(100px);
  pointer-events:none;
} */
.silicon-page .energy-lines{opacity:.16}
.silicon-page .particles{opacity:.62}
.silicon-page .silicon-content{
  position:relative;
  z-index:2;
  display:flex;
  width:min(1100px,calc(100vw - 48px));
  margin:0 auto;
  margin-top:-3%;
  align-items:center;
  flex-direction:column;
  gap:40px;
}
.silicon-page .silicon-hero{
  display:flex;
  width:666px;
  max-width:100%;
  align-items:center;
  flex-direction:column;
  gap:24px;
  text-align:center;
}
.silicon-page .silicon-hero h1{
  margin:0;
  background:linear-gradient(
    100deg,
    #ffffff 0%,
    #eaf8ff 12%,
    #7edcff 26%,
    #ffffff 42%,
    #fff4b3 55%,
    #ffd45f 66%,
    #ff9a3f 79%,
    #fff7df 91%,
    #ffffff 100%
  );
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shine 6s linear infinite;
  font-size:76px;
  line-height:72px;
  font-weight:900;
  letter-spacing:0;
  text-shadow:none;
  filter:none
}
.silicon-page .silicon-hero>p{
  margin:0;
  color:#fff;
  font-size:26px;
  line-height:1.2;
  font-weight:500;
}
.silicon-page .silicon-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}
.silicon-page .silicon-tags span{
  display:flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:6px 16px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:120px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:500;
  white-space:nowrap;
}
.silicon-page .silicon-copy{
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:32px;
  filter:drop-shadow(2px 2px 1px #1a1c1f);
}
.silicon-page .silicon-copy-line{
  --silicon-copy-size:56px;
  display:block;
  margin:0;
  width:452px;
  max-width:100%;
  height:58px;
  background:linear-gradient(
    100deg,
    #ffffff 0%,
    #eaf8ff 12%,
    #7edcff 26%,
    #ffffff 42%,
    #fff4b3 55%,
    #ffd45f 66%,
    #ff9a3f 79%,
    #fff7df 91%,
    #ffffff 100%
  );
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shine 6s linear infinite;
  font-size:var(--silicon-copy-size);
  line-height:58px;
  font-weight:900;
  letter-spacing:0;
  text-align:center;
  white-space:nowrap;
  /* filter:
    drop-shadow(0 2px 1px rgba(10,45,105,.26))
    drop-shadow(0 0 9px rgba(255,255,255,.38))
    drop-shadow(0 0 18px rgba(255,199,80,.28)); */
}
.silicon-page .silicon-copy-subject{
  display:inline-block;
  width:3em;
  font-size:calc(var(--silicon-copy-size) - 8px);
  text-align:justify;
  text-align-last:justify;
}
.silicon-page footer{
  position:absolute!important;
  right:0;
  bottom:0;
  left:0;
  display:block!important;
  width:100%;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:0 128px!important;
  border:0!important;
  /* color:rgba(255,255,255,.8)!important; */
}
.silicon-page footer .footer-in{
  display:flex!important;
  width:100%!important;
  height:72px;
  margin:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  /* color:rgba(255,255,255,.8)!important; */
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.silicon-page footer strong{
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:18px;
  font-weight:900;
}

@media (max-width:900px){
  body:has(main.silicon-page) .nav{
    /* position:absolute!important; */
    height:60px!important;
    padding:0 20px!important;
  }
  body:has(main.silicon-page) .brand{
    padding-left:0;
    font-size:20px;
  }
  body:has(main.silicon-page) .menu{display:none!important}
  body:has(main.silicon-page) .back-btn{
    top:72px!important;
    left:18px!important;
    font-size:15px!important;
  }
  body.secondary-page main.page.silicon-page>section.silicon-screen{
    height:auto!important;
    min-height:100svh!important;
    padding:128px 18px 80px!important;
    overflow:visible!important;
  }
  .silicon-page .silicon-content{
    width:min(100%,600px);
    padding:0;
    gap:42px;
  }
  .silicon-page .silicon-hero{gap:16px}
  .silicon-page .silicon-hero h1{
    font-size:clamp(40px,11vw,62px);
    line-height:1;
  }
  .silicon-page .silicon-hero>p{font-size:18px}
  .silicon-page .silicon-tags{gap:8px}
  .silicon-page .silicon-tags span{
    width: 40%;
    min-height:32px;
    padding:6px 10px;
    font-size:14px;
  }
  .silicon-page .silicon-copy{
    width:min(100%,452px);
    gap:18px;
  }
  .silicon-page .silicon-copy-line{
    --silicon-copy-size:clamp(36px,10vw,56px);
    width:100%;
    height:auto;
    font-size:var(--silicon-copy-size);
    line-height:1.04;
  }
  .silicon-page footer{
    position:static!important;
    width:100vw;
    height:auto!important;
    min-height:auto!important;
    margin:38px 0 -80px calc(50% - 50vw)!important;
    padding:14px 20px!important;
  }
  .silicon-page footer .footer-in{
    height:auto;
    align-items:center!important;
    gap:8px;
    flex-direction:column;
    font-size:12px;
  }
}

/* Figma 1:197 - Domestic, maternity, infant and elderly care. */
body:has(main.life-service-page){
  color:#fff!important;
  font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
}
body:has(main.life-service-page) .nav{
  top:0!important;
  left:0!important;
  width:100%!important;
  height:72px!important;
  padding:0 13.333vw 0 6.667vw!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  transform:none!important;
}
body:has(main.life-service-page) .brand{
  padding-left:64px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
}
body:has(main.life-service-page) .brand i{display:none}
body:has(main.life-service-page) .menu{
  width:800px;
  flex:0 0 800px;
  justify-content:space-between;
  gap:0;
  color:rgba(255,255,255,.7)!important;
  font-size:16px;
  font-weight:700;
  letter-spacing:.0625em;
}
body:has(main.life-service-page) .menu a:hover,
body:has(main.life-service-page) .menu a.is-active{color:#fff!important}
body:has(main.life-service-page) .nav-business{height:72px}
body:has(main.life-service-page) .back-btn{
  position:absolute!important;
  z-index:60!important;
  top:125px!important;
  left:58px!important;
  padding:6px 20px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:120px!important;
  background:rgba(255,255,255,.1)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#fff!important;
  font:500 18px/1.2 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif!important;
}
body:has(main.life-service-page) .back-btn:hover{
  border-color:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
}
.life-service-page{isolation:isolate}
body.secondary-page main.page.life-service-page>section.life-service-screen{
  position:relative;
  display:block!important;
  width:100%;
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
}
.life-service-page .life-service-screen:before{
  content:"";
  position:absolute;
  z-index:-2;
  top:-12%;
  left:-11.2%;
  width:122.6%;
  height:73%;
  background:linear-gradient(180deg,#183a85 29%,#386abf 62%,#9acdfb 83%,rgba(154,205,251,0) 97%);
  filter:blur(75px);
  opacity:.88;
  pointer-events:none;
}
.life-service-page .life-service-screen:after{
  content:"";
  position:absolute;
  z-index:-1;
  bottom:22.5%;
  left:calc(50% - 77px);
  width:154px;
  height:135px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,162,2,1) 18%,rgba(252,244,141,.6) 100%);
  filter:blur(100px);
  pointer-events:none;
}
.life-service-page .energy-lines{opacity:.16}
.life-service-page .particles{opacity:.62}
.life-service-page .life-service-content{
  position:relative;
  z-index:2;
  display:flex;
  width:min(1208px,calc(100vw - 48px));
  margin:0 auto;
  margin-top:-3%;
  align-items:center;
  flex-direction:column;
  gap:40px;
}
.life-service-page .life-service-hero{
  display:flex;
  /* width:666px; */
  max-width:100%;
  align-items:center;
  flex-direction:column;
  gap:24px;
  text-align:center;
}
.life-service-page .life-service-hero h1{
  margin:0;
  background:linear-gradient(100deg,#ffffff 0%,#eaf8ff 12%,#7edcff 26%,#ffffff 42%,#fff4b3 55%,#ffd45f 66%,#ff9a3f 79%,#fff7df 91%,#ffffff 100%);
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shine 6s linear infinite;
  font-size:72px;
  line-height:72px;
  font-weight:900;
  letter-spacing:0;
  text-shadow:none;
  /* filter:drop-shadow(0 2px 1px rgba(10,45,105,.26)) drop-shadow(0 0 9px rgba(255,255,255,.38)) drop-shadow(0 0 18px rgba(255,199,80,.28)); */
}
.life-service-page .life-service-hero>p{
  margin:0;
  color:#fff;
  font-size:26px;
  line-height:1.2;
  font-weight:500;
}
.life-service-page .life-service-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}
.life-service-page .life-service-tags span{
  display:flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:6px 16px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:120px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:500;
  white-space:nowrap;
}
.life-service-page .life-service-qr{
  display:flex;
  width:100%;
  justify-content:center;
}
.life-service-page .life-service-qr-frame{
  display:flex;
  /* width:100%; */
  max-width:1100px;
  min-height:391px;
  padding:32px;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  background:rgba(255,255,255,.12);
  box-shadow:0 8px 48px rgba(104,152,224,.5),inset 0 1px rgba(255,255,255,.16);
  backdrop-filter:blur(20px);
}
.life-service-page .life-service-qr-image{
  display:flex;
  width:270px;
  height:270px;
  padding:16px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#fff;
}
.life-service-page .life-service-qr-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.life-service-page .life-service-qr-frame p{
  margin:20px 0 0;
  color:#445577;
  font-size:18px;
  line-height:27px;
  font-weight:500;
  letter-spacing:.1em;
}
.life-service-page footer{
  position:absolute!important;
  right:0;
  bottom:0;
  left:0;
  display:block!important;
  width:100%;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:0 128px!important;
  border:0!important;
  /* color:rgba(255,255,255,.8)!important; */
}
.life-service-page footer .footer-in{
  display:flex!important;
  width:100%!important;
  height:72px;
  margin:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  /* color:rgba(255,255,255,.8)!important; */
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.life-service-page footer strong{
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.care-service-page .life-service-content{width:min(1100px,calc(100vw - 48px))}
.care-service-page .life-service-hero h1{font-size:76px}

@media (max-width:900px){
  body:has(main.life-service-page) .nav{
    position:absolute!important;
    height:60px!important;
    padding:0 20px!important;
  }
  body:has(main.life-service-page) .brand{
    padding-left:0;
    font-size:20px;
  }
  body:has(main.life-service-page) .menu{display:none!important}
  body:has(main.life-service-page) .back-btn{
    top:72px!important;
    left:18px!important;
    font-size:15px!important;
  }
  body.secondary-page main.page.life-service-page>section.life-service-screen{
    height:auto!important;
    min-height:100svh!important;
    padding:128px 18px 80px!important;
    overflow:visible!important;
  }
  .life-service-page .life-service-content{
    width:min(100%,600px);
    padding:0;
    gap:42px;
  }
  .care-service-page .life-service-content{width:min(100%,600px)}
  .life-service-page .life-service-hero{gap:16px}
  .life-service-page .life-service-hero h1{
    font-size:clamp(40px,11vw,62px);
    line-height:1;
  }
  .life-service-page .life-service-hero>p{font-size:18px}
  .life-service-page .life-service-tags{gap:8px}
  .life-service-page .life-service-tags span{
    width: 30%;
    min-height:32px;
    padding:6px 10px;
    font-size:14px;
  }
  .care-service-content .life-service-tags span{
    width: 40%;
  }
  .life-service-page .life-service-qr-frame{
    min-height:0;
    padding:20px;
  }
  .life-service-page .life-service-qr-image{
    width:min(270px,100%);
    height:auto;
    aspect-ratio:1;
  }
  .life-service-page .life-service-qr-frame p{
    margin-top:16px;
    font-size:15px;
  }
  .life-service-page footer{
    position:static!important;
    width:100vw;
    height:auto!important;
    min-height:auto!important;
    margin:38px 0 -80px calc(50% - 50vw)!important;
    padding:14px 20px!important;
  }
  .life-service-page footer .footer-in{
    height:auto;
    align-items:center!important;
    gap:8px;
    flex-direction:column;
    font-size:12px;
  }
}

/* Restored second screens for the pages whose Figma first screen is followed
   by an existing full-page business detail view. */
body.secondary-page main.page.yulu-page>section.service-detail-screen,
body.secondary-page main.page.silicon-page>section.service-detail-screen,
body.secondary-page main.page.smart-care-page>section.service-detail-screen{
  position:relative;
  display:block!important;
  width:100%;
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
}
/*.service-detail-screen:before{*/
/*  content:"";*/
/*  position:absolute;*/
/*  z-index:-2;*/
/*  inset:0;*/
/*  background:linear-gradient(180deg,rgba(24,58,133,.68),rgba(80,147,220,.25) 48%,rgba(255,174,113,.16));*/
/*  pointer-events:none;*/
/*}*/
.service-detail-screen .energy-lines{opacity:.16}
.service-detail-screen .particles{opacity:.62}
.service-detail-content{
  position:relative;
  z-index:2;
  width:min(1100px,calc(100vw - 48px));
  margin:0 auto;
  /* padding-top:345px; */
}
.service-detail-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:32px;
}
.service-detail-heading h2{
  margin:0;
  color:#fff;
  font-size:48px;
  line-height:1.2;
  font-weight:700;
  /* text-shadow:0 2px 4px rgba(121,155,208,.85); */
}
.service-detail-heading p{
  max-width:481px;
  margin:0;
  color:#fff;
  font-size:18px;
  line-height:1.45;
  text-align:right;
  text-shadow:1px 1px 1px rgba(105,108,116,.72);
}
.service-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.service-detail-card{
  /* min-height:228px; */
  padding:32px 28px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:8px;
  background:rgba(255,255,255,.4);
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.service-detail-card h3{
  margin:0 0 12px;
  color:#445577;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
}
.service-detail-card p{
  margin:0;
  color:#2c3361;
  font-size:16px;
  line-height:1.55;
}
.silicon-detail-screen .service-detail-heading p{
  font-size:18px;
}
.smart-care-detail-screen .service-detail-heading p{
  max-width:590px;
  font-size:16px;
  font-weight:500;
}
.service-detail-screen footer{
  position:absolute!important;
  right:0;
  bottom:0;
  left:0;
  display:block!important;
  width:100%;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:0 128px!important;
  border:0!important;
}
.service-detail-screen footer .footer-in{
  display:flex!important;
  width:100%!important;
  height:72px;
  margin:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  /* color:rgba(255,255,255,.8)!important; */
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.service-detail-screen .service-detail-footer{
  z-index:4!important;
  visibility:visible!important;
  opacity:1!important;
}

@media (max-width:900px){
  body.secondary-page main.page.yulu-page>section.service-detail-screen,
  body.secondary-page main.page.silicon-page>section.service-detail-screen,
  body.secondary-page main.page.smart-care-page>section.service-detail-screen{
    height:auto!important;
    min-height:100svh!important;
    padding:104px 18px 80px!important;
    overflow:visible!important;
  }
  .service-detail-content{
    width:min(100%,600px);
    padding:0;
  }
  .service-detail-heading{
    align-items:flex-start;
    gap:16px;
    flex-direction:column;
    margin-bottom:28px;
  }
  .service-detail-heading h2{font-size:32px}
  .service-detail-heading p{
    font-size:16px;
    text-align:left;
  }
  .service-detail-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .service-detail-card{
    min-height:0;
    padding:24px 20px;
  }
  .service-detail-screen footer{
    position:static!important;
    width:100vw;
    height:auto!important;
    min-height:auto!important;
    margin:36px 0 -80px calc(50% - 50vw)!important;
    padding:14px 20px!important;
  }
  .service-detail-screen footer .footer-in{
    height:auto;
    align-items:center!important;
    gap:8px;
    flex-direction:column;
    font-size:12px;
  }
}
@media(max-width:620px){
  .home-six-grid{grid-template-columns:1fr}
  .home-six-grid .business-card{min-height:130px}
  .service-chip-grid,.service-chip-grid.projects{grid-template-columns:1fr}
  .contact-manifesto{font-size:38px!important;line-height:1.22!important}
}


/* V4.3 life-service project row and true viewport centering */
@media (min-width:901px){
  html,body{scroll-snap-type:y mandatory}
  main.page>section,
  main.page>section.hero,
  main.page>section.hero.small,
  body>footer{
    min-height:100vh;
    height:100vh;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  main.page>section{
    padding:88px 24px 28px;
  }
  main.page>section.hero,
  main.page>section.hero.small{
    padding:88px 24px 28px;
  }
  main.page>section>.container,
  main.page>section>.hero-inner,
  body>footer>.footer-in{
    margin-top:auto;
    margin-bottom:auto;
  }
  body>footer{padding:88px 24px 28px}
  .life-project-tags{
    width:min(1180px,calc(100vw - 72px));
    margin:30px auto 0;
    display:flex;
    flex-wrap:nowrap;
    justify-content:center;
    gap:7px;
  }
  .life-project-tags .tag{
    flex:0 1 auto;
    min-width:0;
    padding:9px 11px;
    font-size:12px;
    white-space:nowrap;
  }
}
.life-service-layout.single{grid-template-columns:1fr}
.life-service-layout.single .life-space-card{min-height:auto}
.life-service-layout.single .service-chip-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px) and (min-width:901px){
  .life-project-tags{gap:5px;width:calc(100vw - 44px)}
  .life-project-tags .tag{padding:8px 8px;font-size:11px}
}
@media(max-width:900px){
  .life-project-tags{max-width:760px}
  .life-service-layout.single .service-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .life-service-layout.single .service-chip-grid{grid-template-columns:1fr}
}


/* V4.4 full-width navigation, integrated footer and alignment refinements */
.nav{
  top:0;
  left:0;
  transform:none;
  width:100%;
  max-width:none;
  height:72px;
  padding-left:max(24px,calc((100vw - 1180px)/2));
  padding-right:max(24px,calc((100vw - 1180px)/2));
  border-radius:0;
  border-left:0;
  border-right:0;
  border-top:0;
  background:rgba(3,12,27,.72);
}
main.page>section:last-of-type{position:relative;padding-bottom:112px!important}
main.page>section:last-of-type>footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  min-height:0;
  height:auto;
  padding:22px 24px;
  display:block;
  /* border-top:1px solid rgba(174,211,255,.1); */
  scroll-snap-align:none;
}
main.page>section:last-of-type>footer .footer-in{margin:0 auto;font-weight: 900;}
main.page>section:last-of-type>footer .footer-in strong {
  font-weight:900;
}
.life-project-tags{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  justify-content:center!important;
  align-items:center;
}
.life-project-tags .tag{text-align:center}
@media(max-width:900px){
  .nav{padding-left:20px;padding-right:20px}
  main.page>section:last-of-type{padding-bottom:1px!important}
  main.page>section:last-of-type>footer{position:unset;padding:18px 20px}
  .life-project-tags{width:auto!important;margin-left:auto!important;margin-right:auto!important}
}

/* V4.5 milestones timeline alignment fix */
.timeline .glass{
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:26px;
  row-gap:10px;
  align-items:start;
  padding:30px 34px;
}
.timeline .year{
  position:static;
  grid-column:1;
  grid-row:1 / span 2;
  align-self:start;
  display:block;
  min-width:0;
  color:#ff9b58;
  font-size:20px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.timeline .glass h3{
  grid-column:2;
  grid-row:1;
  margin:0;
  min-width:0;
  line-height:1.35;
}
.timeline .glass p{
  grid-column:2;
  grid-row:2;
  margin:0;
  min-width:0;
}
@media(max-width:760px){
  .timeline .glass{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    gap:8px;
    padding:24px;
  }
  .timeline .year,
  .timeline .glass h3,
  .timeline .glass p{
    grid-column:1;
    grid-row:auto;
  }
  .timeline .year{font-size:18px}
}

/* V4.6 日出东方色调适配：仅调整开屏动画之后的视觉样式，不改页面逻辑与交互 */
:root{
  --bg:#062968;
  --bg2:#ff6f2f;
  --blue:#28a8ff;
  --orange:#ff7a2f;
  --text:#fffaf5;
  --muted:#d9e5f4;
  --glass:rgba(11,46,106,.42);
  --line:rgba(255,255,255,.26);
}
body{
  background:
    radial-gradient(circle at 84% 34%,rgba(255,109,46,.96) 0,rgba(255,126,50,.72) 18%,rgba(255,167,70,.28) 38%,transparent 61%),
    radial-gradient(circle at 48% 48%,rgba(255,211,87,.52) 0,rgba(255,148,52,.26) 19%,transparent 42%),
    radial-gradient(circle at 10% 22%,rgba(31,177,255,.54) 0,rgba(14,119,230,.34) 32%,transparent 58%),
    linear-gradient(118deg,#063d9a 0%,#087bdb 28%,#443eaf 52%,#ff7132 79%,#ff982d 100%);
  background-attachment:fixed;
}
body:before{
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:72px 72px;
  opacity:.5;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.58),transparent 94%);
}
body:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 46%,rgba(255,232,149,.20),transparent 34%),
    linear-gradient(135deg,rgba(0,102,235,.18),transparent 42%,rgba(255,95,31,.16));
  mix-blend-mode:screen;
}
.page,.nav,body>footer{position:relative;z-index:1}
.nav{
  background:linear-gradient(90deg,rgba(4,43,112,.76),rgba(26,62,137,.66) 45%,rgba(152,63,77,.60) 76%,rgba(210,72,39,.66));
  border-bottom:1px solid rgba(255,255,255,.22);
  box-shadow:0 12px 34px rgba(4,37,96,.22),inset 0 1px rgba(255,255,255,.12);
}
.business-dropdown{
  background:linear-gradient(145deg,rgba(9,61,143,.92),rgba(89,55,132,.90) 58%,rgba(184,66,48,.90));
  border-color:rgba(255,255,255,.26);
}
.hero:before{
  width:560px;
  height:560px;
  left:-210px;
  top:8%;
  background:#20a8ff;
  opacity:.30;
}
.hero:after{
  width:520px;
  height:520px;
  right:-160px;
  bottom:2%;
  background:#ff6f2c;
  opacity:.34;
}
.gradient-text,
.contact-manifesto span{
  background:linear-gradient(96deg,#ffffff 4%,#c8edff 25%,#ffffff 43%,#ffd65e 63%,#ff8a3d 82%,#ffffff);
  background-size:240% auto;
  -webkit-background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 18px rgba(255,139,62,.18));
}
.eyebrow{color:#d8efff}
.lead,.section-head p,.glass p,.list{color:rgba(244,248,255,.84)}
.tag{
  color:#fff;
  border-color:rgba(255,255,255,.28);
  background:linear-gradient(120deg,rgba(0,117,230,.34),rgba(120,82,171,.28) 54%,rgba(255,112,48,.26));
  box-shadow:inset 0 1px rgba(255,255,255,.10);
}
.glass{
  background:
    linear-gradient(145deg,rgba(12,80,166,.46),rgba(62,69,150,.38) 52%,rgba(176,68,61,.32)),
    rgba(8,32,82,.28);
  border-color:rgba(255,255,255,.27);
  box-shadow:
    inset 0 1px rgba(255,255,255,.16),
    inset 0 -1px rgba(255,151,90,.08),
    0 22px 58px rgba(3,35,91,.24);
}
.glass:before{
  background:conic-gradient(from var(--a,0deg),transparent 0 68%,rgba(63,189,255,.90) 75%,rgba(255,220,88,.88) 80%,rgba(255,113,48,.92) 84%,transparent 91%);
}
.glass:hover{
  border-color:rgba(255,224,185,.55);
  box-shadow:inset 0 1px rgba(255,255,255,.20),0 28px 72px rgba(118,55,82,.28),0 0 34px rgba(255,121,50,.12);
}
.button{
  background:linear-gradient(100deg,#078ef0 0%,#315fd8 38%,#ff7b30 76%,#ff9d2e 100%);
  box-shadow:0 10px 32px rgba(255,110,45,.24),0 8px 24px rgba(5,112,224,.20);
}
.service-chip-grid span,
.input,
.notice{
  background:linear-gradient(115deg,rgba(10,92,190,.30),rgba(121,78,160,.22) 58%,rgba(246,108,49,.18));
  border-color:rgba(255,255,255,.22);
  color:#f4f8ff;
}
.energy-lines i{
  background:linear-gradient(90deg,transparent,#35c7ff,#fff3b2,transparent);
}
.energy-lines i:nth-child(2){
  background:linear-gradient(90deg,transparent,#ffd05c,#ff7434,transparent);
}
.particles b{
  background:#a5e8ff;
  box-shadow:0 0 14px #42c6ff;
}
.particles b:nth-child(2n){
  background:#ffe58a;
  box-shadow:0 0 15px #ff8439;
}
.year{color:#ffd15c}
footer{color:rgba(233,241,252,.72)}
/* main.page>section:last-of-type>footer{border-top-color:rgba(255,255,255,.17)} */
@media(max-width:900px){
  body{
    background:
      radial-gradient(circle at 85% 28%,rgba(255,105,40,.76),transparent 45%),
      radial-gradient(circle at 12% 20%,rgba(22,159,255,.48),transparent 48%),
      linear-gradient(145deg,#074caa 0%,#2d55b8 50%,#ef6d39 100%);
    background-attachment:scroll;
  }
}

/* V4.8 日出东方色调精修：保留原有标题流光动画，不改结构、逻辑与交互 */
:root{
  --bg:#063b98;
  --bg2:#ff6f2f;
  --blue:#24a8ff;
  --orange:#ff742c;
  --text:#fffaf4;
  --muted:#dce8f6;
  --glass:rgba(10,45,108,.42);
  --line:rgba(255,255,255,.25);
}
body{
  background:
    /* 左上角星云：柔和、不发白 */
    radial-gradient(ellipse 42% 30% at 5% 3%,rgba(255,255,255,.28) 0%,rgba(205,236,255,.13) 34%,transparent 72%),
    radial-gradient(ellipse 30% 20% at 17% 12%,rgba(231,246,255,.12) 0%,transparent 72%),
    /* 中部日出过渡改为宽幅光带，避免具象圆形 */
    linear-gradient(145deg,transparent 0 36%,rgba(255,191,61,.18) 47%,rgba(255,149,48,.26) 56%,transparent 68%),
    linear-gradient(145deg,transparent 0 42%,rgba(255,224,112,.10) 50%,transparent 61%),
    /* 主色保持高饱和蓝橙，从左上到右下 */
    linear-gradient(145deg,#087fdc 0%,#0b8fe4 18%,#285fc4 36%,#5b47a9 49%,#b84e72 63%,#f25f35 78%,#ff7a2c 90%,#ff942f 100%);
  background-attachment:fixed;
}
body:before{
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(circle,rgba(255,255,255,.46) 0 1px,transparent 1.5px);
  background-size:76px 76px,76px 76px,142px 142px;
  background-position:0 0,0 0,20px 28px;
  opacity:.40;
  mask-image:linear-gradient(145deg,rgba(0,0,0,.88),rgba(0,0,0,.50) 55%,transparent 96%);
}
body:after{
  background:
    linear-gradient(145deg,rgba(0,91,226,.12),transparent 43%,rgba(255,94,30,.14)),
    linear-gradient(180deg,rgba(1,21,65,.10),transparent 40%,rgba(3,22,65,.10));
  mix-blend-mode:screen;
}
.nav{
  background:linear-gradient(145deg,rgba(4,56,135,.78),rgba(39,63,145,.68) 46%,rgba(153,66,90,.64) 74%,rgba(218,76,42,.70));
  border-bottom-color:rgba(255,255,255,.26);
  box-shadow:0 14px 38px rgba(6,39,102,.25),inset 0 1px rgba(255,255,255,.13);
}
.business-dropdown{
  background:linear-gradient(145deg,rgba(5,77,164,.95),rgba(69,61,145,.94) 52%,rgba(199,70,55,.94));
}
.hero:before{
  width:560px;
  height:560px;
  left:-210px;
  top:5%;
  background:#21a7ff;
  filter:blur(100px);
  opacity:.27;
}
.hero:after{
  width:520px;
  height:520px;
  right:-160px;
  bottom:0;
  background:#ff6f2d;
  filter:blur(100px);
  opacity:.32;
}
/* 保留各介绍页主标题原有流光动画，仅增强对比度 */
.gradient-text,
.contact-manifesto span{
  background:linear-gradient(100deg,#ffffff 5%,#7bc6ff 34%,#ffffff 49%,#ffd15a 66%,#ff8a3d 82%,#ffffff 100%);
  background-size:220% auto;
  -webkit-background-clip:text;
  color:transparent;
  animation:shine 7s linear infinite;
  filter:none;
}
.contact-manifesto span{animation-duration:6s}
.contact-manifesto span:nth-child(2){animation-delay:-1.7s}
.contact-manifesto span:nth-child(3){animation-delay:-3.4s}
.hero h1,.hero.small h1,.section-head h2,.contact-manifesto{
  text-shadow:0 2px 2px rgba(4,28,72,.38),0 10px 30px rgba(4,30,80,.25);
}
.eyebrow{color:#dcefff}
.lead,.section-head p,.glass p,.list{color:rgba(245,249,255,.86)}
.tag{
  color:#fff;
  border-color:rgba(255,255,255,.27);
  background:linear-gradient(135deg,rgba(3,115,221,.35),rgba(92,69,162,.29) 52%,rgba(245,91,42,.25));
}
.glass{
  background:linear-gradient(145deg,rgba(7,84,181,.46),rgba(58,58,145,.39) 50%,rgba(178,59,65,.32)),rgba(6,31,84,.29);
  border-color:rgba(255,255,255,.27);
  box-shadow:inset 0 1px rgba(255,255,255,.15),inset 0 -1px rgba(255,131,65,.08),0 22px 58px rgba(3,30,88,.26);
}
.glass:before{
  background:conic-gradient(from var(--a,0deg),transparent 0 68%,rgba(56,184,255,.90) 75%,rgba(255,207,69,.86) 80%,rgba(255,102,40,.94) 84%,transparent 91%);
}
.glass:hover{
  border-color:rgba(255,220,170,.56);
  box-shadow:inset 0 1px rgba(255,255,255,.19),0 28px 72px rgba(101,42,80,.30),0 0 34px rgba(255,105,42,.13);
}
.button{
  background:linear-gradient(105deg,#078eea 0%,#315fd5 37%,#ff702c 75%,#ff982d 100%);
  box-shadow:0 10px 32px rgba(255,93,34,.24),0 8px 24px rgba(3,103,218,.21);
}
.service-chip-grid span,.input,.notice{
  background:linear-gradient(135deg,rgba(7,90,194,.31),rgba(91,70,153,.24) 55%,rgba(240,88,42,.20));
  border-color:rgba(255,255,255,.22);
}
.energy-lines i{background:linear-gradient(90deg,transparent,#35c7ff,#ffe477,transparent)}
.energy-lines i:nth-child(2){background:linear-gradient(90deg,transparent,#ffd05b,#ff6d2f,transparent)}
.particles b{background:#99e2ff;box-shadow:0 0 14px #35bfff}
.particles b:nth-child(2n){background:#ffd86c;box-shadow:0 0 15px #ff7433}
.year{color:#ffd057}
@media(max-width:900px){
  body{
    background:
      radial-gradient(ellipse 58% 32% at 5% 2%,rgba(255,255,255,.20),transparent 70%),
      linear-gradient(145deg,transparent 0 38%,rgba(255,187,58,.16) 49%,rgba(255,128,43,.20) 59%,transparent 70%),
      linear-gradient(145deg,#087fdc 0%,#2463c6 39%,#6849a1 55%,#e85d3d 78%,#ff882e 100%);
    background-attachment:scroll;
  }
}

/* V4.9 主标题日出流光提亮：仅优化颜色与光效，不改结构和交互 */
.gradient-text,
.contact-manifesto span{
  background:linear-gradient(
    100deg,
    #ffffff 0%,
    #eaf8ff 12%,
    #7edcff 26%,
    #ffffff 42%,
    #fff4b3 55%,
    #ffd45f 66%,
    #ff9a3f 79%,
    #fff7df 91%,
    #ffffff 100%
  );
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shine 6s linear infinite;
  filter:none;
}
@keyframes shine{
  0%{background-position:0% 50%}
  100%{background-position:260% 50%}
}
.hero h1.gradient-text,
.hero.small h1.gradient-text,
.home-mission h1.gradient-text{
  opacity:1;
  text-shadow:none;
}
.hero h1,.hero.small h1,.home-mission h1,.contact-manifesto{
  text-shadow:0 3px 10px rgba(10,42,100,.18),0 12px 34px rgba(255,126,44,.13);
}
.contact-manifesto span{animation-duration:5.6s}
.contact-manifesto span:nth-child(2){animation-delay:-1.8s}
.contact-manifesto span:nth-child(3){animation-delay:-3.6s}

/* V4.8 homepage single-screen composition */
.home-one-page{
  min-height:100svh;
  height:100svh;
  overflow:hidden;
}
.home-overview{
  position:relative;
  min-height:100svh!important;
  height:100svh;
  padding:92px 24px 76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center;
  overflow:hidden;
}
.home-overview-inner{
  position:relative;
  z-index:2;
  width:min(1180px,100%);
  margin:auto;
}
.home-overview-title{
  max-width:920px;
  margin:0 auto clamp(18px,2.4vh,30px);
  text-align:center;
}
.home-overview-title h1{
  margin:8px 0 8px;
  font-size:clamp(42px,5.3vw,88px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight: 900;
}
.home-overview-title p{
  margin:0 auto;
  color:rgba(245,249,255,.86);
  font-size:clamp(13px,1.1vw,16px);
  line-height:1.55;
}
.home-overview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,1.45vw,24px);
}
.home-overview-card{
  position:relative;
  isolation:isolate;
  min-height:clamp(112px,15vh,148px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:14px;
  padding:clamp(18px,1.8vw,25px) clamp(20px,2.1vw,28px);
  border-radius:6px;
  /* background:linear-gradient(146deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.2) 100%); */
  border:1px solid rgba(255,255,255,.62);
  /* backdrop-filter:blur(18px) saturate(135%); */
  box-shadow:inset 0 1px rgba(255,255,255,.72),inset 0 -1px rgba(255,255,255,.18),0 18px 42px rgba(25,72,128,.10);
  overflow:hidden;
  transition:transform .32s ease,border-color .32s ease,background .32s ease,box-shadow .32s ease;
}
.home-overview-card:before{
  display:none;
}
.home-overview-card:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:100%;
  background:linear-gradient(135deg,rgba(255,255,255,.36),rgba(255,255,255,0) 48%);
  opacity:.82;
  pointer-events:none;
}
.home-overview-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.78);
  background:linear-gradient(146deg,rgba(255,255,255,.66) 0%,rgba(255,255,255,.03) 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.82),inset 0 -1px rgba(255,255,255,.2),0 20px 48px rgba(25,72,128,.14);
}
.home-overview-card.orange:hover{border-color:rgba(255,255,255,.78)}
.home-overview-card .business-no{
  position:relative;
  z-index:1;
  color:#153b70;
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.12em;
}
.home-overview-card .business-no:after{
  content:" / BUSINESS";
}
.home-overview-card>div{
  position:relative;
  z-index:1;
}
.home-overview-card h2{
  margin:0 0 6px;
  color:#47576F;
  font-size:clamp(20px,1.22vw,30px);
  line-height:1.25;
  font-weight:700;
  word-break:keep-all;
}
.home-overview-card p{
  margin:0;
  color:#445577;
  font-size:18px;
  line-height:1.4;
  font-weight:500;
}
@media(max-width:900px){
.home-overview-card p{
  font-size: 16px
}
}
.home-overview-card i{
  display:none;
}
.home-overview-card:hover i{transform:translate(3px,-3px);color:#ffd172}
.home-overview-footer{
  /*position:absolute!important;*/
  z-index:3;
  left:0!important;
  right:0!important;
  bottom:0!important;
  min-height:0!important;
  padding:27px 128px!important;
  /* border-top:1px solid rgba(255,255,255,.16)!important; */
  /* background:linear-gradient(180deg,rgba(4,18,48,0),rgba(4,18,48,.20)); */
  /* backdrop-filter:blur(12px); */
}
.home-overview-footer .footer-in{font-size:14px;width: 100%;}

@media(max-height:820px) and (min-width:901px){
  .home-overview{padding-top:82px!important;padding-bottom:61px!important}
  .home-overview-title{margin-bottom:14px}
  .home-overview-title .eyebrow{font-size:11px}
  /* .home-overview-title h1{font-size:clamp(38px,4.6vw,72px);margin:5px 0 6px} */
  .home-overview-title p{font-size:13px;line-height:1.4}
  .home-overview-grid{gap:10px 12px}
  .home-overview-card{min-height:106px;padding:15px 18px;border-radius:6px}
  .home-overview-card h2{font-size:16px;margin-bottom:4px}
  .home-overview-footer{padding:12px 24px!important}
}
@media(max-height:690px) and (min-width:901px){
  .home-overview{padding-top:74px!important;padding-bottom:52px!important}
  .home-overview-title{margin-bottom:9px}
  .home-overview-title .eyebrow,.home-overview-title p{display:none}
  /* .home-overview-title h1{font-size:44px;margin:0} */
  .home-overview-grid{gap:8px 10px}
  .home-overview-card{min-height:88px;padding:12px 16px}
  .home-overview-card h2{font-size:15px;margin-bottom:3px}
  .home-overview-card p{font-size:12px}
  .home-overview-footer{padding:9px 24px!important}
  .home-overview-footer .footer-in{font-size:12px}
}
@media(max-width:900px){
  .home-one-page{height:auto;min-height:100svh;overflow:visible}
  .home-overview{height:auto;min-height:100svh!important;padding:98px 18px 112px!important;overflow:visible}
  .home-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-overview-card{min-height:118px}
  .home-overview-footer{padding:16px 20px!important}
}
@media(max-width:620px){
  .home-overview{padding-top:86px!important;padding-bottom:150px!important}
  .home-overview-title{margin-bottom:18px}
  /* .home-overview-title h1{font-size:40px} */
  .home-overview-title p{font-size:13px}
  .home-overview-grid{grid-template-columns:1fr;gap:10px}
  .home-overview-card{min-height:90px;padding:14px 16px}
  .home-overview-footer .footer-in{gap:8px;flex-direction:column;align-items:center;text-align:center}
}

/* V4.9 homepage title position refinement - only homepage layout spacing */
@media (min-width:901px){
  .home-overview{
    align-items:flex-start!important;
    padding-top:clamp(112px,14vh,150px)!important;
  }
  .home-overview-inner{
    margin:0 auto;
  }
  .home-overview-title{
    margin-bottom:clamp(24px,3vh,34px);
  }
}
@media (max-height:820px) and (min-width:901px){
  .home-overview{
    padding-top:88px!important;
    padding-bottom:61px!important;
  }
  .home-overview-title{
    margin-bottom:14px;
  }
}
@media (max-height:690px) and (min-width:901px){
  .home-overview{
    padding-top:70px!important;
    padding-bottom:52px!important;
  }
  .home-overview-title{
    margin-bottom:9px;
  }
}

/* V4.10 unified sunrise-ocean background — visual layer only */
body{
  background-color:#061a3c!important;
  background-image:url('assets/sunrise-tech-bg.webp')!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-attachment:fixed!important;
}
body:before,
body:after{
  display:none!important;
}
.page,
.home-overview,
.home-stage,
.hero,
.section,
.snap-screen{
  background-color:transparent!important;
  background-image:none!important;
}
/* keep content readable while retaining the reference image's light and depth */
.home-overview:after,
.home-stage:after{
  opacity:.08!important;
}
@media(max-width:900px), (prefers-reduced-motion:reduce){
  body{
    /* background-attachment:scroll!important; */
    background-image:url('assets/bg-mobile.jpg')!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
    background-attachment:fixed!important;
  }
}

/* V4.11 homepage spacing refinement — keep title position, center business cards */
@media (min-width:901px){
  .home-overview-inner{
    position:relative;
    height:100%;
  }
  .home-overview-title{
    position:relative;
    z-index:2;
  }
  .home-overview-grid{
    position:absolute;
    z-index:2;
    left:50%;
    top:35%;
    width:100%;
    transform:translate(-50%,-30%);
  }
}
@media (max-height:820px) and (min-width:901px){
  .home-overview-grid{
    top:51%;
    transform:translate(-50%,-28%);
  }
}
@media (max-height:690px) and (min-width:901px){
  .home-overview-grid{
    top:52%;
    transform:translate(-50%,-24%);
  }
}

/* V4 secondary-page layout and navigation fixes */
.nav-business{z-index:60}
.business-dropdown{z-index:999;pointer-events:auto}
.nav-business.dropdown-open .business-dropdown{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
@media(max-width:1050px){.nav-business.dropdown-open .business-dropdown{transform:translateY(0)}}

/* Secondary page navigation scrolls with the page instead of remaining fixed. */
body.secondary-page .nav{position:absolute}
body.secondary-page .back-btn{position:absolute!important}

/* Merge each secondary page hero and its first content block into one opening viewport. */
@media(min-width:901px){
  body.secondary-page main.page>section.hero:first-child{
    min-height:42vh!important;
    height:42vh;
    padding:104px 24px 18px!important;
    align-items:end;
    overflow:visible;
  }
  body.secondary-page main.page>section.hero:first-child .hero-inner{
    transform:translateY(-4px);
  }
  body.secondary-page main.page>section.hero:first-child h1{
    margin:10px 0 10px;
    font-size:clamp(44px,5.2vw,76px);
  }
  body.secondary-page main.page>section.hero:first-child .lead{
    font-size:16px;
    line-height:1.65;
  }
  body.secondary-page main.page>section.hero:first-child .tags{
    margin-top:14px;
  }
  body.secondary-page main.page>section.hero:first-child + section.section{
    min-height:58vh!important;
    padding:62px 24px 42px!important;
    display:flex;
    align-items:flex-start;
    scroll-snap-align:start!important;
  }
  body.secondary-page main.page>section.hero:first-child + section.section>.container{
    margin-top:0;
  }
  body.secondary-page main.page>section.hero:first-child + section.section .section-head{
    margin-bottom:18px;
  }
  body.secondary-page main.page>section.hero:first-child + section.section .section-head h2{
    font-size:clamp(28px,3vw,44px);
    margin:4px 0;
  }
  body.secondary-page main.page>section.hero:first-child + section.section .glass{
    padding:22px 24px;
  }
  body.secondary-page main.page>section.hero:first-child + section.section .grid{
    gap:16px;
  }
}

/* Short desktop screens: preserve content visibility and allow normal scrolling. */
@media(min-width:901px) and (max-height:760px){
  html,body.secondary-page{scroll-snap-type:y mandatory!important}
  body.secondary-page main.page>section.hero:first-child{
    min-height:330px!important;
    height:auto;
    padding-top:92px!important;
    padding-bottom:20px!important;
  }
  body.secondary-page main.page>section.hero:first-child + section.section{
    min-height:auto!important;
    padding-top:24px!important;
    padding-bottom:48px!important;
  }
  body.secondary-page main.page>section.hero:first-child h1{font-size:52px}
  body.secondary-page main.page>section.hero:first-child .tags{margin-top:10px}
}

/* V4.12 secondary navigation fixed-display bug fix */
body.secondary-page .nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  transform:none!important;
  width:100%!important;
  z-index:10000!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.secondary-page .back-btn{
  position:fixed!important;
  top:88px!important;
  z-index:9999!important;
}
body.secondary-page .nav .business-dropdown{
  z-index:10001!important;
}
@media(max-width:620px){
  body.secondary-page .nav{
    top:0!important;
    height:60px!important;
  }
  body.secondary-page .back-btn{
    top:72px!important;
  }
}

/* V4.13 secondary-page scroll recovery
   Disable viewport snap only on secondary pages so the opening content can
   always be reached by scrolling upward while keeping the fixed navigation. */
html.secondary-scroll-page,
html.secondary-scroll-page body{
  scroll-snap-type:y mandatory!important;
  scroll-behavior:smooth;
  overflow-y:auto!important;
  overscroll-behavior-y:auto;
}
body.secondary-page{
  min-height:100%;
  height:auto!important;
  overflow-y:visible!important;
}
body.secondary-page main.page{
  min-height:100vh;
  overflow:visible!important;
}
body.secondary-page main.page>section,
body.secondary-page main.page>section.hero,
body.secondary-page main.page>section.hero.small{
}
/* Do not let the generic full-screen section rule trap secondary pages. */
body.secondary-page main.page>section:not(:first-child):not(:nth-child(2)){
  height:auto!important;
  min-height:100vh!important;
}
@media(min-width:901px){
  body.secondary-page main.page>section.hero:first-child{
  }
  body.secondary-page main.page>section.hero:first-child + section.section{
  }
}


/* V4.14 remove empty merged-screen space and rebuild contact as one screen */
body.secondary-page main.page>section:not(:first-child):not(:nth-child(2)){
  min-height:auto!important;
  height:auto!important;
}
body.secondary-page main.page>section:nth-child(n+3){
  padding-top:72px!important;
  padding-bottom:72px!important;
}

body.secondary-page main.contact-page{
  min-height:100svh!important;
}
body.secondary-page main.contact-page .contact-one-screen{
  position:relative;
  min-height:100svh!important;
  height:100svh!important;
  padding:118px 24px 0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  overflow:hidden!important;
}
body.secondary-page main.contact-page .contact-one-screen>.hero-inner{
    display: flex;
    justify-content: center;
    flex-direction: column;
  width:min(1100px,92vw);
  margin:0 auto;
  align-self:center;
  transform:translateY(12px)!important;
}
body.secondary-page main.contact-page .contact-manifesto{
  margin:10px auto 0!important;
  line-height:1.08!important;
}
body.secondary-page main.contact-page .contact-info-wrap{
  width:min(1180px,92vw);
  margin:0 auto 20%;
}
body.secondary-page main.contact-page .contact-info-wrap .section-head{
  margin:0 0 14px!important;
}
body.secondary-page main.contact-page .contact-info-wrap .section-head h2{
  font-size:clamp(24px,2.2vw,34px)!important;
  margin:2px 0!important;
}
body.secondary-page main.contact-page .contact-info-wrap .grid{
  gap:16px!important;
}
body.secondary-page main.contact-page .contact-info-wrap .glass{
  padding:18px 22px!important;
  min-height:96px!important;
}
body.secondary-page main.contact-page .contact-info-wrap .glass h3{
  margin-bottom:8px!important;
}
body.secondary-page main.contact-page .contact-footer{
  width:100vw;
  margin-left:calc(50% - 50vw);
  align-self:end;
}
body.secondary-page main.contact-page .contact-footer .footer-in{
  min-height:58px;
  padding-top:14px!important;
  padding-bottom:14px!important;
}
@media(max-height:820px) and (min-width:901px){
  body.secondary-page main.contact-page .contact-one-screen{
    padding-top:92px!important;
  }
  body.secondary-page main.contact-page .contact-one-screen>.hero-inner{
    transform:translateY(4px)!important;
  }
  body.secondary-page main.contact-page .contact-manifesto{
    font-size:clamp(42px,5vw,66px)!important;
  }
  body.secondary-page main.contact-page .contact-info-wrap{
    margin-bottom:18px;
  }
  body.secondary-page main.contact-page .contact-info-wrap .glass{
    padding:14px 18px!important;
    min-height:78px!important;
  }
}
@media(max-width:900px){
  body.secondary-page main.contact-page .contact-one-screen{
    height:auto!important;
    min-height:100svh!important;
    padding:104px 18px 0!important;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    overflow:visible!important;
  }
  body.secondary-page main.contact-page .contact-one-screen>.hero-inner{
    margin:auto 0 32px;
  }
  body.secondary-page main.contact-page .contact-info-wrap{
    margin:0 auto 28px;
  }
  body.secondary-page main.contact-page .contact-info-wrap .grid{
    grid-template-columns:1fr!important;
  }
  body.secondary-page main.contact-page .contact-footer{
    margin-top: 26% !important;
  }
}


/* V4.16 business menu click-pin fix */
.nav-business.dropdown-pinned .business-dropdown{
  opacity:1!important;
  visibility:visible!important;
  transform:translate(-50%,0)!important;
  pointer-events:auto!important;
}
@media(max-width:1050px){
  .nav-business.dropdown-pinned .business-dropdown{transform:translateY(0)!important;}
}
.business-dropdown{pointer-events:auto;}

/* V4.17 six business pages: consolidate all content into two full-screen panels */
@media (min-width:901px){
  html.business-two-screen-page,
  html.business-two-screen-page body{
    scroll-snap-type:y mandatory!important;
    scroll-padding-top:0!important;
    overflow-y:auto!important;
    height:auto!important;
  }
  html.business-two-screen-page body.secondary-page main.business-two-screen{
    min-height:200svh!important;
    height:auto!important;
    overflow:visible!important;
  }
  html.business-two-screen-page .business-screen{
    position:relative;
    width:100%;
    height:100svh;
    min-height:100svh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child{
    flex:0 0 43%;
    width:100%;
    height:auto!important;
    min-height:0!important;
    padding:96px 24px 10px!important;
    display:flex!important;
    align-items:flex-end!important;
    overflow:visible!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .hero-inner{
    transform:none!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child h1{
    margin:8px 0 8px!important;
    font-size:clamp(42px,4.5vw,68px)!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .lead{
    margin-top:0!important;
    font-size:15px!important;
    line-height:1.55!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .tags{
    margin-top:10px!important;
  }
  html.business-two-screen-page .business-screen-one>section.section{
    flex:1 1 auto;
    width:100%;
    height:auto!important;
    min-height:0!important;
    padding:10px 24px 28px!important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
  }
  html.business-two-screen-page .business-screen-one>section.section>.container{
    width:min(1180px,100%);
    margin:auto!important;
  }
  html.business-two-screen-page .business-screen-one .section-head{
    margin-bottom:16px!important;
  }
  html.business-two-screen-page .business-screen-one .section-head h2{
    margin:3px 0!important;
    font-size:clamp(27px,2.7vw,40px)!important;
  }
  html.business-two-screen-page .business-screen-one .grid{
    gap:14px!important;
  }
  html.business-two-screen-page .business-screen-one .glass{
    padding:18px 21px!important;
    min-height:118px;
  }
  html.business-two-screen-page .business-screen-two>section.section{
    flex:1 1 auto;
    width:100%;
    height:100%!important;
    min-height:100%!important;
    padding:88px 24px 0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  html.business-two-screen-page .business-screen-two>section.section>.container{
    width:min(1180px,100%);
    margin:auto!important;
    padding-top:0!important;
    padding-bottom:18px!important;
  }
  html.business-two-screen-page .business-screen-two .section-head{
    margin-bottom:18px!important;
  }
  html.business-two-screen-page .business-screen-two .section-head h2{
    margin:3px 0!important;
    font-size:clamp(30px,3.1vw,46px)!important;
  }
  html.business-two-screen-page .business-screen-two .grid{
    gap:16px!important;
  }
  html.business-two-screen-page .business-screen-two .glass{
    padding:22px 24px!important;
  }
  html.business-two-screen-page .business-screen-two footer{
    flex:0 0 auto;
    width:100vw;
    margin-left:calc(50% - 50vw)!important;
    margin-top:0!important;
  }
  html.business-two-screen-page .business-screen-two footer .footer-in{
    /* position: absolute; */
    /* bottom: 0; */
    /* left: 0; */
    /* right: 0; */
    min-height:58px!important;
    padding-top:13px!important;
    padding-bottom:13px!important;
  }
}

/* Short desktop screens: keep the two-panel hierarchy but release snap and allow full access. */
@media (min-width:901px) and (max-height:760px){
  html.business-two-screen-page,
  html.business-two-screen-page body{
    scroll-snap-type:y mandatory!important;
  }
  html.business-two-screen-page body.secondary-page main.business-two-screen{
    min-height:0!important;
  }
  html.business-two-screen-page .business-screen{
    height:auto!important;
    min-height:auto!important;
    overflow:visible!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child{
    flex:none!important;
    min-height:300px!important;
    padding:88px 24px 16px!important;
  }
  html.business-two-screen-page .business-screen-one>section.section,
  html.business-two-screen-page .business-screen-two>section.section{
    flex:none!important;
    height:auto!important;
    min-height:auto!important;
    padding:30px 24px 42px!important;
    overflow:visible!important;
  }
  html.business-two-screen-page .business-screen-two>section.section{
    padding-top:88px!important;
  }
  html.business-two-screen-page .business-screen-one .glass,
  html.business-two-screen-page .business-screen-two .glass{
    min-height:0!important;
  }
}

/* Tablet and mobile: natural scrolling, no trapped viewport. */
@media (max-width:900px){
  html.business-two-screen-page,
  html.business-two-screen-page body{
    scroll-snap-type:y mandatory!important;
    overflow-y:auto!important;
  }
  html.business-two-screen-page .business-screen{
    height:auto!important;
    min-height:auto!important;
    overflow:visible!important;
  }
}

/* V4.16 fixed top navigation on every page */
:root{--fixed-nav-height:64px}
html{scroll-padding-top:var(--fixed-nav-height)}
body .nav,
body.secondary-page .nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:var(--fixed-nav-height)!important;
  transform:none!important;
  border-radius:0!important;
  z-index:12000!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body .nav .business-dropdown{
  z-index:12001!important;
}
body.secondary-page .back-btn{
  position:fixed!important;
  top:calc(var(--fixed-nav-height) + 16px)!important;
  z-index:11999!important;
}
@media(max-width:620px){
  :root{--fixed-nav-height:60px}
  body .nav,
  body.secondary-page .nav{height:var(--fixed-nav-height)!important}
  body.secondary-page .back-btn{top:calc(var(--fixed-nav-height) + 12px)!important}
}

/* V4.18: center the primary title block on all six business pages */
@media (min-width:901px){
  html.business-two-screen-page .business-screen-one>section.hero:first-child{
    justify-content:center!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .hero-inner{
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .eyebrow,
  html.business-two-screen-page .business-screen-one>section.hero:first-child h1,
  html.business-two-screen-page .business-screen-one>section.hero:first-child .lead{
    text-align:center!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .tags{
    justify-content:center!important;
  }
}

@media (max-width:900px){
  html.business-two-screen-page .business-screen-one>section.hero:first-child .hero-inner{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .eyebrow,
  html.business-two-screen-page .business-screen-one>section.hero:first-child h1,
  html.business-two-screen-page .business-screen-one>section.hero:first-child .lead{
    text-align:center!important;
  }
  html.business-two-screen-page .business-screen-one>section.hero:first-child .tags{
    justify-content:center!important;
  }
}


/* === Auto patch: secondary hero center === */
.secondary-hero,.hero-secondary,.page-hero,.sub-hero,.business-hero,.hero{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.secondary-hero>*,
.hero-secondary>*,
.page-hero>*,
.sub-hero>*,
.business-hero>*,
.hero>*{
  margin-left:auto!important;
  margin-right:auto!important;
}
.contact-hero,.contact-page .hero{
  justify-content:center!important;
}
.contact-info,.contact-cards{
  margin-top:48px!important;
  margin-bottom:32px!important;
}

/* V4.19 uniform full-screen scrolling */
html,
html body{
  scroll-snap-type:y mandatory!important;
  scroll-behavior:smooth;
  scroll-padding-top:var(--fixed-nav-height);
  overflow-y:auto!important;
  overscroll-behavior-y:auto;
}

main.page>section,
body>footer,
body.secondary-page main.page>section,
body.secondary-page main.page>section.hero,
body.secondary-page main.page>section.hero.small,
html.business-two-screen-page .business-screen{
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
main.page>section{
  flex-direction:column;
}

@media(min-width:901px){
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section{
    height:100svh!important;
    min-height:100svh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.hero{
    padding:88px 24px 28px!important;
  }
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.section{
    padding:88px 24px 112px!important;
  }
  html.business-two-screen-page .business-screen{
    height:100svh!important;
    min-height:100svh!important;
    overflow:hidden!important;
  }
}

@media(max-width:900px){
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section{
    height:auto!important;
    min-height:100svh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding: 128px 18px 80px !important;
  }
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.hero{
    display:grid!important;
    padding:calc(var(--fixed-nav-height) + 28px) 18px 72px!important;
  }
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.section{
    padding:calc(var(--fixed-nav-height) + 28px) 18px 92px!important;
  }
  body.secondary-page main.page:not(.business-two-screen):not(.contact-page) .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.secondary-page main.contact-page .contact-one-screen{
    height:100svh!important;
    min-height:100svh!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }

  /* On small screens each nested business section is its own snap screen. */
  html.business-two-screen-page body.secondary-page main.business-two-screen{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html.business-two-screen-page .business-screen{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:block!important;
  }
  html.business-two-screen-page .business-screen>section{
    height:100svh!important;
    min-height:100svh!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    display:flex!important;
    flex-direction:column!important;
    /* align-items:stretch!important; */
    justify-content:center!important;
    overflow:visible!important;
    padding:calc(var(--fixed-nav-height) + 26px) 18px 82px!important;
  }
  html.business-two-screen-page .business-screen>section.hero{
    display:grid!important;
    place-items:center!important;
    padding:calc(var(--fixed-nav-height) + 26px) 18px 72px!important;
  }
  html.business-two-screen-page .business-screen>section.section{
    position:relative;
  }
  html.business-two-screen-page .business-screen-two>section.section{
    padding-bottom:86px!important;
  }
  html.business-two-screen-page .business-screen-two>section.section>footer{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px 18px!important;
  }
  html.business-two-screen-page .business-screen .section-head{
    margin-bottom:14px!important;
  }
  html.business-two-screen-page .business-screen .section-head h2{
    font-size:clamp(26px,7vw,36px)!important;
  }
  html.business-two-screen-page .business-screen .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px!important;
  }
  html.business-two-screen-page .business-screen .glass{
    min-height:0!important;
    padding:16px!important;
  }
  html.business-two-screen-page .business-screen .glass h3{
    font-size:18px!important;
  }
}

/* V4.20 contact page: keep the manifesto and contact details as separate snap screens. */
body.secondary-page main.contact-page{
  min-height:200svh!important;
}
body.secondary-page main.contact-page>.contact-one-screen,
body.secondary-page main.contact-page>.contact-details-screen{
  position:relative;
  width:100%;
  height:100svh!important;
  min-height:100svh!important;
  box-sizing:border-box;
  scroll-snap-align:start!important;
  scroll-snap-stop:always!important;
}
body.secondary-page main.contact-page>.contact-one-screen{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:calc(var(--fixed-nav-height) + 28px) 24px 72px!important;
  overflow:hidden!important;
}
body.secondary-page main.contact-page>.contact-one-screen>.hero-inner{
  width:min(1100px,92vw);
  margin:0 auto!important;
  transform:none!important;
}
body.secondary-page main.contact-page>.contact-details-screen{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:28px;
  padding:calc(var(--fixed-nav-height) + 28px) 24px 72px!important;
  overflow:hidden!important;
}
body.secondary-page main.contact-page>.contact-details-screen .contact-info-wrap{
  width:min(1180px,92vw);
  margin:0 auto!important;
}
body.secondary-page main.contact-page>.contact-details-screen .contact-footer{
  width:100%;
  margin:0!important;
}
body.secondary-page main.contact-page>.contact-details-screen .contact-footer .footer-in{
  min-height:58px;
  padding-top:14px!important;
  padding-bottom:14px!important;
}

@media(max-width:900px){
  body.secondary-page main.contact-page>.contact-one-screen,
  body.secondary-page main.contact-page>.contact-details-screen{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.secondary-page main.contact-page>.contact-one-screen{
    padding-top:calc(var(--fixed-nav-height) + 26px)!important;
    padding-bottom:72px!important;
  }
  body.secondary-page main.contact-page>.contact-details-screen{
    padding-top:calc(var(--fixed-nav-height) + 26px)!important;
    padding-bottom:70px!important;
    gap:22px;
  }
  body.secondary-page main.contact-page>.contact-one-screen>.hero-inner{
    width:calc(100vw - 36px)!important;
    max-width:100%!important;
    min-width:0!important;
    transform:none!important;
  }
  body.secondary-page main.contact-page .contact-manifesto{
    width:100%;
    font-size:clamp(26px,7vw,32px)!important;
    line-height:1.14!important;
    letter-spacing:-.02em!important;
  }
  body.secondary-page main.contact-page .contact-manifesto .bigSize{
    display:flex!important;
    width:100%;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:0 5px;
  }
  body.secondary-page main.contact-page .contact-manifesto .small{
    width:auto!important;
    margin:0!important;
    font-size:.72em!important;
  }
  body.secondary-page main.contact-page>.contact-details-screen .contact-info-wrap{
    width:100%;
  }
  body.secondary-page main.contact-page>.contact-details-screen .contact-info-wrap .grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  body.secondary-page main.contact-page>.contact-details-screen .glass{
    min-height:0!important;
    padding:18px!important;
  }
}

@media(max-width:900px){
  body.secondary-page main.page>section.hero>.hero-inner,
  html.business-two-screen-page .business-screen>section.hero>.hero-inner{
    width:calc(100vw - 36px)!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.secondary-page main.page>section.hero .lead{
    max-width:100%!important;
    overflow-wrap:anywhere;
  }
  body.secondary-page main.page>section.hero .tags{
    max-width:100%;
  }
}

/* Join page: jobs and application details share one content screen. */
body.secondary-page main.page>.join-opportunities-screen>.container{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:0;
}
body.secondary-page main.page>.join-opportunities-screen .section-head{
  margin-bottom:0!important;
}
body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid{
  gap:12px;
}
body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid .glass{
  min-height:0;
  padding:18px 20px;
}
body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid .glass h3{
  margin-bottom:6px;
  font-size:19px;
}
body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid .glass p{
  font-size:13px;
  line-height:1.55;
}
body.secondary-page main.page>.join-opportunities-screen .join-apply-head{
  margin-bottom:0!important;
}
body.secondary-page main.page>.join-opportunities-screen .join-apply-head h2{
  font-size:32px;
  margin:4px 0 0;
}
body.secondary-page main.page>.join-opportunities-screen .join-apply-head p{
  font-size:13px;
  line-height:1.55;
}
body.secondary-page main.page>.join-opportunities-screen .join-apply{
  width:100%;
  min-height:0;
  margin:0!important;
  padding:18px 22px;
}
body.secondary-page main.page>.join-opportunities-screen .join-apply h3{
  margin-bottom:6px;
  font-size:21px;
}
body.secondary-page main.page>.join-opportunities-screen .join-apply p{
  margin:0;
  font-size:13px;
  line-height:1.55;
}
body.secondary-page main.page>.join-opportunities-screen>footer{
  flex:none;
}

@media(min-width:901px){
  body.secondary-page main.page>.join-opportunities-screen{
    min-height:calc(100vh - var(--fixed-nav-height))!important;
    height:calc(100vh - var(--fixed-nav-height))!important;
    padding-top:22px!important;
    padding-bottom:42px!important;
  }
}

@media(max-width:620px){
  body.secondary-page main.page>.join-opportunities-screen{
    padding-top:calc(var(--fixed-nav-height) + 22px)!important;
    padding-bottom:68px!important;
  }
  body.secondary-page main.page>.join-opportunities-screen>.container{
    width:100%;
    gap:12px;
  }
  body.secondary-page main.page>.join-opportunities-screen .section-head{
    gap:4px;
  }
  body.secondary-page main.page>.join-opportunities-screen .section-head h2{
    font-size:30px;
    margin:4px 0;
  }
  body.secondary-page main.page>.join-opportunities-screen .section-head p{
    font-size:13px;
    line-height:1.5;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid .glass{
    padding:13px 14px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid .glass h3{
    font-size:16px;
    line-height:1.3;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-jobs-grid .glass p{
    font-size:12px;
    line-height:1.45;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply{
    align-items:center;
    gap:12px;
    padding:14px 16px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply-head{
    gap:4px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply-head h2{
    font-size:30px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply-head p{
    font-size:13px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply h3{
    font-size:17px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply p{
    font-size:12px;
  }
  body.secondary-page main.page>.join-opportunities-screen .join-apply .button{
    flex:none;
    padding:10px 14px;
    font-size:13px;
  }
}

/* Hide the fixed navigation until the opening intro has fully finished. */
body.intro-active .nav{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

@media(min-width:901px){
  html.business-two-screen-page .business-screen-two>section.section{
    justify-content:flex-start!important;
  }
  html.business-two-screen-page .business-screen-two>section.section>.container{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    margin:0 auto!important;
  }
  html.business-two-screen-page .business-screen-two>section.section>footer{
    position:static!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px 24px!important;
  }
}

/* V4.21 secondary final screens: reserve the fixed navbar space so footers
   remain inside the visible last snap screen. */
body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.milestones-final-screen,
body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.join-opportunities-screen,
body.secondary-page main.contact-page>.contact-details-screen{
  height:calc(100svh - var(--fixed-nav-height))!important;
  min-height:calc(100svh - var(--fixed-nav-height))!important;
  box-sizing:border-box;
}

body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.milestones-final-screen,
body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.join-opportunities-screen{
  justify-content:flex-start!important;
}

body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.milestones-final-screen>.container,
body.secondary-page main.page:not(.business-two-screen):not(.contact-page)>section.join-opportunities-screen>.container{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:0;
}

body.secondary-page main.contact-page>.contact-details-screen{
  justify-content:flex-start!important;
  gap:0!important;
  padding-bottom:0!important;
}

body.secondary-page main.contact-page>.contact-details-screen .contact-info-wrap{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:0;
}

body.secondary-page main.contact-page>.contact-details-screen .contact-footer{
  position:static!important;
  flex:0 0 auto!important;
  min-height:0!important;
}

/* Shared page transitions and right-to-left navigation feedback. */
@keyframes pageEnterFromRight{
  from{opacity:1;transform:translate3d(100%,0,0)}
  to{opacity:1;transform:none}
}
@keyframes pageLeaveToLeft{
  from{opacity:1;transform:none}
  to{opacity:1;transform:translate3d(-100%,0,0)}
}
body.page-enter .page{
  animation:pageEnterFromRight .65s cubic-bezier(.2,.8,.2,1) both;
}
body.page-leaving .page{
  animation:pageLeaveToLeft .55s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes pageHoverLeaveToLeft{
  from{opacity:1;transform:none}
  to{opacity:1;transform:translate3d(-100%,0,0)}
}
@keyframes pageHoverEnterFromRight{
  from{opacity:1;transform:translate3d(100%,0,0)}
  to{opacity:1;transform:none}
}
main.page.page-hover-leave{
  animation:pageHoverLeaveToLeft .32s cubic-bezier(.2,.8,.2,1) both;
}
main.page.page-hover-enter{
  animation:pageHoverEnterFromRight .65s cubic-bezier(.2,.8,.2,1) both;
}
.nav .menu>a,
.nav .nav-business>a{
  position:relative;
}
.nav .menu>a.is-active:after,
.nav .nav-business>a.is-active:after{
  content:"";
  position:absolute;
  right:0;
  bottom:-25px;
  left:-5px;
  width: 115%;
  height:3px;
  border-radius:22369600px;
  background:linear-gradient(90deg, #FFA854 0%, #FFE8A0 100%);
}
@media(prefers-reduced-motion:reduce){
  body.page-enter .page,
  body.page-leaving .page,
  main.page.page-hover-leave,
  main.page.page-hover-enter{
    animation:none;
  }
}

/* Figma 46:690 - news and milestones. */
body:has(main.news-page){
  color:#fff!important;
  font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
  background:#183a85!important;
}
body:has(main.news-page) .nav{
  top:0!important;
  left:0!important;
  width:100%!important;
  height:72px!important;
  padding:0 13.333vw 0 6.667vw!important;
  border:0!important;
  /* border-bottom:1px solid rgba(255,255,255,.08)!important; */
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body:has(main.news-page) .brand{
  padding-left:64px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
}
body:has(main.news-page) .menu{
  width:800px;
  flex:0 0 800px;
  justify-content:space-between;
  gap:0;
  color:rgba(255,255,255,.7)!important;
  font-size:16px;
  font-weight:700;
  letter-spacing:.0625em;
}
body:has(main.news-page) .menu a:hover,
body:has(main.news-page) .menu a.is-active{color:#fff!important}
body:has(main.news-page) .nav-business{height:72px}
.news-page{isolation:isolate}
body.secondary-page main.page.news-page>.news-screen{
  position:relative;
  display:block!important;
  width:100%;
  min-height:100svh!important;
  height:auto!important;
  padding:138px 24px 0!important;
  overflow:hidden!important;
  background:
    linear-gradient(180deg,rgba(24,58,133,.96) 0%,rgba(56,106,191,.92) 47%,rgba(154,205,251,.84) 82%,rgba(154,205,251,0) 100%);
}
.news-page .news-screen:before{
  content:"";
  position:absolute;
  z-index:-2;
  top:0;
  left:-11.2%;
  width:122.6%;
  height:73%;
  background:linear-gradient(180deg,#183a85 29%,#386abf 62%,#9acdfb 83%,rgba(154,205,251,0) 97%);
  filter:blur(75px);
  pointer-events:none;
}
.news-page .news-screen:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:calc(50% - 77px);
  bottom:22.5%;
  width:154px;
  height:135px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,162,2,1) 18%,rgba(252,244,141,.6) 100%);
  filter:blur(100px);
  pointer-events:none;
}
.news-page .energy-lines{opacity:.16}
.news-page .particles{opacity:.62}
.news-page-content{
  position:relative;
  z-index:2;
  width:min(1100px,100%);
  margin:0 auto;
}
.news-page-title{
  height:110px;
  margin:0 0 31px;
  color:transparent;
  background:linear-gradient(
    100deg,
    #ffffff 0%,
    #eaf8ff 12%,
    #7edcff 26%,
    #ffffff 42%,
    #fff4b3 55%,
    #ffd45f 66%,
    #ff9a3f 79%,
    #fff7df 91%,
    #ffffff 100%
  );
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shine 6s linear infinite;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));
  font-size:88px;
  line-height:110px;
  font-weight:900;
  letter-spacing:0;
  text-align:center;
}
.news-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  height:72px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.news-tab{
  position:relative;
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:center;
  padding:24px 10px 21px;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.7);
  font:400 24px/1.2 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
  cursor:pointer;
  transition:color .25s ease,background-color .25s ease;
}
.news-tab:hover,
.news-tab:focus-visible,
.news-tab.is-active{
  color:#fff;
  outline:none;
}
.news-tab.is-active:after{
  content:"";
  position:absolute;
  right:50%;
  bottom:0;
  width:35px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffa854 0%,#ffe8a0 100%);
  transform:translateX(50%);
}
.news-panels{
  display:block;
  padding:32px 0 84px;
}
.news-panel{
  display:grid;
  gap:32px;
}
.news-panel[hidden]{display:none}
.news-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:92px;
  padding:16px 29px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:8px;
  background:rgba(255,255,255,.3);
  color:#445577;
  transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.news-card:hover{
  background:rgba(255,255,255,.3);
  box-shadow:0 12px 32px rgba(28,66,132,.2);
  transform:translateY(-2px);
}
.news-date{
  flex:0 0 145px;
  color:#445577;
  font-size:21px;
  line-height:1.2;
  font-weight: 800;
  text-shadow:1px 1px 1px #fff;
}
.news-card-content{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.news-title{
  color:#445577;
  font-size:20px;
  line-height:1.35;
  font-weight:700;
}
.news-summary{
  color:#445577;
  font-size:18px;
  line-height:1.55;
}
.news-page footer{
  position:static!important;
  width:100vw;
  min-height:72px;
  margin:0 0 0 calc(50% - 50vw);
  padding:0 128px!important;
  border:0!important;
  /* color:rgba(255,255,255,.8)!important; */
}
.news-page footer .footer-in{
  display:flex!important;
  width:100%!important;
  height:72px;
  align-items:center!important;
  justify-content:space-between!important;
  margin:0!important;
  /* color:rgba(255,255,255,.8); */
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.news-page footer strong{font-size:14px;line-height:18px;font-weight:900}
.news-page footer span{font-size:14px;line-height:18px}
@media(max-width:900px){
  body:has(main.news-page) .nav{
    height:60px!important;
    padding:0 20px!important;
  }
  body:has(main.news-page) .brand{
    padding-left:0;
    font-size:20px;
  }
  body:has(main.news-page) .menu{display:none}
  body.secondary-page main.page.news-page>.news-screen{
    min-height:100svh!important;
    padding:104px 18px 0!important;
    overflow:visible!important;
  }
  .news-page-title{
    height:auto;
    margin-bottom:22px;
    font-size:clamp(52px,12vw,76px);
    line-height:1.1;
  }
  .news-tabs{
    height:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .news-tab{
    min-height:64px;
    padding:16px 8px 18px;
    font-size:20px;
  }
  .news-tab.is-active:after{
    bottom:0;
  }
  .news-panels{
    padding:24px 0 54px;
  }
  .news-panel{gap:16px}
  .news-card{
    align-items:flex-start;
    gap:14px;
    min-height:0;
    padding:16px 18px;
  }
  .news-date{
    flex:0 0 90px;
    font-size:20px;
    line-height:1.35;
  }
  .news-title{
    font-size:18px;
    line-height:1.45;
  }
  .news-summary{
    font-size:15px;
    line-height:1.6;
  }
  .news-page footer{
    min-height:auto;
    margin:0 0 0 calc(50% - 50vw);
    padding:14px 20px!important;
  }
  .news-page footer .footer-in{
    height:auto;
    align-items:center!important;
    flex-direction:column;
    gap:8px;
  }
}

/* Xiaodangjia: Figma two-screen layout. Scoped to this page so the homepage
   and the remaining business pages retain their existing approved styling. */
body:has(main.xiaodangjia-page){
  color:#fff!important;
  font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
}
body:has(main.xiaodangjia-page) .nav{
  top:0!important;
  height:72px!important;
  padding:0 13.333vw 0 6.667vw!important;
  background:transparent!important;
  backdrop-filter:none!important;
  border:0!important;
  /* border-bottom:1px solid rgba(255,255,255,.08)!important; */
  box-shadow:none!important;
}
body:has(main.xiaodangjia-page) .brand{
  padding-left:64px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
}
body:has(main.xiaodangjia-page) .brand i{display:none}
body:has(main.xiaodangjia-page) .menu{
  width:800px;
  flex:0 0 800px;
  justify-content:space-between;
  gap:0;
  color:rgba(255,255,255,.7)!important;
  font-size:16px;
  font-weight:700;
  letter-spacing:.0625em;
}
body:has(main.xiaodangjia-page) .menu a:hover,
body:has(main.xiaodangjia-page) .menu a.is-active{color:#fff!important}
body:has(main.xiaodangjia-page) .nav-business{height:72px}
body:has(main.xiaodangjia-page) .back-btn{
  top:125px!important;
  left:58px!important;
  padding:6px 20px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:120px!important;
  background:rgba(255,255,255,.1)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#fff!important;
  font:500 18px/1.2 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif!important;
}
body:has(main.xiaodangjia-page) .back-btn:hover{
  border-color:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
}
.xiaodangjia-page{isolation:isolate}
.xiaodangjia-page .business-screen{
  display:block!important;
  padding:0!important;
}
.xiaodangjia-page .xiaodangjia-stage{
  position:relative;
  z-index:0;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%;
  height:100%;
  min-height:100%;
  padding:150px 24px 110px!important;
  overflow:hidden!important;
}
.xiaodangjia-page .xiaodangjia-stage:before{
  content:"";
  position:absolute;
  z-index:-2;
  top:-12%;
  left:-11.2%;
  width:122.6%;
  height:73%;
  background:linear-gradient(180deg,#183a85 29%,#386abf 62%,#9acdfb 83%,rgba(154,205,251,0) 97%);
  filter:blur(75px);
  opacity:.88;
  pointer-events:none;
}
.xiaodangjia-page .xiaodangjia-stage:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:154px;
  height:135px;
  left:calc(50% - 77px);
  bottom:27.1%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,162,2,1) 18%,rgba(252,244,141,.6) 100%);
  filter:blur(100px);
  pointer-events:none;
}
.xiaodangjia-page .energy-lines{opacity:.16}
.xiaodangjia-page .particles{opacity:.62}
.xiaodangjia-page .xiaodangjia-content{
  position:relative;
  z-index:2;
  width:min(1100px,calc(100vw - 48px));
}
.xiaodangjia-page .xiaodangjia-content-loop{
  width:min(1208px,calc(100vw - 48px));
}
.xiaodangjia-page .xiaodangjia-heading{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
.xiaodangjia-page .xiaodangjia-content-loop .xiaodangjia-heading{
  /* grid-template-columns:minmax(0,1fr) minmax(430px,687px); */
}
.xiaodangjia-page .xiaodangjia-heading h1{
  margin:0!important;
  color:#fff!important;
  font-size:48px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-align:left!important;
  /* text-shadow:0 2px 4px #799bd0; */
}
.xiaodangjia-page .xiaodangjia-heading p{
  max-width:481px;
  margin:0!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.45!important;
  font-weight:400!important;
  text-align:right!important;
  text-wrap:wrap!important;
  text-shadow:1px 1px 1px rgba(105,108,116,.72);
}
.xiaodangjia-page .xiaodangjia-content-loop .xiaodangjia-heading p{
  font-weight:500!important;
  text-shadow:.5px .5px 1px rgba(104,124,145,.9);
}
.xiaodangjia-page .xiaodangjia-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.xiaodangjia-page .xiaodangjia-card{
  min-height:152px;
  padding:32px 28px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:8px;
  background:rgba(255,255,255,.4);
  box-shadow:none;
  backdrop-filter: blur(8px);
}
.xiaodangjia-page .xiaodangjia-card h2{
  margin:0 0 4px;
  color:#445577;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:0;
}
.xiaodangjia-page .xiaodangjia-card p{
  margin:0;
  color:#2c3361;
  font-size:16px;
  line-height:1.55;
  font-weight:400;
}
.xiaodangjia-page .xiaodangjia-content-loop .xiaodangjia-card p{font-weight:500}
.xiaodangjia-page .business-screen-one .xiaodangjia-content{transform:translateY(-50px)}
.xiaodangjia-page .business-screen-two .xiaodangjia-content{transform:translate(20px,-51px)}
.xiaodangjia-page .business-screen-two footer{
  position:absolute!important;
  right:0;
  bottom:0;
  left:0;
  display:block!important;
  min-height:72px!important;
  height:72px!important;
  margin:0!important;
  padding:0 128px!important;
  border:0!important;
  /* color:rgba(255,255,255,.8)!important; */
}
.xiaodangjia-page .business-screen-two footer strong{
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:18px;
  font-weight:900;
}

/* Figma 33:7 - XiaoDangJia opening screen. */
.xiaodangjia-page .business-screen-one .xiaodangjia-stage{
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:227px 0 76px!important;
  background:
    linear-gradient(90deg,rgba(153,153,153,.2) 39%,rgba(255,255,255,.06) 53%),
    url("assets/xiaodangjia-hero-bg-548701.png") center center/cover no-repeat;
}
.xiaodangjia-page .business-screen-one .xiaodangjia-stage:before{
  display:none;
}
.xiaodangjia-page .business-screen-one .xiaodangjia-content-home{
  /* width:616px; */
  max-width:calc(100vw - 48px);
  margin-left:max(24px,7.969vw);
  transform:none!important;
}
.xiaodangjia-page .xiaodangjia-home-hero{
  display:flex;
  align-items:flex-start;
  width:100%;
  max-width:none;
  margin:0;
  flex-direction:column;
  gap:24px;
  text-align:left;
}
.xiaodangjia-page .xiaodangjia-home-hero h1{
  margin:0;
  background:linear-gradient(93deg,#FF9A54 -43.82%,#FFB079 58.47%,#FFF0A9 146.16%);
  background-size:100% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-size:76px;
  font-weight:900;
  letter-spacing:0;
  line-height:72px;
  /* text-shadow:0 4px 4px rgba(0,0,0,.25); */
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  animation:none;
}
.xiaodangjia-page .xiaodangjia-home-hero>p{
  margin:0;
  color:#fff;
  font-size:26px;
  font-weight:500;
  line-height:1.2;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
}
.xiaodangjia-page .xiaodangjia-home-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:16px;
  margin-top:0;
  filter:drop-shadow(0 4px 4px rgba(0,0,0,.25));
}
.xiaodangjia-page .xiaodangjia-home-tags span{
  min-height:36px;
  padding:6px 28px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:120px;
  background:transparent;
  color:#fff;
  font-size:18px;
  font-weight:500;
  line-height:1;
  text-shadow:0 1px 1px rgba(0,0,0,.25);
  white-space:nowrap;

}
/* .xiaodangjia-page .xiaodangjia-home-tags span:nth-child(1){width:111px}
.xiaodangjia-page .xiaodangjia-home-tags span:nth-child(2){width:129px}
.xiaodangjia-page .xiaodangjia-home-tags span:nth-child(3){width:93px}
.xiaodangjia-page .xiaodangjia-home-tags span:nth-child(4){width:88px} */
.xiaodangjia-page .xiaodangjia-capability{
  width:615px;
  max-width:100%;
  margin-top:75px;
}
.xiaodangjia-page .business-screen-one .xiaodangjia-card-grid{
  grid-template-columns:1fr;
  gap:24px;
}
.xiaodangjia-page .business-screen-one .xiaodangjia-card{
  min-height:125px;
  padding:24px 28px;
  border-color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.2);
}
.xiaodangjia-page .business-screen-one .xiaodangjia-card h3{
  margin:0 0 8px;
  color:#fff;
  font-size:26px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.25;
}
.xiaodangjia-page .business-screen-one .xiaodangjia-card p{
  color:#fff;
  font-size:16px;
  font-weight:400;
  line-height:1.55;
}

@media (max-width:900px){
  body:has(main.xiaodangjia-page) .nav{
    top:0!important;
    height:60px!important;
    padding:0 20px!important;
  }
  body:has(main.xiaodangjia-page) .brand{
    padding-left:0;
    font-size:20px;
  }
  body:has(main.xiaodangjia-page) .menu{display:none!important}
  body:has(main.xiaodangjia-page) .back-btn{
    display: none;
    /* top:72px!important;
    left:18px!important;
    font-size:15px!important; */
  }
  .xiaodangjia-page .business-screen{
    height:auto!important;
    min-height:100svh!important;
    overflow:visible!important;
  }
  .xiaodangjia-page .xiaodangjia-stage{
    min-height:100svh!important;
    height:auto!important;
    padding:142px 18px 76px!important;
    overflow:visible!important;
  }
  .xiaodangjia-page .xiaodangjia-content,
  .xiaodangjia-page .xiaodangjia-content-loop{
    width:min(100%,600px);
    transform:none!important;
  }
  .xiaodangjia-page .business-screen-one .xiaodangjia-stage{
    padding:128px 18px 76px!important;
    align-items:flex-start!important;
    background-position:61% center;
  }
  .xiaodangjia-page .business-screen-one .xiaodangjia-content-home{
    width:min(100%,600px);
    max-width:none;
    margin:0 auto;
  }
  .xiaodangjia-page .xiaodangjia-home-hero{
    gap:16px;
    align-items:flex-start;
    text-align:left;
  }
  .xiaodangjia-page .xiaodangjia-home-hero h1{
    font-size:clamp(40px,11vw,62px);
    line-height:1;
  }
  .xiaodangjia-page .xiaodangjia-home-hero>p{
    font-size:18px;
  }
  .xiaodangjia-page .xiaodangjia-home-tags{
    gap:8px;
    justify-content:flex-start;
  }
  .xiaodangjia-page .xiaodangjia-home-tags span{
        width: 33% !important;
        min-height: 32px;
        padding: 6px 10px;
        font-size: 14px;
        text-align: center;
        line-height: normal;
  }
  .xiaodangjia-page .xiaodangjia-capability{
    width:100%;
    margin-top:42px;
  }
  .xiaodangjia-page .business-screen-one .xiaodangjia-card{
    min-height:125px;
    padding:21px 20px;
  }
  .xiaodangjia-page .business-screen-one .xiaodangjia-card h3{
    font-size:23px;
  }
  .xiaodangjia-page .xiaodangjia-heading,
  .xiaodangjia-page .xiaodangjia-content-loop .xiaodangjia-heading{
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:22px;
  }
  .xiaodangjia-page .xiaodangjia-heading h1{
    font-size:clamp(32px,8vw,44px)!important;
    text-align:left!important;
  }
  .xiaodangjia-page .xiaodangjia-heading p{
    font-size:15px!important;
    text-align:left!important;
  }
  .xiaodangjia-page .xiaodangjia-card-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .xiaodangjia-page .xiaodangjia-card{
    min-height:0;
    padding:22px 20px;
  }
  .xiaodangjia-page .xiaodangjia-card h2{font-size:23px}
  .xiaodangjia-page .xiaodangjia-card p{font-size:15px}
  .xiaodangjia-page .business-screen-two footer{
    position:static!important;
    width:100vw;
    min-height:auto!important;
    height:auto!important;
    margin:34px 0 -76px calc(50% - 50vw)!important;
    padding:14px 20px!important;
  }
  .xiaodangjia-page .business-screen-two footer .footer-in{
    height:auto;
    gap:8px;
    align-items:center!important;
    flex-direction:column;
    font-size:12px;
  }
}

/* Figma join and contact pages. These page-scoped rules leave the existing
   homepage and business-page motion layers untouched. */
body:has(main.home-page),
body:has(main.join-page),
body:has(main.contact-page){
  color:#fff!important;
  font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
}
body:has(main.home-page) .nav,
body:has(main.join-page) .nav,
body:has(main.contact-page) .nav{
  top:0!important;
  height:72px!important;
  padding:0 13.333vw 0 6.667vw!important;
  background:transparent!important;
  backdrop-filter:none!important;
  border:0!important;
  /* border-bottom:1px solid rgba(255,255,255,.08)!important; */
  border-radius:0!important;
  box-shadow:none!important;
}
body:has(main.home-page) .brand,
body:has(main.join-page) .brand,
body:has(main.contact-page) .brand{
  padding-left:64px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
}
body:has(main.home-page) .brand i,
body:has(main.join-page) .brand i,
body:has(main.contact-page) .brand i{display:none}
body:has(main.home-page) .menu,
body:has(main.join-page) .menu,
body:has(main.contact-page) .menu{
  width:800px;
  flex:0 0 800px;
  justify-content:space-between;
  gap:0;
  color:rgba(255,255,255,.7)!important;
  font-size:16px;
  font-weight:700;
  letter-spacing:.0625em;
}
body:has(main.home-page) .menu a,
body:has(main.join-page) .menu a,
body:has(main.contact-page) .menu a{position:relative}
body:has(main.home-page) .menu a.is-active,
body:has(main.join-page) .menu a.is-active,
body:has(main.contact-page) .menu a.is-active{color:#fff!important}
body:has(main.home-page) .menu a.is-active:after,
body:has(main.join-page) .menu a.is-active:after,
body:has(main.contact-page) .menu a.is-active:after{
  content:"";
  position:absolute;
  left:0;
  right:50%;
  bottom:-25px;
  width:100%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#ffa854,#ffe8a0);
  /* transform:translateX(50%); */
}
.join-page,
.contact-page{isolation:isolate}
body.secondary-page main.page.contact-page{
  min-height:100svh!important;
}
.join-page .join-screen,
.contact-page .contact-layout-screen{
  position:relative;
  display:block!important;
  width:100%;
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
}
/* The legacy secondary-page rule is intentionally more specific and centers
   every section. The Figma join frame uses fixed top coordinates instead. */
body.secondary-page main.page.join-page:not(.business-two-screen):not(.contact-page)>section.join-screen{
  display:block!important;
  align-items:initial!important;
  justify-content:initial!important;
}
/*.join-page .join-screen:before,*/
/*.contact-page .contact-layout-screen:before{*/
/*  content:"";*/
/*  position:absolute;*/
/*  z-index:-2;*/
/*  top:-12%;*/
/*  left:-11.2%;*/
/*  width:122.6%;*/
/*  height:73%;*/
/*  background:linear-gradient(180deg,#183a85 29%,#386abf 62%,#9acdfb 83%,rgba(154,205,251,0) 97%);*/
/*  filter:blur(75px);*/
/*  opacity:.88;*/
/*  pointer-events:none;*/
/*}*/
/* .join-page .join-screen:after,
.contact-page .contact-layout-screen:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:calc(50% - 77px);
  bottom:27.1%;
  width:154px;
  height:135px;
  border-radius:50%;
  /* background:radial-gradient(circle,rgba(255,162,2,1) 18%,rgba(252,244,141,.6) 100%); */
  filter:blur(100px);
  pointer-events:none;
} */
.contact-page .contact-layout-screen:after{
  left:calc(50% - 143px);
  width:286px;
  height:251px;
}
.join-page .energy-lines,
.contact-page .energy-lines{opacity:.16}
.join-page .particles,
.contact-page .particles{opacity:.62}
.join-page .join-content{
  position:relative;
  z-index:2;
  width:min(1100px,calc(100vw - 48px));
  margin:0 auto;
  padding-top:155px;
}
.join-page .join-hero{
  display:flex;
  width:666px;
  max-width:100%;
  margin:0 auto;
  align-items:center;
  flex-direction:column;
  gap:24px;
  text-align:center;
}
.join-page .join-hero h1{
  width:352px;
  max-width:100%;
  margin:0;
  background:linear-gradient(
    100deg,
    #ffffff 0%,
    #eaf8ff 12%,
    #7edcff 26%,
    #ffffff 42%,
    #fff4b3 55%,
    #ffd45f 66%,
    #ff9a3f 79%,
    #fff7df 91%,
    #ffffff 100%
  );
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shine 6s linear infinite;
  font-size:88px;
  line-height:105px;
  font-weight:900;
  letter-spacing:0;
  text-shadow:none;
  filter:none
}
.join-page .join-hero>p{
  margin:0;
  color:#fff;
  font-size:26px;
  line-height:1.2;
  font-weight:500;
  white-space:nowrap;
}
.join-page .join-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}
.join-page .join-tags span{
  display:flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:6px 16px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:120px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:500;
  white-space:nowrap;
}
.join-page .join-jobs-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:60px;
}
.join-page .join-job-card,
.join-page .join-apply{
  border:1px solid rgba(255,255,255,.88);
  border-radius:8px;
  background:rgba(255,255,255,.4);
  color:#2c3361;
}
.join-page .join-job-card{
  /* height:152.33px; */
  /* min-height:152px; */
  padding:32px 25px;
}
.join-page .join-job-card h3{
  margin:0 0 8px;
  color:#445577;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
}
.join-page .join-job-card p,
.join-page .join-apply p{
  margin:0;
  color:#2c3361;
  font-size:16px;
  line-height:1.2;
  font-weight:500;
}
.join-page .join-apply{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:19px;
  padding:24px 28px;
}
.join-page .join-apply h2{
  margin:0 0 4px;
  color:#445577;
  font-size:22px;
  line-height:1.25;
  font-weight:700;
}
.join-page .join-apply-button{
  flex:0 0 auto;
  padding:6px 12px;
  border-radius:100px;
  background:#ff8a3d;
  color:#fff;
  font-size:14px;
  font-weight:700;
}
.join-page footer,
.contact-page .contact-footer{
  position:absolute!important;
  right:0;
  bottom:0;
  left:0;
  display:block!important;
  width:100%;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:0 128px!important;
  border:0!important;
  /* color:rgba(255,255,255,.8)!important; */
}
.join-page footer .footer-in,
.contact-page .contact-footer .footer-in{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  height:72px;
  margin:0!important;
  /* color:rgba(255,255,255,.8)!important; */
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.join-page footer strong,
.contact-page .contact-footer strong{
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.contact-page .contact-layout-content{
  position:relative;
  z-index:2;
  display:flex;
  width:min(1100px,calc(100vw - 48px));
  height:405px;
  margin:0 auto;
  padding-top:175px;
  flex-direction:column;
  justify-content:space-between;
  box-sizing:content-box;
}
.contact-page .contact-layout-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
}
.contact-page .contact-layout-heading h1{
  margin:0;
  color:#fff;
  font-size:64px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:0;
}
.contact-page .contact-layout-heading p{
  margin:0;
  color:#fff;
  font-size:18px;
  line-height:1.45;
  font-weight:500;
  text-align:right;
  text-shadow:1px 1px 0 rgba(105,108,116,.72);
}
.contact-page .contact-card-grid{
  display:grid;
  grid-template-columns:519px minmax(0,1fr);
  gap:24px;
}
.contact-page .contact-card{
  min-height:269px;
  padding:24px;
  border:1px solid rgba(255,255,255,.61);
  border-radius:8px;
  background:rgba(255,255,255,.19);
  color:#445577;
}
.contact-page .contact-card h2{
  margin:0 0 24px;
  color:#fff;
  font-size:32px;
  line-height:1.2;
  font-weight:700;
}
.contact-page .contact-email,
.contact-page .contact-addresses{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.contact-page .contact-email{gap:24px}
.contact-page .contact-email strong{
  display:block;
  padding:0 12px 16px;
  border-bottom:1px solid rgba(255,255,255,.6);
  color:#445577;
  font-size:24px;
  line-height:1.25;
  letter-spacing:.0417em;
  font-weight:700;
}
.contact-page .contact-email p{
  margin:0;
  padding:0 12px;
  color:#445577;
  font-size:18px;
  line-height:1.55;
}
.contact-page .contact-addresses p{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  margin:0;
  padding:0 8px 8px;
  border-bottom:1px solid rgba(255,255,255,.6);
  color:#445577;
  font-size:18px;
  line-height:1.35;
}
.contact-page .contact-addresses p:last-child{border-bottom:0}
.contact-page .contact-addresses strong{
  font-size:18px;
  line-height:1.35;
  font-weight:700;
  white-space:nowrap;
}
.contact-page .contact-addresses p:first-child strong{letter-spacing:.2778em}

@media (max-width:900px){
  body:has(main.home-page) .nav,
  body:has(main.join-page) .nav,
  body:has(main.contact-page) .nav{
    height:60px!important;
    padding:0 20px!important;
  }
  body:has(main.home-page) .brand,
  body:has(main.join-page) .brand,
  body:has(main.contact-page) .brand{
    padding-left:0;
    font-size:20px;
  }
  body:has(main.home-page) .menu,
  body:has(main.join-page) .menu,
  body:has(main.contact-page) .menu{display:none!important}
  .join-page .join-screen,
  .contact-page .contact-layout-screen{
    height:auto!important;
    min-height:100svh!important;
    padding:104px 18px 80px!important;
    overflow:visible!important;
  }
  body.secondary-page main.page.join-page:not(.business-two-screen):not(.contact-page)>section.join-screen{
    display:block!important;
    height:auto!important;
    min-height:100svh!important;
    padding:104px 18px 80px!important;
    align-items:initial!important;
    justify-content:initial!important;
    overflow:visible!important;
  }
  .join-page .join-content,
  .contact-page .contact-layout-content{
    width:min(100%,600px);
    height:auto;
    margin:0 auto;
    padding:0;
  }
  .join-page .join-hero{gap:16px}
  .join-page .join-hero h1{
    width:auto;
    font-size:clamp(48px,10vw,68px);
    line-height:1;
  }
  .join-page .join-hero>p{
    font-size:18px;
    white-space:normal;
  }
  .join-page .join-tags{gap:8px}
  .join-page .join-tags span{
    width: 40%;
    min-height:32px;
    padding:6px 10px;
    font-size:14px;
  }
  .join-page .join-jobs-grid{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:48px;
  }
  .join-page .join-job-card{
    min-height:0;
    padding:22px 20px;
  }
  .join-page .join-job-card h3{font-size:23px}
  .join-page .join-apply{
    align-items:flex-start;
    padding:20px;
    flex-direction:column;
  }
  .join-page footer,
  .contact-page .contact-footer{
    position:static!important;
    width:100vw;
    height:auto!important;
    min-height:auto!important;
    margin:36px 0 -80px calc(50% - 50vw)!important;
    padding:14px 20px!important;
  }
  .join-page footer .footer-in,
  .contact-page .contact-footer .footer-in{
    height:auto;
    align-items:center!important;
    gap:8px;
    flex-direction:column;
    font-size:12px;
  }
  .contact-page .contact-layout-heading{
    align-items:flex-start;
    gap:14px;
    flex-direction:column;
  }
  .contact-page .contact-layout-heading h1{font-size:44px}
  .contact-page .contact-layout-heading p{
    font-size:15px;
    text-align:left;
  }
  .contact-page .contact-card-grid{
    grid-template-columns:1fr;
    gap:12px;
    margin-top:34px;
  }
  .contact-page .contact-card{
    min-height:0;
    padding:20px;
  }
  .contact-page .contact-card h2{
    margin-bottom:20px;
    font-size:28px;
  }
  .contact-page .contact-email strong{font-size:18px}
  .contact-page .contact-email p,
  .contact-page .contact-addresses p,
  .contact-page .contact-addresses strong{font-size:15px}
  .contact-page .contact-addresses p{
    grid-template-columns:1fr;
    gap:6px;
  }
}

/* Figma 1:538 - Liyang Yulu. */
body:has(main.yulu-page){
  color:#fff!important;
  font-family:"Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
}
body:has(main.yulu-page) .nav{
  top:0!important;
  left:0!important;
  width:100%!important;
  height:72px!important;
  padding:0 13.333vw 0 6.667vw!important;
  border:0!important;
  /* border-bottom:1px solid rgba(255,255,255,.08)!important; */
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  transform:none!important;
}
body:has(main.yulu-page) .brand{
  padding-left:64px;
  color:#fff!important;
  font-size:24px;
  font-weight:900;
  letter-spacing:0;
}
body:has(main.yulu-page) .brand i{display:none}
body:has(main.yulu-page) .menu{
  width:800px;
  flex:0 0 800px;
  justify-content:space-between;
  gap:0;
  color:rgba(255,255,255,.7)!important;
  font-size:18px;
  font-weight:700;
  letter-spacing:.0625em;
}
body:has(main.yulu-page) .menu a:hover,
body:has(main.yulu-page) .menu a.is-active{color:#fff!important}
body:has(main.yulu-page) .nav-business{height:72px}
body:has(main.yulu-page) .back-btn{
  position:absolute!important;
  z-index:60!important;
  top:125px!important;
  left:58px!important;
  padding:6px 20px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:120px!important;
  background:rgba(255,255,255,.1)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#fff!important;
  font:500 18px/1.2 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif!important;
}
body:has(main.yulu-page) .back-btn:hover{
  border-color:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
}
.yulu-page{isolation:isolate}
body.secondary-page main.page.yulu-page>section.yulu-screen{
  position:relative;
  display:block!important;
  width:100%;
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
  overflow:hidden!important;
}
/*.yulu-page .yulu-screen:before{*/
/*  content:"";*/
/*  position:absolute;*/
/*  z-index:-2;*/
/*  top:-12%;*/
/*  left:-11.2%;*/
/*  width:122.6%;*/
/*  height:73%;*/
/*  background:linear-gradient(180deg,#183a85 29%,#386abf 62%,#9acdfb 83%,rgba(154,205,251,0) 97%);*/
/*  filter:blur(75px);*/
/*  opacity:.88;*/
/*  pointer-events:none;*/
/*}*/
.yulu-page .yulu-screen:after{
  content:"";
  position:absolute;
  z-index:-1;
  bottom:27.1%;
  left:calc(50% - 77px);
  width:154px;
  height:135px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,162,2,1) 18%,rgba(252,244,141,.6) 100%);
  filter:blur(100px);
  pointer-events:none;
}
.yulu-page .energy-lines{opacity:.16}
.yulu-page .particles{opacity:.62}
.yulu-page .yulu-content{
  position:relative;
  z-index:2;
  display:flex;
  width:min(1100px,calc(100vw - 48px));
  margin:0 auto;
  padding-top:165px;
  align-items:center;
  flex-direction:column;
  gap:40px;
}
.yulu-page .yulu-hero{
  display:flex;
  width:666px;
  max-width:100%;
  align-items:center;
  flex-direction:column;
  gap:24px;
  text-align:center;
}
.yulu-page .yulu-hero h1{
  margin:0;
  background:linear-gradient(100deg,#ffffff 0%,#eaf8ff 12%,#7edcff 26%,#ffffff 42%,#fff4b3 55%,#ffd45f 66%,#ff9a3f 79%,#fff7df 91%,#ffffff 100%);
  background-size:260% auto;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shine 6s linear infinite;
  font-size:76px;
  line-height:72px;
  font-weight:900;
  letter-spacing:0;
  text-shadow:none;
  /* filter:drop-shadow(0 2px 1px rgba(10,45,105,.26)) drop-shadow(0 0 9px rgba(255,255,255,.38)) drop-shadow(0 0 18px rgba(255,199,80,.28)); */
}
.yulu-page .yulu-hero>p{
  margin:0;
  color:#fff;
  font-size:26px;
  line-height:1.2;
  font-weight:500;
}
.yulu-page .yulu-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}
.yulu-page .yulu-tags span{
  display:flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:6px 16px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:120px;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:500;
  white-space:nowrap;
}
.yulu-page .yulu-feature-block{width:100%}
.yulu-page .yulu-feature-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:24px;
}
.yulu-page .yulu-feature-heading h2{
  margin:0;
  color:#fff;
  font-size:48px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:0;
}
.yulu-page .yulu-feature-heading p{
  margin:0;
  color:#fff;
  font-size:18px;
  line-height:1.45;
  font-weight:500;
  text-align:right;
  text-shadow:1px 1px 0 rgba(105,108,116,.72);
}
.yulu-page .yulu-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.yulu-page .yulu-feature-card{
  /* min-height:108px; */
  padding:20px 30px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:8px;
  background:rgba(255,255,255,.4);
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.yulu-page .yulu-feature-card h3{
  margin:0 0 4px;
  color:#445577;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:0;
}
.yulu-page .yulu-feature-card p{
  margin:0;
  color:#2c3361;
  font-size:16px;
  line-height:1.55;
  font-weight:400;
}
.smart-care-page .smart-care-content{gap:40px}
.smart-care-page .smart-care-hero h1{font-size:76px}
.smart-care-page .smart-care-tags span{width:148px}
.smart-care-page .smart-care-feature{width:100%}
.smart-care-page .smart-care-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:24px;
}
.smart-care-page .smart-care-heading h2{
  margin:0;
  color:#fff;
  font-size:48px;
  line-height:1.2;
  font-weight:700;
}
.smart-care-page .smart-care-heading p{
  max-width:590px;
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.45;
  font-weight:500;
  text-align:right;
  text-shadow:1px 1px 0 rgba(105,108,116,.72);
}
.smart-care-page .smart-care-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.smart-care-page .smart-care-card{
  /* min-height:228px; */
  padding:32px 30px;
  border:1px solid rgba(255,255,255,.88);
  border-radius:8px;
  background:rgba(255,255,255,.4);
  backdrop-filter:blur(8px);
}
.smart-care-page .smart-care-card h3{
  margin:0 0 12px;
  color:#445577;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
}
.smart-care-page .smart-care-card p{
  margin:0;
  color:#2c3361;
  font-size:16px;
  line-height:1.55;
}
.yulu-page footer{
  position:absolute!important;
  right:0;
  bottom:0;
  left:0;
  display:block!important;
  width:100%;
  height:72px!important;
  min-height:72px!important;
  margin:0!important;
  padding:0 128px!important;
  border:0!important;
  /* color:rgba(255,255,255,.8)!important; */
}
.yulu-page footer .footer-in{
  display:flex!important;
  width:100%!important;
  height:72px;
  margin:0!important;
  align-items:center!important;
  justify-content:space-between!important;
  /* color:rgba(255,255,255,.8)!important; */
  font-size:14px;
  line-height:18px;
  font-weight:900;
}
.yulu-page footer strong{
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:18px;
  font-weight:900;
}

@media (max-width:900px){
  body:has(main.yulu-page) .nav{
    position:absolute!important;
    height:60px!important;
    padding:0 20px!important;
  }
  body:has(main.yulu-page) .brand{
    padding-left:0;
    font-size:20px;
  }
  body:has(main.yulu-page) .menu{display:none!important}
  body:has(main.yulu-page) .back-btn{
    top:72px!important;
    left:18px!important;
    font-size:15px!important;
  }
  body.secondary-page main.page.yulu-page>section.yulu-screen{
    height:auto!important;
    min-height:100svh!important;
    padding:128px 18px 80px!important;
    overflow:visible!important;
  }
  .yulu-page .yulu-content{
    width:min(100%,600px);
    padding:0;
    gap:42px;
  }
  .yulu-page .yulu-hero{gap:16px}
  .yulu-page .yulu-hero h1{
    font-size:clamp(40px,11vw,62px);
    line-height:1;
  }
  .yulu-page .yulu-hero>p{font-size:18px}
  .yulu-page .yulu-tags{gap:8px}
  .yulu-page .yulu-tags span{
    width: 40%;
    min-height:32px;
    padding:6px 10px;
    font-size:14px;
  }
  .smart-care-page .smart-care-tags span{
    width: auto!important;
  }
  .yulu-page .yulu-feature-heading{
    align-items:flex-start;
    gap:14px;
    flex-direction:column;
    margin-bottom:18px;
  }
  .yulu-page .yulu-feature-heading h2{font-size:32px}
  .yulu-page .yulu-feature-heading p{
    font-size:15px;
    text-align:left;
  }
  .yulu-page .yulu-feature-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .yulu-page .yulu-feature-card{
    min-height:0;
    padding:20px;
  }
  .yulu-page .yulu-feature-card h3{font-size:23px}
  .yulu-page .yulu-feature-card p{font-size:15px}
  .smart-care-page .smart-care-hero h1{font-size:clamp(40px,11vw,56px)}
  .smart-care-page .smart-care-heading{
    align-items:flex-start;
    gap:14px;
    flex-direction:column;
  }
  .smart-care-page .smart-care-heading h2{font-size:32px}
  .smart-care-page .smart-care-heading p{
    font-size:15px;
    text-align:left;
  }
  .smart-care-page .smart-care-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .smart-care-page .smart-care-card{
    min-height:0;
    padding:22px 20px;
  }
  .smart-care-page .smart-care-card h3{font-size:23px}
  .smart-care-page .smart-care-card p{font-size:15px}
  .yulu-page footer{
    position:static!important;
    width:100vw;
    height:auto!important;
    min-height:auto!important;
    margin:38px 0 -80px calc(50% - 50vw)!important;
    padding:14px 20px!important;
  }
  .yulu-page footer .footer-in{
    height:auto;
    align-items:center!important;
    gap:8px;
    flex-direction:column;
    font-size:12px;
  }
}

/* The detail-screen return control belongs to the second viewport only. */
body:has(main.yulu-page) .service-detail-screen .service-detail-back,
body:has(main.silicon-page) .service-detail-screen .service-detail-back,
body:has(main.smart-care-page) .service-detail-screen .service-detail-back{
  position:fixed!important;
  z-index:60!important;
  top:125px!important;
  left:58px!important;
  display:inline-flex!important;
  padding:6px 20px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#fff!important;
  font:500 18px/1.2 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif!important;
}

@media (max-width:900px){
  body:has(main.yulu-page) .service-detail-screen .service-detail-back,
  body:has(main.silicon-page) .service-detail-screen .service-detail-back,
  body:has(main.smart-care-page) .service-detail-screen .service-detail-back{
    display: none!important;
    /* top:72px!important;
    left:18px!important;
    font-size:15px!important; */
  }
}

/* News is a data-driven long screen: keep the Figma shell, let the list flow. */
body.secondary-page main.page.news-page{
  height:auto!important;
  min-height:100svh!important;
}
body.secondary-page main.page.news-page>section.news-screen{
  display:block!important;
  height:auto!important;
  min-height:100svh!important;
  align-items:initial!important;
  justify-content:initial!important;
  overflow:visible!important;
}
body.secondary-page main.page.news-page>section.news-screen>footer{
  display:block!important;
  height:72px!important;
  min-height:72px!important;
  flex:none!important;
}
@media(max-width:900px){
  body.secondary-page main.page.news-page>section.news-screen{
    height:auto!important;
    min-height:100svh!important;
    overflow:visible!important;
  }
  body.secondary-page main.page.news-page>section.news-screen>footer{
    height:auto!important;
    min-height:0!important;
  }
}

/* Keep the news shell in the viewport and scroll only its card list. */
html:has(main.news-page),
html:has(main.news-page) body{
  height:100svh!important;
  min-height:0!important;
  overflow:hidden!important;
  scroll-snap-type:none!important;
}
body.secondary-page main.page.news-page{
  height:100svh!important;
  min-height:100svh!important;
  overflow:hidden!important;
}
body.secondary-page main.page.news-page>section.news-screen{
  display:flex!important;
  height:100svh!important;
  min-height:100svh!important;
  align-items:stretch!important;
  justify-content:initial!important;
  flex-direction:column!important;
  padding:138px 24px 0!important;
  overflow:hidden!important;
}
.news-page .news-page-content{
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
}
.news-page .news-panels{
  min-height:0;
  flex:1 1 auto;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-color:rgba(255,255,255,.42) transparent;
  scrollbar-width:thin;
}
.news-page .news-panels::-webkit-scrollbar{width:6px}
.news-page .news-panels::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(255,255,255,.42);
}
.news-page .news-panels::-webkit-scrollbar-track{background:transparent}
body.secondary-page main.page.news-page>section.news-screen>footer{
  display:block!important;
  height:72px!important;
  min-height:72px!important;
  flex:none!important;
}
@media(max-width:900px){
  body.secondary-page main.page.news-page>section.news-screen{
    height:100svh!important;
    min-height:100svh!important;
    padding:88px 18px 0!important;
    overflow:hidden!important;
  }
  .news-page .news-panels{
    padding:24px 0 18px;
  }
body.secondary-page main.page.news-page>section.news-screen>footer{
    height:48px!important;
    min-height:48px!important;
  }
}

/* Shared navigation mark: keep the logo aligned across every page variant. */
.brand{
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  padding-left:0!important;
  font-size:0!important;
  letter-spacing:0!important;
}
.brand img{
  display:block;
  width:auto;
  height:32px;
  max-width:min(180px,42vw);
  object-fit:contain;
}
@media(max-width:900px){
  .brand img{height:27px}
}

/* Figma mobile navigation drawer. */
.nav-toggle{display:none}

@media(max-width:900px){
  :root{--fixed-nav-height:72px}
  body .nav,
  body.secondary-page .nav,
  body:has(main.yulu-page) .nav{
    position:fixed!important;
    z-index:12001!important;
    top:0!important;
    right:0!important;
    left:0!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    padding:0 24px!important;
    border:0!important;
    border-radius:0!important;
    /* background:#223858!important; */
    box-shadow:none!important;
    transform:none!important;
  }
  body .nav .brand{
    width:101px!important;
    height:24px!important;
  }
  body .nav .brand img{
    width:101px!important;
    height:24px!important;
    max-width:none!important;
  }
  .nav-toggle{
    position:relative;
    display:grid;
    width:36px;
    height:36px;
    margin-left:auto;
    padding:9px;
    place-content:center;
    gap:4px;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
  }
  .nav-toggle:before,
  .nav-toggle:after{
    position:absolute;
    top:17px;
    left:9px;
    width:18px;
    height:2px;
    border-radius:1px;
    background:currentColor;
    content:"";
    opacity:0;
  }
  .nav-toggle span{
    display:block;
    width:18px;
    height:2px;
    border-radius:1px;
    background:currentColor;
    transform-origin:center;
  }
  .nav-menu-open .nav-toggle span{opacity:0}
  .nav-menu-open .nav-toggle:before{opacity:1;transform:rotate(45deg)}
  .nav-menu-open .nav-toggle:after{opacity:1;transform:rotate(-45deg)}
  body:has(main.page) .nav .menu{
    position:fixed!important;
    z-index:12000!important;
    top:72px!important;
    right:0!important;
    left:0!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:0 0 8px!important;
    overflow:hidden!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;
    background:rgba(34,56,88,.96)!important;
    box-shadow:none!important;
  }
  body:has(main.page) .nav .menu[hidden]{display:none!important}
  body:has(main.page) .nav .menu>.nav-business{
    display:block!important;
    width:100%!important;
    height:auto!important;
  }
  body:has(main.page) .nav .menu>a,
  body:has(main.page) .nav .menu>.nav-business>a{
    display:flex!important;
    width:100%!important;
    min-height:57px!important;
    align-items:center!important;
    gap:12px!important;
    padding:16px 28px!important;
    border:0!important;
    border-left:4px solid transparent!important;
    color:rgba(255,255,255,.7)!important;
    font:700 18px/25px "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif!important;
    letter-spacing:0!important;
    text-align:left!important;
  }
  body:has(main.page) .nav .menu>a:before,
  body:has(main.page) .nav .menu>.nav-business>a:before{
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:rgba(255,255,255,.2);
    content:"";
  }
  body:has(main.page) .nav .menu>a.is-active,
  body:has(main.page) .nav .menu>.nav-business>a.is-active{
    padding-left:24px!important;
    border-left-color:#ffa854!important;
    color:#fff!important;
    font-size:17px!important;
  }
  body:has(main.page) .nav .menu>a.is-active:before,
  body:has(main.page) .nav .menu>.nav-business>a.is-active:before{
    background:linear-gradient(135deg,#ffa854,#ffe8a0)!important;
  }
  body:has(main.page) .nav .menu>a:after,
  body:has(main.page) .nav .menu>.nav-business>a:after{display:none!important}
  body.mobile-nav-open{overflow:hidden!important}
}

/* Reserve the fixed mobile header above the two QR-code service pages. */
@media(max-width:900px){
  body:has(main.life-service-page) .nav{
    position:fixed!important;
  }
  body:has(main.life-service-page) .back-btn{
    display: none;
    /* position:fixed!important;
    z-index:12002!important;
    top:0;
    left:18px!important; */
  }
  body.secondary-page main.page.life-service-page>section.life-service-screen{
    padding:calc(var(--fixed-nav-height) + 48px) 18px 80px!important;
  }
}

/* Full-screen second views must not inherit the fixed-nav scroll offset. */
html:has(main.yulu-page),
html:has(main.silicon-page),
html:has(main.smart-care-page){
  scroll-padding-top:0!important;
}

/* Figma detail/contact refinements. */
.silicon-detail-screen .service-detail-content{
  padding-top:118px;
}
.silicon-business-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:32px;
  padding:22px 28px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:8px;
  background:rgba(255,255,255,.32);
  color:#445577;
}
.silicon-business-bar strong{
  font-size:28px;
  line-height:1.25;
}
.silicon-business-bar a{
  color:#445577;
  font-size:24px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.02em;
}
.contact-page .contact-layout-content{
  width:min(1100px,calc(100vw - 48px));
  height:auto;
  padding-top:185px;
  gap:26px;
  justify-content:flex-start;
}
.contact-page .contact-layout-heading h1{
  font-size:56px;
}
.contact-page .contact-info-card{
  padding:55px 18px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:8px;
  background:rgba(255,255,255,.18);
  color:#445577;
  margin-top: 5%;
}
.contact-page .contact-info-block h2{
  margin:0 0 20px;
  color:#fff;
  font-size:26px;
  line-height:1.25;
  font-weight:700;
}
.contact-page .contact-business-block{
  padding:0 0 18px;
  border-bottom:1px solid rgba(255,255,255,.42);
}
.contact-page .contact-email-link{
  display:inline-block;
  color:#fff;
  font-size:22px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.02em;
}
.contact-page .contact-office-block{padding-top:20px}
.contact-page .contact-location-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.contact-page .contact-location{
  display:flex;
  min-height:42px;
  align-items:center;
  justify-content:flex-start;
  flex-direction:column;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:8px;
  background:rgba(255,255,255,.16);
  color:#445577;
  font:700 16px/1.25 "Source Han Sans CN","Microsoft YaHei","PingFang SC",sans-serif;
  text-align:center;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease;
}
.contact-page .contact-location:hover,
.contact-page .contact-location:focus-visible,
.contact-page .contact-location.is-open{
  border-color:rgba(255,255,255,.98);
  background:rgba(255,255,255,.28);
  outline:none;
}
.contact-page .contact-location-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;font-size:17px;white-space:nowrap;font-weight: 500;}
.contact-page .contact-location-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.contact-page .contact-location-address{
  display:block;
  width:100%;
  max-height:0;
  box-sizing:border-box;
  margin-top:0;
  padding:0 10px;
  border:0 solid rgba(255,255,255,.68);
  border-radius:6px;
  background:transparent;
  color:#445577;
  font-size:17px;
  line-height:1.45;
  font-weight:400;
  text-align:center;
  opacity:0;
  visibility:hidden;
  overflow:hidden;
  transition:max-height .18s ease,margin-top .18s ease,padding .18s ease,opacity .18s ease,visibility .18s ease;
  pointer-events:none;
}
@media (min-width:901px){
  .contact-page .contact-location:hover .contact-location-address,
  .contact-page .contact-location:focus-visible .contact-location-address{
    max-height:42px;
    margin-top:6px;
    padding:0 10px 2px;
    opacity:1;
    visibility:visible;
  }
}
@media (max-width:900px){
  .silicon-detail-screen .service-detail-content{padding-top:0}
  .silicon-business-bar{
    align-items:flex-start;
    padding:20px;
    flex-direction:column;
  }
  .silicon-business-bar strong{font-size:24px}
  .silicon-business-bar a{font-size:18px}
  .contact-page .contact-layout-content{
    width:min(100%,600px);
    padding-top:0;
    gap:24px;
  }
  .contact-page .contact-layout-screen{
    padding-bottom:32px!important;
  }
  .contact-page .contact-layout-heading h1{font-size:44px}
  .contact-page .contact-info-card{padding:18px 12px 14px}
  .contact-page .contact-info-block h2{font-size:20px;margin-bottom:14px}
  .contact-page .contact-email-link{font-size:18px}
  .contact-page .contact-business-block{padding-bottom:16px}
  .contact-page .contact-office-block{padding-top:16px}
  .contact-page .contact-location-list{grid-template-columns:1fr;gap:8px}
  .contact-page .contact-location{min-height:42px;font-size:16px}
  .contact-page .contact-location-address{
    font-size:16px;
  }
.contact-page .contact-location.is-open .contact-location-address{
    max-height:60px;
    margin-top:8px;
    padding:0 10px 2px;
    opacity:1;
    visibility:visible;
  }
}

.beian-link{
  color:inherit;
  text-decoration:none;
}
.beian-link:hover,
.beian-link:focus-visible{
  color:#fff;
  text-decoration:underline;
}
@media (max-width:900px){
  .footer-in span:has(.beian-link){
    font-size:11px;
    text-align:center;
  }
  .footer-in .beian-link{
    display:block;
  }
}

/* News uses the same sunrise-ocean canvas as the homepage. */
body:has(main.news-page){
  background-color:#061a3c!important;
  background-image:url('assets/sunrise-tech-bg.webp')!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-attachment:fixed!important;
}
body.secondary-page main.page.news-page>.news-screen{
  background:transparent!important;
}
.news-page .news-screen:before,
.news-page .news-screen:after{
  display:none!important;
}
@media(max-width:900px){
  body:has(main.news-page){
    background-attachment:scroll!important;
  }
}

/* Figma 115:951 - mobile news page. */
@media(max-width:900px){
  body:has(main.news-page) .nav{
    height:72px!important;
    min-height:72px!important;
    padding:0 24px!important;
    border:0!important;
    /* border-bottom:1px solid rgba(255,255,255,.08)!important; */
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  body:has(main.news-page) .brand,
  body:has(main.news-page) .brand img{
    width:101px!important;
    height:24px!important;
    max-width:none!important;
  }
  body.secondary-page main.page.news-page{
    height:100svh!important;
    min-height:100svh!important;
    overflow:hidden!important;
  }
  body.secondary-page main.page.news-page>section.news-screen{
    height:100svh!important;
    min-height:100svh!important;
    padding:88px 15px 0 18px!important;
    overflow:hidden!important;
  }
  .news-page .news-page-content{
    width:100%;
    min-height:0;
    flex:1 1 auto;
  }
  .news-page-title{
    height:auto!important;
    margin:0 0 12px!important;
    background:linear-gradient(
      130deg,
      #ff9a54 0%,
      #ffb079 18%,
      #fffffe 47%,
      #fff0a9 100%
    )!important;
    background-size:260% auto!important;
    -webkit-background-clip:text!important;
    background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
    color:transparent!important;
    filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))!important;
    font-size:40px!important;
    line-height:48px!important;
    font-weight:900!important;
    letter-spacing:0!important;
  }
  .news-page .news-tabs{
    display:grid;
    width:100%;
    height:32px!important;
    min-height:32px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .news-page .news-tab{
    min-height:32px!important;
    padding:0!important;
    justify-content:center;
    color:rgba(255,255,255,.8);
    font-size:17px!important;
    line-height:24px!important;
    font-weight:700!important;
    white-space:nowrap;
  }
  .news-page .news-tab.is-active:after{
    right:auto;
    bottom:0;
    left:50%;
    width:35px;
    height:3px;
    transform:translateX(-50%);
  }
  .news-page .news-panels{
    min-height:0;
    flex:1 1 auto;
    padding:32px 0 16px!important;
    overflow-x:hidden;
    overflow-y:auto;
  }
  .news-page .news-panel{
    display:grid;
    gap:32px;
  }
  .news-page .news-panel[hidden]{
    display:none!important;
  }
  .news-page .news-card{
    display:flex;
    min-height:0;
    align-items:stretch;
    flex-direction:column;
    gap:12px;
    padding:8px 12px!important;
    border:1px solid #fff;
    border-radius:8px;
    background:rgba(255,255,255,.45);
    color:#445577;
  }
  .news-page .news-date{
    flex:0 0 auto;
    color:#ffa202;
    font-size:18px!important;
    line-height:25.5px!important;
    font-weight:700;
    text-shadow:1px 1px 1px #fff;
  }
  .news-page .news-card-content{
    display:flex;
    flex:0 0 auto;
    gap:12px;
  }
  .news-page .news-title{
    color:#445577;
    font-size:17px!important;
    line-height:25.5px!important;
    font-weight:700;
  }
  .news-page .news-summary{
    color:#445577;
    font-size:16px!important;
    line-height:24px!important;
    font-weight:400;
  }
  .news-page footer{
    position:static!important;
    width:100vw!important;
    height:auto!important;
    min-height:94px!important;
    margin:0 0 0 calc(50% - 50vw)!important;
    padding:12px 18px!important;
    /*background:#1f3b6a!important;*/
    border:0!important;
  }
  body.secondary-page main.page.news-page>section.news-screen>footer{
    height:auto!important;
    /* min-height:94px!important; */
  }
  .news-page footer .footer-in{
    display:flex!important;
    width:100%!important;
    height:auto!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:4px!important;
    /* color:rgba(255,255,255,.8)!important; */
    font-size:14px!important;
    line-height:18px!important;
    font-weight:900!important;
    text-align:center;
  }
  .news-page footer strong,
  .news-page footer span{
    font-size:14px!important;
    line-height:18px!important;
    font-weight:900!important;
  }
}

/* On mobile, news is a document-length page so its footer follows the cards. */
/* @media(max-width:900px){
  html:has(main.news-page),
  html:has(main.news-page) body{
    height:auto!important;
    min-height:100svh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.secondary-page main.page.news-page,
  body.secondary-page main.page.news-page>section.news-screen{
    height:auto!important;
    min-height:100svh!important;
    overflow:visible!important;
  }
  body.secondary-page main.page.news-page>section.news-screen{
    display:block!important;
  }
  .news-page .news-page-content,
  .news-page .news-panels{
    min-height:0;
    overflow:visible!important;
  }
} */

/* Keep the homepage mission title at the same scale as the Join Us title. */
.home-overview-title h1{
  font-size:88px;
  line-height:105px;
}
@media(max-width:900px){
  .home-overview-title h1{
    font-size:clamp(48px,10vw,68px);
    line-height:1;
    /* transform:scaleX(.9); */
    transform-origin:center;
  }
}

/* XiaoDangJia's first mobile screen can exceed a short viewport. Let it grow
   with its cards so the following screen cannot paint over that content. */
@media(max-width:900px){
  html.business-two-screen-page body.secondary-page main.xiaodangjia-page .business-screen{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html.business-two-screen-page body.secondary-page main.xiaodangjia-page .business-screen>.xiaodangjia-stage{
    height:auto!important;
    min-height:100svh!important;
    overflow:visible!important;
  }
}

/* iOS does not keep body background-attachment:fixed in the viewport.
   Give ordinary secondary pages a fixed visual layer while leaving the
   two-screen XiaoDangJia page on its own background and scroll model. */
@media(max-width:900px){
  html:not(.business-two-screen-page) body.secondary-page{
    background-image:none!important;
    background-attachment:scroll!important;
  }
  html:not(.business-two-screen-page) body.secondary-page:before{
    content:"";
    display:block!important;
    position:fixed!important;
    z-index:0!important;
    inset:0!important;
    pointer-events:none!important;
    background:url('assets/bg-mobile.jpg') center center/cover no-repeat!important;
    mask-image:none!important;
    -webkit-mask-image:none!important;
    opacity:1!important;
    transform:translateZ(0);
  }
}
