/* Final Figma-to-production parity recovery — exactly 16 approved pages. */
:root {
  --ec-final-navy: #00263e;
  --ec-final-orange: #ff8200;
  --ec-final-lake: #5bb8b5;
  --ec-final-jade: #379a97;
  --ec-final-white: #fff;
  --ec-final-cool: #f4f6f7;
  --ec-final-border: #d7e0e4;
  --ec-final-secondary: #506a79;
  --ec-final-shell: 1296px;
}

body:is(.home,.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) #page.site.grid-container,
body:is(.home,.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .site-content.grid-container {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body:is(.home,.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) :where(.inside-article,.entry-content) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb-wrap {
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px max(24px, calc((100vw - var(--ec-final-shell)) / 2)) 10px !important;
  border: 0 !important;
  background: var(--ec-final-white) !important;
  box-shadow: none !important;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb {
  width: 100%;
  max-width: var(--ec-final-shell);
  margin: 0 auto;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 7px;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--ec-final-secondary);
  font-family: "Inter Visa Exact", Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .02em;
  list-style: none;
  text-transform: none;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb li {
  min-width: 0;
  margin: 0;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb li:last-child {
  overflow: hidden;
  color: var(--ec-final-navy);
  text-overflow: ellipsis;
  white-space: nowrap;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb li:not(:last-child)::after {
  content: "/";
  margin-left: 7px;
  color: var(--ec-final-orange);
  font-weight: 700;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb a:is(:hover,:focus-visible) {
  color: var(--ec-final-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Homepage — exact approved additive refinement. */
.home .ec-home-about,
.home .ec-home-works,
.home .ec-home-help { box-sizing: border-box; }
.home .ec-home-about__grid {
  display: grid;
  grid-template-columns: minmax(0,540px) minmax(0,684px);
  gap: 72px;
  align-items: center;
}
.home .ec-home-about__copy { display: grid; gap: 18px; }
.home .ec-home-about__copy :where(h2,p) { margin: 0; }
.home .ec-home-about__links { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 10px; }
.home .ec-home-about__links a { color: var(--ec-final-navy); font-size: 15px; font-weight: 600; text-decoration: none; }
.home .ec-home-about__visual { min-width: 0; margin: 0; }
.home .ec-home-about__visual img { display: block; width: 100%; height: 430px; object-fit: cover; border-radius: 4px; }
.home .ec-home-works { background: #f7f7f4; }
.home .ec-home-works__intro { display: grid; grid-template-columns: minmax(0,540px) minmax(0,600px); gap: 72px; align-items: end; }
.home .ec-home-works__intro .ec-intro { margin-bottom: 8px; }
.home .ec-home-works__principles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 50px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(0,38,62,.2); }
.home .ec-home-works__principles li { display: grid; gap: 14px; min-width: 0; padding: 24px 22px 6px 0; border-right: 1px solid rgba(0,38,62,.2); }
.home .ec-home-works__principles li + li { padding-left: 22px; }
.home .ec-home-works__principles li:last-child { border-right: 0; }
.home .ec-home-works__principles span { color: var(--ec-final-orange); font-size: 12px; font-weight: 600; letter-spacing: 1.6px; }
.home .ec-home-works__principles strong { color: var(--ec-final-navy); font-size: 20px; line-height: 1.35; }
.home .ec-home-help { background: var(--ec-final-navy); color: #fff; }
.home .ec-home-help__grid { display: grid; grid-template-columns: minmax(0,540px) minmax(0,620px); gap: 84px; align-items: start; }
.home .ec-home-help :where(.ec-section-title,.ec-intro) { color: #fff; }
.home .ec-home-help .ec-eyebrow { color: var(--ec-final-orange); }
.home .ec-home-help__copy { display: grid; gap: 18px; }
.home .ec-home-help__copy :where(h2,p) { margin: 0; }
.home .ec-home-help__copy .ec-actions { margin-top: 14px; }
.home .ec-home-help__copy .ec-button--quiet { border-color: #fff; color: #fff; }
.home .ec-home-enquiry { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; padding: 32px; background: #fff; color: var(--ec-final-navy); }
.home .ec-home-enquiry h3 { grid-column: 1 / -1; margin: 0 0 4px; color: var(--ec-final-navy); font-size: 26px; line-height: 1.2; }
.home .ec-home-enquiry label { display: grid; gap: 7px; color: var(--ec-final-navy); font-size: 13px; font-weight: 600; }
.home .ec-home-enquiry label:nth-of-type(3),
.home .ec-home-enquiry label:nth-of-type(5) { grid-column: 1 / -1; }
.home .ec-home-enquiry :where(input,textarea) { width: 100%; min-width: 0; border: 1px solid var(--ec-final-border); border-radius: 0; background: var(--ec-final-cool); color: var(--ec-final-navy); font: inherit; }
.home .ec-home-enquiry .ec-button { justify-self: start; grid-column: 1 / -1; }

/* The shared Figma canvases are 1440 references, not 1200px GeneratePress pages. */
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) [data-ec-final-figma="true"] {
  width: 100%;
  max-width: none;
  overflow: clip;
}
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) [data-ec-final-figma="true"] .ecv3-shell,
body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) [data-ec-final-figma="true"] .ecv4-hero-grid {
  padding-inline: 0 !important;
}

/* Batch02: final approved Figma hierarchy and section vocabulary. */
body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ecv4-section,
body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ecv4-guide-intro,
body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ec-b2-contract-anchor,
body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ec-b2-editorial-image,
body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ec-b2-about,
body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ec-b2-help { width: 100%; }

body.page-id-112 #start-with-the-four-document-overview .ecv4-composition,
body.page-id-113 #build-the-pack-from-real-use-cases .ecv4-composition,
body.page-id-126 #check-the-lawful-route-before-investing-in-an-application .ecv4-composition {
  grid-template-columns: minmax(0,1fr);
  gap: 38px;
}
body.page-id-112 #start-with-the-four-document-overview .ecv4-section-heading,
body.page-id-113 #build-the-pack-from-real-use-cases .ecv4-section-heading,
body.page-id-126 #check-the-lawful-route-before-investing-in-an-application .ecv4-section-heading { max-width: 760px; }
body.page-id-112 #start-with-the-four-document-overview .ecv4-section-heading h2,
body.page-id-113 #build-the-pack-from-real-use-cases .ecv4-section-heading h2,
body.page-id-126 #check-the-lawful-route-before-investing-in-an-application .ecv4-section-heading h2 { font-size: clamp(44px,4.16vw,60px); line-height: 1; letter-spacing: -.06em; }

body:is(.page-id-112,.page-id-113,.page-id-126,.page-id-127) .ecv4-section-heading h2 {
  font-size: 32px;
  line-height: 38px;
  letter-spacing: -1.4px;
}

/* Global Footer remains theme-owned and matches the approved shared component. */
body:is(.home,.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-footer-navigation { background: var(--ec-final-navy) !important; }
body:is(.home,.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .site-info { background: var(--ec-final-lake) !important; }

@media (max-width: 1100px) {
  .home .ec-home-about__grid,
  .home .ec-home-works__intro,
  .home .ec-home-help__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 42px; }
  .home .ec-home-about__visual img { height: 360px; }
}

@media (max-width: 767px) {
  body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb-wrap {
    padding: 10px 20px 8px !important;
  }
  body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb ol {
    gap: 6px;
    font-size: 11px;
  }
  body:is(.page-id-111,.page-id-112,.page-id-113,.page-id-126,.page-id-127,.page-id-114,.page-id-118,.page-id-121,.page-id-128,.page-id-131,.page-id-132,.page-id-133,.page-id-134,.page-id-135,.page-id-136) .expatchina-breadcrumb li:not(:last-child)::after {
    margin-left: 6px;
  }
  .home .ec-home-about__grid,
  .home .ec-home-works__intro,
  .home .ec-home-help__grid { display: flex; flex-direction: column; gap: 28px; }
  .home .ec-home-about__visual { order: 2; width: 100%; }
  .home .ec-home-about__visual img { height: 260px; }
  .home .ec-home-about__links { flex-direction: column; gap: 12px; }
  .home .ec-home-works__principles { grid-template-columns: 1fr; margin-top: 28px; }
  .home .ec-home-works__principles li,
  .home .ec-home-works__principles li + li { grid-template-columns: 38px 1fr; gap: 12px; padding: 16px 0; border-right: 0; border-bottom: 1px solid rgba(0,38,62,.2); }
  .home .ec-home-enquiry { grid-template-columns: 1fr; padding: 24px; }
  .home .ec-home-enquiry label { grid-column: 1 !important; }
}
