:root {
  --color-navy: #082c58;
  --color-navy-deep: #06264b;
  --color-gold: #a88a68;
  --color-warm-white: #fdfbf8;
  --color-text: #183653;
  --color-muted: #596a7b;
  --color-border: #e5ddd4;
  --content-max: 1920px;
  --space-pc: clamp(36px, 3vw, 60px);
  --space-mobile: 24px;
  --radius: 4px;
  --font-title: "Songti SC", "STSong", "SimSun", serif;
  --font-body: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --header-height: 98px;
}

* { box-sizing: border-box; }
html { overflow-x: hidden; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--color-text);
  background: var(--color-warm-white);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }

.site-header {
  position: relative;
  z-index: 20;
  height: var(--header-height);
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid rgba(8, 44, 88, 0.04);
}
.header-inner {
  width: min(100%, var(--content-max));
  height: 100%;
  margin: 0 auto;
  padding: 0 16px 0 var(--space-pc);
  display: flex;
  align-items: center;
  gap: clamp(24px, 3vw, 56px);
}
.brand { flex: 0 0 clamp(270px, 20vw, 400px); }
.brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.desktop-nav {
  margin-left: clamp(35px, 5vw, 100px);
  display: flex;
  align-self: stretch;
  align-items: center;
  gap: clamp(19px, 2.7vw, 55px);
  white-space: nowrap;
  font-size: 14px;
  color: #23384e;
}
.desktop-nav a { height: 100%; display: flex; align-items: center; position: relative; }
.desktop-nav a.active::after {
  content: "";
  position: absolute;
  left: 2px; right: 2px; bottom: 15px;
  height: 2px;
  background: var(--color-navy);
}
.quick-link {
  margin-left: auto;
  flex: 0 0 auto;
  padding: 11px 20px;
  border-radius: 3px;
  color: #fff;
  background: var(--color-navy);
  font-size: 14px;
}
.menu-toggle, .mobile-nav { display: none; }

.hero {
  position: relative;
  height: clamp(700px, 43vw, 900px);
  background:
    linear-gradient(90deg, rgba(253,251,248,0.99) 0%, rgba(253,251,248,0.98) 42%, rgba(253,251,248,0.25) 62%, rgba(253,251,248,0) 100%),
    var(--color-warm-white);
  isolation: isolate;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(110deg, rgba(182,157,126,.10), transparent 34%);
}
.hero-visual {
  position: absolute;
  z-index: -1;
  top: 0; left: 55%;
  width: 31%;
  height: 100%;
  overflow: hidden;
}
.hero-visual img {
  position: absolute;
  left: -55px;
  bottom: 0;
  width: 100%;
  height: 113%;
  max-width: none;
  object-fit: cover;
  object-position: 48% 40%;
}
.hero-inner {
  width: min(100%, var(--content-max));
  height: 100%;
  margin: 0 auto;
  padding: clamp(36px, 2.55vw, 52px) var(--space-pc) 40px;
  display: flex;
  flex-direction: column;
}
.hero-copy { max-width: 1050px; }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #69534b;
  letter-spacing: .24em;
  font: 15px/1.2 Georgia, serif;
}
.eyebrow::after { content: ""; width: 54px; height: 1px; background: var(--color-gold); }
h1 {
  max-width: 1050px;
  margin: 30px 0 13px;
  color: var(--color-navy-deep);
  font: 600 clamp(48px, 3.55vw, 74px)/1.16 var(--font-title);
  letter-spacing: .04em;
}
.hero-copy > p {
  margin: 0;
  font-size: clamp(19px, 1.4vw, 29px);
  line-height: 1.55;
  letter-spacing: .06em;
  color: #43576b;
}
.gold-rule { display: block; width: 52px; height: 3px; margin-top: 25px; background: var(--color-gold); }
.mobile-break, .mobile-only { display: none; }

