:root{
  --bg:#f5f3ea;
  --paper:#fffdf7;
  --ink:#17231d;
  --muted:#647168;
  --deep:#13271e;
  --deep2:#1d382b;
  --green:#297a55;
  --lime:#c9f05b;
  --lime2:#e6f7aa;
  --line:#d8ddd5;
  --soft:#e7eee8;
  --white:#ffffff;
  --shadow:0 30px 80px rgba(18,37,28,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Arial,"Microsoft YaHei","PingFang SC","Helvetica Neue",sans-serif;
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{
  position:fixed;left:14px;top:-70px;z-index:999;
  background:#fff;color:#111;padding:10px 15px;border-radius:8px;text-decoration:none
}
.skip-link:focus{top:14px}

.site-header{
  position:sticky;top:0;z-index:70;
  background:rgba(19,39,30,.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.header-inner{
  min-height:74px;
  display:grid;
  grid-template-columns:190px 1fr auto;
  gap:28px;
  align-items:center
}
.brand{display:inline-flex;text-decoration:none;min-width:max-content}
.logo-pad{
  display:inline-flex;align-items:center;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.12);
  background:#0d1d16;
  border-radius:10px
}
.logo-pad img{height:35px;width:auto;max-width:170px;object-fit:contain;flex-shrink:0}
.nav{display:flex;justify-content:center;gap:25px}
.nav a{color:#c6d5ca;text-decoration:none;font-size:14px}
.nav a:hover{color:#fff}
.header-cta{
  min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  padding:9px 18px;border-radius:9px;background:var(--lime);color:#102418;
  text-decoration:none;font-weight:900
}

.hero{
  position:relative;
  overflow:hidden;
  background:var(--deep);
  color:#fff
}
.hero-grid-lines{
  position:absolute;inset:0;opacity:.08;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px);
  background-size:72px 72px
}
.hero::before{
  content:"";position:absolute;width:620px;height:620px;right:-190px;top:-170px;
  border-radius:50%;background:rgba(201,240,91,.08)
}
.hero-shell{
  position:relative;z-index:2;
  min-height:720px;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:68px;
  align-items:center;
  padding:72px 0 84px
}
.hero-tag{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px
}
.hero-tag span,.hero-tag b{
  padding:7px 11px;border-radius:999px;font-size:11px;letter-spacing:.12em
}
.hero-tag span{background:var(--lime);color:#13251b;font-weight:900}
.hero-tag b{border:1px solid rgba(255,255,255,.15);color:#bfcec4}
.hero h1{
  margin:0;
  font-size:clamp(50px,6vw,80px);
  line-height:.98;
  letter-spacing:-.055em
}
.hero h1 em{
  display:inline-block;margin-top:10px;
  color:var(--lime);font-style:normal
}
.hero-lead{
  max-width:670px;margin:28px 0 0;color:#cfddd3;
  font-size:18px;line-height:1.9
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{
  min-height:50px;display:inline-flex;align-items:center;justify-content:center;
  padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:900
}
.btn-lime{background:var(--lime);color:#13271e}
.btn-line{border:1px solid rgba(255,255,255,.2);color:#fff}
.btn-dark{background:var(--deep);color:#fff}
.quick-facts{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:46px 0 0;
  border-top:1px solid rgba(255,255,255,.15)
}
.quick-facts>div{
  display:grid;grid-template-columns:34px 1fr;gap:10px;padding:20px 14px 0 0
}
.quick-facts dt{color:var(--lime);font-size:12px;font-weight:900}
.quick-facts dd{margin:0}
.quick-facts strong,.quick-facts span{display:block}
.quick-facts strong{font-size:14px}.quick-facts span{color:#9fb2a7;font-size:12px}

.hero-visual{position:relative}
.hero-plate{
  position:relative;
  width:min(100%,500px);
  margin-inline:auto;
  padding:18px 18px 20px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.055);
  box-shadow:0 40px 90px rgba(0,0,0,.3)
}
.hero-plate::before{
  content:"";position:absolute;left:-20px;bottom:54px;width:40px;height:180px;background:var(--lime)
}
.plate-top,.plate-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.plate-top{
  padding:0 2px 13px;color:#a9bdb1;font-size:10px;font-weight:900;letter-spacing:.12em
}
.plate-image{
  min-height:460px;display:flex;align-items:center;justify-content:center;
  background:#e9eee9;overflow:hidden
}
.plate-image img{max-height:450px;width:auto;object-fit:contain}
.plate-foot{padding-top:14px}
.plate-foot p{margin:0;color:#b5c7bd;font-size:12px}
.status-dot{
  flex:0 0 9px;width:9px;height:9px;border-radius:50%;
  background:var(--lime);box-shadow:0 0 0 6px rgba(201,240,91,.09)
}

.download-rail{padding:88px 0;background:var(--lime)}
.rail-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}
.eyebrow{
  margin:0 0 10px;color:#796b31;font-size:11px;font-weight:900;letter-spacing:.13em
}
.eyebrow.green{color:var(--green)}
.eyebrow.lime{color:var(--lime)}
.rail-title h2,.install-copy h2,.system-title h2,.section-heading h2,.device-copy h2,.faq-intro h2,.final-section h2{
  margin:0;font-size:clamp(31px,3.3vw,46px);line-height:1.15;letter-spacing:-.04em
}
.rail-steps{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:2px solid #283b2d
}
.rail-steps li{padding:22px 18px 0;border-right:1px solid rgba(26,52,35,.28)}
.rail-steps li:last-child{border-right:0}
.rail-steps span{display:block;margin-bottom:30px;font-size:12px;font-weight:900}
.rail-steps strong{display:block;font-size:17px}
.rail-steps p{margin:7px 0 0;color:#41513f;font-size:13px}

.install-section{padding:104px 0;background:var(--paper)}
.install-shell{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:84px;
  align-items:center
}
.install-copy .intro{margin:20px 0 0;color:var(--muted)}
.install-list{margin-top:34px;border-top:1px solid var(--line)}
.install-list article{
  display:grid;grid-template-columns:90px 1fr;gap:20px;
  padding:21px 0;border-bottom:1px solid var(--line)
}
.install-list article>span{
  color:var(--green);font-size:11px;font-weight:900;letter-spacing:.09em
}
.install-list h3{margin:0;font-size:19px}
.install-list p{margin:5px 0 0;color:var(--muted)}
.text-link{
  display:inline-block;margin-top:28px;color:var(--green);
  font-weight:900;text-decoration:none
}
.install-image{
  margin:0;padding:18px;background:var(--soft);box-shadow:var(--shadow)
}
.image-head{
  display:flex;justify-content:space-between;gap:20px;
  padding:3px 2px 14px;color:#50645a;font-size:12px
}
.install-image img{
  width:auto;max-height:500px;margin-inline:auto;object-fit:contain
}
.install-image figcaption{
  padding:12px 2px 0;text-align:center;color:#65746d;font-size:12px
}

.system-section{padding:104px 0;background:var(--deep);color:#fff}
.system-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:80px;align-items:start}
.system-title{position:sticky;top:110px}
.system-title p:not(.eyebrow){color:#bdcdc4}
.system-stage{display:grid;grid-template-columns:.82fr 1.18fr;gap:28px;align-items:center}
.prompt-figure{
  min-height:540px;margin:0;padding:25px;
  display:flex;align-items:center;justify-content:center;
  background:#203b2d;border:1px solid rgba(255,255,255,.09)
}
.prompt-figure img{max-height:480px;width:auto;object-fit:contain}
.system-notes{border-top:1px solid rgba(255,255,255,.14)}
.system-notes article{
  display:grid;grid-template-columns:46px 1fr;gap:16px;
  padding:25px 0;border-bottom:1px solid rgba(255,255,255,.14)
}
.note-no{color:var(--lime);font-weight:900}
.system-notes h3{margin:0;font-size:20px}
.system-notes p{margin:6px 0 0;color:#b7c8be}

.problem-section{padding:100px 0;background:#eef1eb}
.section-heading{
  display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:end;margin-bottom:42px
}
.section-heading>p{margin:0;color:var(--muted)}
.problem-board{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:2px solid var(--deep);border-left:1px solid var(--line)
}
.problem-board article{
  min-height:270px;padding:30px;
  border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:#f8faf6
}
.problem-index{display:block;margin-bottom:35px;color:var(--green);font-size:12px;font-weight:900}
.problem-board h3{margin:0;font-size:22px}
.problem-board p{color:var(--muted)}
.problem-board b{display:block;margin-top:24px;color:#2c5f45;font-size:13px}
.problem-cta{
  margin-top:18px;padding:24px 28px;
  display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;
  background:var(--deep);color:#fff
}
.problem-cta strong,.problem-cta span{display:block}
.problem-cta span{margin-top:4px;color:#b8cac0;font-size:13px}
.problem-cta a{
  min-height:48px;display:inline-flex;align-items:center;justify-content:center;
  padding:10px 20px;background:var(--lime);color:#12261c;border-radius:8px;
  text-decoration:none;font-weight:900
}

.device-section{padding:94px 0;background:#fff}
.device-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}
.device-copy p:not(.eyebrow){color:var(--muted)}
.brand-lines{border-top:1px solid var(--line)}
.brand-lines a{
  min-height:92px;display:grid;grid-template-columns:130px 1fr 30px;gap:22px;align-items:center;
  border-bottom:1px solid var(--line);text-decoration:none
}
.brand-lines span{color:#77847d;font-size:11px;font-weight:900;letter-spacing:.1em}
.brand-lines strong{font-size:18px}.brand-lines b{font-size:20px;color:var(--green)}
.brand-lines a:hover{background:#f4f7f3;padding-inline:14px}

.faq-section{padding:100px 0;background:var(--bg)}
.faq-shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:76px}
.faq-intro{position:sticky;top:110px}
.faq-intro p:not(.eyebrow){color:var(--muted)}
.faq-list{border-top:1px solid #ccd3cc}
.faq-list details{border-bottom:1px solid #ccd3cc}
.faq-list summary{
  cursor:pointer;list-style:none;padding:22px 4px;font-size:18px;font-weight:900
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";float:right;color:var(--green)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:-3px 0 25px;padding-right:48px;color:var(--muted)}

.final-section{padding:76px 0;background:var(--lime)}
.final-shell{display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}
.final-shell>div>span{font-size:11px;font-weight:900;letter-spacing:.14em;color:#526733}
.final-shell p{margin:10px 0 0;color:#3c5134}
.final-shell>a{
  min-width:230px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;
  padding:12px 24px;border-radius:9px;background:var(--deep);color:#fff;text-decoration:none;font-weight:900
}

.footer{padding:56px 0 95px;background:#0c1913;color:#d8e5dd}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}
.footer-logo{
  display:inline-flex;padding:7px 9px;border:1px solid rgba(255,255,255,.1);
  background:#07120d;border-radius:9px
}
.footer-logo img{height:32px;width:auto;max-width:160px;object-fit:contain}
.footer-brand p{color:#92a79b;font-size:13px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{color:#d8e5dd;text-decoration:none;font-size:14px}
.mobile-download{display:none}

@media(max-width:1050px){
  .nav{gap:14px}
  .hero-shell{grid-template-columns:1fr .82fr;gap:38px}
  .rail-grid{grid-template-columns:1fr}
  .install-shell{gap:50px}
  .system-shell{grid-template-columns:1fr}
  .system-title{position:static}
  .system-stage{max-width:900px}
}
@media(max-width:820px){
  .header-inner{grid-template-columns:1fr auto}
  .nav{display:none}
  .hero-shell,.install-shell,.section-heading,.device-shell,.faq-shell{grid-template-columns:1fr}
  .hero-shell{min-height:auto;padding:62px 0}
  .hero-visual{margin-top:10px}
  .hero-plate{max-width:590px}
  .rail-steps{grid-template-columns:1fr 1fr}
  .rail-steps li:nth-child(2){border-right:0}
  .rail-steps li:nth-child(-n+2){padding-bottom:20px;border-bottom:1px solid rgba(26,52,35,.28)}
  .system-stage{grid-template-columns:1fr}
  .prompt-figure{min-height:430px}
  .faq-intro{position:static}
  .final-shell{grid-template-columns:1fr}
  .final-shell>a{width:100%}
}
@media(max-width:600px){
  body{font-size:15px;padding-bottom:62px}
  .shell{width:min(100% - 28px,1180px)}
  .header-inner{min-height:66px}
  .logo-pad{padding:6px 8px}
  .logo-pad img{height:29px;max-width:145px}
  .header-cta{padding:8px 13px;font-size:13px}
  .hero h1{font-size:clamp(40px,13vw,56px)}
  .hero-lead{font-size:16px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  .quick-facts{grid-template-columns:1fr}
  .quick-facts>div{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .hero-plate{padding:13px}
  .hero-plate::before{display:none}
  .plate-image{min-height:330px}
  .plate-image img{max-height:320px}
  .download-rail,.install-section,.system-section,.problem-section,.device-section,.faq-section{padding:64px 0}
  .rail-steps{grid-template-columns:1fr}
  .rail-steps li{border-right:0;border-bottom:1px solid rgba(26,52,35,.28);padding:18px 0}
  .rail-steps span{margin-bottom:10px}
  .install-list article{grid-template-columns:1fr;gap:5px}
  .install-image img{max-height:330px}
  .prompt-figure{min-height:auto;padding:18px}
  .prompt-figure img{max-height:340px}
  .problem-board{grid-template-columns:1fr}
  .problem-board article{min-height:auto}
  .problem-cta{grid-template-columns:1fr}
  .problem-cta a{width:100%}
  .brand-lines a{grid-template-columns:90px 1fr 20px;gap:12px}
  .faq-list details p{padding-right:8px}
  .footer-grid{grid-template-columns:1fr}
  .footer-links{display:grid;grid-template-columns:1fr 1fr}
  .mobile-download{
    position:fixed;left:0;right:0;bottom:0;z-index:90;height:60px;
    display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;
    padding:8px 14px;background:rgba(19,39,30,.97);color:#fff;
    border-top:1px solid rgba(255,255,255,.1)
  }
  .mobile-download a{
    min-height:42px;display:inline-flex;align-items:center;justify-content:center;
    padding:8px 15px;border-radius:8px;background:var(--lime);color:#102319;
    text-decoration:none;font-weight:900
  }
}