/* ============================================================
   机构公开页与法律文档
   沿用官网灰底白卡、大留白和全站 token
   ============================================================ */
.static-page main{
  background:#f5f5f7
}
.static-hero{
  padding:calc(var(--hd-h) + 92px) 0 52px
}
.static-shell{
  width:min(1220px,calc(100% - 44px));
  margin-inline:auto
}
.static-hero h1{
  max-width:980px;
  font-size:clamp(46px,6.4vw,72px);
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.045em;
  color:var(--ink)
}
.static-hero-lead{
  max-width:820px;
  margin-top:24px;
  font-size:clamp(19px,2.6vw,26px);
  font-weight:500;
  line-height:1.72;
  color:#58585c
}
.static-section{
  padding:26px 0 96px
}
.static-card{
  background:#fff;
  border-radius:28px;
  box-shadow:0 20px 50px rgba(0,0,0,.06);
  padding:clamp(28px,5vw,60px)
}
.static-card+.static-card{
  margin-top:20px
}
.static-card h2{
  font-size:clamp(30px,4vw,44px);
  font-weight:580;
  line-height:1.2;
  letter-spacing:-.03em;
  color:var(--ink)
}
.static-card h3{
  font-size:clamp(22px,2.8vw,28px);
  font-weight:600;
  line-height:1.45;
  color:var(--ink)
}
.static-card p{
  margin-top:18px;
  font-size:18px;
  line-height:1.95;
  color:#3a3a3c
}
.static-card p:first-child{
  margin-top:0
}
.static-card p+p{
  margin-top:14px
}
.static-quote{
  margin-top:26px;
  padding:26px 30px;
  border-radius:20px;
  background:#f5f5f7;
  font-size:clamp(20px,2.6vw,26px);
  font-weight:580;
  line-height:1.7;
  color:#252525
}
.static-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:28px
}
.static-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.static-feature{
  padding:30px;
  border-radius:24px;
  background:#f5f5f7
}
.static-feature h3{
  font-size:24px;
  font-weight:600;
  line-height:1.4;
  color:var(--ink)
}
.static-feature p{
  margin-top:12px;
  font-size:17px;
  line-height:1.85;
  color:#4f4f52
}
.static-link{
  display:inline-flex;
  align-items:center;
  margin-top:28px;
  color:var(--red);
  font-size:17px;
  font-weight:460;
  line-height:1.4;
  text-decoration:none
}
.static-link:hover{
  text-decoration:underline;
  text-underline-offset:5px
}
.legal-inline-link{
  color:var(--red);
  font-weight:500;
  text-decoration:none
}
.legal-inline-link:hover{
  text-decoration:underline;
  text-underline-offset:4px
}

/* 法律文档 */
.legal-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:24px;
  align-items:start
}
.legal-toc{
  position:sticky;
  top:calc(var(--hd-h) + 20px);
  padding:26px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 46px rgba(0,0,0,.055)
}
.legal-toc b{
  display:block;
  margin-bottom:14px;
  font-size:18px;
  font-weight:600;
  color:var(--ink)
}
.legal-toc a{
  display:block;
  padding:7px 0;
  font-size:16px;
  line-height:1.5;
  color:#4f4f52
}
.legal-toc a:hover{
  color:var(--red)
}
.legal-document{
  padding:clamp(30px,5vw,60px)
}
.legal-meta{
  font-size:17px;
  line-height:1.8;
  color:#4f4f52
}
.legal-section{
  scroll-margin-top:calc(var(--hd-h) + 24px)
}
.legal-section+.legal-section{
  margin-top:54px
}
.legal-section h2{
  font-size:clamp(26px,3.2vw,34px);
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.025em;
  color:var(--ink)
}
.legal-section h3{
  margin-top:30px;
  font-size:22px;
  font-weight:600;
  line-height:1.5;
  color:var(--ink)
}
.legal-section p,
.legal-section li{
  margin-top:14px;
  font-size:18px;
  line-height:1.95;
  color:#3a3a3c
}
.legal-section ul{
  display:grid;
  gap:2px;
  margin-top:8px
}
.legal-section li{
  list-style:none
}
.legal-contact{
  margin-top:22px;
  padding:24px 26px;
  border-radius:20px;
  background:#f5f5f7;
  font-size:18px;
  line-height:1.95;
  color:#252525
}

