/* 修改主题色、圆角及宽度，优先调整这些共用变量。全部字体使用本机字体，无外部依赖。 */
:root {
  color-scheme:light dark;
  --bg:#fff;
  --surface:#f5f5f7;
  --card:#fff;
  --text:#1d1d1f;
  --muted:#6e6e73;
  --blue:#0071e3;
  --link:#0066cc;
  --line:rgba(0,0,0,.09);
  --nav:rgba(255,255,255,.82);
  --shadow:0 12px 36px rgba(0,0,0,.035);
  --radius:28px;
  --width:1120px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:90px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,h4,p {
  margin:0
}
h1,h2,h3,h4 {
  line-height:1.2;
  letter-spacing:-.035em;
  font-weight:600
}
h1 {
  font-size:clamp(36px,5.6vw,68px)
}
h2 {
  font-size:clamp(28px,3.5vw,40px)
}
h3 {
  font-size:23px
}
p {
  color:var(--muted)
}
[hidden] {
  display:none!important
}
a,button {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible {
  outline:3px solid var(--blue);
  outline-offset:5px;
  border-radius:6px
}
.container {
  max-width:var(--width);
  width:calc(100% - 64px);
  margin-inline:auto
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap
}
.skip-link {
  position:fixed;
  left:20px;
  top:-100px;
  z-index:100;
  background:var(--card);
  padding:12px 20px
}
.skip-link:focus {
  top:10px
}
.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:20;
  background:var(--nav);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%)
}
.nav-shell {
  max-width:var(--width);
  width:calc(100% - 64px);
  margin:auto;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  font-weight:600;
  white-space:nowrap
}
.brand-mark {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:17px
}
.site-header nav {
  display:flex;
  align-items:center;
  gap:32px
}
.site-header nav a {
  font-size:13px;
  color:var(--muted);
  padding:24px 0;
  transition:color .2s
}
.site-header nav a:hover,.site-header nav a[aria-current] {
  color:var(--link)
}
.menu-toggle {
  display:none;
  background:none;
  border:0;
  width:44px;
  height:44px;
  cursor:pointer
}
.menu-toggle span {
  display:block;
  height:1.5px;
  width:20px;
  background:var(--text);
  margin:6px auto;
  transition:transform .25s
}
main {
  padding-top:72px;
  min-height:calc(100vh - 166px)
}
.home-hero {
  text-align:center;
  padding-block:100px 80px
}
.eyebrow {
  font-size:13px;
  font-weight:500;
  color:var(--muted);
  margin-bottom:20px
}
.home-hero h1 {
  line-height:1.13
}
.hero-copy {
  font-size:20px;
  line-height:1.8;
  margin-top:28px
}
.actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin-top:32px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 24px;
  border-radius:100px;
  background:var(--blue);
  color:white;
  font-size:14px;
  font-weight:500;
  transition:background .25s,transform .25s,box-shadow .25s
}
.button:hover {
  background:#0077ed;
  transform:translateY(-2px);
  box-shadow:0 5px 16px rgba(0,113,227,.18)
}
.text-link {
  color:var(--link);
  font-size:15px;
  font-weight:500
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
.text-link span {
  margin-left:6px
}
.hero-note {
  margin-top:56px;
  color:var(--muted);
  font-size:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--blue)
}
.note-divider {
  margin:0 5px;
  color:var(--muted)
}
.section {
  padding-block:56px 80px
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:30px
}
.section-heading .eyebrow {
  margin-bottom:10px
}
.section-heading>p {
  font-size:14px
}
.service-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px
}
.service-card {
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:460px;
  transition:transform .35s,box-shadow .35s
}
.service-card:hover {
  transform:translateY(-5px);
  box-shadow:var(--shadow)
}
.service-card>div:first-child {
  padding:40px 40px 24px
}
.light-card {
  background:var(--surface)
}
.card-kicker {
  font-size:13px;
  display:block;
  margin-bottom:18px;
  color:var(--muted)
}
.service-card h3 {
  font-size:36px;
  line-height:1.25;
  margin-bottom:18px
}
.service-card p {
  font-size:14px;
  margin-bottom:24px
}
.service-card img {
  width:100%;
  height:175px;
  object-fit:cover;
  opacity:.8
}
.dark-card {
  background:#1d1d1f;
  color:#f5f5f7
}
.dark-card .card-kicker,.dark-card p {
  color:#a1a1a6
}
.dark-card .text-link {
  color:#72b8ff
}
.step-decoration {
  display:flex;
  align-items:center;
  justify-content:center;
  margin:32px 40px 50px;
  font-size:14px;
  color:#d2d2d7
}
.step-decoration span {
  border:1px solid #55555a;
  border-radius:50%;
  padding:20px 16px
}
.step-decoration i {
  height:1px;
  background:#55555a;
  flex:1;
  max-width:55px
}
.advantages {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px;
  padding-top:18px
}
.advantages h3 {
  font-size:21px;
  margin:20px 0 12px
}
.advantages p {
  font-size:14px;
  max-width:260px
}
.advantage-icon {
  font-size:26px;
  color:var(--link)
}
.page-intro {
  padding-block:80px 54px
}
.page-intro .eyebrow {
  margin-bottom:16px
}
.page-intro>p:last-child {
  margin-top:24px;
  font-size:18px
}
.compact {
  padding-top:0
}
.entry-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.entry-card {
  display:flex;
  align-items:center;
  gap:18px;
  border:1px solid var(--line);
  border-radius:20px;
  padding:24px;
  background:var(--card);
  transition:transform .25s,background .25s,box-shadow .25s
}
.entry-card:hover {
  background:var(--surface);
  transform:translateY(-3px);
  box-shadow:var(--shadow)
}
.entry-number {
  font-size:12px;
  color:var(--muted)
}
.entry-card h3 {
  font-size:17px;
  letter-spacing:-.01em
}
.entry-card p {
  font-size:12px;
  margin-top:7px;
  overflow-wrap:anywhere
}
.entry-arrow {
  margin-left:auto;
  color:var(--link);
  font-size:22px
}
.entry-card:last-child {
  grid-column:1/-1
}
.catalog-band {
  background:var(--surface);
  padding-block:70px 80px
}
.category {
  margin-top:44px
}
.category-title {
  font-size:21px;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px
}
.category-title span {
  font-size:12px;
  font-weight:400;
  color:var(--muted);
  letter-spacing:0
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}
.product-card {
  background:var(--card);
  padding:24px;
  border-radius:22px;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transition:transform .25s,box-shadow .25s
}
.product-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}
.tag {
  display:inline-block;
  color:var(--muted);
  font-size:11px;
  border-radius:20px;
  padding:3px 10px;
  background:var(--surface);
  border:1px solid var(--line);
  white-space:nowrap
}
.product-card h4 {
  font-size:21px;
  line-height:1.3;
  margin:20px 0 12px;
  overflow-wrap:anywhere
}
.product-card p {
  font-size:13px;
  line-height:1.7;
  margin-bottom:24px
}
.product-card .text-link {
  font-size:13px;
  margin-top:auto;
  padding-block:4px
}
.bottom-callout {
  text-align:center;
  padding-block:72px 88px
}
.bottom-callout p {
  margin:18px 0 24px
}
.process-placeholder {
  padding:65px 30px;
  text-align:center;
  background:var(--surface);
  border-radius:var(--radius)
}
.process-placeholder h2 {
  margin:24px 0 20px
}
.process-placeholder p {
  margin-bottom:30px
}
.timeline {
  list-style:none;
  padding:0;
  max-width:760px;
  margin:40px auto
}
.timeline li {
  display:flex;
  gap:28px;
  position:relative;
  padding-bottom:48px
}
.step-number {
  height:46px;
  min-width:46px;
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--link)
}
.timeline h2 {
  font-size:24px;
  margin-bottom:12px
}
.timeline li:not(:last-child):before {
  content:"";
  position:absolute;
  left:22px;
  top:46px;
  width:1px;
  height:calc(100% - 46px);
  background:var(--line)
}
.inquiry-context {
  padding:24px 28px;
  background:var(--surface);
  border-radius:20px;
  margin-bottom:24px
}
.inquiry-context h2 {
  font-size:24px;
  margin:12px 0;
  overflow-wrap:anywhere
}
.inquiry-context p {
  font-size:13px
}
.contact-layout {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:24px
}
.telegram-card {
  background:var(--surface);
  border-radius:var(--radius);
  padding:40px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px
}
.telegram-card h2 {
  font-size:36px
}
.contact-handle {
  font-size:23px!important;
  color:var(--link);
  margin:12px 0 22px
}
.telegram-card p {
  font-size:14px
}
.other-contacts {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:0 32px
}
.other-contacts article {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding-block:30px
}
.other-contacts article+article {
  border-top:1px solid var(--line)
}
.other-contacts h2 {
  font-size:21px
}
.other-contacts p {
  font-size:15px;
  margin-top:8px
}
.muted {
  opacity:.7
}
.contact-details {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:55px;
  margin-top:64px
}
.contact-details h2 {
  font-size:25px
}
.time-slots {
  margin-top:25px
}
.time-slots>div {
  display:flex;
  align-items:center;
  gap:30px;
  margin-top:12px
}
.time-slots span {
  font-size:13px;
  color:var(--muted)
}
.time-slots strong {
  font-weight:500;
  font-size:19px;
  font-variant-numeric:tabular-nums
}
.notes ul {
  padding-left:20px;
  margin:24px 0 0;
  color:var(--muted);
  font-size:14px
}
.notes li {
  margin-bottom:12px
}
.site-footer {
  background:var(--surface);
  font-size:12px;
  color:var(--muted)
}
.footer-top {
  display:flex;
  align-items:center;
  gap:24px;
  padding-block:28px
}
.footer-brand {
  color:var(--text);
  font-weight:600
}
.footer-top>a:last-child {
  margin-left:auto
}
.footer-top a:hover {
  color:var(--link)
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-block:20px;
  display:flex;
  justify-content:space-between;
  gap:16px
}
/* JS 仅对屏幕下方的内容添加此状态；禁用 JS 时所有内容保持可见。 */
.reveal.is-pending {
  opacity:0;
  transform:translateY(16px)
}
.reveal {
  transition:opacity .65s ease,transform .65s ease
}
@media(prefers-color-scheme:dark) {
  :root {
    --bg:#000;
    --surface:#171719;
    --card:#222225;
    --text:#f5f5f7;
    --muted:#a1a1a6;
    --blue:#0071e3;
    --link:#64adfa;
    --line:rgba(255,255,255,.12);
    --nav:rgba(18,18,20,.82);
    --shadow:0 12px 36px rgba(0,0,0,.2)
  }
  .dark-card {
    background:#222225
  }
  .service-card img {
    opacity:.5
  }
}
@media(min-width:761px) and (max-width:1000px) {
  .product-grid {
    grid-template-columns:repeat(3,1fr)
  }
  .site-header nav {
    gap:20px
  }
  .service-card>div:first-child {
    padding:30px
  }
  .contact-details {
    gap:30px
  }
}
@media(max-width:760px) {
  .container,.nav-shell {
    width:calc(100% - 40px)
  }
  .nav-shell {
    min-height:64px;
    flex-wrap:wrap;
    gap:0
  }
  .brand {
    font-size:14px
  }
  .brand-mark {
    width:27px;
    height:27px
  }
  .site-header nav {
    width:100%;
    justify-content:space-between;
    gap:10px;
    border-top:1px solid var(--line)
  }
  .site-header nav a {
    padding:14px 0
  }
  .js-enabled .menu-toggle {
    display:block
  }
  .js-enabled .site-header nav {
    display:none
  }
  .js-enabled .site-header nav.is-open {
    display:flex
  }
  .menu-toggle[aria-expanded="true"] span:first-child {
    transform:translateY(3.75px) rotate(45deg)
  }
  .menu-toggle[aria-expanded="true"] span:last-child {
    transform:translateY(-3.75px) rotate(-45deg)
  }
  main {
    padding-top:114px
  }
  .js-enabled main {
    padding-top:64px
  }
  .home-hero {
    padding-block:66px 44px
  }
  .hero-copy {
    font-size:17px;
    margin-top:24px
  }
  .hero-note {
    flex-wrap:wrap;
    margin-top:38px;
    gap:6px;
    font-size:11px
  }
  .note-divider {
    display:none
  }
  .section {
    padding-block:36px 50px
  }
  .section-heading {
    display:block;
    margin-bottom:24px
  }
  .section-heading>p {
    margin-top:14px
  }
  .service-grid {
    grid-template-columns:1fr
  }
  .service-card {
    min-height:385px
  }
  .service-card>div:first-child {
    padding:30px
  }
  .service-card h3 {
    font-size:32px
  }
  .service-card img {
    height:140px
  }
  .advantages {
    grid-template-columns:1fr;
    gap:28px
  }
  .advantages article {
    border-top:1px solid var(--line);
    padding-top:20px
  }
  .advantages h3 {
    margin-top:10px
  }
  .advantages p {
    max-width:none
  }
  .page-intro {
    padding-block:55px 36px
  }
  .page-intro>p:last-child {
    font-size:16px;
    margin-top:20px
  }
  .compact {
    padding-top:0
  }
  .entry-grid {
    grid-template-columns:1fr
  }
  .entry-card {
    padding:22px 20px
  }
  .catalog-band {
    padding-block:45px
  }
  .product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .product-card {
    padding:20px 16px
  }
  .product-card h4 {
    font-size:19px
  }
  .category {
    margin-top:32px
  }
  .bottom-callout {
    padding-block:50px
  }
  .contact-layout,.contact-details {
    grid-template-columns:1fr
  }
  .telegram-card {
    padding:30px
  }
  .other-contacts {
    padding-inline:26px
  }
  .contact-details {
    gap:36px;
    margin-top:40px
  }
  .process-placeholder {
    padding:46px 20px
  }
  .footer-top {
    flex-wrap:wrap;
    gap:12px
  }
  .footer-top p {
    display:none
  }
  .footer-bottom {
    flex-direction:column;
    gap:5px
  }
}
@media(max-width:360px) {
  .container,.nav-shell {
    width:calc(100% - 28px)
  }
  .product-grid {
    grid-template-columns:1fr
  }
  .actions {
    gap:18px
  }
  .brand {
    font-size:12px
  }
  .time-slots strong {
    font-size:16px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
  .reveal.is-pending {
    opacity:1;
    transform:none
  }
}


/* 第二版：品牌头像、平台图标及轻量排版优化。 */
.brand-avatar {
  width: 34px;
  height: 34px;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--line);
}
.hero-avatar {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 24px;
  margin: 0 auto 24px;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
}
.home-hero { padding-top: 64px; }
.home-hero h1 { font-weight: 550; }
.service-card { min-height: 416px; }
.platform-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 40px 38px;
}
.platform-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: #fff;
  border: 1px solid rgba(0,0,0,.065);
  color: #353539;
  overflow: hidden;
}
.platform-icon img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}
.platform-initial {
  background: var(--surface);
  color: var(--muted);
  font-size: 15px;
  font-weight: 600;
}
.product-card { position: relative; padding: 26px; }
.product-card > .tag { margin-top: 17px; }
.product-card h4 { margin-top: 14px; font-size: 20px; }
.product-card p { font-size: 12px; }
.product-card .text-link {
  width: 100%;
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: auto;
}
.entry-card { box-shadow: none; }
.entry-number {
  background: var(--surface);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  flex-shrink: 0;
}
.category-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 6px 0 10px;
}
.category-links a {
  padding: 8px 16px;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: 100px;
  font-size: 13px;
  color: var(--muted);
  transition: color .2s, border-color .2s;
}
.category-links a:hover { color: var(--link); border-color: var(--link); }
.category-title { scroll-margin-top: 95px; }
.telegram-card .platform-icon { margin-bottom: 20px; }
.page-intro h1 { font-weight: 550; }
@media (max-width: 760px) {
  .home-hero { padding-top: 42px; }
  .hero-avatar { width: 62px; height: 62px; border-radius: 20px; margin-bottom: 20px; }
  .brand-avatar { width: 30px; height: 30px; }
  .product-card { padding: 20px 16px; }
  .product-card h4 { font-size: 18px; }
  .platform-preview { padding: 8px 30px 30px; gap: 10px; }
  .platform-preview .platform-icon { width: 42px; height: 42px; }
  .platform-preview .platform-icon img { width: 26px; height: 26px; }
  .category-links { gap: 8px; }
  .category-links a { padding: 8px 13px; }
  .service-card { min-height: 365px; }
}

/* 管理数据中的营业时间保留换行。 */
.managed-hours {white-space:pre-line;}
.empty-state {padding:32px;color:var(--muted);background:var(--surface);border-radius:20px;}
