/*
 * Expat divorce engagement layout
 * Route-scoped candidate for approval before canonical brand-book adoption.
 */
body.jcc-expat-engagement {
  --jcc-expat-max: 1180px;
  --jcc-expat-gap: clamp(42px, 5.5vw, 82px);
  --jcc-expat-gold: #dda646;
  --jcc-expat-forest: #355b4a;
  --jcc-expat-ivory: #f6f2ea;
  --jcc-expat-stone: #d8d2c8;
  --jcc-expat-greige: #dedad2;
  --jcc-expat-charcoal: #202020;
}
body.jcc-expat-engagement main .readiness-section {
  padding: clamp(72px, 7vw, 104px) 0;
}
body.jcc-expat-engagement main .readiness-section h2 {
  max-width: 780px;
}
body.jcc-expat-engagement main .readiness-section :is(p, li) {
  line-height: 1.68;
}
body.jcc-expat-engagement main :is(
  .jcc-expat-timing,
  .jcc-expat-faq,
  .jcc-expat-related
) > .readiness-wrap.readiness-reading {
  width: min(var(--jcc-expat-max), calc(100% - 64px)) !important;
}

/* Opening */
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__opening {
  grid-template-columns: minmax(340px, 5fr) minmax(0, 7fr);
  gap: var(--jcc-expat-gap);
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__figure {
  position: sticky;
  top: 116px;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__content {
  max-width: 700px;
}
body.jcc-expat-engagement .jcc-expat-opening__details {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--jcc-expat-gap);
  align-items: start;
}
body.jcc-expat-engagement .jcc-expat-opening__details p {
  margin-top: 0;
  max-width: 64ch;
}
body.jcc-expat-engagement .jcc-expat-opening__situations h3 {
  margin-top: 0;
}
body.jcc-expat-engagement .jcc-expat-opening .readiness-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 22px;
  margin-top: 18px;
  padding: 0;
  list-style: none;
}
body.jcc-expat-engagement .jcc-expat-opening .readiness-list li {
  position: relative;
  margin: 0;
  padding: 12px 14px 12px 32px;
  border-top: 1px solid var(--jcc-expat-stone);
  font-size: 15px;
  line-height: 1.5;
}
body.jcc-expat-engagement .jcc-expat-opening .readiness-list li::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 12px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--jcc-expat-gold);
}

/* Editorial splits */
body.jcc-expat-engagement main :is(.jcc-expat-framework, .jcc-expat-preparation) .readiness-grid {
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: var(--jcc-expat-gap);
}
body.jcc-expat-engagement main :is(.jcc-expat-framework, .jcc-expat-preparation) .readiness-reading {
  width: 100% !important;
}
body.jcc-expat-engagement main :is(.jcc-expat-framework, .jcc-expat-preparation) .readiness-card {
  position: sticky;
  top: 116px;
  padding: 30px;
}
body.jcc-expat-engagement .jcc-expat-preparation .readiness-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 30px;
  padding: 0;
  list-style: none;
}
body.jcc-expat-engagement .jcc-expat-preparation .readiness-list li {
  position: relative;
  margin: 0;
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid rgba(216, 210, 200, .78);
}
body.jcc-expat-engagement .jcc-expat-preparation .readiness-list li::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 2px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--jcc-expat-forest);
  border-radius: 50%;
}

/* Timing */
body.jcc-expat-engagement .jcc-expat-timing .readiness-list {
  counter-reset: expat-timing;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 34px 0 26px;
  padding: 0;
  list-style: none;
}
body.jcc-expat-engagement .jcc-expat-timing .readiness-list li {
  counter-increment: expat-timing;
  min-height: 170px;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--jcc-expat-stone);
  border-top: 3px solid var(--jcc-expat-gold);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(32, 32, 32, .06);
}
body.jcc-expat-engagement .jcc-expat-timing .readiness-list li::before {
  content: "0" counter(expat-timing);
  display: block;
  margin-bottom: 28px;
  color: var(--jcc-expat-forest);
  font: 700 11px/1 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .16em;
}
body.jcc-expat-engagement .jcc-expat-timing .readiness-reading > p:last-child {
  max-width: 720px;
  margin-bottom: 0;
  font-weight: 600;
  color: var(--jcc-expat-charcoal);
}

/* Route cards */
body.jcc-expat-engagement .jcc-expat-options .readiness-reading {
  width: min(760px, 100%) !important;
}
body.jcc-expat-engagement .jcc-expat-options .readiness-card-grid {
  counter-reset: expat-route;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
  margin-top: 38px;
}
body.jcc-expat-engagement .jcc-expat-options .readiness-card {
  counter-increment: expat-route;
  grid-column: span 2;
  min-height: 230px;
  padding: 28px;
}
body.jcc-expat-engagement .jcc-expat-options .readiness-card:nth-child(n + 4) {
  grid-column: span 3;
}
body.jcc-expat-engagement .jcc-expat-options .readiness-card::before {
  content: "0" counter(expat-route);
  display: block;
  margin-bottom: 42px;
  color: var(--jcc-card-accent, var(--jcc-expat-gold));
  font: 700 11px/1 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .16em;
}

/* Guided position check */
body.jcc-expat-engagement .jcc-expat-position .readiness-grid {
  grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr);
  gap: var(--jcc-expat-gap);
}
body.jcc-expat-engagement .jcc-expat-position .readiness-reading {
  width: 100% !important;
  position: sticky;
  top: 116px;
  align-self: start;
}
body.jcc-expat-engagement .jcc-expat-position .readiness-tool {
  max-width: 720px;
  margin-left: auto;
}

/* Readiness section: use the available desktop width evenly.  The checklist
   must sit beside its explanation, rather than being pushed into a narrow
   right-hand column with unused space on the left. */
@media (min-width: 981px) {
  body.jcc-expat-engagement .jcc-expat-position > .readiness-wrap.readiness-grid {
    width: min(1440px, calc(100% - 64px)) !important;
    max-width: 1440px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: clamp(28px, 4vw, 64px) !important;
  }
  body.jcc-expat-engagement .jcc-expat-position .readiness-reading {
    position: static !important;
    max-width: none !important;
  }
  body.jcc-expat-engagement .jcc-expat-position .readiness-tool {
    max-width: none !important;
    margin-left: 0 !important;
  }
}
body.jcc-expat-engagement .jcc-readiness-actions {
  margin-top: 18px;
  padding: 20px 22px;
  border: 1px solid var(--jcc-expat-stone);
  background: var(--jcc-expat-ivory);
}
body.jcc-expat-engagement .jcc-readiness-instruction {
  margin: 0 0 14px;
  color: #4f5961;
  font-size: 15px;
  line-height: 1.55;
}
body.jcc-expat-engagement .jcc-readiness-actions .readiness-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 20px;
  border: 1px solid var(--jcc-expat-forest);
  border-radius: 3px;
  color: var(--jcc-expat-ivory);
  background: var(--jcc-expat-forest);
  font: 700 12px/1.25 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
body.jcc-expat-engagement .jcc-readiness-actions .readiness-button:focus-visible {
  outline: 3px solid var(--jcc-expat-gold);
  outline-offset: 3px;
}
body.jcc-expat-engagement .jcc-expat-position .readiness-result {
  margin-top: 18px;
}
body.jcc-expat-engagement .jcc-expat-position > .readiness-wrap > .readiness-card {
  position: sticky;
  top: 116px;
  padding: 30px;
}
body.jcc-expat-engagement .readiness-tool.is-guided {
  gap: 0 !important;
  margin-top: 30px !important;
}
body.jcc-expat-engagement .readiness-tool.is-guided fieldset[hidden] {
  display: none !important;
}
body.jcc-expat-engagement .readiness-tool.is-guided fieldset {
  min-height: 360px;
  border-radius: 10px !important;
  box-shadow: 0 14px 34px rgba(32, 32, 32, .08) !important;
}
body.jcc-expat-engagement .readiness-tool.is-guided legend {
  padding: 22px 24px !important;
  background: var(--jcc-expat-ivory) !important;
  border-bottom-color: var(--jcc-expat-stone) !important;
}
body.jcc-expat-engagement .readiness-tool.is-guided fieldset:has(input[data-urgent="true"]) legend {
  background: var(--jcc-expat-charcoal) !important;
}
.jcc-expat-progress {
  margin-bottom: 18px;
}
.jcc-expat-progress__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  color: #5d5b56;
  font: 700 11px/1.3 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.jcc-expat-progress__track {
  height: 5px;
  overflow: hidden;
  border-radius: 99px;
  background: #dedad2;
}
.jcc-expat-progress__bar {
  display: block;
  width: 20%;
  height: 100%;
  border-radius: inherit;
  background: var(--jcc-expat-forest);
  transition: width .25s ease;
}
.jcc-expat-guide-nav {
  display: grid;
  grid-template-columns: auto minmax(190px, 1fr);
  gap: 12px;
  margin-top: 16px;
}
.jcc-expat-guide-nav button {
  min-height: 54px;
  padding: 14px 20px;
  border: 1px solid var(--jcc-expat-forest);
  border-radius: 3px;
  font: 700 12px/1.25 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}
.jcc-expat-guide-nav__back {
  color: var(--jcc-expat-forest);
  background: transparent;
}
.jcc-expat-guide-nav__next {
  color: var(--jcc-expat-ivory);
  background: var(--jcc-expat-forest);
}
.jcc-expat-guide-nav button:focus-visible {
  outline: 3px solid var(--jcc-expat-gold);
  outline-offset: 3px;
}
.jcc-expat-guide-message {
  grid-column: 1 / -1;
  min-height: 22px;
  margin: 0;
  color: #6f3033 !important;
  font-size: 14px !important;
  font-weight: 650;
}
body.jcc-expat-engagement .readiness-tool.is-guided > .readiness-button {
  display: none !important;
  margin-top: 16px;
}
body.jcc-expat-engagement .readiness-tool.is-guided[data-guide-final="true"] > .readiness-button {
  display: inline-flex;
}
body.jcc-expat-engagement .readiness-tool.is-guided[data-guide-final="true"] .jcc-expat-guide-nav__next {
  display: none;
}
body.jcc-expat-engagement .readiness-result {
  margin-top: 18px;
  border-radius: 10px;
}

