:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body, h1, h2, p, ul { margin: 0; }
body {
  min-width: 320px;
  font-family: "Microsoft YaHei", "PingFang TC", Arial, Helvetica, sans-serif;
  background: #141416;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { max-width: 100%; }

.site {
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  color: #fff;
  background: #141416 url("bgss.jpg") top right / cover no-repeat fixed;
}
.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  height: 96px;
  padding: 0 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #141416;
}
.brand { display: flex; align-items: center; flex: 0 0 auto; height: 100%; }
.brand img { display: block; width: 233px; }
.header-right { display: flex; align-items: center; height: 100%; }
.desktop-nav { display: flex; align-items: stretch; height: 100%; }
.desktop-nav a {
  display: flex;
  align-items: center;
  padding: 0 15px;
  font-size: 14px;
  transition: color .15s ease;
}
.desktop-nav a:hover, .desktop-nav a.active { color: #2196f3; }
.header-button {
  width: 126px;
  height: 45px;
  margin-left: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  border-radius: 4px;
  font-size: 14px;
  transition: background .15s ease, color .15s ease;
}
.header-button:hover { color: #000; background: #fff; }
.language { display: flex; align-items: stretch; height: 100%; margin-left: 36px; }
.language a { display: flex; align-items: center; padding: 0 7px; font-size: 14px; }
.menu-button { display: none; padding: 0; border: 0; background: transparent; }

.hero { height: 608px; padding: 260px 0 0 310px; }
.hero h1 { font-size: 60px; line-height: 1.2; font-weight: 700; }
.hero p { margin-top: 50px; font-size: 30px; line-height: 1.4; }

.model-list { padding: 0 60px; }
.model-card {
  width: 100%;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid #3f4349;
  background: #141416;
}
.model-card:nth-child(even) { flex-direction: row-reverse; }
.model-picture { width: 60%; overflow: hidden; }
.model-picture img { display: block; width: 100%; }
.model-copy { flex: 1; padding: 28px 3vw; }
.model-copy h2 { margin-bottom: 26px; font-size: 24px; line-height: 1.35; font-weight: 700; }
.model-copy p { font-size: 20px; line-height: 1.6; }

.footer-main { width: 100%; padding: 30px 60px 100px; background: #141416; }
.footer-logo { display: block; width: 126px; }
.footer-grid { margin-top: 36px; display: grid; grid-template-columns: 192px minmax(300px, 1fr) 192px; align-items: center; gap: 40px; }
.footer-links a { display: block; font-size: 16px; line-height: 2; }
.contact p { padding: 15px 0; text-align: center; font-size: 16px; }
.system-button { display: flex; align-items: center; justify-content: center; width: 192px; height: 55px; border: 1px solid #2196f3; border-radius: 6px; background: #2196f3; font-size: 16px; transition: .2s ease; }
.system-button:hover { border-color: #fff; background: transparent; }
.footer-actions > p { margin-top: 38px; font-size: 18px; }
.socials { display: flex; gap: 10px; margin-top: 16px; }
.socials a, .socials img { display: block; width: 25px; height: 25px; }
.copyright { padding: 36px 0; text-align: center; background: rgba(0,0,0,.2); font-size: 14px; }

.mobile-menu { display: none; }

@media (max-width: 1320px) and (min-width: 1001px) {
  .header { padding: 0 38px; }
  .brand img { width: 190px; }
  .desktop-nav a { padding: 0 8px; }
  .header-button { width: 112px; margin-left: 16px; }
  .language { margin-left: 18px; }
  .hero { padding-left: 18vw; }
}

@media (max-width: 1000px) {
  html { font-size: calc(100vw / 7.5); }
  body.menu-open { overflow: hidden; }
  .header { height: 1.2rem; padding: 0 .3rem; }
  .brand img { width: 2rem; }
  .menu-button { display: block; width: .5rem; cursor: pointer; }
  .menu-button img { display: block; width: 100%; }
  .header-right { display: none; }
  .hero { height: 6rem; padding: 3rem .3rem 0; background-position: top center; }
  .hero h1 { text-align: center; font-size: .46rem; }
  .hero p { margin-top: .3rem; text-align: center; font-size: .3rem; }
  .model-list { padding: 0 .3rem; }
  .model-card, .model-card:nth-child(even) { display: block; }
  .model-picture { width: 100%; }
  .model-copy { padding: .6rem .3rem; }
  .model-copy h2 { margin-bottom: .3rem; text-align: center; font-size: .36rem; }
  .model-copy p { text-align: center; font-size: .28rem; }

  .footer-main { padding: .3rem; }
  .footer-logo { width: 1.63rem; margin: 0 auto; }
  .footer-grid { display: block; margin-top: .46rem; }
  .footer-links { display: flex; justify-content: space-around; gap: .14rem; }
  .footer-links a { max-width: 1.45rem; text-align: center; font-size: .26rem; line-height: 1.5; }
  .contact { margin-top: .6rem; }
  .contact p { padding: .16rem 0; opacity: .8; font-size: .26rem; }
  .footer-actions { margin-top: .3rem; }
  .system-button { width: 2.8rem; height: .9rem; margin: 0 auto; font-size: .26rem; }
  .footer-actions > p { margin-top: .3rem; text-align: center; font-size: .24rem; }
  .socials { justify-content: center; margin-top: .2rem; }
  .copyright { padding: .2rem; font-size: .22rem; }

  .mobile-menu { position: fixed; inset: 0; z-index: 45; display: block; visibility: hidden; pointer-events: none; }
  .mobile-menu.is-open { visibility: visible; pointer-events: auto; }
  .menu-backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(0,0,0,.62); opacity: 0; transition: opacity .25s ease; }
  .mobile-menu.is-open .menu-backdrop { opacity: 1; }
  .mobile-menu-panel { position: absolute; inset: 0 0 auto; height: calc(100vh - 1rem); padding: 1.2rem .3rem .3rem; background: #333; transform: translateY(-100%); transition: transform .28s ease; }
  .mobile-menu.is-open .mobile-menu-panel { transform: translateY(0); }
  .mobile-menu-panel li { list-style: none; border-bottom: 1px solid rgba(255,255,255,.1); }
  .mobile-menu-panel a { display: flex; align-items: center; height: 1rem; font-size: .28rem; }
  .mobile-menu-panel li.active a { color: #2196f3; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}
