/* ============================================================
   layout.css · 公共骨架：信息条 / 主头部 / 主导航 / Hero / 页脚
   依据 docs/design-spec.md v1.6 §5.1–§5.4 / §5.13 / §5.14 / §6
   ============================================================ */

/* Off-canvas drawer must not create horizontal scroll on small screens. */
html { overflow-x: hidden; overflow-x: clip; }

/* Desktop never exposes the mobile drawer telephone. */
.drawer-tel { display: none; }

/* ---------- 顶部信息条 §5.1 ---------- */
.topbar {
  height: 36px;
  background: var(--c-brand-wash);
  border-bottom: 1px solid var(--c-n200);
  font-size: 14px;
  line-height: 22px;
  color: var(--c-n500);
}
.topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  height: 36px;
}
.topbar a { color: var(--c-n500); padding: var(--sp-1) 0; display: inline-block; }
.topbar a:hover { color: var(--c-brand-link); }
.topbar-right { display: flex; align-items: center; gap: var(--sp-3); }
.topbar-sep { width: 1px; height: 16px; background: var(--c-n300); }
.topbar-tel {
  color: var(--c-brand) !important;
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

/* ---------- 主头部 §5.2 ---------- */
.site-header {
  background: #FFFFFF;
  border-bottom: 1px solid var(--c-n100);
}
.header-inner {
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
}
.brand { display: inline-flex; align-items: center; flex: none; }
.brand img { height: 48px; width: auto; max-width: 260px; }
.header-right { display: flex; align-items: center; gap: var(--sp-5); }
.header-tel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
  color: var(--c-brand);
  text-decoration: none;
}
.header-tel:hover { text-decoration: none; color: var(--c-brand-link); }
.header-tel-label { font-size: 14px; line-height: 22px; color: var(--c-n500); }
.header-tel-num {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
}

/* 汉堡按钮（≥992 隐藏） */
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
}
.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--c-n700);
  transition: transform 200ms ease, opacity 200ms ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ---------- 主导航 §5.3 ---------- */
.main-nav {
  position: sticky;
  top: 0;
  z-index: 60;
  background: #FFFFFF;
  border-bottom: 1px solid var(--c-n100);
}
.main-nav.scrolled { box-shadow: 0 1px 0 var(--c-n100); }
.nav-list { display: flex; }
.nav-list > li { position: relative; }
.nav-list > li > a {
  display: flex;
  align-items: center;
  height: 64px;
  padding: 0 var(--sp-4);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--c-n900);
  position: relative;
}
.nav-list > li > a:hover { color: var(--c-brand-link); text-decoration: none; }
.nav-list > li > a::after {
  content: "";
  position: absolute;
  left: var(--sp-4);
  right: var(--sp-4);
  bottom: 0;
  height: 3px;
  background: transparent;
}
.nav-list > li > a:hover::after { background: var(--c-brand-link); }
.nav-list > li.cur > a { color: var(--c-brand); }
.nav-list > li.cur > a::after { background: var(--c-brand); }

/* 二级展开钮：仅移动端抽屉内出现 */
.nav-arrow {
  display: none;
  position: absolute;
  right: var(--sp-2);
  top: 4px;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: var(--c-brand-link);
  font-size: 20px;
  line-height: 1;
}

/* 下拉面板 §5.3 */
.nav-sub {
  position: absolute;
  left: 0;
  top: 64px;
  min-width: 240px;
  background: #FFFFFF;
  border: 1px solid var(--c-n200);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-pop);
  padding: var(--sp-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 200ms ease, transform 200ms ease, visibility 200ms;
  z-index: 70;
}
.nav-list > li:hover .nav-sub,
.nav-list > li:focus-within .nav-sub {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 120ms;
}
.nav-sub a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 var(--sp-3);
  font-size: 15px;
  line-height: 26px;
  color: var(--c-n700);
}
.nav-sub a:hover { background: var(--c-brand-wash); color: var(--c-brand); text-decoration: none; }