.practice-grid {
  width: 64%;
  margin-top: clamp(26px, 1.9vw, 39px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  background: transparent;
}
.practice-card {
  min-width: 0;
  min-height: clamp(170px, 11.1vw, 227px);
  padding: clamp(16px, 1vw, 20px) clamp(18px, 1.5vw, 31px);
  border: 1px solid var(--color-border);
  background: rgba(255,255,255,.31);
}
.number {
  margin-bottom: 10px;
  color: var(--color-gold);
  font: italic 28px/1 Georgia, serif;
}
.number::after { content: ""; display: inline-block; width: 24px; height: 1px; margin: 0 0 5px 13px; background: var(--color-gold); }
.practice-card h2 { margin: 0 0 8px; color: var(--color-navy); font: 600 clamp(21px, 1.5vw, 31px)/1.3 var(--font-title); }
.practice-card p { margin: 0; color: var(--color-muted); font-size: clamp(15px, 1vw, 21px); line-height: 1.55; }

.hero-info, .hero-actions, .hero-tagline { display: none; }

@media (min-width: 768px) {
  .title-accent { color: #6c1f22; }
  .gold-rule { display: none; }
  .hero-info {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 15.4%;
    height: 100%;
    display: block;
    padding: clamp(75px, 6vw, 123px) 24px 0 clamp(24px, 1.8vw, 38px);
    background: linear-gradient(90deg, rgba(247,249,251,.40), rgba(250,251,253,.92) 30%, #fafbfd);
    color: var(--color-navy-deep);
  }
  .hero-info p { margin: 0; font-size: clamp(17px, 1.27vw, 26px); line-height: 1.62; letter-spacing: .04em; }
  .hero-info-rule { display: block; width: 48px; height: 1px; margin: 44px 0 33px; background: #8d9093; }
  .hero-info small { display: block; font: 11px/1.5 Georgia, serif; letter-spacing: .11em; color: #536273; }
  .hero-actions { display: flex; align-items: center; gap: 44px; margin-top: 31px; }
  .hero-action {
    min-width: 276px;
    height: 64px;
    padding: 0 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 23px;
    border: 1px solid var(--color-navy-deep);
    border-radius: 3px;
    font-size: 21px;
    line-height: 1;
    white-space: nowrap;
  }
  .hero-action-primary { color: #fff; background: #163b59; box-shadow: 0 4px 8px rgba(12,40,65,.08); }
  .hero-action-secondary { color: var(--color-navy-deep); background: rgba(255,255,255,.48); }
  .hero-action span { font: 24px/1 Georgia, serif; }
  .hero-tagline {
    position: absolute;
    z-index: 3;
    right: 6.3%;
    bottom: 40px;
    display: block;
    margin: 0;
    color: var(--color-navy-deep);
    font-size: clamp(17px, 1.04vw, 22px);
    font-weight: 600;
    letter-spacing: .05em;
    white-space: nowrap;
  }
}

@media (max-width: 1199px) {
  :root { --header-height: 68px; }
  .header-inner { gap: 20px; }
  .brand { flex-basis: 200px; }
  .desktop-nav { gap: 15px; font-size: 13px; }
  .quick-link { padding: 9px 13px; font-size: 13px; }
  .hero-visual { width: 43%; }
  .practice-grid { width: 72%; }
}

@media (max-width: 1023px) {
  .desktop-nav, .quick-link { display: none; }
  .header-inner { justify-content: space-between; }
  .menu-toggle {
    display: flex;
    width: 42px; height: 42px;
    padding: 7px 2px;
    border: 0;
    background: transparent;
    flex-direction: column;
    justify-content: space-around;
    cursor: pointer;
  }
  .menu-toggle span { width: 100%; height: 3px; background: var(--color-navy); }
  .mobile-nav {
    position: absolute;
    top: 100%; right: 0;
    width: min(360px, 100%);
    padding: 10px 26px 22px;
    background: #fff;
    border-top: 1px solid var(--color-border);
    box-shadow: 0 16px 24px rgba(8,44,88,.08);
  }
  .mobile-nav:not([hidden]) { display: grid; }
  .mobile-nav a { padding: 13px 2px; border-bottom: 1px solid var(--color-border); color: var(--color-navy); }
  .practice-grid { width: 78%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-visual { width: 46%; opacity: .95; }
}

@media (max-width: 767px) {
  /* The mobile artwork uses an 851px canvas. Scale its geometry together. */
  @font-face {
    font-family: "Luying Mobile Songti";
    src: url("assets/fonts/mobile-songti-complete-20261015.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
  }
  @font-face {
    font-family: "Luying Mobile Numerals";
    src: url("assets/fonts/mobile-numerals.woff2") format("woff2");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
  }
  :root {
    --mobile-unit: calc(100vw / 851);
    --header-height: calc(92 * var(--mobile-unit));
    --space-mobile: calc(42 * var(--mobile-unit));
    --mobile-navy: #062451;
    --mobile-muted: #465166;
    --mobile-gold: #a17e5e;
    --mobile-serif: "Luying Mobile Songti", "Noto Serif SC", "Songti SC", "SimSun", serif;
    --mobile-hero-height: calc(657 * var(--mobile-unit));
  }
  body { font-family: var(--mobile-serif); background: #fbfaf8; }
  .site-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, .28);
    border-bottom: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  .header-inner { padding: 0 calc(42 * var(--mobile-unit)) 0 calc(50 * var(--mobile-unit)); }
  .brand { flex: 0 0 calc(302 * var(--mobile-unit)); height: calc(53 * var(--mobile-unit)); }
  .menu-toggle {
    flex: 0 0 calc(40 * var(--mobile-unit));
    width: calc(40 * var(--mobile-unit));
    height: calc(40 * var(--mobile-unit));
    padding: calc(2 * var(--mobile-unit)) 0;
  }
  .menu-toggle span { width: 100%; height: calc(3.5 * var(--mobile-unit)); background: var(--mobile-navy); }
  .hero { height: auto; min-height: auto; padding-top: 0; background: #fbfaf8; }
  .hero-visual {
    top: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: var(--mobile-hero-height);
    opacity: 1;
    background: none;
  }
  .hero-visual img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: auto;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center top;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .hero::before { display: none; }
  .hero::after { display: none; }
  .hero-inner { position: relative; z-index: 1; height: auto; min-height: 0; padding: 0 var(--space-mobile) calc(35 * var(--mobile-unit)); }
  .hero-copy { width: 100%; height: var(--mobile-hero-height); padding-top: calc(152 * var(--mobile-unit)); padding-left: calc(20 * var(--mobile-unit)); }
  .eyebrow {
    gap: calc(20 * var(--mobile-unit));
    color: var(--mobile-muted);
    font-family: "Times New Roman", Times, serif;
    font-size: calc(18 * var(--mobile-unit));
    font-weight: 400;
    line-height: calc(24 * var(--mobile-unit));
    letter-spacing: .23em;
    white-space: nowrap;
  }
  .eyebrow::after { width: calc(63 * var(--mobile-unit)); height: calc(1.2 * var(--mobile-unit)); background: var(--mobile-gold); }
  h1 {
    width: calc(375 * var(--mobile-unit));
    margin: calc(22 * var(--mobile-unit)) 0 calc(16 * var(--mobile-unit));
    color: var(--mobile-navy);
    font-family: var(--mobile-serif);
    font-size: calc(59 * var(--mobile-unit));
    font-weight: 700;
    line-height: calc(72 * var(--mobile-unit));
    letter-spacing: 0;
  }
  .mobile-break, .mobile-only { display: initial; }
  .hero-copy > p {
    width: calc(380 * var(--mobile-unit));
    color: var(--mobile-muted);
    font-size: calc(30 * var(--mobile-unit));
    font-weight: 400;
    line-height: calc(40 * var(--mobile-unit));
    letter-spacing: .03em;
  }
  .gold-rule { margin-top: calc(33 * var(--mobile-unit)); margin-left: calc(2 * var(--mobile-unit)); width: calc(55 * var(--mobile-unit)); height: calc(3 * var(--mobile-unit)); background: var(--mobile-gold); }
  .practice-grid {
    width: 100%;
    margin-top: calc(28 * var(--mobile-unit));
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(14 * var(--mobile-unit));
    border: 0;
    background: transparent;
  }
  .practice-card {
    min-height: calc(var(--mobile-card-height, 180) * var(--mobile-unit));
    padding: calc(22 * var(--mobile-unit)) calc(36 * var(--mobile-unit));
    display: grid;
    grid-template-columns: calc(104 * var(--mobile-unit)) minmax(0, 1fr);
    align-items: center;
    border: 0;
    box-shadow: inset 0 0 0 calc(1 * var(--mobile-unit)) rgba(186, 160, 135, .28);
    border-radius: calc(13 * var(--mobile-unit));
    background: linear-gradient(110deg, rgba(255,255,255,.24), rgba(255,255,255,.10) 55%, rgba(255,255,255,.22));
  }
  .number {
    position: relative;
    height: calc(88 * var(--mobile-unit));
    margin: 0;
    display: flex;
    align-items: center;
    padding-bottom: calc(18 * var(--mobile-unit));
    border: 0;
    color: var(--mobile-gold);
    font: italic 400 calc(71 * var(--mobile-unit))/1 "Luying Mobile Numerals", "Times New Roman", Times, serif;
    letter-spacing: calc(-1 * var(--mobile-unit));
    -webkit-text-stroke: calc(.3 * var(--mobile-unit)) currentColor;
  }
  .number::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: calc(1.2 * var(--mobile-unit));
    height: 100%;
    margin: 0;
    background: rgba(161,126,94,.78);
  }
  .card-copy { min-width: 0; padding-left: calc(38 * var(--mobile-unit)); }
  .practice-card h2 {
    margin-bottom: calc(7 * var(--mobile-unit));
    color: var(--mobile-navy);
    font-family: var(--mobile-serif);
    font-size: calc(34 * var(--mobile-unit));
    font-weight: 700;
    line-height: calc(45 * var(--mobile-unit));
  }
  .practice-card p {
    color: var(--mobile-muted);
    font-size: calc(26 * var(--mobile-unit));
    font-weight: 400;
    line-height: calc(37 * var(--mobile-unit));
  }
  .practice-card:nth-child(1) { --mobile-card-height: 172; }
  .practice-card:nth-child(2) { --mobile-card-height: 175; }
  .practice-card:nth-child(4) { --mobile-card-height: 177; }
  .practice-card:nth-child(6) { --mobile-card-height: 174; }
  .practice-card:first-child .number { letter-spacing: calc(-7 * var(--mobile-unit)); }
  /* Small optical corrections keep the artwork's original text wrapping. */
  .practice-card:nth-child(2) p { font-size: calc(27 * var(--mobile-unit)); }
  .practice-card:nth-child(4) p { font-size: calc(25 * var(--mobile-unit)); }
  .practice-card:nth-child(5) p { font-size: calc(24 * var(--mobile-unit)); }
}

/* Desktop first screen: composition follows the supplied 1024 × 490 reference. */
@media (min-width: 1024px) {
  :root { --header-height: 96px; }
  .site-header {
    background: rgba(255, 255, 255, .88);
    border-bottom-color: rgba(8, 44, 88, .025);
  }
  .header-inner { padding-left: clamp(40px, 2.45vw, 50px); }
  .brand { flex-basis: clamp(245px, 19vw, 390px); }
  .desktop-nav {
    margin-left: clamp(38px, 5.9vw, 120px);
    gap: clamp(20px, 2.98vw, 61px);
    font-size: clamp(14px, .93vw, 19px);
  }
  .desktop-nav a.active::after { bottom: 20px; }
  .quick-link {
    padding: 15px 34px;
    font-size: clamp(14px, .88vw, 18px);
    transform: translateX(22px);
  }
  .hero {
    height: clamp(700px, 43.16vw, 900px);
    background: url("assets/hero-desktop.webp") right top / 64.5% auto no-repeat #faf9f7;
  }
  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      rgba(250,249,247,.97) 0%,
      rgba(250,249,247,.94) 39%,
      rgba(250,249,247,.80) 54%,
      rgba(250,249,247,.38) 62%,
      rgba(250,249,247,0) 73%);
  }
  .hero::after {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg,
      transparent 78%,
      rgba(255,255,255,.25) 85%,
      rgba(255,255,255,.60) 92%,
      rgba(255,255,255,.67) 100%);
  }
  .hero-visual {
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  .hero-visual img {
    position: absolute;
    top: clamp(-155px, -7.57vw, -85px);
    bottom: auto;
    left: 44.5%;
    width: 46.5%;
    height: auto;
    max-width: none;
    object-fit: contain;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 89%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 89%, transparent 100%);
  }
  .hero-inner { position: relative; z-index: 1; }
  h1 {
    font-size: clamp(50px, 3.86vw, 79px);
    font-weight: 700;
    letter-spacing: .035em;
    margin-bottom: 8px;
  }
  .hero-copy > p {
    font-size: clamp(21px, 1.86vw, 38px);
    letter-spacing: .045em;
    color: #455263;
  }
  .practice-grid { margin-top: clamp(24px, 1.22vw, 25px); }
  .practice-card {
    padding: clamp(14px, .68vw, 17px) clamp(18px, 1.5vw, 31px);
    border-color: rgba(155, 157, 157, .25);
    background: rgba(255, 255, 255, .15);
  }
  .practice-card:nth-child(-n + 3) { min-height: clamp(165px, 10.65vw, 218px); }
  .practice-card:nth-child(n + 4) { min-height: clamp(175px, 11.33vw, 232px); }
  .number, .number::after { color: #966a5f; }
  .number::after { background: #a67a6d; }
  .practice-card h2 { color: #092c4c; font-weight: 700; }
  .practice-card p { color: #666a70; }
  .hero-info {
    background: transparent;
  }
  .hero-info p { color: #2b435f; }
  .hero-info small { color: #5d6874; }
  .hero-actions { gap: clamp(42px, 2.35vw, 48px); margin-top: 35px; }
  .hero-action-primary { min-width: 292px; }
  .hero-action-secondary { background: rgba(255,255,255,.42); }
}

@media (min-width: 1024px) and (max-width: 1599px) {
  .header-inner { padding-left: clamp(30px, 3vw, 44px); gap: 16px; }
  .brand { flex-basis: clamp(210px, 19vw, 280px); }
  .desktop-nav {
    margin-left: clamp(20px, 3.6vw, 52px);
    gap: clamp(14px, 1.85vw, 27px);
    font-size: clamp(13px, 1.04vw, 16px);
  }
  .quick-link { padding: 11px 18px; font-size: 14px; transform: none; }
  .hero-info { padding-right: 10px; }
  .hero-info p { font-size: clamp(15px, 1.3vw, 20px); }
  .hero-info small { font-size: 9px; letter-spacing: .06em; }
}

@media (min-width: 1024px) and (max-width: 1399px) {
  .hero-visual img {
    left: calc(50% - 140px);
    width: 660px;
    top: -125px;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .practice-card { background: rgba(255,255,255,.72); }
  .hero-action-secondary { background: rgba(255,255,255,.78); }
}

/* Below-the-fold PC content. Existing hero and mobile rules are preserved. */
.pc-content { display: none; }
@media (min-width: 1024px) {
  @font-face { font-family: "Luying PC Songti"; src: url("assets/fonts/mobile-songti.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
  .pc-content { --u: min(.09765625vw, 1.875px); display: block; color: #082650; background: #fff; font-family: "Luying PC Songti", "SimSun", serif; font-size: calc(12 * var(--u)); }
  .pc-content p,.pc-content h2,.pc-content h3 { margin: 0; }
  .pc-content h2 { font-size: calc(24 * var(--u)); font-weight: 700; line-height: 1.4; letter-spacing: .035em; }
  .pc-content h3 { font-size: calc(14 * var(--u)); line-height: 1.5; font-weight: 700; }
  .pc-container { width: min(100%,1920px); margin: 0 auto; padding-left: calc(54 * var(--u)); padding-right: calc(51 * var(--u)); }
  .pc-heading { display: flex; align-items: center; gap: calc(20 * var(--u)); position: relative; padding-bottom: calc(12 * var(--u)); }
  .pc-heading h2 { position: relative; flex-shrink: 0; }
  .pc-heading h2::after { content: ""; position: absolute; width: calc(19 * var(--u)); height: 1px; background: #a5525a; bottom: calc(-4 * var(--u)); left: 0; }
  .pc-heading > p { font-size: calc(11 * var(--u)); line-height: 1.6; color: #73809a; }
  .pc-heading > small { margin-left: auto; text-align: right; flex-shrink: 0; font: calc(10 * var(--u))/1.5 Georgia, "Luying PC Songti", serif; letter-spacing: .07em; color: #73809a; }
  .pc-cards { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: calc(8 * var(--u)); }
  .pc-card { border: 1px solid #e6e6e7; padding: calc(11 * var(--u)) calc(16 * var(--u)); min-width: 0; }
  .pc-number { font: italic calc(23 * var(--u))/1.1 "Times New Roman",serif; color: #9a2532; display: block; }
  .pc-card p { margin-top: calc(9 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.55; color: #40567c; }
  .pc-concerns { padding-top: calc(12 * var(--u)); padding-bottom: calc(9 * var(--u)); }
  .pc-concerns .pc-card { min-height: calc(93 * var(--u)); }
  .pc-concerns .pc-heading > small { font-family: "Luying PC Songti",serif; letter-spacing: 0; }
  .pc-process { background: #faf9f7; padding-top: calc(10 * var(--u)); padding-bottom: calc(14 * var(--u)); }
  .pc-process .pc-heading > small { font-family: "Luying PC Songti",serif; font-size: calc(11 * var(--u)); }
  .pc-flow { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: calc(14 * var(--u)); }
  .pc-flow-item { position: relative; min-width: 0; }
  .pc-flow-item:not(:last-child)::before { content:""; position:absolute; height:1px; background:#d9dce2; top:calc(23 * var(--u)); left:calc(70 * var(--u)); width:calc(100% - 8 * var(--u)); }
  .pc-flow-item:not(:last-child)::after { content:""; position:absolute; width:calc(6 * var(--u)); height:calc(6 * var(--u)); border-top:1px solid #53658a; border-right:1px solid #53658a; transform:rotate(45deg); top:calc(20 * var(--u)); right:calc(9 * var(--u)); background:#faf9f7; }
  .pc-flow-circle { position: relative; width:calc(47 * var(--u)); height:calc(47 * var(--u)); border:1px solid #d9dce2; border-radius:50%; background:#fafafa; margin:0 0 calc(6 * var(--u)) calc(23 * var(--u)); display:flex; align-items:center; justify-content:center; }
  .pc-flow-circle img { width:calc(23 * var(--u)); height:calc(25 * var(--u)); object-fit:contain; }
  .pc-flow-copy { display:flex; align-items:baseline; gap:calc(12 * var(--u)); }
  .pc-flow-copy .pc-number { font-size:calc(17 * var(--u)); }
  .pc-flow-copy h3 { font-size:calc(13 * var(--u)); white-space:nowrap; }
  .pc-flow-copy p { font-size:calc(11 * var(--u)); color:#42557a; line-height:1.6; white-space:nowrap; }
  .pc-assets { padding-top:calc(9 * var(--u)); padding-bottom:calc(10 * var(--u)); }
  .pc-assets .pc-heading { padding-bottom:0; }
  .pc-asset-map { height:calc(145 * var(--u)); position:relative; }
  .pc-asset-map svg { position:absolute; inset:0; width:100%; height:100%; }
  .pc-asset-node { position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%); min-width:calc(64 * var(--u)); padding:calc(7 * var(--u)) calc(17 * var(--u)); border-radius:50%; background:linear-gradient(#f9f9f9,#f2f2f2); text-align:center; font-size:calc(11 * var(--u)); font-weight:600; white-space:nowrap; }
  .pc-asset-center { position:absolute; left:50%; top:49%; transform:translate(-50%,-50%); width:calc(194 * var(--u)); height:calc(60 * var(--u)); border-radius:50%; background:radial-gradient(ellipse at 38% 0%,#3c6892,#143650 70%,#0c2943); color:white; display:flex; justify-content:center; align-items:center; font-size:calc(16 * var(--u)); }
  .pc-map-note { position:absolute; right:0; bottom:calc(7 * var(--u)); border-left:1px solid #64789a; padding-left:calc(12 * var(--u)); color:#7b879f; font-size:calc(10 * var(--u)); line-height:1.5; }
  .pc-affair { max-width:1920px; margin:0 auto; display:grid; grid-template-columns:26.5% 1fr; gap:calc(26 * var(--u)); padding-right:calc(49 * var(--u)); align-items:stretch; }
  .pc-affair-photo { width:100%; height:calc(119 * var(--u)); object-fit:cover; object-position:center; }
  .pc-affair-body { padding-top:calc(2 * var(--u)); min-width:0; }
  .pc-affair h2 { font-size:calc(21 * var(--u)); letter-spacing:.015em; }
  .pc-affair .pc-heading { padding-bottom:calc(7 * var(--u)); }
  .pc-affair .pc-cards { grid-template-columns:.8fr 1fr 1.35fr 1.1fr 1.05fr; gap:calc(7 * var(--u)); }
  .pc-affair .pc-card { padding:calc(9 * var(--u)) calc(16 * var(--u)); min-height:calc(77 * var(--u)); }
  .pc-affair .pc-number { font-size:calc(20 * var(--u)); }
  .pc-affair .pc-card p { font-size:calc(12 * var(--u)); margin-top:calc(3 * var(--u)); line-height:1.5; }
  .pc-analysis { padding-top:calc(8 * var(--u)); padding-bottom:calc(9 * var(--u)); }
  .pc-analysis .pc-heading { padding-bottom:calc(9 * var(--u)); }
  .pc-analysis-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:calc(8 * var(--u)); }
  .pc-analysis-card { display:flex; gap:calc(17 * var(--u)); min-height:calc(78 * var(--u)); padding:calc(9 * var(--u)) calc(15 * var(--u)); border:1px solid #e7e7e8; }
  .pc-analysis-card .pc-number { font-size:calc(20 * var(--u)); padding-top:calc(3 * var(--u)); }
  .pc-analysis-card p { color:#6f7e9a; font-size:calc(11 * var(--u)); line-height:1.6; }
  .pc-lawyers { padding-top:calc(2 * var(--u)); padding-bottom:calc(7 * var(--u)); }
  .pc-lawyers .pc-heading { padding-bottom:calc(8 * var(--u)); }
  .pc-lawyer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:calc(9 * var(--u)); }
  .pc-lawyer { border:1px solid #e6e6e7; display:flex; gap:calc(17 * var(--u)); padding:calc(2 * var(--u)) calc(14 * var(--u)); align-items:center; }
  .pc-lawyer img { flex-shrink:0; height:calc(80 * var(--u)); object-fit:cover; }
  .pc-lawyer-zhang img { width:calc(119 * var(--u)); }
  .pc-lawyer-li img { width:calc(110 * var(--u)); }
  .pc-lawyer-wang img { width:calc(102 * var(--u)); }
  .pc-lawyer p { font-size:calc(10.5 * var(--u)); line-height:1.5; color:#748099; }
  .pc-lawyer h3 { font-size:calc(14 * var(--u)); }
  .pc-cta { position:relative; max-width:1920px; margin:0 auto; min-height:calc(85 * var(--u)); padding:calc(4 * var(--u)) calc(45 * var(--u)) calc(8 * var(--u)); display:flex; justify-content:center; align-items:center; background:#fafafa; overflow:hidden; }
  .pc-cta-photo { position:absolute; left:0; top:0; bottom:0; width:34%; background:url("assets/cta-background.png") left center / cover no-repeat; mask-image:linear-gradient(90deg,#000 55%,transparent); }
  .pc-cta-copy { position:relative; text-align:center; }
  .pc-cta-copy h2 { font-size:calc(19 * var(--u)); }
  .pc-cta-copy p { font-size:calc(10.5 * var(--u)); color:#73809a; line-height:1.6; }
  .pc-cta-actions { display:flex; justify-content:center; gap:calc(15 * var(--u)); margin-top:calc(5 * var(--u)); }
  .pc-button { display:flex; align-items:center; justify-content:center; gap:calc(14 * var(--u)); height:calc(27 * var(--u)); min-width:calc(108 * var(--u)); padding:0 calc(17 * var(--u)); border:1px solid #55688d; border-radius:calc(2 * var(--u)); font-size:calc(12 * var(--u)); background:white; }
  .pc-button-primary { color:white; background:linear-gradient(120deg,#204b71,#102d45); min-width:calc(116 * var(--u)); border-color:#163650; }
  .pc-phone { font-family:Georgia,serif; font-size:calc(19 * var(--u)); }
  .pc-cta-side { position:absolute; right:calc(45 * var(--u)); top:calc(26 * var(--u)); font-size:calc(11 * var(--u)); line-height:1.8; color:#54627e; }
  .pc-footer { background:linear-gradient(120deg,#14344c,#102a41); color:#e3e5ee; padding:calc(8 * var(--u)) calc(42 * var(--u)) calc(5 * var(--u)); }
  .pc-footer-main { max-width:1763px; margin:auto; display:flex; align-items:center; gap:calc(35 * var(--u)); }
  .pc-footer-logo { width:calc(118 * var(--u)); height:auto; }
  .pc-footer nav { flex:1; display:flex; justify-content:space-between; font-size:calc(9 * var(--u)); white-space:nowrap; }
  .pc-footer-contact { display:flex; align-items:center; gap:calc(8 * var(--u)); }
  .pc-footer-contact p { font:calc(12 * var(--u))/1 Georgia,serif; }
  .pc-footer-contact small { font-size:calc(8 * var(--u)); color:#b1bacb; white-space:nowrap; }
  .pc-footer-contact .pc-phone { color:#debdba; }
  .pc-footer-motto { border-left:1px solid #52677c; padding-left:calc(22 * var(--u)); font-size:calc(10 * var(--u)); line-height:1.8; letter-spacing:.3em; white-space:nowrap; }
  .pc-footer-bottom { border-top:1px solid #40546b; margin:calc(8 * var(--u)) auto 0; max-width:1763px; padding-top:calc(5 * var(--u)); display:flex; align-items:center; gap:calc(220 * var(--u)); font-size:calc(8 * var(--u)); color:#b6bfcd; }
  .pc-footer-bottom div { display:flex; gap:calc(13 * var(--u)); }
  .pc-footer-bottom i { font-style:normal; }
}
@media (min-width:1024px) {
  .pc-concerns .pc-card { padding-left:calc(12 * var(--u)); padding-right:calc(12 * var(--u)); }
  .pc-concerns .pc-card p { font-size:calc(12 * var(--u)); }
  .pc-lawyer { gap:calc(12 * var(--u)); padding-left:calc(10 * var(--u)); padding-right:calc(10 * var(--u)); }
  .pc-lawyer p { font-size:calc(10 * var(--u)); }
}
.mobile-continuation { display: none; }
@media (max-width:1023px) {
  .mobile-continuation { --u: calc(100vw / 851); display:block; background:#fbfaf8; color:#062451; font-family:var(--mobile-serif); }
  .mobile-continuation h2,.mobile-continuation h3,.mobile-continuation p { margin:0; }
  .mobile-continuation img { width:100%; height:auto; }
  .mobile-continuation .mc-pad { padding-left:calc(48 * var(--u)); padding-right:calc(48 * var(--u)); }
  .mobile-continuation .mc-heading { font-size:calc(40 * var(--u)); font-weight:700; line-height:1.45; padding-bottom:calc(25 * var(--u)); position:relative; }
  .mobile-continuation .mc-heading::after { content:""; position:absolute; bottom:calc(10 * var(--u)); left:0; width:calc(40 * var(--u)); height:calc(3 * var(--u)); background:#a17e5e; }
  .mobile-continuation .mc-intro { font-size:calc(26 * var(--u)); line-height:1.55; margin:calc(10 * var(--u)) 0 calc(24 * var(--u)); }
  .mobile-continuation .mc-window { aspect-ratio:851/466; object-fit:cover; object-position:center; }
  .mobile-continuation .mc-concerns .mc-pad { padding-top:calc(42 * var(--u)); }
  .mobile-continuation .mc-concerns-title { font-size:calc(56 * var(--u)); padding-bottom:calc(35 * var(--u)); }
  .mobile-continuation .mc-concerns-title::after { width:calc(50 * var(--u)); bottom:calc(15 * var(--u)); }
  .mobile-continuation .mc-row { display:grid; grid-template-columns:calc(148 * var(--u)) minmax(0,1fr); align-items:center; border:calc(1 * var(--u)) solid #e5ddd4; border-radius:calc(11 * var(--u)); padding:calc(23 * var(--u)) calc(38 * var(--u)); gap:calc(38 * var(--u)); background:linear-gradient(110deg,#ffffff30,#ffffff10); }
  .mobile-continuation .mc-number { font:italic calc(70 * var(--u))/1 "Luying Mobile Numerals","Times New Roman",serif; color:#a17e5e; display:flex; align-items:center; }
  .mobile-continuation .mc-row .mc-number { border-right:calc(1.3 * var(--u)) solid #a17e5e; min-height:calc(78 * var(--u)); }
  .mobile-continuation .mc-row > div { font-size:calc(34 * var(--u)); line-height:1.5; }
  .mobile-continuation .mc-concern-list { display:grid; gap:calc(14 * var(--u)); }
  .mobile-continuation .mc-concern-list .mc-row { min-height:calc(138 * var(--u)); grid-template-columns:calc(110 * var(--u)) minmax(0,1fr); }
  .mobile-continuation .mc-concern-list .mc-row > div { font-size:calc(32 * var(--u)); letter-spacing:calc(-.6 * var(--u)); }
  .mobile-continuation .mc-concern-list .mc-row:first-child { min-height:calc(148 * var(--u)); }
  .mobile-continuation .mc-process { padding-top:calc(86 * var(--u)); padding-bottom:calc(58 * var(--u)); }
  .mobile-continuation .mc-process .mc-heading { font-size:calc(39 * var(--u)); white-space:nowrap; }
  .mobile-continuation .mc-flow { padding:calc(14 * var(--u)) calc(55 * var(--u)) 0; }
  .mobile-continuation .mc-flow-item { position:relative; display:grid; grid-template-columns:calc(92 * var(--u)) calc(78 * var(--u)) minmax(0,1fr); column-gap:calc(36 * var(--u)); align-items:center; min-height:calc(125 * var(--u)); }
  .mobile-continuation .mc-flow-item:not(:last-child)::before { content:""; position:absolute; top:50%; bottom:-50%; left:calc(45 * var(--u)); width:calc(2 * var(--u)); background:#a17e5e; }
  .mobile-continuation .mc-flow-icon { position:relative; width:calc(92 * var(--u)); height:calc(92 * var(--u)); border:calc(1.4 * var(--u)) solid #ddcbbb; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .mobile-continuation .mc-flow-icon img { width:calc(46 * var(--u)); height:calc(48 * var(--u)); object-fit:contain; }
  .mobile-continuation .mc-flow .mc-number { font-size:calc(46 * var(--u)); }
  .mobile-continuation .mc-flow h3 { font-size:calc(32 * var(--u)); line-height:1.5; white-space:nowrap; }
  .mobile-continuation .mc-flow p { font-size:calc(28 * var(--u)); line-height:1.6; white-space:nowrap; }
  .mobile-continuation .mc-assets { background:#ffffff80; padding-top:calc(30 * var(--u)); padding-bottom:calc(100 * var(--u)); }
  .mobile-continuation .mc-assets .mc-heading { font-size:calc(48 * var(--u)); }
  .mobile-continuation .mc-assets .mc-intro { font-size:calc(23 * var(--u)); }
  .mobile-continuation .mc-asset-title { border-radius:calc(40 * var(--u)); color:white; background:linear-gradient(125deg,#245579,#15344e); text-align:center; padding:calc(13 * var(--u)); font-size:calc(34 * var(--u)); margin-bottom:calc(16 * var(--u)); }
  .mobile-continuation .mc-asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:calc(11 * var(--u)) calc(16 * var(--u)); }
  .mobile-continuation .mc-asset-grid > div { border:calc(1 * var(--u)) solid #e5ddd4; border-radius:calc(7 * var(--u)); text-align:center; padding:calc(15 * var(--u)); font-size:calc(28 * var(--u)); }
  .mobile-continuation .mc-affair .mc-pad { padding-top:calc(28 * var(--u)); }
  .mobile-continuation .mc-affair .mc-heading { font-size:calc(35 * var(--u)); white-space:nowrap; }
  .mobile-continuation .mc-affair-list { display:grid; gap:calc(10 * var(--u)); }
  .mobile-continuation .mc-affair-list .mc-row { grid-template-columns:calc(96 * var(--u)) minmax(0,1fr); gap:calc(36 * var(--u)); padding:calc(15 * var(--u)) calc(38 * var(--u)); min-height:calc(86 * var(--u)); }
  .mobile-continuation .mc-affair-list .mc-number { font-size:calc(56 * var(--u)); min-height:calc(50 * var(--u)); }
  .mobile-continuation .mc-affair-list .mc-row > div { font-size:calc(28 * var(--u)); }
  .mobile-continuation .mc-analysis { padding-top:calc(34 * var(--u)); padding-bottom:calc(35 * var(--u)); }
  .mobile-continuation .mc-analysis .mc-heading { font-size:calc(44 * var(--u)); }
  .mobile-continuation .mc-example { color:#fff; background:linear-gradient(120deg,#133354,#1a3a5a); border-radius:calc(7 * var(--u)); padding:calc(18 * var(--u)) calc(34 * var(--u)); margin-bottom:calc(12 * var(--u)); }
  .mobile-continuation .mc-example p { font-size:calc(24 * var(--u)); line-height:1.6; }
  .mobile-continuation .mc-example h3 { font-size:calc(34 * var(--u)); line-height:1.4; margin:calc(7 * var(--u)) 0; }
  .mobile-continuation .mc-analysis-list { display:grid; gap:calc(10 * var(--u)); }
  .mobile-continuation .mc-analysis-list .mc-row { grid-template-columns:calc(94 * var(--u)) minmax(0,1fr); gap:calc(33 * var(--u)); padding:calc(12 * var(--u)) calc(38 * var(--u)); border-radius:calc(7 * var(--u)); }
  .mobile-continuation .mc-analysis-list .mc-number { font-size:calc(54 * var(--u)); min-height:calc(50 * var(--u)); }
  .mobile-continuation .mc-analysis-list h3 { font-size:calc(26 * var(--u)); line-height:1.4; }
  .mobile-continuation .mc-analysis-list p { font-size:calc(21 * var(--u)); line-height:1.5; }
  .mobile-continuation .mc-lawyers { padding-top:calc(38 * var(--u)); padding-bottom:calc(36 * var(--u)); }
  .mobile-continuation .mc-lawyers .mc-heading { font-size:calc(58 * var(--u)); }
  .mobile-continuation .mc-lawyers .mc-intro { font-size:calc(30 * var(--u)); margin-bottom:calc(28 * var(--u)); }
  .mobile-continuation .mc-lawyer-list { margin:0 calc(-5 * var(--u)); display:grid; gap:calc(15 * var(--u)); }
  .mobile-continuation .mc-lawyer { border:calc(1 * var(--u)) solid #e5d8c9; border-radius:calc(9 * var(--u)); padding:calc(11 * var(--u)); }
  .mobile-continuation .mc-lawyer > img { border-radius:calc(5 * var(--u)); }
  .mobile-continuation .mc-lawyer > div { padding:calc(12 * var(--u)) calc(18 * var(--u)) calc(6 * var(--u)); }
  .mobile-continuation .mc-lawyer h3 { font-size:calc(40 * var(--u)); line-height:1.4; }
  .mobile-continuation .mc-lawyer p { font-size:calc(28 * var(--u)); line-height:1.45; }
  .mobile-continuation .mc-lawyer .mc-role { color:#a17e5e; margin:calc(4 * var(--u)) 0 calc(6 * var(--u)); }
  .mobile-continuation .mc-cta { position:relative; }
  .mobile-continuation .mc-cta-copy { position:absolute; top:calc(103 * var(--u)); left:calc(60 * var(--u)); }
  .mobile-continuation .mc-cta h2 { font-size:calc(60 * var(--u)); line-height:1.3; font-weight:700; }
  .mobile-continuation .mc-rule { display:block; width:calc(65 * var(--u)); height:calc(4 * var(--u)); background:#a17e5e; margin:calc(38 * var(--u)) 0 calc(29 * var(--u)); }
  .mobile-continuation .mc-cta p { font-size:calc(30 * var(--u)); line-height:1.5; }
  .mobile-continuation .mc-actions { display:grid; gap:calc(16 * var(--u)); margin-top:calc(46 * var(--u)); }
  .mobile-continuation .mc-actions a { width:calc(446 * var(--u)); height:calc(98 * var(--u)); border:calc(2 * var(--u)) solid #1e466d; border-radius:calc(11 * var(--u)); background:#ffffff90; color:#062451; font:600 calc(36 * var(--u))/1.3 var(--mobile-serif); display:flex; align-items:center; justify-content:center; gap:calc(24 * var(--u)); opacity:1; }
  .mobile-continuation .mc-actions a:first-child { color:white; background:linear-gradient(120deg,#19436b,#214e76); border-color:#ffffffa0; }
  .mobile-continuation .mc-actions a span { font-family:Arial,sans-serif; }
  .mobile-continuation .mc-phone { width:calc(45 * var(--u)); height:calc(45 * var(--u)); flex-shrink:0; }
  .mobile-continuation .mc-footer { background:linear-gradient(120deg,#103253,#0c2a49); color:#fff; padding:calc(62 * var(--u)) calc(62 * var(--u)) calc(116 * var(--u)); }
  .mobile-continuation .mc-footer-logo { width:calc(409 * var(--u)); }
  .mobile-continuation .mc-footer nav { display:grid; grid-template-columns:1fr 1fr; margin:calc(62 * var(--u)) 0 calc(42 * var(--u)); }
  .mobile-continuation .mc-footer nav > div { display:grid; gap:calc(16 * var(--u)); font-size:calc(30 * var(--u)); line-height:1.3; }
  .mobile-continuation .mc-footer nav > div + div { border-left:calc(1 * var(--u)) solid #ffffff50; padding-left:calc(70 * var(--u)); }
  .mobile-continuation .mc-contact { display:flex; align-items:center; gap:calc(38 * var(--u)); padding:calc(38 * var(--u)) 0; border-top:calc(1 * var(--u)) solid #ffffff60; border-bottom:calc(1 * var(--u)) solid #ffffff60; }
  .mobile-continuation .mc-contact .mc-phone { color:#dfc4a3; width:calc(56 * var(--u)); height:calc(56 * var(--u)); }
  .mobile-continuation .mc-contact p { font:calc(34 * var(--u))/1.4 "Times New Roman",var(--mobile-serif); }
  .mobile-continuation .mc-contact small { font-size:calc(24 * var(--u)); line-height:1.6; }
  .mobile-continuation .mc-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:calc(24 * var(--u)); margin-top:calc(42 * var(--u)); }
  .mobile-continuation .mc-footer-bottom p { font-size:calc(23 * var(--u)); line-height:1.6; white-space:nowrap; }
  .mobile-continuation .mc-footer-bottom p + p { border-left:calc(1 * var(--u)) solid white; padding-left:calc(30 * var(--u)); font-size:calc(22 * var(--u)); letter-spacing:.22em; }
}

/* Tablet continuation shares the complete mobile section geometry. */
@media (min-width:768px) and (max-width:1023px) {
  @font-face { font-family:"Luying Mobile Songti"; src:url("assets/fonts/mobile-songti-complete-20261015.woff2") format("woff2"); font-weight:200 900; font-display:swap; }
  @font-face { font-family:"Luying Mobile Numerals"; src:url("assets/fonts/mobile-numerals.woff2") format("woff2"); font-style:italic; font-weight:400; font-display:swap; }
  .mobile-continuation { --mobile-serif:"Luying Mobile Songti","Noto Serif SC","Songti SC","SimSun",serif; }
}
/* Desktop telephone consultation: isolated from existing page components. */
.phone-consultation-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(480px, calc(100vw - 48px));
  padding: 48px 32px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: #18364b;
  text-align: center;
  box-shadow: 0 20px 64px rgba(15, 35, 50, .24);
}
.phone-consultation-dialog::backdrop { background: rgba(15, 30, 43, .48); }
.phone-consultation-dialog h2 { margin: 0 0 24px; font-size: 24px; font-weight: 600; }
.phone-consultation-number { margin: 0; font-size: 40px; line-height: 1.4; white-space: nowrap; user-select: text; }
.phone-consultation-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #18364b;
  font: 30px/1 sans-serif;
  cursor: pointer;
}
.phone-consultation-close:focus-visible { outline: 2px solid #18364b; outline-offset: 2px; }

/* Labels and spacing for the two independent consultation numbers. */
.phone-consultation-label { display: block; font-size: 24px; }
.phone-consultation-number + .phone-consultation-number { margin-top: 16px; }
.pc-footer-contact p + p { margin-top: calc(6 * var(--u)); }

/* Global mobile consultation; transparent touch area aligns with Hero copy. */
.mobile-quick-consult { display: none; }
@media (max-width: 767px) {
  .mobile-quick-consult {
    position: fixed;
    z-index: 90;
    left: 6.5vw;
    margin-left: -12px;
    /* Keep the visible line near 26.5% of the viewport, below the subtitle. */
    top: clamp(54.65vw, calc(26.5svh - 10px), 60vw);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 12px;
    color: var(--mobile-navy);
    font-family: var(--mobile-serif);
    font-size: clamp(14px, 3.6vw, 18px);
    line-height: 24px;
    font-weight: 400;
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    animation: none;
    transition: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-quick-consult-phone { color: var(--mobile-gold); width: 18px; height: 18px; flex: 0 0 18px; }
  .mobile-quick-consult:active { opacity: 0.65; }
}

/* Reuse the existing menu state without changing its toggle logic. */
@media (max-width: 767px) {
  .site-header:has(.menu-toggle[aria-expanded="true"]) ~ .mobile-quick-consult {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

/* Complete Songti character coverage for mobile navigation only. */
@media (max-width: 767px) {
  @font-face {
    font-family: "Luying Mobile Navigation";
    src: url("assets/fonts/mobile-songti-complete-20261015.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 900;
    font-display: swap;
  }
  .mobile-nav a { font-family: "Luying Mobile Navigation", var(--mobile-serif); }
}

/* Match the repaired navigation font on consultation text only. */
@media (max-width: 767px) {
  .mobile-quick-consult > span:not([aria-hidden]) {
    font-family: "Luying Mobile Navigation", var(--mobile-serif);
    font-weight: inherit;
    font-style: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
  }
}

/* Narrow dropdown follows the existing mobile hamburger's right inset. */
@media (max-width: 767px) {
  .mobile-nav {
    top: calc(100% + 4px);
    right: calc(42 * var(--mobile-unit));
    width: clamp(88px, 26vw, 116px);
    padding: 0;
    background: rgba(255, 255, 255, 0.90);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(168, 138, 104, 0.18);
    border-radius: 2px;
    box-shadow: 0 4px 12px rgba(8, 44, 88, 0.06);
  }
  .mobile-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 64px;
    padding: 0 8px;
    border-bottom: 1px solid rgba(168, 138, 104, 0.18);
    text-align: center;
  }
  .mobile-nav a:last-child { border-bottom: 0; }
}

/* First-screen actions: proportions measured against the 1024-wide design. */
@media (min-width: 1024px) {
  .hero-actions {
    --hero-action-unit: .09765625vw;
    gap: calc(24 * var(--hero-action-unit));
    margin-top: calc(15 * var(--hero-action-unit));
  }
  .hero-action {
    box-sizing: border-box;
    flex: 0 0 auto;
    min-width: 0;
    width: calc(139 * var(--hero-action-unit));
    height: calc(34 * var(--hero-action-unit));
    padding: 0 calc(23 * var(--hero-action-unit));
    gap: calc(10 * var(--hero-action-unit));
    font-size: calc(13 * var(--hero-action-unit));
  }
  .hero-action-primary { min-width: 0; width: calc(146 * var(--hero-action-unit)); }
  .hero-action span { font-size: calc(16 * var(--hero-action-unit)); line-height: 1; }
}

/* Consultation questions inherit the surrounding page geometry. */
.consultation-questions { color:inherit; background:transparent; font-family:inherit; }
.consultation-questions p,.consultation-questions h2,.consultation-questions h3 { margin:0; }
.cq-eyebrow,.cq-topic,.cq-note { display:none; }
.cq-heading { display:flex; align-items:center; gap:24px; }
.cq-title { position:relative; }
.cq-title::after { content:''; position:absolute; left:0; background:#a17e5e; }
.cq-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cq-card { min-width:0; border:1px solid #e5ddd4; background:transparent; }
.cq-num { font-style:italic; font-family:Georgia,serif; color:#a17e5e; }
.cq-invite { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e5ddd4; }
.cq-button { display:flex; align-items:center; justify-content:space-between; color:#fff; background:#173b55; text-decoration:none; white-space:nowrap; min-height:44px; }
.cq-button span { font-family:Arial,sans-serif; }
.cq-button:focus-visible { outline:2px solid #a17e5e; outline-offset:4px; }
@media(min-width:1024px) {
 .cq-container { width:min(100%,1920px); margin:auto; padding:calc(17 * var(--u)) calc(51 * var(--u)) calc(15 * var(--u)) calc(54 * var(--u)); }
 .cq-heading { gap:calc(20 * var(--u)); padding-bottom:calc(16 * var(--u)); }
 .consultation-questions .cq-title { font-size:calc(24 * var(--u)); font-weight:700; line-height:1.4; letter-spacing:.035em; flex-shrink:0; }
 .cq-title::after { width:calc(19 * var(--u)); height:1px; bottom:calc(-4 * var(--u)); background:#a5525a; }
 .consultation-questions .cq-intro { font-size:calc(11 * var(--u)); line-height:1.6; color:#73809a; }
 .cq-intro br,.cq-card h3 br { display:none; }
 .cq-cards { gap:calc(8 * var(--u)); }
 .cq-card { padding:calc(13 * var(--u)) calc(16 * var(--u)); border-color:#e6e6e7; }
 .cq-topline { margin-bottom:calc(7 * var(--u)); }
 .cq-num { font-size:calc(23 * var(--u)); line-height:1.1; color:#9a2532; }
 .consultation-questions .cq-card h3 { font-size:calc(14 * var(--u)); line-height:1.5; margin-bottom:calc(7 * var(--u)); }
 .consultation-questions .cq-card p { font-size:calc(11 * var(--u)); line-height:1.8; color:#6f7e9a; }
 .cq-invite { margin-top:calc(14 * var(--u)); padding-top:calc(12 * var(--u)); gap:calc(20 * var(--u)); }
 .consultation-questions .cq-invite h3 { font-size:calc(15 * var(--u)); line-height:1.5; margin-bottom:calc(3 * var(--u)); }
 .consultation-questions .cq-invite p { font-size:calc(11 * var(--u)); line-height:1.7; color:#73809a; }
 .cq-invite p br { display:none; }
 .cq-button { padding:calc(9 * var(--u)) calc(18 * var(--u)); gap:calc(22 * var(--u)); border-radius:calc(2 * var(--u)); font-size:calc(12 * var(--u)); }
}
@media(max-width:1023px) {
 .mobile-continuation .mc-assets { padding-bottom:calc(36 * var(--u)); background:transparent; }
 .cq-container { padding:calc(30 * var(--u)) calc(48 * var(--u)) calc(35 * var(--u)); }
 .cq-heading { display:block; }
 .consultation-questions .cq-title { font-size:calc(44 * var(--u)); font-weight:700; line-height:1.45; padding-bottom:calc(25 * var(--u)); letter-spacing:0; }
 .cq-title::after { bottom:calc(10 * var(--u)); width:calc(40 * var(--u)); height:calc(3 * var(--u)); }
 .consultation-questions .cq-intro { font-size:calc(26 * var(--u)); line-height:1.65; margin:calc(10 * var(--u)) 0 calc(24 * var(--u)); }
 .cq-intro br,.cq-card h3 br { display:none; }
 .cq-cards { grid-template-columns:1fr; gap:calc(14 * var(--u)); }
 .cq-card { position:relative; padding:calc(24 * var(--u)) calc(26 * var(--u)) calc(24 * var(--u)) calc(139 * var(--u)); border-radius:calc(9 * var(--u)); }
 .cq-topline { position:absolute; left:calc(26 * var(--u)); top:calc(26 * var(--u)); width:calc(86 * var(--u)); border-right:1px solid #b99d7d; }
 .cq-num { font-size:calc(54 * var(--u)); line-height:1.1; }
 .consultation-questions .cq-card h3 { font-size:calc(32 * var(--u)); line-height:1.5; margin-bottom:calc(10 * var(--u)); font-weight:700; }
 .consultation-questions .cq-card p { font-size:calc(28 * var(--u)); line-height:1.8; color:#405674; }
 .cq-invite { display:block; margin-top:calc(28 * var(--u)); padding-top:calc(25 * var(--u)); }
 .consultation-questions .cq-invite h3 { font-size:calc(32 * var(--u)); line-height:1.5; margin-bottom:calc(8 * var(--u)); }
 .consultation-questions .cq-invite p { font-size:calc(26 * var(--u)); line-height:1.7; color:#405674; }
 .cq-button { margin-top:calc(24 * var(--u)); padding:calc(22 * var(--u)) calc(30 * var(--u)); border-radius:calc(7 * var(--u)); font-size:calc(32 * var(--u)); }
}

/* Restore the scene as the introduction to the consultation questions. */
.cq-scene { display:block; min-width:0; overflow:hidden; }
.cq-scene img { display:block; width:100%; height:100%; object-fit:cover; }
@media(max-width:1023px) {
 .mobile-continuation .mc-assets { padding-bottom:calc(60 * var(--u)); }
 .mobile-continuation .cq-scene { aspect-ratio:851/477; }
 .mobile-continuation .cq-scene img { width:100%; height:100%; object-position:center 48%; }
 .cq-container { padding-top:calc(34 * var(--u)); padding-bottom:calc(30 * var(--u)); }
 .consultation-questions .cq-intro { margin-bottom:calc(28 * var(--u)); }
 .cq-card { padding:calc(25 * var(--u)) calc(26 * var(--u)) calc(25 * var(--u)) calc(119 * var(--u)); }
 .cq-topline { top:calc(27 * var(--u)); width:calc(67 * var(--u)); }
 .cq-num { font-size:calc(48 * var(--u)); }
 .consultation-questions .cq-card h3 { font-size:calc(32 * var(--u)); margin-bottom:calc(12 * var(--u)); }
 .cq-invite { margin-top:calc(30 * var(--u)); }
}
@media(min-width:1024px) {
 .pc-content .consultation-questions { display:grid; grid-template-columns:30% minmax(0,1fr); width:min(100%,1920px); margin:calc(14 * var(--u)) auto calc(12 * var(--u)); background:#faf9f7; }
 .pc-content .cq-scene { position:relative; }
 .pc-content .cq-scene img {
  position:absolute;
  inset:calc(22 * var(--u)) 0 calc(22 * var(--u)) calc(28 * var(--u));
  width:calc(100% - 28 * var(--u));
  height:calc(100% - 44 * var(--u));
  object-fit:cover;
  object-position:center center;
  border-radius:calc(3 * var(--u));
 }
 .cq-container { width:100%; padding:calc(22 * var(--u)) calc(51 * var(--u)) calc(22 * var(--u)) calc(28 * var(--u)); }
 .cq-heading { display:block; padding-bottom:calc(14 * var(--u)); }
 .consultation-questions .cq-intro { margin-top:calc(11 * var(--u)); }
 .cq-cards { grid-template-columns:1fr; gap:calc(8 * var(--u)); }
 .cq-card { position:relative; padding:calc(11 * var(--u)) calc(15 * var(--u)) calc(11 * var(--u)) calc(57 * var(--u)); background:#ffffff70; }
 .cq-topline { position:absolute; left:calc(14 * var(--u)); top:calc(14 * var(--u)); margin:0; }
 .cq-num { font-size:calc(21 * var(--u)); color:#a17e5e; }
 .consultation-questions .cq-card h3 { margin-bottom:calc(4 * var(--u)); }
 .consultation-questions .cq-invite h3 { font-size:calc(14 * var(--u)); }
 .consultation-questions .cq-invite p { font-size:calc(10 * var(--u)); }
}

/* Mobile consultation invitation: pale outlined action, scoped to this region. */
@media (max-width:1023px) {
 .mobile-continuation .consultation-questions .cq-invite {
  background:transparent;
  border:0;
  border-top:1px solid #a17e5e;
  border-radius:0;
  box-shadow:none;
  padding-top:calc(32 * var(--u));
  text-align:left;
 }
 .mobile-continuation .consultation-questions .cq-invite h3 {
  color:#082c58;
  font-family:inherit;
  font-weight:700;
  margin-bottom:calc(13 * var(--u));
 }
 .mobile-continuation .consultation-questions .cq-invite p {
  color:#526b80;
  line-height:1.95;
 }
 .mobile-continuation .consultation-questions .cq-invite .cq-button {
  display:inline-flex;
  justify-content:flex-start;
  align-items:center;
  width:auto;
  max-width:100%;
  min-height:46px;
  margin-top:calc(30 * var(--u));
  padding:12px 20px;
  gap:36px;
  border:1px solid #082c58;
  border-radius:4px;
  background:transparent;
  color:#082c58;
  font-family:inherit;
  font-size:clamp(14px,calc(32 * var(--u)),20px);
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
  box-shadow:none;
 }
 .mobile-continuation .consultation-questions .cq-invite .cq-button span {
  color:inherit;
  font-family:Arial,sans-serif;
  font-weight:400;
  font-size:1.2em;
  line-height:1;
 }
}
