@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("../fonts/latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("../fonts/latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url("../fonts/sc-400.woff2") format("woff2");
}
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url("../fonts/sc-700.woff2") format("woff2");
}

:root{
  --bg:#F7F9FC;
  --paper:#FFFFFF;
  --brand:#003460;
  --brand-deep:#00273F;
  --cyan:#3E6F99;
  --accent:#d12920;
  --warm:#8A5344;
  --ink:#0E2433;
  --body:#3E4E5B;
  --muted:#6D7E8C;
  --line:rgba(0,52,96,.13);
  --line-2:rgba(0,52,96,.22);
  --r-lg:22px;
  --r-md:15px;
  --r-sm:10px;
  --shadow-1:0 1px 2px rgba(0,52,96,.05);
  --shadow-2:0 20px 46px -30px rgba(0,52,96,.55);
  --shadow-3:0 34px 76px -42px rgba(0,52,96,.62);
  --pad:clamp(18px,4.6vw,40px);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--body);
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Source Han Sans SC","WenQuanYi Micro Hei",sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.85;
  letter-spacing:0;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p,figure{margin:0;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
h1,h2,h3{font-weight:700;letter-spacing:0;}

.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--pad);}

/* ---------- 顶部导航 ---------- */
.topbar{
  position:fixed;inset:0 0 auto 0;z-index:80;
  background:rgba(247,249,252,.7);
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid transparent;
  transition:box-shadow .35s ease,background .35s ease,border-color .35s ease;
}
.topbar.is-stuck{
  background:rgba(255,255,255,.92);
  border-bottom-color:var(--line);
  box-shadow:0 12px 34px -26px rgba(0,52,96,.6);
}
.nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px);height:clamp(62px,7vw,80px);}
.brand{display:flex;align-items:center;flex:0 0 auto;}
.brand img{height:clamp(28px,3.4vw,38px);width:auto;}
.nav-menu{display:flex;align-items:center;gap:clamp(10px,1.6vw,28px);margin-left:auto;}
.nav-link{
  position:relative;font-size:15px;color:#25384a;
  padding:6px 2px;transition:color .25s ease;white-space:nowrap;
}
.nav-link::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;
  background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;
}
.nav-link:hover{color:var(--brand);}
.nav-link:hover::after{transform:scaleX(1);}
.nav-side{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.btn-tel{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--accent);color:#fff;font-weight:700;font-size:15px;
  padding:9px 16px;border-radius:999px;white-space:nowrap;
  box-shadow:0 10px 22px -14px rgba(209,41,32,.9);
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.btn-tel:hover{background:#b8231b;transform:translateY(-2px);box-shadow:0 16px 28px -16px rgba(209,41,32,.95);}
.btn-tel .dot-phone{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.9;}
.nav-toggle{
  display:none;width:42px;height:42px;border-radius:12px;
  border:1px solid var(--line-2);align-items:center;justify-content:center;
}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--brand);position:relative;border-radius:2px;transition:background .2s ease;}
.nav-toggle span::before,.nav-toggle span::after{
  content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--brand);border-radius:2px;transition:transform .3s ease,top .3s ease;
}
.nav-toggle span::before{top:-6px;}
.nav-toggle span::after{top:6px;}
.nav-toggle[aria-expanded="true"] span{background:transparent;}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg);}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg);}

@media (max-width:960px){
  .nav-toggle{display:inline-flex;}
  .nav-menu{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;margin-left:0;
    background:#fff;border-bottom:1px solid var(--line);
    box-shadow:0 24px 40px -30px rgba(0,52,96,.6);
    padding:6px var(--pad) 16px;
    clip-path:inset(0 0 100% 0);opacity:0;pointer-events:none;
    transition:clip-path .35s ease,opacity .25s ease;
  }
  .nav-menu.is-open{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto;}
  .nav-link{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;}
  .nav-link:last-child{border-bottom:0;}
  .nav-link::after{display:none;}
  .btn-tel{font-size:14px;padding:8px 14px;}
  .brand img{height:26px;}
}
@media (max-width:420px){
  .btn-tel .dot-phone{display:none;}
  .brand img{height:24px;}
}

/* ---------- 页脚 ---------- */
.foot{background:var(--brand-deep);color:rgba(255,255,255,.72);position:relative;overflow:hidden;}
.foot::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 100% at 18% 0%,rgba(120,190,222,.16),transparent 62%);
}
.foot > .wrap{position:relative;z-index:1;}
.foot-top{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,.85fr);
  gap:clamp(24px,3vw,48px);padding-block:clamp(40px,5vw,68px);
}
.foot-logo img{height:clamp(28px,3.2vw,36px);width:auto;}
.foot-desc{margin-top:16px;font-size:14.5px;line-height:1.95;max-width:34em;color:rgba(255,255,255,.66);}
.foot-h{font-size:13px;font-weight:700;color:#fff;margin-bottom:14px;letter-spacing:.06em;}
.foot-nav{display:flex;flex-direction:column;gap:9px;}
.foot-nav a{font-size:14.5px;width:fit-content;transition:color .25s ease,transform .25s ease;}
.foot-nav a:hover{color:#fff;transform:translateX(4px);}
.foot-contact{display:flex;flex-direction:column;gap:9px;font-size:14.5px;}
.foot-contact a{width:fit-content;transition:color .25s ease;}
.foot-contact a:hover{color:#fff;}
.foot-contact .tel{font-size:clamp(19px,2.2vw,25px);font-weight:700;color:#fff;font-variant-numeric:tabular-nums;}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.14);
  padding-block:20px 26px;
  display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;
  font-size:13px;color:rgba(255,255,255,.56);
}
.foot-bottom .sep{opacity:.4;}
@media (max-width:880px){
  .foot-top{grid-template-columns:1fr;gap:30px;}
}

.hx{display:none!important}