/* ---------- Hero §5.4（单张固定大图 · 不轮播） ---------- */
.hero {
  position: relative;
  height: 520px;
  background: var(--c-brand);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-media { position: absolute; inset: 0; }
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background: var(--shade-hero-x);
}
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 588px;
}
.hero-inner .h1 { color: #FFFFFF; }
.hero-sub {
  margin-top: var(--sp-3);
  font-size: 18px;
  line-height: 32px;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, .88);
}
.hero-cta { margin-top: var(--sp-5); }
.hero-cta .btn { background: #FFFFFF; color: var(--c-brand); }
.hero-cta .btn:hover { background: var(--c-brand-tint); color: var(--c-brand); }

/* ---------- 底部行动条 ---------- */
.action-bar { background: var(--c-brand); color: #FFFFFF; }
.action-bar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  min-height: 112px;
  padding-top: var(--sp-4);
  padding-bottom: var(--sp-4);
  flex-wrap: wrap;
}
.action-bar .h3 { color: #FFFFFF; }
.action-bar p { color: #B9C2CC; font-size: 15px; line-height: 26px; margin-top: var(--sp-1); }
.action-bar .num { color: #FFFFFF; }
.action-bar-actions { display: flex; gap: var(--sp-3); flex-wrap: wrap; }
.action-bar .btn-white { background: #FFFFFF; color: var(--c-brand); }
.action-bar .btn-white:hover { background: var(--c-brand-tint); color: var(--c-brand); }

/* ---------- 页脚 §5.13 ---------- */
.site-footer {
  background: var(--c-brand-dark);
  color: #B9C2CC;
  padding-top: var(--sp-7);
}
.footer-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4);
}
.footer-col h2,
.footer-col h3 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: var(--sp-4);
}
.footer-col ul li { margin-bottom: var(--sp-1); }
.footer-col a {
  display: inline-block;
  padding: var(--sp-1) 0;
  font-size: 15px;
  line-height: 36px;
  color: #B9C2CC;
}
.footer-col a:hover { color: #FFFFFF; text-decoration: none; }
.footer-brand img { height: 40px; width: auto; max-width: 260px; margin-bottom: var(--sp-3); }
.footer-brand .footer-slogan { font-size: 15px; line-height: 26px; color: #B9C2CC; margin-bottom: var(--sp-2); }
.footer-entity { font-size: 14px; line-height: 22px; color: #B9C2CC; }
.footer-entity li { margin-bottom: var(--sp-1); }
.footer-tel {
  display: inline-block;
  margin: var(--sp-2) 0;
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
  font-size: 18px;
  line-height: 28px;
  font-weight: 700;
  color: #FFFFFF;
}
.footer-contact li {
  font-size: 15px;
  line-height: 32px;
  color: #B9C2CC;
}
.footer-contact .num { color: #FFFFFF; font-weight: 700; }
.footer-entity-row {
  margin-top: var(--sp-6);
  padding-top: var(--sp-4);
  font-size: 14px;
  line-height: 22px;
  color: #B9C2CC;
}
.footer-bottom {
  margin-top: var(--sp-4);
  border-top: 1px solid rgba(255, 255, 255, .12);
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  flex-wrap: wrap;
  font-size: 12px;
  line-height: 20px;
  color: var(--c-n400);
}
.footer-bottom a { color: var(--c-n400); }
.footer-bottom a:hover { color: #FFFFFF; }

/* ---------- 移动端底部快捷条 §5.14 ---------- */
.tabbar {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 80;
  height: calc(56px + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  background: #FFFFFF;
  border-top: 1px solid var(--c-n200);
}
.tabbar ul { display: flex; height: 56px; }
.tabbar li { flex: 1; }
.tabbar a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-1);
  height: 56px;
  font-size: 12px;
  line-height: 16px;
  color: var(--c-n500);
  text-decoration: none;
}
.tabbar .tab-ico { font-size: 20px; line-height: 1; font-style: normal; }
.tabbar a:hover { text-decoration: none; }
.tabbar li.cur a { color: var(--c-brand); }
.tabbar .tab-tel { background: var(--c-accent); }
.tabbar .tab-tel a { color: #FFFFFF; }

/* ============================================================
   断点 ≤1200（规范 §6.1 标注的 1200 档）
   ============================================================ */
@media (max-width: 1200px) {
  .container { width: auto; padding-left: var(--sp-5); padding-right: var(--sp-5); }

  .h1 { font-size: 36px; line-height: 48px; }
  .h1-sm { font-size: 32px; line-height: 44px; }
  .h2 { font-size: 28px; line-height: 40px; }
  .h3 { font-size: 22px; line-height: 32px; }

  .header-inner { height: 88px; }
  .header-tel-label { display: none; }

  .nav-list > li > a { font-size: 15px; }

  .hero { height: 440px; }

  .footer-cols { grid-template-columns: repeat(2, 1fr); gap: var(--sp-5) var(--sp-4); }
}

/* ============================================================
   断点 768–991 §6.1（结构切换点）
   ============================================================ */
@media (max-width: 991px) {
  .container { padding-left: var(--sp-4); padding-right: var(--sp-4); }

  .section { padding: var(--sp-7) 0; }

  .h1 { font-size: 30px; line-height: 40px; }
  .h1-sm { font-size: 28px; line-height: 38px; }
  .h2 { font-size: 26px; line-height: 36px; }
  .h3 { font-size: 21px; line-height: 30px; }
  .h4 { font-size: 18px; line-height: 28px; }
  .lead { font-size: 17px; line-height: 30px; }

  .header-cta { display: none; }

  /* 导航折叠为抽屉 §5.3 */
  .nav-toggle { display: flex; }
  .nav-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(6, 42, 80, .55);
  }
  body.nav-open .nav-overlay { display: block; }
  .main-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    z-index: 100;
    width: 320px;
    max-width: 100vw;
    background: #FFFFFF;
    border-bottom: 0;
    border-left: 1px solid var(--c-n200);
    display: none;
    overflow-y: auto;
    padding-bottom: 56px;
  }
  body.nav-open .main-nav { display: block; animation: drawer-in 200ms ease-out; }
  @keyframes drawer-in {
    from { transform: translateX(28px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
  }
  body.nav-open { overflow: hidden; }
  .main-nav .container { padding: 0; width: auto; }
  .nav-list { display: block; }
  .nav-list > li { border-bottom: 1px solid var(--c-n100); position: static; }
  .nav-list > li > a {
    height: 52px;
    padding: 0 var(--sp-4);
    padding-right: var(--sp-6);
    position: relative;
  }
  .nav-list > li > a::after { display: none; }
  .nav-list > li.cur > a { background: var(--c-brand-wash); }
  .nav-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .nav-arrow[aria-expanded="true"]::before { content: "−"; }
  .nav-arrow[aria-expanded="false"]::before { content: "+"; }

  /* 抽屉内二级为手风琴 */
  .nav-sub {
    position: static;
    min-width: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0 0 var(--sp-2);
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
  }
  .nav-list > li.sub-open .nav-sub { display: block; }
  .nav-sub a { padding-left: var(--sp-5); min-height: 44px; }

  /* 抽屉底部电话条 §5.3 */
  .drawer-tel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 101;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-accent);
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 700;
    transform: translateX(100%);
    transition: transform 200ms ease;
    width: 320px;
    max-width: 100vw;
    margin-left: auto;
  }
  body.nav-open .drawer-tel { transform: translateX(0); }
  .drawer-tel:hover { text-decoration: none; color: #FFFFFF; }

  .hero { height: 360px; }
  .hero-inner { max-width: 100%; }

  .action-bar .container { flex-direction: column; align-items: flex-start; }

  .tabbar { display: block; }
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom)); }
}

/* ============================================================
   断点 <768 §6.1
   ============================================================ */
@media (max-width: 767px) {
  .container { padding-left: var(--sp-3); padding-right: var(--sp-3); }

  .section { padding: var(--sp-7) 0; }
  .section-dense { padding: var(--sp-5) 0; }

  .h1 { font-size: 24px; line-height: 34px; }
  .h1-sm { font-size: 22px; line-height: 32px; }
  .h2 { font-size: 22px; line-height: 32px; }
  .h3 { font-size: 20px; line-height: 28px; }
  .h4 { font-size: 17px; line-height: 26px; }

  .topbar { display: none; }

  .header-inner { height: 64px; }
  .brand img { height: 36px; }
  .header-tel { display: none; }
  .header-right { gap: var(--sp-2); }

  .main-nav { width: 100vw; }
  .drawer-tel { width: 100vw; }

  /* Hero：4:3，文案底部对齐，纵向遮罩 §5.4 */
  .hero {
    height: auto;
    aspect-ratio: 4 / 3;
    max-height: 480px;
    align-items: flex-end;
  }
  .hero-media img { object-position: center 60%; }
  .hero-shade { background: var(--shade-hero-y); }
  .hero-inner { padding-bottom: var(--sp-5); }
  .hero-sub { font-size: 15px; line-height: 26px; }
  .hero-cta { margin-top: var(--sp-4); }
  .hero-cta .btn { width: 100%; max-width: 280px; }

  .action-bar-actions { width: 100%; }
  .action-bar-actions .btn { flex: 1; }

  .footer-cols { grid-template-columns: 1fr; gap: var(--sp-5); }
  .footer-col a { line-height: 40px; }
  .site-footer { padding-bottom: var(--sp-6); }
}

/* 2026-10-23 · restrained regional brand shell · 双品牌 + 双电话 */
.topbar { height: 34px; background: #f6f8fa; font-size: 12px; }
.topbar .container { height: 34px; }
.topbar-entity { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar-right { flex-shrink: 0; display: flex; align-items: center; gap: 12px; }
.topbar-tel, .topbar-sep { display: inline-flex !important; }
.topbar-tel { align-items: center; gap: 7px; color: #2b4c6b; font-family: var(--font-num); font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.topbar-tel span { font-family: var(--font-sans); font-weight: 400; color: #8a97a3; font-size: 11px; letter-spacing: .04em; }
.topbar-tel-alt { color: #4b6076; }
.topbar-sep { width: 1px; height: 12px; background: #d5dee6; }
.topbar-link { color: #6c7c8b !important; }
.header-inner { height: 94px; gap: 28px; }
.brand { gap: 16px; text-decoration: none !important; min-width: 0; }
.brand-york { width: 168px; height: auto; object-fit: contain; }
.brand-divider { width: 1px; align-self: stretch; margin: 16px 4px; background: #dde4eb; flex: none; }
.brand-parent { width: 126px; height: auto; object-fit: contain; }
.brand-caption { border-left: 1px solid #dce3eb; padding-left: 18px; display: flex; flex-direction: column; gap: 2px; }
.brand-caption strong { color: #23364b; font-size: 17px; font-weight: 600; letter-spacing: .06em; line-height: 25px; }
.brand-caption small { color: #74808d; font-size: 10px; letter-spacing: .12em; line-height: 18px; }
.header-tels { display: flex; align-items: center; gap: 16px; }
.header-tel { display: flex; flex-direction: column; justify-content: center; min-height: 44px; }
.header-tel-label { font-size: 10.5px; line-height: 18px; color: #8a97a3; letter-spacing: .02em; }
.header-tel-num { font-size: 18px; font-weight: 600; letter-spacing: .01em; color: #123f6c; }
.header-tel-alt .header-tel-num { color: #3f5b74; font-size: 17px; }
.header-tel-sep { width: 1px; height: 30px; background: #e2e8ee; }
.header-tel:hover .header-tel-num { color: #1d568d; }
.header-cta { background: #0b3b6f; border-color: #0b3b6f; color: #fff; font-size: 13px; border-radius: 2px; min-height: 42px; padding: 0 18px; white-space: nowrap; }
.header-cta:hover { background: #14538f; color: #fff; }
.header-cta span { margin-left: 8px; }
.main-nav-wrap { background: #fff; border-top: 1px solid #eef1f4; }
.nav-list { justify-content: space-between; }
.nav-list > li > a { height: 54px; padding: 0 15px; font-size: 14px; font-weight: 500; }
.nav-sub { top: 54px; }
.nav-sub:empty { display: none; }
.site-footer { background: #f5f7f9; color: #5d6978; padding-top: 58px; border-top: 1px solid #e2e7ed; }
.footer-cols { grid-template-columns: 1.55fr .7fr .8fr 1.1fr; gap: 38px; }
.footer-col { min-width: 0; }
.footer-col h3 { color: #263b51; font-size: 14px; margin-bottom: 20px; }
.footer-brand-pair { display: flex; align-items: center; gap: 18px; margin: 0 0 25px; min-height: 44px; }
.footer-brand .footer-brand-pair img { display: block; object-fit: contain; margin: 0; flex-shrink: 1; min-width: 0; }
.footer-brand .footer-york-logo { width: 134px; height: 36px; max-width: 44%; }
.footer-brand .footer-parent-link { display: flex; align-items: center; flex-shrink: 1; min-width: 0; max-width: 44%; }
.footer-brand .footer-parent-logo { width: 128px; height: 38px; max-width: 100%; }
.footer-logo-divider { width: 1px; height: 32px; background: #cdd6df; flex-shrink: 0; }
.footer-brand .footer-slogan, .footer-entity, .footer-contact li { color: #65717f; font-size: 12px; line-height: 24px; }
.footer-col a { color: #5d6978; font-size: 13px; line-height: 28px; }
.footer-col a:hover, .footer-bottom a:hover { color: #0b3b6f; }
.footer-tels { display: flex; flex-direction: column; gap: 6px; margin: 12px 0 4px; }
.footer-brand .footer-tel { color: #0b3b6f; font-size: 20px; line-height: 30px; display: flex; flex-direction: column; }
.footer-brand .footer-tel small { font-family: var(--font-sans); font-size: 10px; line-height: 17px; color: #8a97a3; letter-spacing: .04em; font-weight: 400; }
.footer-brand .footer-tel-alt { color: #3f5b74; font-size: 18px; line-height: 28px; }
.footer-contact .num { color: #344b63; }
.footer-entity-row { color: #758190; margin-top: 18px; font-size: 11px; line-height: 22px; }
.footer-service {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 32px;
  padding: 16px 18px;
  background: #FFFFFF;
  border: 1px solid #e2e8ee;
}
.footer-service p { font-size: 11.5px; line-height: 22px; color: #7c8996; margin: 0; max-width: 660px; }
.footer-service p strong { color: #163c5f; font-weight: 500; letter-spacing: .04em; }
.footer-service-tels { display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: #b6c3cf; }
.footer-service-tels a { color: #2b4c6b; font-family: var(--font-num); font-variant-numeric: tabular-nums; font-weight: 600; font-size: 13px; }
.footer-service-tels a:hover { color: #123f6c; }
.footer-bottom { border-top-color: #dfe5eb; color: #758190; min-height: 62px; }
.footer-bottom a { color: #758190; }
.tabbar .tab-tel { background: #123f6c; }
@media (min-width: 992px) { .drawer-tel { display: none !important; } }
@media (max-width: 1200px) {
  .footer-cols { grid-template-columns: 1.3fr 1fr; gap: 36px; }
  .brand-caption { display: none; }
  .brand-york { width: 148px; }
  .brand-parent { width: 112px; }
  .header-tel-num { font-size: 17px; }
  .header-tel-alt .header-tel-num { font-size: 16px; }
}
@media (max-width: 991px) {
  .header-tel-alt, .header-tel-sep { display: none; }
  .topbar-tel-alt, .topbar-right .topbar-sep:nth-of-type(2) { display: none !important; }
}
@media (max-width: 991px) {
  .header-inner { height: 82px; }
  .brand-york { width: 138px; }
  .brand-parent { width: 104px; }
  .nav-list > li { position: relative; }
  .nav-list > li > a { height: 52px; padding: 0 24px; }
  .nav-list > li > .nav-sub:empty + .nav-arrow { display: none; }
  .nav-list > li > .nav-arrow { top: 4px; }
  .nav-sub { top: auto; }
  .drawer-tel { display: none !important; transform: none; }
  body.nav-open .drawer-tel { display: flex !important; background: #123f6c; color: #FFFFFF; font-size: 14px; font-weight: 500; }
  .drawer-tel-alt { bottom: 56px; height: 44px; background: #f2f6f9 !important; color: #2b4c6b !important; font-size: 12.5px !important; border-top: 1px solid #e2e8ee; }
  body.nav-open .drawer-tel-alt { display: flex !important; }
}
@media (max-width: 767px) {
  .header-inner { height: 70px; }
  .brand { gap: 10px; }
  .brand-york { width: 104px; }
  .brand-parent { width: 82px; }
  .brand-divider { margin: 12px 0; }
  .header-tels { display: none; }
  .topbar { height: 32px; }
  .topbar .container { height: 32px; }
  .topbar-entity { display: none; }
  .topbar-right { width: 100%; justify-content: space-between; gap: 8px; }
  .topbar-tel { font-size: 11px; }
  .topbar-tel span { display: none; }
  .topbar-link { font-size: 11px; }
  .footer-cols { grid-template-columns: 1fr 1fr; gap: 32px 18px; }
  .footer-brand, .footer-col:last-child { grid-column: 1 / -1; }
  .footer-brand-pair { justify-content: flex-start; gap: 22px; }
  .footer-brand .footer-york-logo { width: 138px; max-width: 42%; }
  .footer-brand .footer-parent-link { max-width: 42%; }
  .footer-brand .footer-parent-logo { width: 133px; max-width: 100%; }
  .site-footer { padding-top: 40px; padding-bottom: 22px; }
  .footer-entity-row { margin-top: 26px; }
  .footer-bottom { padding: 15px 0; gap: 8px 16px; }
}
@media (prefers-reduced-motion: reduce) { .main-nav, .drawer-tel, .nav-toggle span { transition: none; } }

/* 区域运营电话后的「微信同号」小标注 */
.wx-same { font-family: var(--font-sans); font-size: .72em; font-weight: 400; letter-spacing: .02em; opacity: .8; }
.tel-with-wx { display: inline-flex; align-items: baseline; gap: 5px; }
/* topbar 的 .topbar-tel span 规则会把号码一并缩小，这里还原 */
.topbar-tel .tel-with-wx { font-family: var(--font-num); font-variant-numeric: tabular-nums; font-size: inherit; font-weight: inherit; color: inherit; letter-spacing: normal; }