/* Firm help */
body.jcc-expat-engagement .jcc-expat-help__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: var(--jcc-expat-gap);
  align-items: start;
}
body.jcc-expat-engagement .jcc-expat-help__scope .readiness-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
}
body.jcc-expat-engagement .jcc-expat-help__service {
  margin: 0;
  padding: 30px;
}
body.jcc-expat-engagement .jcc-expat-help__service h3 {
  margin-top: 0;
}

/* FAQs */
body.jcc-expat-engagement .jcc-expat-faq {
  background: var(--jcc-expat-ivory);
}
body.jcc-expat-engagement .jcc-expat-faq .faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 36px;
  border: 0;
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item {
  align-self: start;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--jcc-expat-stone);
  border-top: 3px solid var(--jcc-expat-gold);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(32, 32, 32, .05);
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item h3 {
  margin: 0;
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item > h3 + p {
  margin: 0;
  padding: 0 24px 24px;
}
.jcc-expat-faq__button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26px;
  gap: 16px;
  align-items: start;
  width: 100%;
  padding: 24px;
  border: 0;
  background: transparent;
  color: var(--jcc-expat-charcoal);
  font: 700 20px/1.3 "Libre Caslon Text", Georgia, serif;
  text-align: left;
  cursor: pointer;
}
.jcc-expat-faq__button:hover {
  background: #fbf5e8;
}
.jcc-expat-faq__button:focus-visible {
  outline: 3px solid var(--jcc-expat-gold);
  outline-offset: -4px;
}
.jcc-expat-faq__icon {
  color: var(--jcc-expat-forest);
  font-family: "Hanken Grotesk", Arial, sans-serif;
  font-size: 24px;
  line-height: 1;
  text-align: center;
}

/* Sources and onward journeys */
body.jcc-expat-engagement .jcc-expat-sources__head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: var(--jcc-expat-gap);
  align-items: start;
}
body.jcc-expat-engagement .jcc-expat-sources__head .readiness-reading {
  width: 100% !important;
}
body.jcc-expat-engagement .jcc-expat-sources__head .readiness-card {
  padding: 26px;
}
body.jcc-expat-engagement .jcc-expat-sources .source-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 36px;
}
body.jcc-expat-engagement .jcc-expat-sources .source-list li {
  min-height: 190px;
  padding: 26px;
  border: 1px solid var(--jcc-expat-stone);
  border-top: 3px solid var(--jcc-expat-forest);
  border-radius: 10px;
  background: rgba(255, 255, 255, .72);
}
body.jcc-expat-engagement .jcc-expat-sources .source-list a {
  display: block;
  margin-bottom: 12px;
  color: var(--jcc-expat-charcoal);
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
}
body.jcc-expat-engagement .jcc-expat-related .related-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 34px;
}
body.jcc-expat-engagement .jcc-expat-related .related-links a {
  position: relative;
  min-height: 132px;
  padding: 24px 50px 24px 24px;
  border: 1px solid #c9c9c9;
  border-radius: 10px;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: 19px;
  line-height: 1.35;
  box-shadow: 0 10px 24px rgba(32, 32, 32, .05);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
body.jcc-expat-engagement .jcc-expat-related .related-links a::after {
  content: "→";
  position: absolute;
  top: 24px;
  right: 22px;
  color: var(--jcc-expat-forest);
  font-family: "Hanken Grotesk", Arial, sans-serif;
}
body.jcc-expat-engagement .jcc-expat-related .related-links a:hover,
body.jcc-expat-engagement .jcc-expat-related .related-links a:focus-visible {
  border-color: #c9c9c9;
  box-shadow: 0 16px 30px rgba(32, 32, 32, .1);
  transform: translateY(-3px);
}

/* Closing */
body.jcc-expat-engagement .jcc-expat-closing .readiness-cta {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr);
  gap: var(--jcc-expat-gap);
}
body.jcc-expat-engagement .jcc-expat-closing .readiness-reading {
  width: 100% !important;
}
body.jcc-expat-engagement .jcc-expat-closing .button {
  width: 100%;
  max-width: 340px;
  justify-self: end;
}

