/* 正翼科技公共组件：品牌视觉（页眉与页脚） */

:root{
  --blue:#1769e0;
  --blue-dark:#0d57bf;
  --navy:#081a36;
  --text:#20304a;
  --muted:#708099;
  --line:#e7edf5;
  --bg:#f7f9fc;
  --card:#ffffff;
  --shadow:0 18px 48px rgba(22,55,98,.08);
  --shadow-soft:0 8px 28px rgba(22,55,98,.06);
  --radius:18px;
  --brand-indigo:#30358d;
  --brand-indigo-dark:#24296f;
  --brand-orange:#f7941d;
  --brand-ink:#172044;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif;
  color:var(--text);
  background:#fff;
}

a{text-decoration:none;color:inherit}

.container{
  width:min(1560px,92vw);
  margin:0 auto;
}

/* ================= HEADER ================= */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid #e9eaf2;
  box-shadow:0 8px 28px rgba(33,39,100,.05);
}
.site-header::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--brand-indigo) 0 82%,var(--brand-orange) 82% 100%);
}

.site-header .nav{
  height:102px;
  display:flex;
  align-items:center;
  gap:22px;
  position:relative;
}

.site-header .brand{
  display:block;
  flex:0 0 auto;
}

.site-header .brand img{
  width:172px;
  height:auto;
  display:block;
}

.site-header .menu{
  display:flex;
  align-items:center;
  gap:32px;
  margin-left:auto;
  font-size:15px;
  font-weight:650;
  color:var(--brand-ink);
  letter-spacing:.1px;
}

.site-header .menu a{
  position:relative;
  padding:34px 0;
  white-space:nowrap;
}

.site-header .menu a:hover,
.site-header .menu a.active{
  color:var(--brand-indigo);
}

.site-header .menu a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:20px;
  height:3px;
  border-radius:4px;
  background:var(--brand-orange);
}

.site-header .nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:8px;
}

.site-header .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:48px;
  padding:0 22px;
  border-radius:8px;
  font-weight:750;
  border:1px solid transparent;
  transition:.2s ease;
  cursor:pointer;
  letter-spacing:.1px;
}

.site-header .btn.primary{
  background:var(--brand-indigo);
  color:#fff;
  box-shadow:0 10px 24px rgba(48,53,141,.18);
}

.site-header .btn.primary:hover{
  background:var(--brand-indigo-dark);
  transform:translateY(-1px);
}
.site-header .btn.primary span span{color:#ffbf6b}
.site-header .cta-short{display:none}
.site-header .mobile-nav{display:none}
.site-header a:focus-visible,
.site-footer a:focus-visible{outline:3px solid var(--brand-orange);outline-offset:4px}

/* ================= FOOTER ================= */

.site-footer{
  background:var(--brand-indigo-dark);
  color:#fff;
  padding:0 0 28px;
}
.site-footer .foot-grid{
  padding-top:38px;
  display:grid;
  grid-template-columns:1.4fr .9fr .9fr;
  gap:48px;
}

.site-footer .footer-logo-box{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border-radius:8px;
  padding:10px 16px;
  margin-bottom:10px;
}

.site-footer .foot-logo{
  width:216px;
  display:block;
  filter:none;
}

.site-footer p,
.site-footer a{
  color:#d3d6ef;
  line-height:1.8;
  font-size:14px;
}

.site-footer h3{
  margin:4px 0 18px;
  color:#fff;
  font-size:17px;
}
.site-footer .foot-grid a{color:#fff;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:4px}
.site-footer .foot-grid a:hover{text-decoration:underline}

.site-footer .copyright{
  border-top:1px solid rgba(255,255,255,.15);
  margin-top:30px;
  padding:20px 0 0;
  color:#c7cbe8;
  font-size:13px;
  display:grid;
  grid-template-columns:1.4fr .9fr .9fr;
  align-items:center;
  column-gap:48px;
}
.site-footer .filing-link{
  grid-column:2;
  justify-self:start;
  font-weight:700;
}

/* ================= COMPONENT MOUNTS ================= */

#site-header,
#site-footer{
  width:100%;
}

/* ================= RESPONSIVE ================= */

@media(max-width:1180px){
  .site-header .menu{display:none}
  .site-header .mobile-nav{display:block;margin-left:auto;color:var(--brand-ink);font-weight:700}
  .site-header .mobile-nav summary{list-style:none;cursor:pointer;padding:12px;border-radius:8px}
  .site-header .mobile-nav summary::-webkit-details-marker{display:none}
  .site-header .mobile-nav summary:focus-visible{outline:3px solid #94bfff;outline-offset:2px}
  .site-header .mobile-nav[open] summary{color:var(--brand-indigo);background:#f0f0fa}
  .site-header .mobile-nav nav{position:absolute;right:0;top:calc(100% - 4px);z-index:60;display:grid;min-width:210px;padding:10px;background:#fff;border:1px solid #dbe6f4;border-radius:12px;box-shadow:0 16px 36px rgba(11,38,81,.16)}
  .site-header .mobile-nav nav a{padding:11px 13px;border-radius:7px}
  .site-header .mobile-nav nav a:hover,.site-header .mobile-nav nav a:focus-visible{background:#f0f0fa;color:var(--brand-indigo)}
  .site-header .nav-actions{margin-left:0}
}

@media(max-width:860px){
  .site-header .nav{height:92px}
  .site-header .brand img{width:150px}
  .site-header .nav-actions .btn{height:44px;padding:0 18px}

  .site-footer .foot-grid{grid-template-columns:1fr}
  .site-footer .foot-grid{gap:10px;padding-top:30px}
  .site-footer .copyright{grid-template-columns:1fr;row-gap:12px}
  .site-footer .filing-link{grid-column:1;justify-self:center}
}
@media(max-width:620px){
  .site-header .nav{height:88px;gap:8px}
  .site-header .brand img{width:144px}
  .site-header .nav-actions .btn{padding:0 12px}
  .site-header .cta-long{display:none}
  .site-header .cta-short{display:inline}
}
@media(max-width:360px){
  .site-header .nav{height:78px}
  .site-header .brand img{width:124px}
  .site-header .mobile-nav summary{padding:8px 4px;white-space:nowrap;font-size:13px}
  .site-header .nav-actions .btn{padding:0 10px;font-size:12px;white-space:nowrap}
}