/* 联系页 */
.contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.contact-card{
  min-height:230px;
  display:flex;
  flex-direction:column;
  padding:36px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.06)
}
.contact-card h2{
  font-size:26px;
  font-weight:600;
  line-height:1.4;
  color:var(--ink)
}
.contact-card p{
  margin-top:16px;
  font-size:18px;
  line-height:1.85;
  color:#4f4f52
}
.contact-card a{
  margin-top:auto;
  padding-top:24px;
  color:var(--red);
  font-size:19px;
  font-weight:500;
  line-height:1.5
}
.contact-card a:hover{
  text-decoration:underline;
  text-underline-offset:5px
}
.contact-note{
  margin-top:20px;
  padding:30px 34px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.06)
}
.contact-note p{
  font-size:18px;
  line-height:1.95;
  color:#3a3a3c
}
.static-page .f-logo{
  width:66px;
  height:auto;
  display:block
}
.static-page .footer .f-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.static-page .footer .f-grid>div:first-child{
  grid-column:1/-1
}
.static-page .footer{
  background:#111113;
  color:#f5f5f7;
  border-top:1px solid rgba(255,255,255,.06)
}
.static-page .footer ul{
  margin:0;
  padding:0
}
.static-page .footer h4,
.static-page .footer a,
.static-page .footer .f-bottom,
.static-page .footer .f-brand{
  color:#f5f5f7
}
.static-page .footer a:hover{
  color:#ff4757
}
.static-page .footer .f-bottom{
  border-top-color:rgba(255,255,255,.12)
}

/* 预约页：更强的视觉层级 */
.booking-highlight{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  overflow:hidden;
  border-radius:32px;
  background:#111113;
  box-shadow:0 28px 70px rgba(0,0,0,.16)
}
.booking-highlight-main{
  padding:clamp(34px,5vw,58px)
}
.booking-highlight-main h2{
  max-width:680px;
  color:#fff;
  font-size:clamp(32px,4.4vw,50px);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.035em
}
.booking-highlight-main p{
  max-width:620px;
  margin-top:20px;
  font-size:19px;
  font-weight:450;
  line-height:1.9;
  color:rgba(255,255,255,.76)
}
.booking-highlight-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:28px;
  padding:clamp(34px,5vw,52px);
  background:#c30d23
}
.booking-highlight-side a{
  display:block;
  color:#fff;
  font-size:clamp(24px,3.2vw,34px);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.02em
}
.booking-highlight-side a:hover{
  text-decoration:underline;
  text-underline-offset:6px
}
.booking-highlight-side span{
  display:block;
  margin-top:9px;
  color:rgba(255,255,255,.78);
  font-size:17px;
  font-weight:450;
  line-height:1.6
}
.booking-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:20px
}
.booking-step{
  min-height:250px;
  padding:34px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.06)
}
.booking-step h2{
  color:var(--ink);
  font-size:25px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.02em
}
.booking-step p{
  margin-top:16px;
  color:#4f4f52;
  font-size:18px;
  line-height:1.9
}
.booking-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:20px
}
.booking-detail{
  padding:34px;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.06)
}
.booking-detail h2{
  color:var(--ink);
  font-size:25px;
  font-weight:600;
  line-height:1.4
}
.booking-detail p{
  margin-top:14px;
  color:#4f4f52;
  font-size:19px;
  line-height:1.85
}
.booking-detail a{
  display:inline-flex;
  margin-top:20px;
  color:var(--red);
  font-size:19px;
  font-weight:500
}
.booking-detail a:hover{
  text-decoration:underline;
  text-underline-offset:5px
}

@media(max-width:1068px){
  .static-grid-three{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .booking-steps{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:860px){
  .legal-layout{
    grid-template-columns:1fr
  }
  .legal-toc{
    position:static
  }
  .booking-highlight{
    grid-template-columns:1fr
  }
}
@media(max-width:734px){
  .static-shell{
    width:calc(100% - 32px)
  }
  .static-hero{
    padding:calc(var(--hd-h) + 68px) 0 38px
  }
  .static-hero h1{
    font-size:clamp(42px,12vw,56px)
  }
  .static-hero-lead{
    font-size:19px
  }
  .static-section{
    padding:18px 0 70px
  }
  .static-card,
  .legal-document{
    border-radius:24px;
    padding:28px 24px
  }
  .static-card p,
  .legal-section p,
  .legal-section li,
  .contact-card p,
  .contact-note p{
    font-size:17px
  }
  .static-grid,
  .static-grid-three,
  .contact-grid{
    grid-template-columns:1fr
  }
  .static-feature{
    padding:24px
  }
  .legal-toc{
    padding:22px
  }
  .contact-card{
    min-height:0;
    padding:28px 24px
  }
  .static-quote{
    padding:22px 24px
  }
  .static-page .footer .f-grid{
    grid-template-columns:1fr
  }
  .static-page .footer .f-grid>div:first-child{
    grid-column:auto
  }
  .booking-highlight{
    border-radius:26px
  }
  .booking-highlight-main,
  .booking-highlight-side{
    padding:30px 24px
  }
  .booking-highlight-side a{
    font-size:26px
  }
  .booking-steps,
  .booking-detail-grid{
    grid-template-columns:1fr
  }
  .booking-step,
  .booking-detail{
    min-height:0;
    padding:28px 24px
  }
  .booking-step p,
  .booking-detail p{
    font-size:17px
  }
}