@media (max-width: 980px) {
  body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__opening,
  body.jcc-expat-engagement .jcc-expat-opening__details,
  body.jcc-expat-engagement main :is(.jcc-expat-framework, .jcc-expat-preparation) .readiness-grid,
  body.jcc-expat-engagement .jcc-expat-position .readiness-grid,
  body.jcc-expat-engagement .jcc-expat-help__grid,
  body.jcc-expat-engagement .jcc-expat-sources__head,
  body.jcc-expat-engagement .jcc-expat-closing .readiness-cta {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__figure,
  body.jcc-expat-engagement main :is(.jcc-expat-framework, .jcc-expat-preparation) .readiness-card,
  body.jcc-expat-engagement .jcc-expat-position > .readiness-wrap > .readiness-card,
  body.jcc-expat-engagement .jcc-expat-position .readiness-reading {
    position: static;
  }
  body.jcc-expat-engagement .jcc-expat-timing .readiness-list,
  body.jcc-expat-engagement .jcc-expat-faq .faq-list,
  body.jcc-expat-engagement .jcc-expat-sources .source-list,
  body.jcc-expat-engagement .jcc-expat-related .related-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.jcc-expat-engagement .jcc-expat-options .readiness-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.jcc-expat-engagement .jcc-expat-options .readiness-card,
  body.jcc-expat-engagement .jcc-expat-options .readiness-card:nth-child(n + 4) {
    grid-column: auto;
  }
  body.jcc-expat-engagement .jcc-expat-closing .button {
    justify-self: start;
  }
  body.jcc-expat-engagement .jcc-expat-position .readiness-tool {
    max-width: none;
    margin-left: 0;
  }
}
body.jcc-expat-engagement .jcc-expat-related .related-links__all {
  display: inline-flex;
  gap: 8px;
  margin-top: 18px;
  color: var(--jcc-expat-charcoal) !important;
  font: 700 12px/1.3 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 680px) {
  body.jcc-expat-engagement main .readiness-section {
    padding: 58px 0;
  }
  body.jcc-expat-engagement main :is(
    .jcc-expat-timing,
    .jcc-expat-faq,
    .jcc-expat-related
  ) > .readiness-wrap.readiness-reading {
    width: min(var(--jcc-expat-max), calc(100% - 40px)) !important;
  }
  body.jcc-expat-engagement .jcc-expat-opening .readiness-list,
  body.jcc-expat-engagement .jcc-expat-preparation .readiness-list,
  body.jcc-expat-engagement .jcc-expat-timing .readiness-list,
  body.jcc-expat-engagement .jcc-expat-options .readiness-card-grid,
  body.jcc-expat-engagement .jcc-expat-help__scope .readiness-list,
  body.jcc-expat-engagement .jcc-expat-faq .faq-list,
  body.jcc-expat-engagement .jcc-expat-sources .source-list,
  body.jcc-expat-engagement .jcc-expat-related .related-links {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-timing .readiness-list li,
  body.jcc-expat-engagement .jcc-expat-options .readiness-card,
  body.jcc-expat-engagement .jcc-expat-sources .source-list li,
  body.jcc-expat-engagement .jcc-expat-related .related-links a {
    min-height: 0;
  }
  body.jcc-expat-engagement :is(
    .jcc-expat-timing .readiness-list li::before,
    .jcc-expat-options .readiness-card::before
  ) {
    margin-bottom: 20px;
  }
  body.jcc-expat-engagement .readiness-tool.is-guided fieldset {
    min-height: 0;
  }
  .jcc-expat-guide-nav {
    grid-template-columns: 1fr 1.45fr;
  }
  body.jcc-expat-engagement .jcc-expat-closing .button {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jcc-expat-progress__bar,
  body.jcc-expat-engagement .jcc-expat-related .related-links a {
    transition: none;
  }
}


/* Approved long-form expat-divorce pattern */
body.jcc-expat-engagement .jcc-expat-hero__question {
  max-width: 700px;
  font-family: "Hanken Grotesk", Arial, sans-serif;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  font-weight: 500;
  line-height: 1.35 !important;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__opening {
  grid-template-columns: minmax(300px, 4fr) minmax(0, 8fr);
  align-items: stretch;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__figure {
  position: static;
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__media {
  flex: 1 1 auto;
  min-height: 520px;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__content {
  padding-left: clamp(8px, 1.5vw, 24px);
}
body.jcc-expat-engagement .jcc-expat-opening .readiness-list,
body.jcc-expat-engagement .jcc-expat-help--expanded .jcc-expat-help__scope .readiness-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin-top: 24px;
}
body.jcc-expat-engagement .jcc-expat-opening .readiness-list li,
body.jcc-expat-engagement .jcc-expat-help--expanded .jcc-expat-help__scope .readiness-list li {
  margin: 0;
}
body.jcc-expat-engagement .jcc-expat-copy-band {
  background: var(--jcc-expat-ivory);
}
body.jcc-expat-engagement .jcc-expat-copy-band.readiness-section--paper {
  background: var(--jcc-expat-greige);
}
body.jcc-expat-engagement .jcc-expat-copy-band__head {
  max-width: 820px;
  margin: 0 0 clamp(30px, 4vw, 50px);
}
body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
  max-width: 760px;
  margin-bottom: 18px;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head > p:last-child:not(.readiness-eyebrow) {
  max-width: 720px;
  margin: 0;
  color: #4d4c49;
  font-size: 17px;
  line-height: 1.65;
}
body.jcc-expat-engagement .jcc-expat-topic-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px);
  align-items: start;
}
body.jcc-expat-engagement .jcc-expat-topic-card {
  grid-column: span 6;
  position: relative;
  min-width: 0;
  padding: clamp(24px, 2.25vw, 32px);
  border: 1px solid var(--jcc-expat-stone);
  border-top: 4px solid var(--jcc-expat-forest);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(32, 32, 32, .06);
}
body.jcc-expat-engagement .jcc-expat-copy-band.readiness-section--paper .jcc-expat-topic-card {
  background: var(--jcc-expat-ivory);
}
body.jcc-expat-engagement .jcc-expat-topic-card--wide {
  grid-column: 1 / -1;
  border-top-color: var(--jcc-expat-gold);
}
body.jcc-expat-engagement .jcc-expat-topic-card--feature {
  border-top-color: var(--jcc-expat-gold);
}
body.jcc-expat-engagement .jcc-expat-copy-band--children .jcc-expat-topic-card--wide {
  grid-column: span 6;
}

/* Final FAQ correction: every FAQ row stays neutral.  No gold or forest
   card fills, accents, hover colours, or open-state tint. */
body.jcc-expat-engagement main .jcc-expat-faq .faq-item,
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:nth-child(even),
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  --jcc-faq-accent: #303030 !important;
  border: 0 !important;
  border-top: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:last-child {
  border-bottom: 1px solid #cfcfcf !important;
}

/* Canonical Expat FAQ accordion: editorial rows rather than card panels. */
body.jcc-expat-engagement main .jcc-expat-faq .faq-item > h3 {
  margin: 0 !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .jcc-expat-faq__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
  min-height: 82px !important;
  padding: 22px 0 !important;
  border: 0 !important;
  color: var(--jcc-expat-charcoal) !important;
  background: transparent !important;
  cursor: pointer !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .jcc-expat-faq__button > span:first-child {
  min-width: 0;
  text-align: left;
}
body.jcc-expat-engagement main .jcc-expat-faq .jcc-expat-faq__icon {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid #303030 !important;
  border-radius: 50% !important;
  color: #303030 !important;
  font: 400 22px/1 'Hanken Grotesk', Arial, sans-serif !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .faq-answer {
  max-width: 760px;
  padding: 0 58px 24px 0;
}
body.jcc-expat-engagement main .jcc-expat-faq .faq-answer p {
  margin: 0 !important;
  color: #57544f !important;
  font: 400 16px/1.68 'Hanken Grotesk', Arial, system-ui, sans-serif !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .jcc-expat-faq__button:focus-visible {
  outline: 2px solid #303030 !important;
  outline-offset: 4px !important;
}

/* Canonical Expat consultation CTA: WhatsApp telephone icon only, with one
   consistent gold treatment across header, hero, mobile and closing actions. */
body.jcc-expat-engagement [data-jcc-whatsapp-consultation] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: min(100%, 564px) !important;
  min-height: 56px !important;
  height: auto !important;
  padding: 17px 30px !important;
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
  background: #e2ab45 !important;
  border: 1px solid #e2ab45 !important;
  border-radius: 14px !important;
  font: 700 13px/1.35 'Hanken Grotesk', Arial, sans-serif !important;
  letter-spacing: .14em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}
body.jcc-expat-engagement [data-jcc-whatsapp-consultation]:is(:hover, :focus, :focus-visible, :active) {
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
  background: #e2ab45 !important;
  border-color: #e2ab45 !important;
}
body.jcc-expat-engagement [data-jcc-whatsapp-consultation] .jcc-consultation-call-icon {
  display: block !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}
body.jcc-expat-engagement header > div:first-child > [data-jcc-whatsapp-consultation]::before {
  content: none !important;
  display: none !important;
}
/* The status section contains a long feature card followed by a full-width
   immigration card; keep both in one readable column rather than leaving a
   large unused half-grid beside the feature card. */
body.jcc-expat-engagement .jcc-expat-copy-band--status .jcc-expat-topic-card,
body.jcc-expat-engagement .jcc-expat-copy-band--status .jcc-expat-topic-card--wide {
  grid-column: 1 / -1;
}
body.jcc-expat-engagement .jcc-expat-topic-card :is(h2, h3) {
  margin: 0 0 16px;
  color: var(--jcc-expat-charcoal);
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: clamp(24px, 2.1vw, 31px);
  font-weight: 400;
  line-height: 1.2;
}
body.jcc-expat-engagement .jcc-expat-topic-card p {
  margin: 0 0 14px;
  color: #3f3e3b;
  font-size: 16px;
  line-height: 1.68;
}
body.jcc-expat-engagement .jcc-expat-topic-card p:last-child,
body.jcc-expat-engagement .jcc-expat-topic-card :is(ul, ol):last-child {
  margin-bottom: 0;
}
body.jcc-expat-engagement .jcc-expat-topic-card .readiness-list {
  margin: 14px 0 18px;
}
body.jcc-expat-engagement .jcc-expat-topic-card--wide .readiness-list {
  columns: 2;
  column-gap: clamp(28px, 4vw, 52px);
}
body.jcc-expat-engagement .jcc-expat-topic-card--wide .readiness-list li {
  break-inside: avoid;
}
body.jcc-expat-engagement .jcc-expat-numbered {
  counter-reset: expat-priority;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}
body.jcc-expat-engagement .jcc-expat-numbered li {
  counter-increment: expat-priority;
  position: relative;
  min-height: 74px;
  margin: 0;
  padding: 18px 18px 18px 56px;
  border: 1px solid var(--jcc-expat-stone);
  border-radius: 8px;
  background: var(--jcc-expat-ivory);
  font-size: 15px;
  line-height: 1.48;
}
body.jcc-expat-engagement .jcc-expat-numbered li::before {
  content: counter(expat-priority);
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--jcc-expat-charcoal);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
body.jcc-expat-engagement .jcc-expat-help--expanded .jcc-expat-help__scope > p:not(.readiness-eyebrow) {
  max-width: 760px;
}
@media (max-width: 980px) {
  body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__opening {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-opening :is(
    .jcc-support-band__figure,
    .jcc-support-band__content
  ) {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__media {
    min-height: 360px;
  }
  body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__content {
    padding-left: 0;
  }
}
@media (max-width: 760px) {
  body.jcc-expat-engagement .jcc-expat-topic-card,
  body.jcc-expat-engagement .jcc-expat-topic-card--wide,
  body.jcc-expat-engagement .jcc-expat-copy-band--children .jcc-expat-topic-card--wide {
    grid-column: 1 / -1;
  }
  body.jcc-expat-engagement .jcc-expat-topic-card--wide .readiness-list {
    columns: 1;
  }
}
@media (max-width: 680px) {
  body.jcc-expat-engagement .jcc-expat-hero__question {
    font-size: 20px !important;
  }
  body.jcc-expat-engagement .jcc-expat-opening .readiness-list,
  body.jcc-expat-engagement .jcc-expat-help--expanded .jcc-expat-help__scope .readiness-list,
  body.jcc-expat-engagement .jcc-expat-numbered {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-topic-card {
    padding: 24px 20px;
  }
}
/*
 * Homepage-aligned card and visual preview.
 * Route-scoped and held outside the canonical brand book pending approval.
 */
body.jcc-expat-engagement .jcc-expat-guide-map {
  overflow: hidden;
  background: var(--jcc-expat-ivory);
  border-top: 1px solid var(--jcc-expat-stone);
  border-bottom: 1px solid var(--jcc-expat-stone);
}
body.jcc-expat-engagement .jcc-expat-guide-map__layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(46px, 7vw, 104px);
  align-items: start;
}
body.jcc-expat-engagement .jcc-expat-guide-map__intro {
  position: sticky;
  top: 116px;
}
body.jcc-expat-engagement .jcc-expat-guide-map__intro h2,
body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
  margin: 0 0 20px;
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  font-size: clamp(42px, 5vw, 66px) !important;
  font-weight: 400;
  line-height: .99 !important;
  letter-spacing: -.03em;
  text-wrap: balance;
}
body.jcc-expat-engagement .jcc-expat-guide-map__intro > p:last-child {
  max-width: 40ch;
  margin: 24px 0 0;
  color: #55524d;
  font-size: 17px;
  line-height: 1.72;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a {
  --jcc-card-accent: var(--jcc-expat-gold);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto 1fr;
  gap: 24px 18px;
  min-height: 190px;
  padding: 26px 28px;
  overflow: hidden;
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  text-decoration: none;
  background: #fff !important;
  border: 1px solid var(--jcc-expat-stone);
  border-top: 4px solid var(--jcc-card-accent);
  border-radius: 10px;
  box-shadow: 0 12px 34px rgba(32, 32, 32, .06);
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a[data-jcc-card-tone="green"] {
  --jcc-card-accent: var(--jcc-expat-forest);
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a > span,
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a > i {
  color: var(--jcc-card-accent) !important;
  -webkit-text-fill-color: var(--jcc-card-accent) !important;
  font: 700 11px/1 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .16em;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a > i {
  font-size: 19px;
  font-style: normal;
  letter-spacing: 0;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a > strong {
  align-self: end;
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: clamp(21px, 1.8vw, 26px);
  font-weight: 400;
  line-height: 1.23;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a:is(:hover, :focus, :focus-visible, :active) {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  background: #fff !important;
  border-color: var(--jcc-expat-stone) !important;
  border-top-color: var(--jcc-card-accent) !important;
  box-shadow: 0 14px 34px rgba(32, 32, 32, .09);
  transform: translateY(-2px);
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a:is(:hover, :focus, :focus-visible, :active) > strong {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a:is(:hover, :focus, :focus-visible, :active) > :is(span, i) {
  color: var(--jcc-card-accent) !important;
  -webkit-text-fill-color: var(--jcc-card-accent) !important;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a:focus-visible {
  outline: 3px solid var(--jcc-card-accent);
  outline-offset: 3px;
}

body.jcc-expat-engagement .jcc-expat-copy-band {
  scroll-margin-top: 96px;
}
body.jcc-expat-engagement .jcc-expat-copy-band,
body.jcc-expat-engagement .jcc-expat-copy-band.readiness-section--paper {
  color: var(--jcc-expat-charcoal);
}
body.jcc-expat-engagement .jcc-expat-copy-band.readiness-section--paper {
  background: var(--jcc-expat-greige) !important;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head {
  max-width: 940px;
  margin-bottom: clamp(34px, 4.5vw, 56px);
}
body.jcc-expat-engagement .jcc-expat-copy-band__head .readiness-eyebrow {
  color: var(--jcc-expat-forest) !important;
  -webkit-text-fill-color: var(--jcc-expat-forest) !important;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: .22em;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
  max-width: 880px;
  font-size: clamp(40px, 4.6vw, 60px) !important;
  line-height: 1.04 !important;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head > p:last-child:not(.readiness-eyebrow) {
  color: #4d4c49 !important;
  -webkit-text-fill-color: #4d4c49 !important;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.68;
}

body.jcc-expat-engagement .jcc-expat-topic-grid {
  counter-reset: expat-topic-card;
}
body.jcc-expat-engagement .jcc-expat-topic-card {
  --jcc-card-accent: var(--jcc-expat-gold);
  --jcc-card-selected-background: #fff;
  --jcc-card-selected-foreground: var(--jcc-expat-charcoal);
  counter-increment: expat-topic-card;
  overflow: hidden;
  color: var(--jcc-expat-charcoal);
  background: #fff !important;
  border-top-color: var(--jcc-card-accent) !important;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
body.jcc-expat-engagement .jcc-expat-topic-card[data-jcc-card-tone="green"] {
  --jcc-card-accent: var(--jcc-expat-forest);
}
body.jcc-expat-engagement .jcc-expat-topic-card::before {
  content: "0" counter(expat-topic-card);
  display: block;
  margin-bottom: 20px;
  color: var(--jcc-card-accent);
  font: 700 11px/1 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .16em;
}
body.jcc-expat-engagement .jcc-expat-topic-card :is(h2, h3) {
  font-size: clamp(24px, 2.25vw, 33px);
  line-height: 1.17;
}
@media (hover: hover) and (pointer: fine) {
  body.jcc-expat-engagement .jcc-expat-topic-card:hover {
    color: var(--jcc-expat-charcoal) !important;
    -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
    background: #fff !important;
    border-color: var(--jcc-expat-stone) !important;
    border-top-color: var(--jcc-card-accent) !important;
    box-shadow: 0 14px 34px rgba(32, 32, 32, .09);
    transform: translateY(-2px);
  }
}

body.jcc-expat-engagement .jcc-expat-visual-break {
  position: relative;
  min-height: clamp(330px, 34vw, 460px);
  margin: 0 0 clamp(28px, 4vw, 46px);
  overflow: hidden;
  color: var(--jcc-expat-ivory);
  background: var(--jcc-expat-charcoal);
  border: 1px solid rgba(32, 32, 32, .18);
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(32, 32, 32, .1);
}
body.jcc-expat-engagement .jcc-expat-visual-break picture,
body.jcc-expat-engagement .jcc-expat-visual-break picture::after {
  position: absolute;
  inset: 0;
}
body.jcc-expat-engagement .jcc-expat-visual-break picture::after {
  content: "";
  display: block;
  background: linear-gradient(90deg, rgba(20, 20, 20, .84) 0%, rgba(20, 20, 20, .58) 46%, rgba(20, 20, 20, .14) 78%);
}
body.jcc-expat-engagement .jcc-expat-visual-break img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(1.05);
}
body.jcc-expat-engagement .jcc-expat-visual-break--children img {
  object-position: 50% 42%;
}
body.jcc-expat-engagement .jcc-expat-visual-break--assets img {
  object-position: 50% 42%;
}
body.jcc-expat-engagement .jcc-expat-visual-break__content {
  position: absolute;
  z-index: 1;
  bottom: clamp(48px, 5vw, 66px);
  left: clamp(28px, 5vw, 62px);
  display: grid;
  max-width: 650px;
}
body.jcc-expat-engagement .jcc-expat-visual-break__content > span {
  margin-bottom: 14px;
  color: var(--jcc-expat-gold);
  font: 700 11px/1.25 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
body.jcc-expat-engagement .jcc-expat-visual-break__content > strong {
  color: var(--jcc-expat-ivory);
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body.jcc-expat-engagement .jcc-expat-visual-break__content > a {
  justify-self: start;
  margin-top: 24px;
  padding: 12px 16px;
  color: var(--jcc-expat-charcoal);
  font: 700 12px/1.25 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  background: var(--jcc-expat-gold);
  border: 1px solid var(--jcc-expat-gold);
  border-radius: 3px;
}
body.jcc-expat-engagement .jcc-expat-visual-break__content > a:hover,
body.jcc-expat-engagement .jcc-expat-visual-break__content > a:focus-visible {
  color: var(--jcc-expat-ivory);
  background: var(--jcc-expat-forest);
  border-color: var(--jcc-expat-forest);
}
body.jcc-expat-engagement .jcc-expat-visual-break__content > a:focus-visible {
  outline: 3px solid var(--jcc-expat-gold);
  outline-offset: 3px;
}
body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
  min-height: clamp(360px, 42vw, 620px) !important;
}
body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed .jcc-expat-visual-break__content {
  left: clamp(32px, 8vw, 120px) !important;
  right: clamp(32px, 8vw, 120px) !important;
  bottom: clamp(48px, 8vw, 112px) !important;
  max-width: 900px !important;
}
body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed .jcc-expat-visual-break__content > strong {
  display: block !important;
  max-width: 18ch !important;
}
body.jcc-expat-engagement main .jcc-expat-visual-break__content > h2 {
  display: block !important;
  margin: 0 !important;
  max-width: 18ch !important;
  color: var(--jcc-expat-ivory) !important;
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(32px, 4vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 1.06 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance !important;
}
body.jcc-expat-engagement main .jcc-expat-visual-break__content > p {
  display: block !important;
  max-width: 58ch !important;
  margin: 18px 0 0 !important;
  color: var(--jcc-expat-ivory) !important;
  font: 400 clamp(17px, 1.8vw, 24px)/1.45 "Hanken Grotesk", Arial, sans-serif !important;
}
body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed .jcc-expat-visual-break__content > span {
  display: block !important;
  max-width: 58ch !important;
  margin-top: 18px !important;
  color: var(--jcc-expat-ivory) !important;
  font: 400 clamp(17px, 1.8vw, 24px)/1.45 "Hanken Grotesk", Arial, sans-serif !important;
}
@media (max-width: 680px) {
  body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed {
    min-height: 520px !important;
  }
}
@media (max-width: 980px) {
  body.jcc-expat-engagement .jcc-expat-guide-map__layout {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-guide-map__intro {
    position: static;
    max-width: 760px;
  }
}
@media (max-width: 680px) {
  body.jcc-expat-engagement .jcc-expat-guide-map__grid {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-guide-map__grid > a {
    min-height: 150px;
    padding: 24px;
  }
  body.jcc-expat-engagement .jcc-expat-guide-map__intro h2,
  body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
    font-size: clamp(36px, 11vw, 46px) !important;
    line-height: 1.02 !important;
  }
  body.jcc-expat-engagement .jcc-expat-visual-break {
    min-height: 520px;
  }
  body.jcc-expat-engagement .jcc-expat-visual-break picture::after {
    background: linear-gradient(0deg, rgba(20, 20, 20, .9) 0%, rgba(20, 20, 20, .62) 58%, rgba(20, 20, 20, .18) 100%);
  }
  body.jcc-expat-engagement .jcc-expat-visual-break__content {
    right: 24px;
    bottom: 78px;
    left: 24px;
  }
  body.jcc-expat-engagement .jcc-expat-visual-break__content > strong {
    font-size: clamp(30px, 9vw, 40px);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.jcc-expat-engagement .jcc-expat-guide-map__grid > a,
  body.jcc-expat-engagement .jcc-expat-topic-card {
    transition: none;
  }
}
/* Protect semantic content headers from the shared site-header selector. */
body.jcc-expat-engagement main header.jcc-expat-copy-band__head {
  position: static !important;
  top: auto !important;
  z-index: auto !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Canonical expat-page type hierarchy and compact trust metadata. */
body.jcc-expat-engagement main .readiness-section .readiness-eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.58 !important;
  letter-spacing: .22em !important;
}
body.jcc-expat-engagement .jcc-expat-opening .jcc-support-band__content h2 {
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif !important;
}
body.jcc-expat-engagement .jcc-expat-guide-map__intro h2,
body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(32.4px, 4.2vw, 52px) !important;
  line-height: 1.06 !important;
}
body.jcc-expat-engagement .jcc-expat-guide-map__grid > a > strong {
  font-size: clamp(21px, 1.5vw, 22px) !important;
}
html body.jcc-grey-return.jcc-expat-engagement main .jcc-expat-topic-card :is(h2, h3) {
  font-size: clamp(24px, 2vw, 28px) !important;
  line-height: 1.22 !important;
}
body.jcc-expat-engagement .jcc-expat-topic-card :is(p, li) {
  font-size: 16px !important;
  line-height: 1.68 !important;
}
body.jcc-expat-engagement .jcc-expat-sources__head {
  grid-template-columns: minmax(0, 1fr);
}
body.jcc-expat-engagement .jcc-expat-sources__head .readiness-reading {
  max-width: 920px;
}
body.jcc-expat-engagement .jcc-expat-sources__verification {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 24px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--jcc-expat-stone);
  color: #45433f;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.5 !important;
}
body.jcc-expat-engagement .jcc-expat-sources__verification span + span {
  padding-left: 24px;
  border-left: 1px solid var(--jcc-expat-stone);
}
body.jcc-expat-engagement .jcc-expat-sources__verification a {
  color: inherit;
  font-weight: 700;
}
body.jcc-expat-engagement .jcc-expat-sources__qualification {
  max-width: 76ch;
  margin: 10px 0 0;
  color: #5a5752;
  font-size: 14px !important;
  line-height: 1.58 !important;
}
@media (max-width: 680px) {
  body.jcc-expat-engagement .jcc-expat-guide-map__intro h2,
  body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
    font-size: clamp(32.4px, 9vw, 35.1px) !important;
  }
  body.jcc-expat-engagement .jcc-expat-guide-map__grid > a > strong,
  html body.jcc-grey-return.jcc-expat-engagement main .jcc-expat-topic-card :is(h2, h3) {
    font-size: 22px !important;
  }
  body.jcc-expat-engagement .jcc-expat-sources__verification {
    display: grid;
    gap: 6px;
  }
  body.jcc-expat-engagement .jcc-expat-sources__verification span + span {
    padding-left: 0;
    border-left: 0;
  }
}

/* Editorial alignment rhythm for the long-form page sections. */
body.jcc-expat-engagement .jcc-expat-copy-band__head {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
  grid-template-rows: auto 1fr;
  column-gap: var(--jcc-expat-gap);
  max-width: none;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head .readiness-eyebrow,
body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
  grid-column: 1;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head .readiness-eyebrow {
  grid-row: 1;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
  grid-row: 2;
  margin-bottom: 0;
}
body.jcc-expat-engagement .jcc-expat-copy-band__head > p:last-child:not(.readiness-eyebrow) {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 36ch;
  margin: 0 0 4px;
}

body.jcc-expat-engagement .jcc-expat-faq__layout,
body.jcc-expat-engagement .jcc-expat-sources__layout,
body.jcc-expat-engagement .jcc-expat-related__layout {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 7vw, 104px);
  align-items: start;
}
body.jcc-expat-engagement main header:is(.jcc-expat-faq__intro, .jcc-expat-sources__head, .jcc-expat-related__intro) {
  position: static;
  top: auto;
  z-index: auto;
  height: auto;
  background: transparent !important;
  box-shadow: none !important;
}
body.jcc-expat-engagement .jcc-expat-faq__intro {
  position: sticky;
  top: 116px;
}
body.jcc-expat-engagement :is(.jcc-expat-faq__intro, .jcc-expat-sources__head, .jcc-expat-related__intro) h2 {
  max-width: 430px;
  margin-bottom: 0;
}

body.jcc-expat-engagement .jcc-expat-faq .faq-list {
  display: block;
  margin: 0;
  border-top: 1px solid var(--jcc-expat-stone);
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item {
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--jcc-expat-stone);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: background-color .2s ease, box-shadow .2s ease;
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  background: rgba(221, 166, 70, .1);
  box-shadow: inset 3px 0 0 var(--jcc-expat-forest);
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item > h3 + p {
  max-width: 64ch;
  margin: 0;
  padding: 0 64px 26px 24px;
  color: #57544f;
  font-size: 16px;
  line-height: 1.68;
}
body.jcc-expat-engagement .jcc-expat-faq__button {
  grid-template-columns: minmax(0, 1fr) 36px;
  gap: 22px;
  align-items: center;
  min-height: 86px;
  padding: 22px 16px 22px 24px;
  font-size: 21px;
}
body.jcc-expat-engagement .jcc-expat-faq__button:hover {
  background: rgba(221, 166, 70, .08);
}
body.jcc-expat-engagement .jcc-expat-faq__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--jcc-expat-forest);
  border-radius: 50%;
  font-size: 20px;
}

body.jcc-expat-engagement .jcc-expat-sources__head {
  display: block;
}
body.jcc-expat-engagement .jcc-expat-sources__meta {
  padding: 24px 26px;
  border: 1px solid var(--jcc-expat-stone);
  border-top: 3px solid var(--jcc-expat-gold);
  border-radius: 10px;
  background: rgba(255, 255, 255, .68);
}
body.jcc-expat-engagement .jcc-expat-sources__verification {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  margin: 0;
  padding-top: 0;
  border-top: 0;
}
body.jcc-expat-engagement .jcc-expat-sources .source-list {
  display: block;
  margin: 30px 0 0;
  border-top: 1px solid var(--jcc-expat-stone);
}
body.jcc-expat-engagement .jcc-expat-sources .source-list li {
  min-height: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--jcc-expat-stone);
  border-radius: 0;
  background: transparent;
}
body.jcc-expat-engagement .jcc-expat-sources .source-list a {
  margin-bottom: 7px;
}

body.jcc-expat-engagement .jcc-expat-related .related-links {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0;
}

body.jcc-expat-engagement .jcc-expat-tailored {
  margin: 24px 0;
  padding: 22px 24px;
  border-left: 3px solid var(--jcc-expat-charcoal);
  background: var(--jcc-expat-paper);
}
body.jcc-expat-engagement .jcc-expat-tailored h4 {
  margin: 0 0 12px;
}
body.jcc-expat-engagement .jcc-expat-tailored ul {
  margin: 0;
  padding-left: 20px;
}
body.jcc-expat-engagement .jcc-expat-tailored li + li {
  margin-top: 8px;
}
body.jcc-expat-engagement .jcc-expat-tailored p {
  margin: 16px 0 0;
  color: #626262;
  font-size: 13px;
}

@media (max-width: 980px) {
  body.jcc-expat-engagement .jcc-expat-copy-band__head,
  body.jcc-expat-engagement .jcc-expat-faq__layout,
  body.jcc-expat-engagement .jcc-expat-sources__layout,
  body.jcc-expat-engagement .jcc-expat-related__layout {
    grid-template-columns: 1fr;
  }
  body.jcc-expat-engagement .jcc-expat-copy-band__head {
    display: block;
  }
  body.jcc-expat-engagement .jcc-expat-copy-band__head h2 {
    margin-bottom: 20px;
  }
  body.jcc-expat-engagement .jcc-expat-copy-band__head > p:last-child:not(.readiness-eyebrow) {
    max-width: 46ch;
    margin: 0;
  }
  body.jcc-expat-engagement .jcc-expat-faq__intro {
    position: static;
  }
}

@media (max-width: 680px) {
  body.jcc-expat-engagement .jcc-expat-faq__layout,
  body.jcc-expat-engagement .jcc-expat-sources__layout,
  body.jcc-expat-engagement .jcc-expat-related__layout {
    gap: 34px;
  }
  body.jcc-expat-engagement .jcc-expat-faq__button {
    grid-template-columns: minmax(0, 1fr) 34px;
    min-height: 78px;
    padding: 18px 12px 18px 18px;
    font-size: 20px;
  }
  body.jcc-expat-engagement .jcc-expat-faq__icon {
    width: 34px;
    height: 34px;
  }
  body.jcc-expat-engagement .jcc-expat-faq .faq-item > h3 + p {
    padding: 0 18px 22px;
  }
  body.jcc-expat-engagement .jcc-expat-sources__meta {
    padding: 22px 20px;
  }
  body.jcc-expat-engagement .jcc-expat-sources__verification {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  body.jcc-expat-engagement .jcc-expat-related .related-links {
    grid-template-columns: 1fr;
  }
}

/* Final FAQ spacing contract: keep each question visually distinct. */
body.jcc-expat-engagement main .jcc-expat-faq .faq-list {
  display: grid !important;
  gap: 18px !important;
  border-top: 0 !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .faq-item {
  margin: 0 !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-top: 2px solid var(--jcc-expat-charcoal) !important;
}

/*
 * JCC_EXPAT_CANONICAL_VISUAL_RHYTHM_20260816
 * The canonical page uses four search-intent visual breaks, a separate
 * client-question tool, a visual FAQ introduction and compact authorities.
 */
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__opening {
  display: block !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content {
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin-inline: auto !important;
}

body.jcc-expat-engagement main .jcc-expat-byline {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 24px;
  margin-top: clamp(28px, 4vw, 44px);
  padding-block: 16px;
  color: #5e5b56;
  border-top: 1px solid var(--jcc-expat-stone);
  border-bottom: 1px solid var(--jcc-expat-stone);
  font: 600 12px/1.45 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed {
  width: 100vw !important;
  max-width: none !important;
  min-height: clamp(390px, 40vw, 600px) !important;
  margin: 0 calc(50% - 50vw) clamp(38px, 5vw, 72px) !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed .jcc-expat-visual-break__content {
  right: clamp(28px, 7vw, 112px) !important;
  bottom: clamp(42px, 7vw, 96px) !important;
  left: clamp(28px, 7vw, 112px) !important;
  max-width: 920px !important;
}

body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed .jcc-expat-visual-break__content > span {
  display: block !important;
  max-width: 58ch !important;
  margin: 0 0 14px !important;
  color: var(--jcc-expat-gold) !important;
  font: 700 11px/1.25 "Hanken Grotesk", Arial, sans-serif !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}

body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed .jcc-expat-visual-break__content > h2 {
  max-width: 21ch !important;
}

body.jcc-expat-engagement main .jcc-expat-topic-card > :is(p, ul, ol) {
  max-width: 72ch;
}

/* The leading forum card spans the full content frame. Let its explanatory
   copy and two-column checklist use that frame instead of retaining the
   general 72-character measure, which left an empty third of the card. */
body.jcc-expat-engagement main .jcc-expat-copy-band--forum .jcc-expat-topic-card--wide > :is(p, ul, ol) {
  width: 100%;
  max-width: none;
}

body.jcc-expat-engagement main .jcc-expat-copy-band--forum .jcc-expat-topic-card--wide .readiness-list {
  column-gap: clamp(44px, 7vw, 108px);
}

/* Both nationality and immigration cards occupy the full grid. Use that
   width for the explanatory copy and divide each supporting checklist into
   balanced desktop columns, rather than leaving the right side vacant. */
body.jcc-expat-engagement main .jcc-expat-copy-band--status .jcc-expat-topic-card > :is(p, ul, ol) {
  width: 100%;
  max-width: none;
}

body.jcc-expat-engagement main .jcc-expat-copy-band--status .jcc-expat-topic-card .readiness-list {
  columns: 2;
  column-gap: clamp(44px, 7vw, 108px);
}

body.jcc-expat-engagement main .jcc-expat-copy-band--status .jcc-expat-topic-card .readiness-list li {
  break-inside: avoid;
}

/* The principal jurisdiction answer is a full-width card. Allow its copy and
   both legal-threshold lists to occupy that width instead of ending at the
   general reading measure and leaving the right side empty. */
body.jcc-expat-engagement main .jcc-expat-copy-band--jurisdiction .jcc-expat-topic-card--wide > :is(p, ul, ol) {
  width: 100%;
  max-width: none;
}

body.jcc-expat-engagement main .jcc-expat-copy-band--jurisdiction .jcc-expat-topic-card--wide .readiness-list {
  column-gap: clamp(44px, 7vw, 108px);
}

/* Opening explanation: remove the inherited gold divider and use the full
   content frame as a balanced two-column editorial introduction. */
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 44px) clamp(40px, 6vw, 96px);
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content > * {
  min-width: 0;
  margin-top: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content > p {
  max-width: none !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content > .readiness-list {
  grid-template-columns: 1fr;
  margin: 0;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content > p:nth-of-type(6),
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content > .jcc-expat-byline {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content {
    display: block !important;
  }

  body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content > * + * {
    margin-top: 18px !important;
  }
}

/* The client-question tool stands on its own. Removed duplicate explanatory
   content leaves one full-width interaction and one consultation action. */
body.jcc-expat-engagement main .jcc-expat-position__tool-layout {
  display: block;
}

body.jcc-expat-engagement main .jcc-expat-position__tool-layout .readiness-tool {
  width: 100%;
  max-width: none;
}

body.jcc-expat-engagement main .jcc-expat-position__tool-layout .jcc-readiness-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 18px 28px;
}

body.jcc-expat-engagement main .jcc-expat-position__tool-layout .jcc-expat-readiness-link {
  max-width: 720px;
  color: var(--jcc-expat-charcoal);
  font: 700 13px/1.45 "Hanken Grotesk", Arial, sans-serif;
  letter-spacing: .04em;
  text-decoration: underline;
  text-decoration-color: var(--jcc-expat-gold);
  text-underline-offset: 6px;
}

@media (max-width: 760px) {
  body.jcc-expat-engagement main .jcc-expat-position__tool-layout .jcc-readiness-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  body.jcc-expat-engagement main .jcc-expat-copy-band--status .jcc-expat-topic-card .readiness-list {
    columns: 1;
  }
}

body.jcc-expat-engagement main .jcc-expat-position__intro {
  margin-bottom: clamp(32px, 5vw, 58px);
}

body.jcc-expat-engagement main .jcc-expat-position__intro h2 {
  max-width: 20ch;
  margin: 12px 0 20px;
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -.03em;
  text-wrap: balance;
}

body.jcc-expat-engagement main .jcc-expat-position__intro > p:last-child {
  max-width: 68ch;
  margin: 0;
  color: #57544f;
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.65;
}

body.jcc-expat-engagement main .jcc-expat-faq > .jcc-expat-visual-break--full-bleed {
  width: 100vw !important;
  margin: 0 calc(50% - 50vw) clamp(38px, 5vw, 72px) !important;
}

body.jcc-expat-engagement main .jcc-expat-sources {
  padding-block: clamp(52px, 6vw, 84px) !important;
}

body.jcc-expat-engagement main .jcc-expat-sources__layout {
  align-items: start;
  gap: clamp(28px, 4vw, 56px) !important;
}

body.jcc-expat-engagement main .jcc-expat-sources__head h2 {
  max-width: 11ch;
  margin: 12px 0 0;
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list {
  margin-top: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list li {
  padding-block: 17px !important;
}

@media (max-width: 680px) {
  body.jcc-expat-engagement main .jcc-expat-visual-break--full-bleed {
    min-height: 500px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-byline {
    display: grid;
    justify-content: start;
  }

  body.jcc-expat-engagement main .jcc-expat-position__intro h2 {
    font-size: clamp(36px, 10.5vw, 46px);
  }
}

/* Keep FAQ text inside the row and clear of the open-state edge. */
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  box-shadow: none !important;
}
body.jcc-expat-engagement main .jcc-expat-faq__button {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 24px 24px 24px 32px !important;
  overflow-wrap: anywhere !important;
}
body.jcc-expat-engagement main .jcc-expat-faq__button > span:first-child {
  min-width: 0 !important;
  padding-right: 12px !important;
  overflow-wrap: anywhere !important;
}

/* Reduce the wide empty gutter in the authorities layout. */
body.jcc-expat-engagement main .jcc-expat-sources__layout {
  grid-template-columns: minmax(220px, .45fr) minmax(0, 1.55fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
}
body.jcc-expat-engagement main .jcc-expat-sources .source-list li {
  padding-block: 14px !important;
}

/* Continued-reading cards use green for the selected/active interaction state. */
body.jcc-expat-engagement main .jcc-expat-related .related-links > a:is(:hover, :focus-visible, :active) {
  color: var(--jcc-expat-ivory) !important;
  -webkit-text-fill-color: var(--jcc-expat-ivory) !important;
  background: var(--jcc-expat-forest) !important;
  border-color: var(--jcc-expat-forest) !important;
  box-shadow: 0 16px 30px rgba(32, 32, 32, .14) !important;
}
body.jcc-expat-engagement main .jcc-expat-related__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
  min-height: 52px !important;
  padding: 14px 24px !important;
  border: 1px solid #e2ab45 !important;
  border-radius: 14px !important;
  background: #e2ab45 !important;
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
  font: 700 13px/1.35 'Hanken Grotesk', Arial, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* The consultation action occupies the fourth related-guidance grid cell. */
body.jcc-expat-engagement main .jcc-expat-related .related-links > .jcc-expat-related__cta {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  box-sizing: border-box !important;
  min-height: 132px !important;
  margin-top: 0 !important;
  padding: 24px !important;
  align-self: stretch !important;
}

/* Keep the consultation action identical to the adjacent guidance card cell. */
body.jcc-expat-engagement main #related-guidance .related-links > a.jcc-expat-related__cta[data-jcc-whatsapp-consultation] {
  inline-size: 100% !important;
  min-inline-size: 100% !important;
  max-inline-size: none !important;
  block-size: 100% !important;
  min-block-size: 132px !important;
}
body.jcc-expat-engagement main .jcc-expat-related__cta .jcc-consultation-call-icon {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}

/* Keep the homepage WhatsApp utility styled when used on Expat Divorce. */
body.jcc-expat-engagement .jcc-home-whatsapp-float {
  position: fixed !important;
  right: 22px !important;
  bottom: 86px !important;
  z-index: 9998 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #212121 !important;
  text-decoration: none !important;
}
body.jcc-expat-engagement .jcc-home-whatsapp-float .whatsapp-label {
  position: absolute !important;
  right: calc(100% + 10px) !important;
  bottom: 0 !important;
  display: grid !important;
  width: max-content !important;
  gap: 1px !important;
  padding: 9px 12px !important;
  color: #212121 !important;
  background: var(--jcc-expat-ivory) !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 26px rgba(32, 32, 32, .16) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(8px) !important;
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease !important;
}
body.jcc-expat-engagement .jcc-home-whatsapp-float .whatsapp-label small { font-size: 11px !important; line-height: 1.2 !important; }
body.jcc-expat-engagement .jcc-home-whatsapp-float .whatsapp-label strong { font-size: 13px !important; line-height: 1.2 !important; }
body.jcc-expat-engagement .jcc-home-whatsapp-float .whatsapp-dot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  color: #fff !important;
  background: #454542 !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 50% !important;
  box-shadow: 0 12px 30px rgba(32,32,32,.24) !important;
}
body.jcc-expat-engagement .jcc-home-whatsapp-float .whatsapp-dot svg { width: 27px !important; height: 27px !important; fill: none !important; stroke: currentColor !important; stroke-linecap: round !important; stroke-linejoin: round !important; stroke-width: 1.7 !important; }
body.jcc-expat-engagement .jcc-home-whatsapp-float:is(:hover, :focus-visible) { transform: translateY(-3px) !important; }
body.jcc-expat-engagement .jcc-home-whatsapp-float:is(:hover, :focus-visible) .whatsapp-dot { background: #25d366 !important; }
body.jcc-expat-engagement .jcc-home-whatsapp-float:is(:hover, :focus-visible) .whatsapp-label { opacity: 1 !important; visibility: visible !important; transform: translateX(0) !important; }

/* On desktop, readiness choices sit in two readable card columns. */
/* Use the Children across borders treatment: full-width horizontal image breaks. */
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__inner,
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__opening {
  display: block !important;
}
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__figure {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(250px, 28vw, 420px) !important;
  margin: 0 0 clamp(28px, 4vw, 48px) !important;
  aspect-ratio: 16 / 6 !important;
  overflow: hidden !important;
}
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content {
  max-width: 920px !important;
  margin: 0 auto !important;
}

/* Compact three-block editorial opening. Existing reviewed copy is preserved. */
body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__content {
  display: block !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
}

body.jcc-expat-engagement main .jcc-expat-opening :is(
  .jcc-expat-opening__answer,
  .jcc-expat-opening__application
) {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: start;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__answer {
  padding-bottom: clamp(34px, 5vw, 58px);
  border-bottom: 1px solid var(--jcc-expat-stone);
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__decisions {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
  gap: clamp(36px, 6vw, 88px);
  align-items: start;
  padding-block: clamp(34px, 5vw, 58px);
  border-bottom: 1px solid var(--jcc-expat-stone);
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__application {
  padding-top: clamp(34px, 5vw, 58px);
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__application .jcc-expat-opening__lead {
  max-width: 24ch !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__lead {
  max-width: 20ch !important;
  margin: 0 !important;
  font-family: "Libre Caslon Text", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.34 !important;
  letter-spacing: -.01em;
}

body.jcc-expat-engagement main .jcc-expat-opening :is(
  .jcc-expat-opening__answer,
  .jcc-expat-opening__application
) > p:not(.jcc-expat-opening__lead) {
  max-width: 56ch !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1.68 !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__decisions .readiness-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  margin: 0;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__decisions .readiness-list li {
  font-size: 18px !important;
  line-height: 1.55 !important;
}

body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__transition {
  max-width: 72ch !important;
  margin: clamp(30px, 4vw, 48px) auto 0 !important;
  padding-top: 22px;
  border-top: 1px solid var(--jcc-expat-stone);
  text-align: center;
}

@media (max-width: 760px) {
  body.jcc-expat-engagement main .jcc-expat-opening :is(
    .jcc-expat-opening__answer,
    .jcc-expat-opening__decisions,
    .jcc-expat-opening__application
  ) {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__lead {
    max-width: 24ch !important;
    font-size: 22px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-opening .jcc-expat-opening__decisions .readiness-list {
    grid-template-columns: 1fr;
  }
}
body.jcc-expat-engagement main .jcc-expat-faq > .jcc-expat-visual-break,
body.jcc-expat-engagement main .jcc-expat-sources > .jcc-expat-visual-break {
  width: min(100% - 48px, 1440px) !important;
  margin: 0 auto clamp(36px, 5vw, 64px) !important;
}
@media (max-width: 680px) {
  body.jcc-expat-engagement main .jcc-expat-opening .jcc-support-band__figure {
    min-height: 240px !important;
    aspect-ratio: 4 / 3 !important;
  }
  body.jcc-expat-engagement main .jcc-expat-faq > .jcc-expat-visual-break,
  body.jcc-expat-engagement main .jcc-expat-sources > .jcc-expat-visual-break {
    width: calc(100% - 32px) !important;
  }
}

@media (min-width: 981px) {
  body.jcc-expat-engagement .readiness-tool.is-guided fieldset {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-content: start !important;
    padding-bottom: 24px !important;
  }
  body.jcc-expat-engagement .readiness-tool.is-guided fieldset legend {
    float: none !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  body.jcc-expat-engagement .readiness-tool.is-guided .readiness-option {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* Keep the floating Concierge launcher green without a gold outline. */
body.jcc-expat-engagement .jcc-chatbot__button {
  border: 0 !important;
  border-color: transparent !important;
}

/* Match the homepage mobile Concierge launcher: a compact labelled green pill
   instead of the generic icon-only control. */
@media (max-width: 560px) {
  body.jcc-expat-engagement .jcc-chatbot:not(.is-open) .jcc-chatbot__button {
    justify-content: flex-start;
    gap: 10px;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
    height: auto !important;
    min-height: 52px;
    padding: 10px 14px !important;
    overflow: visible;
  }

  body.jcc-expat-engagement .jcc-chatbot:not(.is-open) .jcc-chatbot__button::before {
    content: "\2726";
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: #f7f2e8;
    font-size: 17px;
    line-height: 1;
  }

  body.jcc-expat-engagement .jcc-chatbot:not(.is-open) .jcc-chatbot__button::after {
    content: "Chat with JCC AI Legal Concierge";
    color: #f7f2e8;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .05em;
    text-align: left;
    text-transform: uppercase;
  }
}

/* The dropdown footer now contains only the consultation action; keep it right-aligned. */
@media (min-width: 1041px) {
  body.jcc-expat-engagement header .jcc-practice-menu-footer {
    justify-content: flex-end !important;
    min-height: 0 !important;
    margin-top: 12px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  body.jcc-expat-engagement header .jcc-practice-menu-footer__actions {
    margin-left: auto !important;
    min-height: 0 !important;
  }
}

/* FAQ editorial treatment: open rows, not coloured cards. */
body.jcc-expat-engagement .jcc-expat-faq .faq-item,
body.jcc-expat-engagement .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.jcc-expat-engagement .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  background: #f6f2e9 !important;
}
body.jcc-expat-engagement .jcc-expat-faq__button,
body.jcc-expat-engagement .jcc-expat-faq__button:hover {
  background: transparent !important;
}
body.jcc-expat-engagement .jcc-expat-faq__icon {
  color: var(--jcc-expat-charcoal) !important;
  border-color: var(--jcc-expat-charcoal) !important;
}

/*
 * JCC_EXPAT_SECTION_HIERARCHY_PLAIN_LANGUAGE_CONTRACT_20260816
 * Restore the client-facing long-form section hierarchy, keep card surfaces
 * neutral, prevent consultation labels from escaping their controls, and
 * remove the orphaned second column left behind when the help aside was removed.
 */
body.jcc-expat-engagement .jcc-expat-help__grid {
  grid-template-columns: minmax(0, 1fr);
}

body.jcc-expat-engagement .jcc-expat-help__scope {
  width: 100%;
  min-width: 0;
}

body.jcc-expat-engagement [data-jcc-whatsapp-consultation] {
  gap: 10px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  white-space: normal !important;
}

body.jcc-expat-engagement [data-jcc-whatsapp-consultation] .jcc-consultation-call-icon,
body.jcc-expat-engagement main [data-jcc-hero-contact-icon][data-jcc-hero-contact-call] {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

body.jcc-expat-engagement [data-jcc-whatsapp-consultation] > span {
  min-width: 0;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: normal;
  text-align: center;
  text-wrap: balance;
}

body.jcc-expat-engagement .jcc-practice-menu-footer__actions [data-jcc-whatsapp-consultation] {
  font-size: 12px !important;
  line-height: 1.3 !important;
}

body.jcc-expat-engagement .jcc-mobile-consultation-cta {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 18px 0 4px;
  padding: 15px 18px !important;
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  background: var(--jcc-expat-gold) !important;
  border: 1px solid var(--jcc-expat-gold) !important;
  border-radius: 3px;
}

@media (max-width: 1040px) {
  html body.jcc-expat-engagement header #jcc-mobile-consultation-cta#jcc-mobile-consultation-cta#jcc-mobile-consultation-cta#jcc-mobile-consultation-cta {
    display: flex !important;
    width: 100% !important;
  }
}

body.jcc-expat-engagement main :is(
  .jcc-expat-topic-card,
  .jcc-expat-faq .faq-item,
  .jcc-expat-related .related-links > a,
  .readiness-option
) {
  background: #fff !important;
}

html body.jcc-expat-engagement main .jcc-expat-topic-card,
html body.jcc-expat-engagement main .jcc-expat-topic-card[data-jcc-card-tone="gold"],
html body.jcc-expat-engagement main .jcc-expat-topic-card[data-jcc-card-tone="green"] {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  background: #fff !important;
}

html body.jcc-expat-engagement main .jcc-expat-topic-card[data-jcc-card-tone]:is(
  :hover,
  :focus,
  :focus-visible,
  :active,
  [aria-selected="true"],
  [aria-pressed="true"],
  .is-selected
) {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  background: #fff !important;
  border-color: var(--jcc-expat-stone) !important;
  border-top-color: var(--jcc-card-accent) !important;
}

html body.jcc-expat-engagement main .jcc-expat-topic-card[data-jcc-card-tone]:is(
  :hover,
  :focus,
  :focus-visible,
  :active,
  [aria-selected="true"],
  [aria-pressed="true"],
  .is-selected
) > * {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

html body.jcc-expat-engagement main .jcc-expat-topic-card :is(h3, p, li, strong) {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

html body.jcc-expat-engagement main .jcc-expat-numbered,
html body.jcc-expat-engagement main .jcc-expat-numbered > li {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  background: var(--jcc-expat-ivory) !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item {
  --jcc-faq-accent: var(--jcc-expat-charcoal);
  border: 1px solid var(--jcc-expat-stone) !important;
  border-top: 2px solid var(--jcc-faq-accent) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item:nth-child(even) {
  --jcc-faq-accent: var(--jcc-expat-charcoal);
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  background: var(--jcc-expat-ivory) !important;
  box-shadow: inset 3px 0 0 var(--jcc-faq-accent) !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__button,
body.jcc-expat-engagement main .jcc-expat-faq__button:hover,
body.jcc-expat-engagement main .jcc-expat-faq__button:focus-visible {
  background: transparent !important;
}

/* FAQ rows need visible breathing room rather than a continuous stack. */
body.jcc-expat-engagement main .jcc-expat-faq .faq-list {
  display: grid !important;
  gap: 18px !important;
  border-top: 0 !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .faq-item {
  margin: 0 !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-top: 2px solid var(--jcc-expat-charcoal) !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__button {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  font-family: "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(20px, 1.6vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  text-align: left !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__icon {
  border-color: var(--jcc-expat-charcoal) !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item > h3 + p {
  color: #57544f !important;
  -webkit-text-fill-color: #57544f !important;
  font-family: "Hanken Grotesk", Arial, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.68 !important;
}

body.jcc-expat-engagement main :is(
  .jcc-expat-faq__intro,
  .jcc-expat-sources__head,
  .jcc-expat-related__intro
) h2 {
  font-family: "Libre Caslon Display", "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list a,
body.jcc-expat-engagement main .jcc-expat-related .related-links > a {
  color: var(--jcc-expat-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-expat-charcoal) !important;
  font-family: "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(20px, 1.6vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

/* Related guidance keeps its gold/forest edge accents at rest, but hover is
   neutral so one card does not appear to change colour family on interaction. */
body.jcc-expat-engagement .jcc-expat-related .related-links > a:is(:hover, :focus-visible) {
  border-color: #c9c9c9 !important;
  box-shadow: 0 16px 30px rgba(32, 32, 32, .1);
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list li {
  background: transparent !important;
}

/* Editorial links on the images remain links, rather than yellow consultation buttons. */
body.jcc-expat-engagement .jcc-expat-visual-break__content > a,
body.jcc-expat-engagement .jcc-expat-visual-break__content > a:hover,
body.jcc-expat-engagement .jcc-expat-visual-break__content > a:focus-visible {
  padding: 0 0 5px;
  color: var(--jcc-expat-ivory);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--jcc-expat-gold);
  border-radius: 0;
}

@media (min-width: 1041px) and (max-width: 1180px) {
  body.jcc-expat-engagement #jccHome-headcta {
    padding-inline: 16px !important;
    font-size: 12px !important;
    letter-spacing: .1em !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 680px) {
  body.jcc-expat-engagement main :is(
    .jcc-expat-faq__intro,
    .jcc-expat-sources__head,
    .jcc-expat-related__intro
  ) h2 {
    font-size: 34px !important;
    line-height: 1.12 !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq__button,
  body.jcc-expat-engagement main .jcc-expat-sources .source-list a,
  body.jcc-expat-engagement main .jcc-expat-related .related-links > a {
    font-size: 20px !important;
  }
}

/* Final FAQ spacing contract: keep each question visually distinct. */
body.jcc-expat-engagement main .jcc-expat-faq .faq-list {
  display: grid !important;
  gap: 18px !important;
  border-top: 0 !important;
}
body.jcc-expat-engagement main .jcc-expat-faq .faq-item {
  margin: 0 !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-top: 2px solid var(--jcc-expat-charcoal) !important;
}

/* Final canonical full-bleed and compact-source cascade. */
body.jcc-expat-engagement main .jcc-expat-faq > .jcc-expat-visual-break--full-bleed {
  width: 100vw !important;
  max-width: none !important;
  margin: 0 calc(50% - 50vw) clamp(38px, 5vw, 72px) !important;
  border-radius: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-sources {
  padding-block: clamp(52px, 6vw, 84px) !important;
}

body.jcc-expat-engagement main .jcc-expat-sources__layout {
  align-items: start !important;
  gap: clamp(28px, 4vw, 56px) !important;
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list {
  margin-top: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list li {
  min-height: 0 !important;
  padding-block: 17px !important;
}

/* Final FAQ containment contract: no reserved intro column, no inset rule and
   enough separation for each question to read as an independent control. */
body.jcc-expat-engagement main .jcc-expat-faq__layout {
  display: block !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(26px, 3vw, 42px) !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item,
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__button {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px !important;
  gap: clamp(16px, 2vw, 28px) !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  padding: clamp(24px, 3vw, 36px) !important;
  overflow: hidden !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__button > span:first-child {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__icon {
  justify-self: end !important;
  flex: none !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-answer {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 0 clamp(24px, 3vw, 36px) clamp(26px, 3vw, 38px) !important;
  overflow-wrap: anywhere !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-answer p {
  max-width: 62ch !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  body.jcc-expat-engagement main .jcc-expat-faq .faq-list {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq__button {
    grid-template-columns: minmax(0, 1fr) 38px !important;
    padding: 24px 20px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq .faq-answer {
    padding: 0 20px 24px !important;
  }
}

/* The canonical Expat page uses the homepage footer treatment, overriding the
   older landing-page footer palette inherited by this route. */
body.jcc-expat-engagement footer {
  color: #dddddd !important;
  background: var(--jcc-brand-charcoal-deep) !important;
  border-top: 1px solid rgba(221, 166, 70, .25) !important;
}

body.jcc-expat-engagement footer .jcc-home-footer-grid {
  grid-template-columns: minmax(220px, 1.1fr) minmax(250px, 1.2fr) minmax(180px, .85fr) minmax(150px, .65fr) !important;
  gap: clamp(36px, 4vw, 64px) !important;
}

body.jcc-expat-engagement footer .jcc-footer-contact > img {
  height: 96px !important;
  filter: brightness(0) invert(91%) sepia(13%) saturate(453%) hue-rotate(353deg) brightness(99%) contrast(89%);
}

body.jcc-expat-engagement footer h2 {
  color: var(--jcc-brand-gold) !important;
  line-height: 1.35 !important;
  overflow-wrap: normal !important;
  text-wrap: balance !important;
  word-break: normal !important;
}

body.jcc-expat-engagement footer p,
body.jcc-expat-engagement footer li,
body.jcc-expat-engagement footer li a,
body.jcc-expat-engagement footer .jcc-footer-contact a {
  color: #dddddd !important;
  -webkit-text-fill-color: #dddddd !important;
}

body.jcc-expat-engagement footer .jcc-footer-contact p {
  color: #d0d0d0 !important;
  -webkit-text-fill-color: #d0d0d0 !important;
}

body.jcc-expat-engagement footer .jcc-home-footer-bottom {
  border-top-color: rgba(195, 195, 195, .28) !important;
  color: #bebebe !important;
}

body.jcc-expat-engagement footer .jcc-home-footer-bottom a,
body.jcc-expat-engagement footer .jcc-home-footer-bottom span {
  color: #b2b2b2 !important;
  -webkit-text-fill-color: #b2b2b2 !important;
  line-height: 1.55 !important;
}

body.jcc-expat-engagement footer .jcc-home-footer-bottom a {
  font-size: 12px !important;
  letter-spacing: .04em !important;
}

body.jcc-expat-engagement footer .jcc-home-footer-bottom span {
  font-size: 13px !important;
}

body.jcc-expat-engagement footer a:hover,
body.jcc-expat-engagement footer a:focus-visible {
  color: var(--jcc-brand-white) !important;
  -webkit-text-fill-color: var(--jcc-brand-white) !important;
}

/* Overseas-assets editorial cards: preserve the approved copy while giving
   each question a full-width, scannable structure. */
body.jcc-expat-engagement main .jcc-expat-copy-band--assets .jcc-expat-topic-grid {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 46px) !important;
}

body.jcc-expat-engagement main .jcc-expat-copy-band--assets .jcc-expat-assets-card {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  padding: clamp(30px, 4vw, 54px) !important;
  overflow: hidden !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-top: 3px solid var(--jcc-expat-charcoal) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 18px 42px rgba(32, 32, 32, .07) !important;
}

body.jcc-expat-engagement main .jcc-expat-copy-band--assets .jcc-expat-assets-card:nth-child(odd) {
  border-top-color: var(--jcc-expat-gold) !important;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__lead {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: end;
  margin-bottom: clamp(28px, 4vw, 44px);
  padding-bottom: clamp(24px, 3vw, 36px);
  border-bottom: 1px solid var(--jcc-expat-stone);
}

body.jcc-expat-engagement main .jcc-expat-assets-card__lead :is(h3, p),
body.jcc-expat-engagement main .jcc-expat-assets-card__columns > div > :first-child,
body.jcc-expat-engagement main .jcc-expat-assets-card__columns > div > :last-child {
  margin-top: 0 !important;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__lead h3 {
  margin-bottom: 0 !important;
  font-size: clamp(30px, 3.4vw, 46px) !important;
  line-height: 1.08 !important;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__lead p {
  max-width: 58ch;
  margin-bottom: 0 !important;
  color: #4f4d49 !important;
  font-size: clamp(17px, 1.5vw, 19px) !important;
  line-height: 1.65 !important;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(34px, 6vw, 84px);
  align-items: start;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__columns > div {
  min-width: 0;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__columns > div + div {
  padding-left: clamp(24px, 3vw, 42px);
  border-left: 1px solid var(--jcc-expat-stone);
}

body.jcc-expat-engagement main .jcc-expat-assets-card__columns p:first-child {
  font-weight: 600 !important;
}

body.jcc-expat-engagement main .jcc-expat-assets-card__columns .readiness-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  body.jcc-expat-engagement main .jcc-expat-copy-band--assets .jcc-expat-assets-card {
    padding: 26px 22px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-assets-card__lead,
  body.jcc-expat-engagement main .jcc-expat-assets-card__columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  body.jcc-expat-engagement main .jcc-expat-assets-card__lead {
    align-items: start;
  }

  body.jcc-expat-engagement main .jcc-expat-assets-card__lead h3 {
    font-size: 30px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-assets-card__columns > div + div {
    padding-top: 24px;
    padding-left: 0;
    border-top: 1px solid var(--jcc-expat-stone);
    border-left: 0;
  }
}

@media (min-width: 901px) and (max-width: 1040px) {
  body.jcc-expat-engagement footer .jcc-home-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.jcc-expat-engagement footer .jcc-home-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 36px 28px !important;
    padding-top: 64px !important;
  }

  body.jcc-expat-engagement footer .jcc-footer-contact,
  body.jcc-expat-engagement footer .jcc-footer-practice {
    grid-column: 1 / -1 !important;
  }

  body.jcc-expat-engagement footer .jcc-footer-contact > img {
    height: 88px !important;
    margin-bottom: 34px !important;
  }

  body.jcc-expat-engagement footer h2 {
    margin-bottom: 20px !important;
    font-size: 12px !important;
    letter-spacing: .14em !important;
  }

  body.jcc-expat-engagement footer .jcc-home-footer-bottom {
    margin-top: 42px !important;
    padding-bottom: 28px !important;
  }
}

/* Canonical FAQ typography and containment contract. Long client questions
   use card-title scale rather than section-heading scale. */
body.jcc-expat-engagement :is(#jcc-expat-h1-force#jcc-expat-h1-force#jcc-expat-h1-force, main h1) {
  font-size: clamp(52px, 5vw, 72px) !important;
  line-height: 1.08 !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  width: min(100%, 1180px) !important;
  margin-inline: auto !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item,
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:nth-child(even),
body.jcc-expat-engagement main .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--jcc-expat-stone) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item::before,
body.jcc-expat-engagement main .jcc-expat-faq .faq-item::after,
body.jcc-expat-engagement main .jcc-expat-faq__button::before,
body.jcc-expat-engagement main .jcc-expat-faq__button::after {
  content: none !important;
  display: none !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item > h3 {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font: inherit !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__button,
body.jcc-expat-engagement main .jcc-expat-faq__button:hover,
body.jcc-expat-engagement main .jcc-expat-faq__button:focus-visible {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 92px !important;
  box-sizing: border-box !important;
  padding: 24px 26px !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--jcc-expat-charcoal) !important;
  font-family: "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(20px, 1.55vw, 24px) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.012em !important;
  text-align: left !important;
  white-space: normal !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__button > span:first-child {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.jcc-expat-engagement main .jcc-expat-faq__icon {
  display: inline-grid !important;
  place-items: center !important;
  justify-self: end !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border: 1px solid currentColor !important;
  border-radius: 50% !important;
  font-family: "Hanken Grotesk", Arial, sans-serif !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-answer {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 0 96px 26px 26px !important;
  border: 0 !important;
  overflow-wrap: break-word !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-answer p {
  max-width: 72ch !important;
  margin: 0 !important;
  font-family: "Hanken Grotesk", Arial, sans-serif !important;
  font-size: clamp(16px, 1.15vw, 18px) !important;
  line-height: 1.68 !important;
}

@media (max-width: 640px) {
  body.jcc-expat-engagement :is(#jcc-expat-h1-force#jcc-expat-h1-force#jcc-expat-h1-force, main h1) {
    font-size: clamp(38px, 11vw, 46px) !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq__button,
  body.jcc-expat-engagement main .jcc-expat-faq__button:hover,
  body.jcc-expat-engagement main .jcc-expat-faq__button:focus-visible {
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 14px !important;
    min-height: 82px !important;
    padding: 20px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq__icon {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 23px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq .faq-answer {
    padding: 0 20px 22px !important;
  }

  body.jcc-expat-engagement main .jcc-expat-faq .faq-answer p {
    font-size: 16px !important;
  }
}

/* Authorities need a stacked editorial layout before the two-column version
   becomes narrow enough to create tall headings and a large empty gutter. */
@media (max-width: 900px) {
  body.jcc-expat-engagement main .jcc-expat-sources {
    padding-block: clamp(34px, 7vw, 48px) !important;
  }

  body.jcc-expat-engagement main .jcc-expat-sources__layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(24px, 5vw, 36px) !important;
  }

  body.jcc-expat-engagement main .jcc-expat-sources__head h2 {
    max-width: 18ch !important;
    margin-top: 10px !important;
    font-size: clamp(34px, 7vw, 44px) !important;
    line-height: 1.08 !important;
  }

  body.jcc-expat-engagement main .jcc-expat-sources .source-list {
    gap: 0 !important;
  }

  body.jcc-expat-engagement main .jcc-expat-sources .source-list li {
    padding-block: 14px !important;
  }
}


/* JCC_EXPAT_MOBILE_MENU_HOME_ALIGNMENT_20260817 */
@media (max-width: 1040px) {
  html body.jcc-expat-engagement header > div:first-child { min-height: 88px !important; padding: 17px 32px !important; }
  html body.jcc-expat-engagement header [data-jcc-mobile-toggle] { width: 46px !important; height: 46px !important; border: 1px solid #424242 !important; border-radius: 2px !important; }
  html body.jcc-expat-engagement header [data-jcc-mobile-menu] { padding: 14px 32px 22px !important; background: #171717 !important; border-top: 1px solid #252525 !important; }
  html body.jcc-expat-engagement header [data-jcc-mobile-menu] nav { gap: 4px !important; font-size: 16px !important; }
  html body.jcc-expat-engagement header [data-jcc-mobile-menu] :is(a, button) { color: #d6d6d6 !important; font-size: 16px !important; padding: 12px 0 !important; border-bottom-color: #252525 !important; }
}
@media (max-width: 520px) {
  html body.jcc-expat-engagement header [data-jcc-mobile-menu] { padding-right: 24px !important; padding-left: 24px !important; }
  html body.jcc-expat-engagement header [data-jcc-mobile-menu] :is(a, button) { font-size: 15px !important; }
}
