:root{
  --concrete:#e6e4df;
  --chalk:#f4f3ef;
  --ink:#1c1f24;
  --mute:#5c636d;
  --line:#c9c6bf;
  --steel:#2f4a63;
  --safety:#e6b422;
  --rust:#c45c26;
  --font:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --display:"Arial Black","Arial","Microsoft YaHei",sans-serif;
  --mono:"Consolas","Cascadia Mono","Sarasa Mono SC",monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);font-family:var(--font);line-height:1.6;
  background-color:var(--concrete);
  background-image:
    linear-gradient(90deg,rgba(47,74,99,.05) 1px,transparent 1px),
    linear-gradient(rgba(47,74,99,.05) 1px,transparent 1px),
    linear-gradient(135deg,#eceae5 0%,var(--concrete) 45%,#ddd9d1 100%);
  background-size:28px 28px,28px 28px,auto;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(1140px,92%);margin:0 auto}

.geo-top{
  position:sticky;top:0;z-index:40;background:rgba(244,243,239,.94);
  border-bottom:3px solid var(--ink);
}
.geo-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:flex;align-items:center;gap:.65rem}
.brand-box{
  width:2.2rem;height:2.2rem;display:grid;place-items:center;
  background:var(--steel);color:#fff;font-family:var(--display);font-size:.85rem;
  clip-path:polygon(0 0,100% 0,100% 78%,78% 100%,0 100%);
}
.brand b{display:block;font-family:var(--display);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}
.brand small{display:block;font-family:var(--mono);font-size:.62rem;color:var(--mute);letter-spacing:.08em}
.nav{display:flex;flex-wrap:wrap;gap:.3rem .95rem;color:var(--mute);font-size:.88rem;font-family:var(--mono)}
.nav a:hover,.nav a.on{color:var(--rust)}
.nav-cta{
  padding:.45rem .9rem;background:var(--safety);color:var(--ink);border:2px solid var(--ink);
  font-family:var(--display);font-size:.78rem;letter-spacing:.04em;white-space:nowrap;
}
.site-bar{
  display:flex;flex-wrap:wrap;gap:.35rem .7rem;padding:.4rem 0;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:.68rem;color:var(--mute);
}
.site-bar span{padding:.12rem .4rem;border:1px solid var(--line);background:#fff}

/* Hero: cut geometry */
.hero-geo{padding:0 0 2rem;position:relative}
.hero-band{
  background:var(--steel);color:#fff;padding:2.2rem 0 2.6rem;
  clip-path:polygon(0 0,100% 0,100% 88%,0 100%);
}
.hero-geo .hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:1.5rem;align-items:center;
}
.stamp{
  display:inline-block;margin:0 0 .7rem;padding:.2rem .55rem;
  border:2px solid var(--safety);color:var(--safety);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
}
.hero-geo h1{
  margin:0 0 .65rem;font-family:var(--display);font-size:clamp(1.85rem,4vw,2.7rem);
  line-height:1.12;letter-spacing:.02em;text-transform:uppercase;
}
.lead{margin:0 0 1.1rem;color:rgba(255,255,255,.82);max-width:34rem;font-size:1.02rem}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:9.4rem;padding:.72rem 1.1rem;
  font-family:var(--display);font-size:.88rem;letter-spacing:.03em;
  border:2px solid transparent;cursor:pointer;
  white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb;
}
.btn-fill{background:var(--safety);color:var(--ink);border-color:#fff}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-steel{background:var(--steel);color:#fff;border-color:var(--ink)}
.btn:hover{filter:brightness(1.06)}
.req{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.req p{
  margin:0;padding:.65rem .7rem;background:rgba(0,0,0,.22);border-left:3px solid var(--safety);
  font-size:.82rem;color:rgba(255,255,255,.78);font-family:var(--mono);
}
.req b{display:block;color:#fff;margin-bottom:.12rem;font-family:var(--display);font-size:.9rem}
.hero-media{align-self:center}
.frame-geo{
  align-self:center;margin:0;padding:0;overflow:visible;
  border:3px solid #fff;background:#fff;
  box-shadow:10px 10px 0 var(--rust);
}
.hero-media img{
  display:block;width:100%;height:auto;object-fit:contain;object-position:center;
  margin:0;padding:0;min-height:0;max-height:none;clip-path:none;transform:none;
}

.sec{padding:2.6rem 0}
.sec-h{margin-bottom:1.25rem;max-width:42rem}
.sec-h .k{margin:0 0 .25rem;font-family:var(--mono);font-size:.7rem;color:var(--rust);letter-spacing:.14em}
.sec-h h2{margin:0 0 .4rem;font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.85rem);letter-spacing:.03em;text-transform:uppercase}
.sec-h p{margin:0;color:var(--mute)}

.dl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.dl-card{
  display:flex;flex-direction:column;background:#fff;border:2px solid var(--ink);
  padding:1.05rem .9rem;position:relative;
}
.dl-card::before{
  content:"";position:absolute;top:0;right:0;width:1.1rem;height:1.1rem;
  background:var(--safety);clip-path:polygon(100% 0,0 0,100% 100%);
}
.dl-card .os{margin:0 0 .45rem;font-family:var(--display);font-size:1.05rem;letter-spacing:.03em}
.dl-card .row{margin:0 0 .15rem;font-size:.84rem;color:var(--mute);font-family:var(--mono)}
.dl-card .row b{color:var(--ink)}
.dl-card .btn{margin-top:auto;width:100%;margin-top:.9rem}

.feat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}
.feat{
  background:#fff;border:2px solid var(--line);border-top:4px solid var(--steel);padding:.95rem .8rem;
}
.feat:nth-child(2){border-top-color:var(--safety)}
.feat:nth-child(3){border-top-color:var(--rust)}
.feat:nth-child(4){border-top-color:var(--steel)}
.feat:nth-child(5){border-top-color:var(--ink)}
.feat .ic{
  width:2rem;height:2rem;margin-bottom:.5rem;display:grid;place-items:center;
  background:var(--concrete);border:2px solid var(--ink);
  font-family:var(--mono);font-size:.72rem;font-weight:700;
}
.feat h3{margin:0 0 .25rem;font-family:var(--display);font-size:.95rem;letter-spacing:.02em}
.feat p{margin:0;font-size:.84rem;color:var(--mute)}

.sol-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:1rem;align-items:start}
.sol-copy{
  background:#fff;border:2px solid var(--ink);padding:1.3rem 1.2rem;
  box-shadow:8px 8px 0 var(--steel);
}
.sol-copy h2{margin:0 0 .55rem;font-family:var(--display);font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase}
.sol-copy p{margin:0 0 .7rem;color:var(--mute)}
.gantt{
  margin-top:.9rem;display:grid;gap:.35rem;
}
.gantt div{
  display:grid;grid-template-columns:4.5rem 1fr;gap:.5rem;align-items:center;
  font-family:var(--mono);font-size:.78rem;color:var(--mute);
}
.gantt i{
  height:.55rem;background:var(--steel);display:block;
}
.gantt div:nth-child(2) i{width:78%;background:var(--safety)}
.gantt div:nth-child(3) i{width:62%;background:var(--rust)}
.gantt div:nth-child(1) i{width:92%}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.shots figure{margin:0;border:2px solid var(--ink);background:#fff;padding:.25rem}
.shots img{width:100%;height:auto;object-fit:contain;object-position:center}

.trust{padding:1.8rem 0}
.trust-card{
  background:var(--ink);color:#fff;padding:1.5rem 1.3rem;border-left:8px solid var(--safety);
}
.trust strong{display:block;font-family:var(--display);font-size:clamp(1.7rem,3.2vw,2.4rem);color:var(--safety);margin-bottom:.2rem}
.trust .sub{color:rgba(255,255,255,.75);margin-bottom:1rem}
.brands{display:flex;flex-wrap:wrap;gap:.45rem}
.brands span{
  padding:.4rem .75rem;border:1px solid rgba(255,255,255,.35);
  font-family:var(--mono);font-size:.82rem;
}

.split{display:grid;grid-template-columns:1.1fr .9fr;gap:.9rem}
.panel{
  background:#fff;border:2px solid var(--ink);padding:1.1rem 1rem;
}
.panel h2{margin:0 0 .85rem;font-family:var(--display);font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase}
.news{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.news li{padding-bottom:.65rem;border-bottom:1px dashed var(--line)}
.news time{display:block;font-family:var(--mono);font-size:.7rem;color:var(--rust);margin-bottom:.15rem}
.news a{font-weight:700}.news a:hover{color:var(--rust)}
.news p{margin:.2rem 0 0;font-size:.84rem;color:var(--mute)}
.faq details{border-bottom:1px solid var(--line);padding:.5rem 0}
.faq summary{cursor:pointer;font-weight:700;list-style:none;font-family:var(--display);font-size:.92rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"▸ ";color:var(--rust)}
.faq details[open] summary::before{content:"▾ "}
.faq p{margin:.35rem 0 0;color:var(--mute);font-size:.88rem}
.thumbs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.45rem;margin-top:.9rem}
.thumbs figure{margin:0;border:2px solid var(--line);background:#fff;padding:.2rem}
.thumbs img{width:100%;height:auto;object-fit:contain}

.cta-geo{padding:2.4rem 0 3rem}
.cta-box{
  background:#fff;border:3px solid var(--ink);padding:1.9rem 1.3rem;text-align:center;
  box-shadow:12px 12px 0 var(--safety);
}
.cta-box h2{margin:0 0 .5rem;font-family:var(--display);font-size:clamp(1.3rem,2.5vw,1.85rem);letter-spacing:.03em;text-transform:uppercase}
.cta-box > p{margin:0 0 1rem;color:var(--mute)}
.cta-box .btn-line{color:var(--ink);border-color:var(--ink);background:#fff}
.gains{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}
.gains li{
  padding:.3rem .65rem;border:1px solid var(--line);font-family:var(--mono);font-size:.74rem;color:var(--mute);background:var(--chalk);
}

.foot{padding:1.2rem 0 1.6rem;border-top:3px solid var(--ink);font-size:.84rem;color:var(--mute);background:var(--chalk)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem;align-items:center}
.foot-links{display:flex;gap:1rem;font-family:var(--mono)}
.foot-links a:hover{color:var(--rust)}

@media (max-width:960px){
  .hero-geo .hero-grid,.sol-grid,.split,.dl-grid{grid-template-columns:1fr 1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .hero-geo .hero-grid,.sol-grid,.split,.dl-grid,.feat-grid,.shots,.thumbs,.req{grid-template-columns:1fr}
  .nav{display:none}
  .actions .btn{flex:1 1 100%}
  .hero-band{clip-path:none;padding-bottom:2rem}
}

.hero-geo .hero-grid{align-items:center}
.hero-geo .hero-media{align-self:center;margin:0;padding:0}
.hero-geo .frame-geo{align-self:center;margin:0;padding:0;overflow:visible}
.hero-geo .hero-media img{
  display:block;width:100%;height:auto;object-fit:contain;object-position:center;
  margin:0;padding:0;min-height:0;max-height:none;clip-path:none;transform:none;
}
