/* Justin Chan Chambers site-wide brand system - 25 July 2026. */
:root {
  --jcc-brand-charcoal-deep: #202020;
  --jcc-brand-charcoal: #292a29;
  --jcc-brand-graphite: #3a3a37;
  --jcc-brand-mid-grey: #55534f;
  --jcc-brand-greige: #dedad2;
  --jcc-brand-stone: #d8d2c8;
  --jcc-brand-ivory: #f6f2ea;
  --jcc-brand-white: #ffffff;
  --jcc-brand-gold: #dda646;
  --jcc-brand-gold-muted: #b98b43;
  --jcc-brand-forest: #355b4a;
  --jcc-brand-forest-hover: #416b58;
  --jcc-brand-gold-text: #7b5008;
  --jcc-brand-forest-text: #234b3b;
  --jcc-brand-neutral-on-dark: #e8e3da;
  --jcc-brand-muted-on-dark: #cbc5ba;
  --jcc-brand-gold-on-dark: #f0c77e;
  --jcc-brand-forest-on-dark: #b9dacb;
  --jcc-brand-consultation-label-on-dark: #f0c77e;
  --jcc-brand-cta-width: clamp(260px, 22vw, 320px);
  --jcc-brand-whatsapp: #25d366;
  --jcc-brand-radius-control: 8px;
  --jcc-brand-radius-card: 10px;
  --jcc-brand-shadow-card: 0 12px 34px rgba(32, 32, 32, .07);
  --jcc-brand-shadow-card-active: 0 18px 42px rgba(32, 32, 32, .14);
  --jcc-brand-section-light: var(--jcc-brand-ivory);
  --jcc-brand-section-soft: var(--jcc-brand-greige);
  --jcc-brand-section-dark: var(--jcc-brand-charcoal);
}

html {
  background: var(--jcc-brand-charcoal-deep);
}

body {
  background: var(--jcc-brand-section-light);
  color: var(--jcc-brand-charcoal-deep);
  font-family: "Hanken Grotesk", Arial, system-ui, sans-serif;
}

body ::selection {
  color: var(--jcc-brand-charcoal-deep);
  background: var(--jcc-brand-gold);
}

body :focus-visible {
  outline: 2px solid var(--jcc-brand-gold) !important;
  outline-offset: 4px;
}

body h1,
body h2,
body h3,
body h4 {
  font-family: "Libre Caslon Text", Georgia, serif;
}

/* Shared header and navigation contract. */
body header,
body header.jcc-header-scrolled,
body.jcc-experience-ready header,
body.jcc-experience-ready header.jcc-header-scrolled {
  background: rgba(32, 32, 32, .98) !important;
  border-bottom-color: rgba(221, 166, 70, .28) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .20) !important;
}

body header > div:first-child > a:first-child img {
  filter: none !important;
}

body header nav > a,
body header nav > button,
body header .jcc-practice-trigger,
body header .jcc-articles-trigger,
body header summary {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
}

body header nav > a[aria-current="page"],
body header nav > button[aria-current="page"],
body header nav > details > summary[aria-current="page"] {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  box-shadow: inset 0 -3px 0 var(--jcc-brand-gold) !important;
}

body header nav > a[href="/"] {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
}

body header :is(#jcc-brand-system-force#jcc-brand-system-force#jcc-brand-system-force, [id$="-headcta"]),
body header .jcc-practice-dropdown a[href="/contact/"] {
  min-height: 48px !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-gold) !important;
  border-color: var(--jcc-brand-gold) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
  box-shadow: none !important;
}

body header :is(#jcc-brand-system-force#jcc-brand-system-force#jcc-brand-system-force, [id$="-headcta"]):hover,
body header :is(#jcc-brand-system-force#jcc-brand-system-force#jcc-brand-system-force, [id$="-headcta"]):focus-visible,
body header .jcc-practice-dropdown a[href="/contact/"]:hover,
body header .jcc-practice-dropdown a[href="/contact/"]:focus-visible {
  background: var(--jcc-brand-gold-muted) !important;
  border-color: var(--jcc-brand-gold-muted) !important;
}

body header [data-jcc-mobile-toggle] {
  border-color: rgba(221, 166, 70, .58) !important;
}

body header .jcc-mobile-menu {
  color: var(--jcc-brand-ivory) !important;
  background: var(--jcc-brand-charcoal-deep) !important;
  border-color: rgba(221, 166, 70, .28) !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .28) !important;
}

body header .jcc-mobile-menu nav > a,
body header .jcc-mobile-menu nav > button,
body header .jcc-mobile-menu nav > details > summary {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  border-color: rgba(246, 242, 234, .18) !important;
}

body header .jcc-mobile-menu nav > a[aria-current="page"],
body header .jcc-mobile-menu nav > button[aria-current="page"],
body header .jcc-mobile-menu nav > details > summary[aria-current="page"] {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  padding-left: 12px !important;
  box-shadow: inset 3px 0 0 var(--jcc-brand-gold) !important;
}

body header .jcc-mobile-menu [data-jcc-mobile-practice-panel] p,
body header .jcc-mobile-menu .jcc-mobile-articles-nav > div > p {
  color: var(--jcc-brand-gold) !important;
  -webkit-text-fill-color: var(--jcc-brand-gold) !important;
}

/* Existing family layouts remain authoritative; these are shared surface tokens. */
body .jcc-rw-white,
body .readiness-section,
body .jcc-concierge-section,
body .jcc-support-section {
  border-color: var(--jcc-brand-stone);
}

body .jcc-rw-soft,
body .readiness-section--paper {
  background: var(--jcc-brand-section-soft) !important;
  border-color: #c8c2b8 !important;
}

body .jcc-rw-dark,
body .readiness-section--dark,
body .jcc-concierge-closing {
  color: var(--jcc-brand-ivory);
  background: var(--jcc-brand-section-dark) !important;
  border-color: rgba(221, 166, 70, .24) !important;
}

body .jcc-rw-label,
body .readiness-eyebrow,
body .jcc-concierge-kicker,
body .jcc-source-card-label {
  color: var(--jcc-brand-forest) !important;
}

body .jcc-rw-dark .jcc-rw-label,
body .readiness-section--dark .readiness-eyebrow,
body .jcc-concierge-closing .jcc-concierge-kicker {
  color: var(--jcc-brand-gold) !important;
}

/* Primary controls. */
body .jcc-rw-button,
body .readiness-button,
body .jcc-concierge-closing .button {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-gold) !important;
  border-color: var(--jcc-brand-gold) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
}

body .jcc-rw-button:hover,
body .jcc-rw-button:focus-visible,
body .readiness-button:hover,
body .readiness-button:focus-visible {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background: var(--jcc-brand-gold-muted) !important;
  border-color: var(--jcc-brand-gold-muted) !important;
}

body .button-secondary,
body .jcc-concierge-home-copy > a,
body .jcc-home-insights > div > div:first-child > a,
body .jcc-meet-justin .jcc-about-grid > div:last-child > a {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  background: var(--jcc-brand-forest) !important;
  border-color: var(--jcc-brand-forest) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
}


/*
 * JCC_SITEWIDE_CTA_CONTRACT
 * Every consultation conversion is gold. Other substantive buttons are forest.
 */
body main :is(
  #jcc-secondary-contract-force#jcc-secondary-contract-force#jcc-secondary-contract-force,
  a.button,
  button.button,
  .jcc-rw-button,
  .readiness-button,
  .jcc-architecture-hero__primary-cta,
  .jcc-support-visual-copy > a,
  [data-jcc-button-secondary]
):not([data-jcc-consultation-primary]) {
  min-height: 56px !important;
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  background: var(--jcc-brand-forest) !important;
  border: 1px solid var(--jcc-brand-forest) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
  box-shadow: none !important;
}

body main :is(
  #jcc-secondary-contract-force#jcc-secondary-contract-force#jcc-secondary-contract-force,
  a.button,
  button.button,
  .jcc-rw-button,
  .readiness-button,
  .jcc-architecture-hero__primary-cta,
  .jcc-support-visual-copy > a,
  [data-jcc-button-secondary]
):not([data-jcc-consultation-primary]):is(:hover, :focus, :focus-visible, :active) {
  color: var(--jcc-brand-white) !important;
  -webkit-text-fill-color: var(--jcc-brand-white) !important;
  background: var(--jcc-brand-forest-hover) !important;
  border-color: var(--jcc-brand-forest-hover) !important;
}

body :is(
  #jcc-consultation-contract-force#jcc-consultation-contract-force#jcc-consultation-contract-force,
  [data-jcc-consultation-primary]
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  width: min(100%, var(--jcc-brand-cta-width)) !important;
  padding: 14px 26px !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
  background: var(--jcc-brand-gold) !important;
  border: 1px solid var(--jcc-brand-gold) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
  box-shadow: none !important;
}

body :is(
  #jcc-consultation-contract-force#jcc-consultation-contract-force#jcc-consultation-contract-force,
  [data-jcc-consultation-primary]
):is(:hover, :focus, :focus-visible, :active) {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  background: var(--jcc-brand-gold-muted) !important;
  border-color: var(--jcc-brand-gold-muted) !important;
}

body header [data-jcc-consultation-primary] {
  min-height: 48px !important;
  width: auto !important;
  padding: 12px 24px !important;
}

/* JCC_HEADER_WHATSAPP_CALL_ONLY_20260817 */
body header > div:first-child > [data-jcc-consultation-primary] {
  gap: 10px !important;
}

/* The header action opens WhatsApp. Its inline phone mark is the sole icon. */
body header > div:first-child > [data-jcc-consultation-primary]::before {
  content: none !important;
  display: none !important;
}

/* JCC_UNIVERSAL_PREFOOTER_CONTACT_20260817 */
html body .jcc-prefooter-contact {
  background: var(--jcc-brand-charcoal-deep);
  color: var(--jcc-brand-ivory);
}

html body .jcc-prefooter-contact__inner {
  width: min(100% - 48px, 920px);
  margin: 0 auto;
  padding: clamp(72px, 9vw, 124px) 0;
}

html body .jcc-prefooter-contact h2 {
  margin: 0;
  color: var(--jcc-brand-white);
  font-family: "Libre Caslon Display", Georgia, serif;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 400;
  line-height: 1.08;
}

html body .jcc-prefooter-contact p {
  max-width: 62ch;
  margin: 18px 0 30px;
  color: var(--jcc-brand-ivory);
  font-size: 17px;
  line-height: 1.7;
}

html body .jcc-prefooter-contact :is(
  #jcc-prefooter-contact-force#jcc-prefooter-contact-force#jcc-prefooter-contact-force,
  .jcc-prefooter-contact__cta[data-jcc-consultation-primary]
) {
  display: flex !important;
  width: fit-content !important;
  margin-inline: auto !important;
  min-height: 56px !important;
  padding: 14px 24px !important;
  background: var(--jcc-brand-gold) !important;
  border-color: var(--jcc-brand-gold) !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
}

@media (max-width: 680px) {
  html body .jcc-prefooter-contact__inner { width: calc(100% - 48px); }
  html body .jcc-prefooter-contact :is(
    #jcc-prefooter-contact-force#jcc-prefooter-contact-force#jcc-prefooter-contact-force,
    .jcc-prefooter-contact__cta[data-jcc-consultation-primary]
  ) { width: 100% !important; }
}

body main :is(
  .hero-actions,
  .jcc-about-hero-actions,
  .jcc-architecture-hero__actions,
  .jcc-rw-hero-copy,
  .readiness-hero__content,
  .jcc-rw-cta > div,
  .jcc-concierge-closing > div
) {
  align-items: flex-start;
}

/* JCC_SITEWIDE_CTA_SIZE_CONTRACT: integrated from approved origin/main commits 950ff99 and 7365992. */
html body main :is(
  #jcc-cta-size-force#jcc-cta-size-force#jcc-cta-size-force,
  [data-jcc-consultation-primary],
  [data-jcc-button-secondary],
  a.button,
  button.button,
  .jcc-rw-button,
  .readiness-button
) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 60px !important;
  width: var(--jcc-brand-cta-width) !important;
  max-width: 100% !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
  text-align: center !important;
}

html body main :is(
  .jcc-architecture-hero__actions,
  .jcc-hero-actions,
  .hero-actions,
  .jcc-about-hero-actions,
  .jcc-concierge-closing-actions
) {
  align-items: stretch !important;
}

@media (max-width: 640px) {
  html body main :is(
    #jcc-cta-size-force#jcc-cta-size-force#jcc-cta-size-force,
    [data-jcc-consultation-primary],
    [data-jcc-button-secondary],
    a.button,
    button.button,
    .jcc-rw-button,
    .readiness-button
  ) {
    width: 100% !important;
  }
}
/*
 * JCC_COMPACT_EDITORIAL_ACTION_CONTRACT
 * JCC_COMPACT_EDITORIAL_ACTION_GOLD_CONTRACT_20260728
 * Legal Concierge article/resource actions are compact gold buttons with
 * charcoal text. Their hover, focus and pressed states remain gold.
 */
html body main [data-jcc-editorial-action] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  min-height: 44px !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 10px 16px !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  text-decoration: none !important;
  background: var(--jcc-brand-gold) !important;
  border: 1px solid var(--jcc-brand-gold) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
  box-shadow: none !important;
}

html body main [data-jcc-editorial-action]:is(:hover, :focus, :focus-visible, :active) {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  text-decoration: none !important;
  background: var(--jcc-brand-gold-muted) !important;
  border-color: var(--jcc-brand-gold-muted) !important;
}

html body main [data-jcc-editorial-action] > [aria-hidden="true"] {
  flex: 0 0 auto;
}

/*
 * JCC_CONCIERGE_RELATED_ACTION_FOREST_CONTRACT_20260728
 * A second guide within the same Legal Concierge card is a complete secondary
 * button, not an unframed gold label. Forest distinguishes it from the card's
 * gold primary guide while retaining a 44px accessible target.
 */
html body.jcc-page-legal-concierge main [data-jcc-related-action] {
  box-sizing: border-box !important;
  display: inline-flex !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  min-height: 44px !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 10px 16px !important;
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  text-decoration: none !important;
  background: var(--jcc-brand-forest) !important;
  border: 1px solid var(--jcc-brand-forest) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
  box-shadow: none !important;
}

html body.jcc-page-legal-concierge main [data-jcc-related-action]:is(:hover, :focus, :focus-visible, :active) {
  color: var(--jcc-brand-white) !important;
  -webkit-text-fill-color: var(--jcc-brand-white) !important;
  text-decoration: none !important;
  background: var(--jcc-brand-forest-hover) !important;
  border-color: var(--jcc-brand-forest-hover) !important;
}

html body.jcc-page-legal-concierge main [data-jcc-related-action] > [aria-hidden="true"] {
  flex: 0 0 auto;
}

/* The frozen About image, crop, overlay, copy and typography geometry remain unchanged. The action row follows the shared single-contact contract. */

/*
 * JCC_SITEWIDE_HERO_LEFT_CONTRACT
 * Full-bleed non-About hero copy starts at the shared content edge.
 */
html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) > :is(#jcc-hero-wrapper-force#jcc-hero-wrapper-force#jcc-hero-wrapper-force, div[aria-hidden="true"]) {
  display: none !important;
}

html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) > :is(#jcc-hero-wrapper-force#jcc-hero-wrapper-force#jcc-hero-wrapper-force, div:has(.jcc-architecture-hero__content)) {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) :is(
  [class].jcc-architecture-hero__content,
  .jcc-rw-hero-copy,
  .jcc-al-hero-copy,
  .readiness-hero__content,
  .hero-copy
) {
  width: 100% !important;
  max-width: 820px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
  justify-self: start !important;
}

/*
 * JCC_HERO_SINGLE_CONTACT_ENVELOPE_CTA_CONTRACT_20260727
 * Every hero has one left-aligned consultation action with a
 * decorative envelope icon and no competing AI or WhatsApp hero action.
 */
html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) :is(
  .jcc-home-actions,
  .hero-actions,
  .jcc-al-hero-actions,
  .jcc-architecture-hero__actions
),
html body.page-about main .jcc-about-architecture-hero .jcc-about-hero-actions {
  width: 100% !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) a.jcc-architecture-hero__primary-cta[data-jcc-hero-primary-cta="true"],
html body.page-about main .jcc-about-architecture-hero a.jcc-architecture-hero__primary-cta[data-jcc-hero-primary-cta="true"] {
  gap: 11px !important;
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  color: var(--jcc-brand-charcoal) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal) !important;
  background: var(--jcc-brand-gold) !important;
  border-color: var(--jcc-brand-gold) !important;
}

html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) [data-jcc-hero-contact-icon][data-jcc-hero-contact-envelope],
html body.page-about main .jcc-about-architecture-hero [data-jcc-hero-contact-icon][data-jcc-hero-contact-envelope] {
  display: block !important;
  flex: 0 0 19px !important;
  width: 19px !important;
  height: 19px !important;
  fill: currentColor !important;
}

html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) [data-jcc-hero-primary-cta="true"] > span,
html body.page-about main .jcc-about-architecture-hero [data-jcc-hero-primary-cta="true"] > span {
  min-width: 0;
}

html body.page-about main .jcc-about-architecture-hero a.jcc-architecture-hero__primary-cta[data-jcc-hero-primary-cta="true"] {
  font-size: 13px !important;
}

@media (max-width: 720px) {
  html body.page-about main .jcc-about-architecture-hero a.jcc-architecture-hero__primary-cta[data-jcc-hero-primary-cta="true"] {
    font-size: 12.5px !important;
  }
}
/*
 * JCC_SITEWIDE_SECTION_HEADING_CONTRACT
 * Kicker, section title and supporting copy share the left content edge.
 */
body main :is(
  [data-jcc-section-heading],
  .jcc-section-heading,
  .jcc-al-section-heading,
  .jcc-support-section-heading
) {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

body main [data-jcc-section-heading] {
  width: min(100%, 820px) !important;
  max-width: 820px !important;
}

/*
 * JCC_SITEWIDE_CONTRAST_CONTRACT
 * Accent text has surface-aware tokens; neutral copy never inherits legacy grey
 * on governed dark panels.
 */
body :is(.jcc-rw-label, .readiness-eyebrow, .jcc-concierge-kicker, .jcc-source-card-label) {
  color: var(--jcc-brand-forest-text) !important;
  -webkit-text-fill-color: var(--jcc-brand-forest-text) !important;
}

body :is(
  .jcc-rw-dark,
  .readiness-section--dark,
  .jcc-concierge-promise,
  .jcc-concierge-closing,
  .jcc-al-rail-cta,
  .jcc-al-interview,
  .final-focus,
  .cta-band
) :is(p, li, dd, blockquote, .lead) {
  color: var(--jcc-brand-neutral-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-neutral-on-dark) !important;
}

body .jcc-concierge-promise .jcc-concierge-kicker {
  color: var(--jcc-brand-forest-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-forest-on-dark) !important;
}

body :is(
  .jcc-rw-dark,
  .readiness-section--dark,
  .jcc-concierge-closing,
  .jcc-al-rail-cta,
  .jcc-al-interview,
  .final-focus,
  .cta-band
) :is(.jcc-rw-label, .readiness-eyebrow, .section-kicker, .eyebrow, .jcc-concierge-kicker),
body .jcc-concierge-urgent-note strong {
  color: var(--jcc-brand-gold-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-gold-on-dark) !important;
}

/*
 * JCC_LANDING_URGENT_LABEL_CONTRAST_CONTRACT_20260727
 * Preserve the forest accent on charcoal urgent bands with the governed
 * high-contrast on-dark token.
 */
body.jcc-page-landing main .jcc-rw .jcc-rw-urgent p.jcc-rw-label {
  color: var(--jcc-brand-forest-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-forest-on-dark) !important;
}

body .jcc-concierge-promise-head > p:last-child,
body .jcc-concierge-urgent-note p {
  color: var(--jcc-brand-neutral-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-neutral-on-dark) !important;
}


/* Shared card geometry and colour ownership. */
body :is(
  .jcc-matter-card,
  .jcc-practice-grid > a,
  .jcc-insight-card,
  .jcc-concierge-home-benefit,
  .jcc-rw-card,
  .jcc-rw-step,
  .readiness-card,
  .hub-card,
  .jcc-source-card,
  .jcc-video-card,
  .jcc-team-profile,
  .info-card
) {
  --jcc-card-accent: var(--jcc-brand-gold);
  --jcc-card-selected-background: var(--jcc-brand-gold);
  --jcc-card-selected-foreground: var(--jcc-brand-charcoal-deep);
  border-color: var(--jcc-brand-stone) !important;
  border-top-color: var(--jcc-card-accent) !important;
  border-radius: var(--jcc-brand-radius-card) !important;
  box-shadow: var(--jcc-brand-shadow-card);
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

body :is(
  .jcc-matter-card,
  .jcc-practice-grid > a,
  .jcc-insight-card,
  .jcc-concierge-home-benefit,
  .jcc-rw-card,
  .jcc-rw-step,
  .readiness-card,
  .hub-card,
  .jcc-source-card,
  .jcc-video-card,
  .jcc-team-profile
):nth-child(even) {
  --jcc-card-accent: var(--jcc-brand-forest);
  --jcc-card-selected-background: var(--jcc-brand-forest);
  --jcc-card-selected-foreground: var(--jcc-brand-ivory);
}

/* JCC_CARD_SELECTED_GOLD_CONTRACT: gold cards remain gold when interactive. */
body [data-jcc-card-tone="gold"] {
  --jcc-card-accent: var(--jcc-brand-gold);
  --jcc-card-selected-background: var(--jcc-brand-gold);
  --jcc-card-selected-foreground: var(--jcc-brand-charcoal-deep);
}

body [data-jcc-card-tone="green"] {
  --jcc-card-accent: var(--jcc-brand-forest);
  --jcc-card-selected-background: var(--jcc-brand-forest);
  --jcc-card-selected-foreground: var(--jcc-brand-ivory);
}

body :is(
  #jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force,
  .hub-card,
  [data-jcc-card-tone]
):not(.jcc-expat-topic-card):is(:hover, :focus, :focus-visible, :active, [aria-selected="true"], [aria-pressed="true"], .is-selected) {
  color: var(--jcc-card-selected-foreground) !important;
  background: var(--jcc-card-selected-background) !important;
  border-color: var(--jcc-card-accent) !important;
  box-shadow: var(--jcc-brand-shadow-card-active) !important;
  transform: translateY(-4px);
}

body :is(
  #jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force,
  .hub-card,
  [data-jcc-card-tone]
):not(.jcc-expat-topic-card):is(:hover, :focus, :focus-visible, :active, [aria-selected="true"], [aria-pressed="true"], .is-selected) > * {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
}

body :is(
  .jcc-matter-card,
  .jcc-practice-grid > a,
  .jcc-insight-card,
  .jcc-concierge-home-benefit
):is(:hover, :focus, :focus-visible, :active),
html body.jcc-page-home.jcc-grey-return main :is(
  .jcc-matter-card,
  .jcc-practice-grid > a,
  .jcc-insight-card,
  .jcc-concierge-home-benefit
):is(:hover, :focus, :focus-visible, :active) {
  color: var(--jcc-card-selected-foreground) !important;
  background: var(--jcc-card-selected-background) !important;
  border-color: var(--jcc-card-accent) !important;
  box-shadow: var(--jcc-brand-shadow-card-active) !important;
  transform: translateY(-4px);
}

body :is(
  .jcc-matter-card,
  .jcc-practice-grid > a,
  .jcc-insight-card,
  .jcc-concierge-home-benefit
):is(:hover, :focus, :focus-visible, :active) > *,
html body.jcc-page-home.jcc-grey-return main :is(
  .jcc-matter-card,
  .jcc-practice-grid > a,
  .jcc-insight-card,
  .jcc-concierge-home-benefit
):is(:hover, :focus, :focus-visible, :active) > * {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
}
html body.jcc-page-home.jcc-grey-return main .jcc-matter-finder
  :is(#jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force, .jcc-matter-card):is(:hover, :focus, :focus-visible, :active),
html body.jcc-page-home.jcc-grey-return main
  :is(#jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force, .jcc-concierge-home-benefit):is(:hover, :focus, :focus-visible, :active) {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
  background: var(--jcc-card-selected-background) !important;
  border-color: var(--jcc-card-accent) !important;
  box-shadow: var(--jcc-brand-shadow-card-active) !important;
  transform: translateY(-4px);
}

html body.jcc-page-home.jcc-grey-return main .jcc-matter-finder
  :is(#jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force, .jcc-matter-card):is(:hover, :focus, :focus-visible, :active) > *,
html body.jcc-page-home.jcc-grey-return main
  :is(#jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force, .jcc-concierge-home-benefit):is(:hover, :focus, :focus-visible, :active) > *,
html body.jcc-page-home.jcc-grey-return main .jcc-matter-finder
  :is(#jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force, .jcc-matter-card):is(:hover, :focus, :focus-visible, :active) :is(.jcc-matter-number, i, span),
html body.jcc-page-home.jcc-grey-return main
  :is(#jcc-card-contract-force#jcc-card-contract-force#jcc-card-contract-force, .jcc-concierge-home-benefit):is(:hover, :focus, :focus-visible, :active) p {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
}
/* Readiness choices are the current selected-card component and use gold. */
body .readiness-option {
  --jcc-card-accent: var(--jcc-brand-gold);
  --jcc-card-selected-background: var(--jcc-brand-gold);
  --jcc-card-selected-foreground: var(--jcc-brand-charcoal-deep);
  border-color: var(--jcc-brand-stone) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
}

body .readiness-option:hover {
  border-color: var(--jcc-brand-gold-muted) !important;
  background: #fbf5e8 !important;
}

body .readiness-option:has(input:checked),
body .readiness-option:has(input[data-urgent="true"]:checked) {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
  background: var(--jcc-card-selected-background) !important;
  border-color: var(--jcc-card-accent) !important;
  box-shadow: inset 4px 0 0 var(--jcc-brand-gold-muted), var(--jcc-brand-shadow-card) !important;
}

body .readiness-option input {
  accent-color: var(--jcc-brand-charcoal-deep) !important;
}

/* AI Legal Concierge controls. */
body .jcc-chatbot__button {
  min-height: 52px;
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  background: var(--jcc-brand-forest) !important;
  border: 1px solid rgba(221, 166, 70, .72) !important;
  border-radius: var(--jcc-brand-radius-control) !important;
  box-shadow: 0 14px 34px rgba(32, 32, 32, .26) !important;
}

body .jcc-chatbot__button:hover,
body .jcc-chatbot__button:focus-visible,
body .jcc-chatbot__lead-open:hover,
body .jcc-chatbot__lead-submit:hover {
  background: var(--jcc-brand-forest-hover) !important;
}

body .jcc-chatbot__header {
  border-top: 4px solid var(--jcc-brand-forest) !important;
}

body .jcc-chatbot__lead-open,
body .jcc-chatbot__lead-submit {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  background: var(--jcc-brand-forest) !important;
  border-color: var(--jcc-brand-forest) !important;
}

/* JCC_CHATBOT_ACTION_HIERARCHY_CONTRACT_20260728 */
body .jcc-chatbot__submit {
  color: var(--jcc-brand-forest-text) !important;
  -webkit-text-fill-color: var(--jcc-brand-forest-text) !important;
  background: var(--jcc-brand-ivory) !important;
  border-color: var(--jcc-brand-forest) !important;
  box-shadow: none !important;
}

body .jcc-chatbot__submit:hover,
body .jcc-chatbot__submit:focus-visible {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-greige) !important;
  border-color: var(--jcc-brand-forest-hover) !important;
}

body .jcc-chatbot__cta {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-gold) !important;
  border-color: var(--jcc-brand-gold) !important;
}

/* Shared footer contract. */
body footer {
  background: var(--jcc-brand-charcoal-deep) !important;
  border-top: 1px solid rgba(221, 166, 70, .25) !important;
}

body footer h2 {
  color: var(--jcc-brand-gold) !important;
}

body footer a {
  color: #d7d3cb !important;
  -webkit-text-fill-color: #d7d3cb !important;
}

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

@media (max-width: 1040px) {
  body header :is(#jcc-mobile-headcta-force#jcc-mobile-headcta-force#jcc-mobile-headcta-force, [data-jcc-consultation-primary]) {
    display: none !important;
    width: auto !important;
  }

  body header .jcc-mobile-menu nav > a,
  body header .jcc-mobile-menu nav > button,
  body header .jcc-mobile-menu nav > details > summary {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 680px) {
  body [data-jcc-consultation-primary],
  body main :is(a.button, button.button, .jcc-rw-button, .readiness-button, .jcc-architecture-hero__primary-cta) {
    width: 100% !important;
    max-width: none !important;
  }

  body :is(.jcc-rw-card, .jcc-rw-step, .readiness-card, .hub-card, .jcc-source-card, .jcc-video-card) {
    border-radius: var(--jcc-brand-radius-card) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body :is(
    .jcc-matter-card,
    .jcc-practice-grid > a,
    .jcc-insight-card,
    .jcc-concierge-home-benefit,
    .hub-card,
    [data-jcc-card-tone]
  ) {
    transition: none !important;
    transform: none !important;
  }
}


/* JCC_COMBINED_VISUAL_COMPLIANCE_CONTRACT_20260725 */

/* Dropdown items use the gold interaction colour on both menu families. */
body header .jcc-practice-dropdown a:not([href="/contact/"]):is(:hover, :focus-visible),
body header .jcc-practice-dropdown a:not([href="/contact/"]):is(:hover, :focus-visible) span {
  color: var(--jcc-brand-gold) !important;
  -webkit-text-fill-color: var(--jcc-brand-gold) !important;
}

body header .jcc-practice-dropdown .jcc-mega-item:is(:hover, :focus-visible) > span:first-child {
  background: var(--jcc-brand-gold) !important;
}

/* JCC grouped practice-area menu: five hubs with compact, readable links. */
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > div:first-child {
  display: grid !important;
  grid-template-columns: 1.6fr 1.4fr 1.2fr 1fr 1fr !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 36px 32px 40px !important;
  gap: 0 !important;
  background: #171717 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-col {
  min-width: 0 !important;
  padding: 0 24px !important;
  border-left: 1px solid #2b2b2b !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-col:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-col:last-child {
  padding-right: 0 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-col > a:not(.jcc-mega-item) {
  display: block !important;
  margin: 0 0 18px !important;
  color: #bdbdbd !important;
  text-decoration: none !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-col > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid #242424 !important;
  color: #d0d0d0 !important;
  text-decoration: none !important;
  font: 500 13.5px/1.35 'Hanken Grotesk', system-ui, sans-serif !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-item > span:first-child {
  flex: 0 0 4px !important;
  width: 4px !important;
  height: 4px !important;
  margin-top: 7px !important;
  border-radius: 50% !important;
  background: #424242 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-mega-item > span:last-child {
  color: #d0d0d0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > div:last-child {
  border-top: 1px solid #242424 !important;
  background: #111 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > div:last-child > div {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 14px 32px !important;
}

@media (max-width: 1040px) {
  body header .jcc-mobile-menu [data-jcc-mobile-practice-panel] > div {
    display: grid !important;
    gap: 16px !important;
  }
  body header .jcc-mobile-menu [data-jcc-mobile-practice-panel] > div > div {
    display: grid !important;
    gap: 3px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(246, 242, 234, .18) !important;
  }
  body header .jcc-mobile-menu [data-jcc-mobile-practice-panel] > div > div > p {
    margin: 0 0 6px !important;
    color: #bdbdbd !important;
    font: 700 11px/1.35 'Hanken Grotesk', system-ui, sans-serif !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
  }
  body header .jcc-mobile-menu [data-jcc-mobile-practice-panel] > div > div > a {
    display: block !important;
    padding: 4px 0 !important;
    color: #d0d0d0 !important;
    font: 500 14px/1.4 'Hanken Grotesk', system-ui, sans-serif !important;
    text-decoration: none !important;
  }
}

/* Hub-v2 markup used by the governed grouped practice-area menu. */
body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-menu-shell {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 34px 32px 0 !important;
  background: #171717 !important;
}
body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-menu-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 30px 24px !important;
}
body header .jcc-practice-hub-group {
  min-width: 0 !important;
}
body header .jcc-practice-hub-group--wide {
  grid-column: span 2 !important;
}
body header .jcc-practice-hub-link {
  display: block !important;
  margin: 0 0 12px !important;
  color: #f3f3f3 !important;
  text-decoration: none !important;
}
body header .jcc-practice-hub-link__title {
  display: block !important;
  color: #f3f3f3 !important;
  font: 600 15px/1.3 'Libre Caslon Text', Georgia, serif !important;
}
body header .jcc-practice-hub-link__meta {
  display: block !important;
  margin-top: 4px !important;
  color: #9d9d9d !important;
  font: 700 10px/1.3 'Hanken Grotesk', system-ui, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body header .jcc-practice-hub-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
body header .jcc-practice-hub-items--split {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
}
body header .jcc-practice-menu-item {
  display: block !important;
  padding: 5px 0 !important;
  border-top: 1px solid #242424 !important;
  color: #d0d0d0 !important;
  font: 500 13px/1.35 'Hanken Grotesk', system-ui, sans-serif !important;
  text-decoration: none !important;
}
body header .jcc-practice-menu-item:hover,
body header .jcc-practice-menu-item:focus-visible {
  color: var(--jcc-brand-gold) !important;
  -webkit-text-fill-color: var(--jcc-brand-gold) !important;
}
body header .jcc-practice-menu-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 30px -32px 0 !important;
  padding: 15px 32px !important;
  border-top: 1px solid #242424 !important;
  background: #111 !important;
}
body header .jcc-practice-menu-footer p {
  margin: 0 !important;
  color: #8f8f8f !important;
  font: 13px/1.5 'Hanken Grotesk', system-ui, sans-serif !important;
}
body header .jcc-practice-menu-footer__actions {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex: 0 0 auto !important;
}
body header .jcc-practice-menu-footer__actions > a:first-child {
  color: #d0d0d0 !important;
  font: 600 12px/1.3 'Hanken Grotesk', system-ui, sans-serif !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body header .jcc-practice-menu-footer__actions > a[data-jcc-consultation-primary] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-gold) !important;
  border-radius: 8px !important;
  font: 700 11px/1.25 'Hanken Grotesk', system-ui, sans-serif !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
@media (max-width: 900px) {
  body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body header .jcc-practice-hub-group--wide {
    grid-column: span 2 !important;
  }
}

/* Fallback sizing for grouped practice navigation when legacy header rules are present. */
.jcc-practice-dropdown .jcc-practice-menu-shell {
  display: block !important;
  width: 100% !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
.jcc-practice-dropdown .jcc-practice-menu-grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 30px 24px !important;
}
.jcc-practice-dropdown .jcc-practice-hub-group {
  min-width: 0 !important;
}
.jcc-practice-dropdown .jcc-practice-hub-link,
.jcc-practice-dropdown .jcc-practice-menu-item {
  display: block !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 900px) {
  .jcc-practice-dropdown .jcc-practice-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
  .jcc-practice-dropdown .jcc-practice-menu-grid { grid-template-columns: 1fr !important; }
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > .jcc-practice-menu-shell {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100% !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > div.jcc-practice-menu-shell:first-child {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100% !important;
}
/* Preserve the original uniform light menu text treatment. */
body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-hub-link__title,
body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-hub-link__meta,
body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-menu-item,
body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-menu-footer__actions > a:first-child {
  color: #f3f3f3 !important;
  -webkit-text-fill-color: #f3f3f3 !important;
}
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > div.jcc-practice-menu-shell:first-child {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100% !important;
}
@media (max-width: 680px) {
  body header .jcc-practice-dropdown:not(.jcc-articles-dropdown) .jcc-practice-menu-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  body header .jcc-practice-hub-group--wide {
    grid-column: auto !important;
  }
  body header .jcc-practice-hub-items--split {
    grid-template-columns: 1fr !important;
  }
  body header .jcc-practice-menu-footer {
    align-items: flex-start !important;
    flex-direction: column !important;
    margin: 22px -20px 0 !important;
    padding: 14px 20px 18px !important;
  }
  body header .jcc-practice-menu-footer__actions {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
}

/* JCC_SITEWIDE_TYPE_RHYTHM_CONTRACT */
body main .section > .wrap > h2 {
  max-width: 20ch;
  margin: 0 0 24px !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.08 !important;
  text-align: left !important;
}

body main .section > .wrap > p {
  max-width: 72ch;
  margin: 0 0 20px;
  color: var(--jcc-brand-mid-grey) !important;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7 !important;
  text-align: left;
}

body main .jcc-rw-columns > div > h2 {
  max-width: 18ch;
  margin: 0 0 22px !important;
  font-size: clamp(30px, 3.3vw, 44px) !important;
  line-height: 1.08 !important;
  text-align: left !important;
}

/* About legal-services navigation: editorial copy plus a balanced card grid. */
body .jcc-about-services {
  background: var(--jcc-brand-section-light) !important;
  border-bottom: 1px solid var(--jcc-brand-stone);
}

body .jcc-about-services-layout {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(42px, 6vw, 88px);
  align-items: start;
}

body .jcc-about-services-copy .section-kicker {
  margin: 0 0 16px;
  color: var(--jcc-brand-forest-text) !important;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body main .jcc-about-services-copy > h2 {
  margin-bottom: 24px !important;
}

body .jcc-service-card-grid {
  counter-reset: jcc-service-card;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body .jcc-service-card-grid > li {
  counter-increment: jcc-service-card;
  min-width: 0;
  margin: 0;
}

body .jcc-service-card-grid > li:first-child {
  grid-column: 1 / -1;
}

body .jcc-service-card-grid a {
  --jcc-card-accent: var(--jcc-brand-forest);
  --jcc-card-selected-background: var(--jcc-brand-forest);
  --jcc-card-selected-foreground: var(--jcc-brand-ivory);
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: end;
  min-height: 116px;
  height: 100%;
  padding: 44px 22px 20px;
  overflow: hidden;
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-white) !important;
  border: 1px solid var(--jcc-brand-stone);
  border-top: 4px solid var(--jcc-card-accent);
  border-radius: var(--jcc-brand-radius-card);
  box-shadow: var(--jcc-brand-shadow-card);
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: clamp(19px, 1.65vw, 23px);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}

body .jcc-service-card-grid a::before {
  content: counter(jcc-service-card, decimal-leading-zero);
  position: absolute;
  top: 17px;
  left: 22px;
  color: var(--jcc-card-accent);
  font-family: "Hanken Grotesk", Arial, sans-serif;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .16em;
}

body .jcc-service-card-grid > li:first-child a {
  --jcc-card-accent: var(--jcc-brand-gold);
  --jcc-card-selected-background: var(--jcc-brand-gold);
  --jcc-card-selected-foreground: var(--jcc-brand-charcoal-deep);
}

body .jcc-service-card-grid a:is(:hover, :focus-visible) {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
  background: var(--jcc-card-selected-background) !important;
  border-color: var(--jcc-card-accent) !important;
  box-shadow: var(--jcc-brand-shadow-card-active) !important;
  transform: translateY(-4px);
}

body .jcc-service-card-grid a:is(:hover, :focus-visible) > *,
body .jcc-service-card-grid a:is(:hover, :focus-visible)::before {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
}

/* Urgent modules use a distinct, calm warning surface and a gold primary action. */
body main .jcc-urgent-module {
  color: var(--jcc-brand-ivory) !important;
  background: #6f3033 !important;
  border-top: 4px solid var(--jcc-brand-gold) !important;
  border-bottom-color: #542326 !important;
}

body main .jcc-urgent-module .jcc-urgent-kicker {
  color: var(--jcc-brand-gold-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-gold-on-dark) !important;
}

body main .jcc-urgent-module .jcc-urgent-title {
  color: var(--jcc-brand-white) !important;
  -webkit-text-fill-color: var(--jcc-brand-white) !important;
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.3 !important;
}

body main .jcc-urgent-module .jcc-urgent-copy {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
}

body main .jcc-urgent-module .jcc-urgent-call {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-gold) !important;
  border-color: var(--jcc-brand-gold) !important;
}

body main .jcc-urgent-module .jcc-urgent-whatsapp {
  color: var(--jcc-brand-ivory) !important;
  -webkit-text-fill-color: var(--jcc-brand-ivory) !important;
  background: transparent !important;
  border-color: rgba(246, 242, 234, .72) !important;
}

body main .jcc-urgent-module :is(.jcc-urgent-call, .jcc-urgent-whatsapp):is(:hover, :focus-visible) {
  transform: translateY(-2px);
}

/* Text-only related guidance uses compact brand cards, never image-card geometry. */
body main .jcc-rw-related {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 28px !important;
}

body main .jcc-rw-related > a {
  --jcc-card-accent: var(--jcc-brand-gold);
  --jcc-card-selected-background: var(--jcc-brand-gold);
  --jcc-card-selected-foreground: var(--jcc-brand-charcoal-deep);
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: start !important;
  min-height: 132px !important;
  padding: 22px !important;
  overflow: visible !important;
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-white) !important;
  border: 1px solid var(--jcc-brand-stone) !important;
  border-top: 4px solid var(--jcc-card-accent) !important;
  border-radius: var(--jcc-brand-radius-card) !important;
  box-shadow: var(--jcc-brand-shadow-card) !important;
  font-family: "Libre Caslon Text", Georgia, serif !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease !important;
}

body main .jcc-rw-related > a:nth-child(even) {
  --jcc-card-accent: var(--jcc-brand-forest);
  --jcc-card-selected-background: var(--jcc-brand-forest);
  --jcc-card-selected-foreground: var(--jcc-brand-ivory);
}

body main .jcc-rw-related > a > span {
  color: var(--jcc-card-accent) !important;
  -webkit-text-fill-color: var(--jcc-card-accent) !important;
}

body main .jcc-rw-related > a:is(:hover, :focus-visible) {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
  background: var(--jcc-card-selected-background) !important;
  border-color: var(--jcc-card-accent) !important;
  box-shadow: var(--jcc-brand-shadow-card-active) !important;
  transform: translateY(-4px);
}

body main .jcc-rw-related > a:is(:hover, :focus-visible) > span {
  color: var(--jcc-card-selected-foreground) !important;
  -webkit-text-fill-color: var(--jcc-card-selected-foreground) !important;
}

@media (max-width: 900px) {
  body .jcc-about-services-layout {
    grid-template-columns: 1fr;
  }

  body main .jcc-rw-related {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body .jcc-service-card-grid,
  body main .jcc-rw-related {
    grid-template-columns: 1fr !important;
  }

  body .jcc-service-card-grid > li:first-child {
    grid-column: auto;
  }
}


/* JCC_RENDERED_SPECIFICITY_CORRECTIONS_20260725 */
body header nav[id$="-desknav"] .jcc-articles-dropdown .jcc-mega-item:is(:hover, :focus-visible),
body header nav[id$="-desknav"] .jcc-articles-dropdown > div:last-child a:is(:hover, :focus-visible) {
  color: var(--jcc-brand-gold) !important;
  -webkit-text-fill-color: var(--jcc-brand-gold) !important;
}

body.jcc-page-landing main .jcc-rw .jcc-rw-columns > div > h2 {
  max-width: 18ch;
  font-size: clamp(30px, 3.3vw, 44px) !important;
  line-height: 1.08 !important;
  text-align: left !important;
}

body main .jcc-rw-columns .jcc-rw-related {
  grid-template-columns: 1fr !important;
}

body main .jcc-rw-columns .jcc-rw-related > a {
  min-height: 108px !important;
}


/*
 * JCC_CHATBOT_LAUNCHER_ICON_CONTRACT_20260726
 * The closed launcher uses a restrained speech-bubble symbol so its chat
 * action is visually evident. Existing accessible naming remains authoritative.
 */
body[class] .jcc-chatbot:not(.is-open) .jcc-chatbot__button {
  gap: 10px;
}

body[class] .jcc-chatbot:not(.is-open) .jcc-chatbot__button::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 19px;
  width: 19px !important;
  height: 19px !important;
  color: transparent !important;
  background: url("/assets/jcc-chat-icon.svg") center / contain no-repeat !important;
  font-size: 0 !important;
}


/*
 * JCC_SITEWIDE_LINE_RHYTHM_CONTRACT_20260726
 * Shared reading rhythm for every current route. Page-family layout remains
 * authoritative; these tokens govern vertical breathing room.
 */
:root {
  --jcc-brand-line-display: 1.08;
  --jcc-brand-line-section: 1.15;
  --jcc-brand-line-subheading: 1.3;
  --jcc-brand-line-hero-copy: 1.68;
  --jcc-brand-hero-h1-family: "Libre Caslon Text", Georgia, serif;
  --jcc-brand-hero-h1-size: clamp(44px, 5.5vw, 78px);
  --jcc-brand-hero-h1-tracking: -.012em;
  --jcc-brand-hero-label-size: 12.5px;
  --jcc-brand-hero-label-line: 1.4;
  --jcc-brand-hero-label-tracking: .2em;
  --jcc-brand-hero-lead-size: clamp(17px, 1.55vw, 20px);
}

body :is(#jcc-line-rhythm-force#jcc-line-rhythm-force#jcc-line-rhythm-force, main h1) {
  line-height: var(--jcc-brand-line-display) !important;
}

body :is(#jcc-line-rhythm-force#jcc-line-rhythm-force#jcc-line-rhythm-force, main h2) {
  line-height: var(--jcc-brand-line-section) !important;
}

body :is(#jcc-line-rhythm-force#jcc-line-rhythm-force#jcc-line-rhythm-force, main h3) {
  line-height: var(--jcc-brand-line-subheading) !important;
}

body :is(
  #jcc-line-rhythm-force#jcc-line-rhythm-force#jcc-line-rhythm-force,
  main .jcc-architecture-hero__content > .lead,
  main .jcc-architecture-hero__content > p:not(.eyebrow):not(:first-child),
  main .jcc-home-hero-copy > p:nth-of-type(2),
  main .jcc-about-architecture-hero .hero-copy > p.lead
) {
  line-height: var(--jcc-brand-line-hero-copy) !important;
}

/*
 * JCC_SITEWIDE_HERO_TYPOGRAPHY_STANDARD_20260726
 * Every visible main-hero H1 and lead uses one semantic type contract. The
 * About image, crop, overlay and content position remain frozen; its action row follows the shared single-contact contract.
 */
html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) [class].jcc-architecture-hero__content > h1,
html body.page-about main .jcc-about-architecture-hero [class].hero-copy > h1 {
  max-width: 820px !important;
  margin: 0 !important;
  font-family: var(--jcc-brand-hero-h1-family) !important;
  font-size: var(--jcc-brand-hero-h1-size) !important;
  font-weight: 400 !important;
  line-height: var(--jcc-brand-line-display) !important;
  letter-spacing: var(--jcc-brand-hero-h1-tracking) !important;
  text-align: left !important;
}

html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) [class].jcc-architecture-hero__content > :is(
  .eyebrow,
  .jcc-rw-label,
  .jcc-al-kicker,
  .readiness-kicker,
  .section-kicker
) {
  margin: 0 0 18px !important;
  font-family: "Hanken Grotesk", Arial, sans-serif !important;
  font-size: var(--jcc-brand-hero-label-size) !important;
  font-weight: 700 !important;
  line-height: var(--jcc-brand-hero-label-line) !important;
  letter-spacing: var(--jcc-brand-hero-label-tracking) !important;
  text-transform: uppercase !important;
}

html body main .jcc-architecture-hero--full-bleed:not(.jcc-about-architecture-hero) [class].jcc-architecture-hero__content > p:not(
  .eyebrow,
  .jcc-rw-label,
  .jcc-al-kicker,
  .readiness-kicker,
  .section-kicker
),
html body.page-about main .jcc-about-architecture-hero [class].hero-copy > p.lead {
  max-width: 66ch !important;
  margin: 24px 0 0 !important;
  font-family: "Hanken Grotesk", Arial, sans-serif !important;
  font-size: var(--jcc-brand-hero-lead-size) !important;
  font-weight: 400 !important;
  line-height: var(--jcc-brand-line-hero-copy) !important;
  text-align: left !important;
}

@media (max-width: 720px) {
  :root {
    --jcc-brand-hero-h1-size: clamp(38px, 11vw, 54px);
  }
}

/*
 * JCC_COMPACT_INFORMATION_HEADING_CONTRACT_20260726
 * Page-information asides participate in the document outline as H2 sections,
 * while retaining the compact visual role previously carried by an H3.
 */
body main .jcc-rw-answer aside > h2.jcc-rw-aside-title {
  max-width: none !important;
  margin: 0 !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  letter-spacing: -.01em !important;
  line-height: var(--jcc-brand-line-subheading) !important;
  text-align: left !important;
}

/*
 * JCC_ARTICLE_HERO_INTRO_LINE_RHYTHM_CONTRACT_20260726
 * Multi-paragraph article hero introductions use the same body rhythm as
 * single-paragraph non-About hero leads.
 */
body:not(.page-about) main
  .jcc-architecture-hero__content > .jcc-al-intro > p {
  line-height: var(--jcc-brand-line-hero-copy) !important;
}



/* JCC_READINESS_PROSE_MEASURE_CONTRACT_20260726
   Position/readiness prose keeps the governed editorial measure even when the
   shared gutter contract is applied to the same wrapper. */
body main .readiness-wrap.readiness-reading {
  width: min(760px, calc(100% - (2 * var(--jcc-content-gutter, 24px)))) !important;
}

/* JCC_REVIEW_METADATA_GUTTER_CONTRACT_20260726
   Standalone author/review metadata inherits the governed content gutter. */
body main .jcc-rw > .jcc-rw-byline {
  box-sizing: border-box;
  width: min(1120px, calc(100% - 64px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 640px) {
  body main .jcc-rw > .jcc-rw-byline {
    width: min(1120px, calc(100% - 40px)) !important;
  }
}

body main :is(.readiness-reading, .faq-item) > p {
  max-width: 72ch;
}

/*
 * JCC_BREADCRUMB_BAND_CONTRACT_20260729
 * Deeper internal pages use one warm-ivory navigation band between the shared
 * header and hero. Top-level indexes and utility routes remain band-free.
 */
.jcc-breadcrumb-band {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  color: var(--jcc-brand-mid-grey);
  background: var(--jcc-brand-ivory);
  border: 0;
  border-bottom: 1px solid var(--jcc-brand-stone);
  font-family: "Hanken Grotesk", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.45;
}

.jcc-breadcrumb-band__inner {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 8px;
  width: min(100% - 64px, 1180px);
  min-height: 52px;
  margin: 0 auto;
  padding: 14px 0;
}

.jcc-breadcrumb-band a {
  color: var(--jcc-brand-mid-grey) !important;
  text-decoration: underline;
  text-decoration-color: var(--jcc-brand-stone);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.jcc-breadcrumb-band a:is(:hover, :focus-visible) {
  color: var(--jcc-brand-charcoal-deep) !important;
  text-decoration-color: var(--jcc-brand-gold-muted);
}

.jcc-breadcrumb-band a:focus-visible {
  outline: 2px solid var(--jcc-brand-gold);
  outline-offset: 3px;
}

.jcc-breadcrumb-band__separator {
  color: var(--jcc-brand-stone);
}

.jcc-breadcrumb-band [aria-current="page"] {
  color: var(--jcc-brand-charcoal-deep);
  font-weight: 600;
}

@media (max-width: 720px) {
  .jcc-breadcrumb-band {
    font-size: 12.5px;
    line-height: 1.4;
  }

  .jcc-breadcrumb-band__inner {
    width: min(100% - 40px, 620px);
    min-height: 46px;
    padding: 12px 0;
  }
}

/* Fallback sizing for grouped practice navigation when legacy header rules are present. */
.jcc-practice-dropdown .jcc-practice-menu-shell { display: block !important; width: 100% !important; grid-template-columns: none !important; gap: 0 !important; }
.jcc-practice-dropdown .jcc-practice-menu-grid { display: grid !important; width: 100% !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 30px 24px !important; }
.jcc-practice-dropdown .jcc-practice-hub-group { min-width: 0 !important; }
.jcc-practice-dropdown .jcc-practice-hub-link,
.jcc-practice-dropdown .jcc-practice-menu-item { display: block !important; min-width: 0 !important; overflow-wrap: anywhere !important; }
@media (max-width: 900px) { .jcc-practice-dropdown .jcc-practice-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 680px) { .jcc-practice-dropdown .jcc-practice-menu-grid { grid-template-columns: 1fr !important; } }
body header nav[id$="-desknav"] .jcc-practice-dropdown:not(.jcc-articles-dropdown) > .jcc-practice-menu-shell { display: block !important; width: 100% !important; grid-template-columns: none !important; gap: 0 !important; }

/*
 * JCC_HOME_EXPAT_CROSS_FAMILY_LAYOUT_CONTRACT_20260814
 *
 * Homepage supplies the sitewide visual language. Expat Divorce supplies the
 * long-form answer-first page architecture. These rules align the governed
 * legal, editorial, About and Contact families without changing their copy.
 */
:is(
  body[data-jcc-brand-family="article-longform"],
  body[data-jcc-brand-family="articles-index"],
  body[data-jcc-brand-family="about-frozen-hero"],
  body[data-jcc-brand-family="contact"]
) {
  --jcc-canonical-shell: 1180px;
  --jcc-canonical-reading: 820px;
  --jcc-canonical-gutter: clamp(20px, 4vw, 32px);
  --jcc-canonical-section-space: clamp(72px, 7.5vw, 112px);
  --jcc-canonical-section-space-compact: clamp(52px, 5.4vw, 80px);
  --jcc-canonical-content-gap: clamp(32px, 4.8vw, 72px);
  --jcc-canonical-ivory: #f7f2e9;
  --jcc-canonical-paper: #fffdf8;
  --jcc-canonical-forest: #143f35;
  --jcc-canonical-charcoal: #1f2523;
  --jcc-canonical-gold: #b38a4a;
  --jcc-canonical-line: rgba(20, 63, 53, 0.2);
}

:is(
  body[data-jcc-brand-family="article-longform"],
  body[data-jcc-brand-family="articles-index"],
  body[data-jcc-brand-family="about-frozen-hero"],
  body[data-jcc-brand-family="contact"]
) main {
  background: var(--jcc-canonical-paper);
}

:is(
  body[data-jcc-brand-family="article-longform"],
  body[data-jcc-brand-family="articles-index"],
  body[data-jcc-brand-family="about-frozen-hero"],
  body[data-jcc-brand-family="contact"]
) main :is(.wrap, .jcc-rw-wrap, .jcc-al-shell, .jcc-al-rail-inner, .jcc-programme-content__inner) {
  width: min(
    calc(100% - (var(--jcc-canonical-gutter) * 2)),
    var(--jcc-canonical-shell)
  );
  margin-inline: auto;
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-narrow,
  .jcc-al-prose,
  .jcc-al-rail,
  .jcc-article-body,
  .jcc-programme-reading-rail
) {
  max-width: var(--jcc-canonical-reading);
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-answer,
  .jcc-rw-white,
  .jcc-rw-soft,
  .jcc-rw-dark,
  .jcc-rw-cta,
  .jcc-al-topic,
  .jcc-al-lessons,
  .jcc-al-faq-section,
  .jcc-al-contact,
  .jcc-al-references,
  .jcc-article-section
) {
  padding-block: var(--jcc-canonical-section-space);
  border-bottom: 1px solid var(--jcc-canonical-line);
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-white,
  .jcc-al-topic,
  .jcc-al-references,
  .jcc-article-section
) {
  background: var(--jcc-canonical-paper);
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-soft,
  .jcc-al-lessons,
  .jcc-al-faq-section
) {
  background: var(--jcc-canonical-ivory);
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-dark,
  .jcc-rw-cta,
  .jcc-al-contact
) {
  border-bottom-color: rgba(255, 255, 255, 0.14);
  background: var(--jcc-canonical-charcoal);
  color: #f7f2e9;
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-answer,
  .jcc-rw-white,
  .jcc-rw-soft,
  .jcc-al-topic,
  .jcc-al-lessons,
  .jcc-al-faq-section,
  .jcc-al-references,
  .jcc-article-section
) h2::before,
:is(
  body[data-jcc-brand-family="articles-index"],
  body[data-jcc-brand-family="about-frozen-hero"],
  body[data-jcc-brand-family="contact"]
) main > .section h2::before {
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 20px;
  background: var(--jcc-canonical-gold);
  content: "";
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-faq,
  .jcc-al-faq,
  .jcc-programme-faq,
  .jcc-rw-sources,
  .jcc-rw-related > a,
  .jcc-al-source,
  .jcc-article-source
) {
  border: 1px solid var(--jcc-canonical-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-faq,
  .jcc-al-faq,
  .jcc-programme-faq
) {
  margin-block: 14px;
  padding: clamp(20px, 3vw, 30px);
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-faq,
  .jcc-al-faq,
  .jcc-programme-faq
)[open] {
  border-left: 4px solid var(--jcc-canonical-forest);
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-columns,
  .jcc-rw-guidance-grid,
  .jcc-al-columns,
  .jcc-article-columns
) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--jcc-canonical-content-gap);
  align-items: start;
}

body[data-jcc-brand-family="article-longform"] main :is(
  .jcc-rw-button,
  .jcc-al-button,
  .jcc-programme-button
) {
  border-radius: 2px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

body[data-jcc-brand-family="articles-index"] main > .section,
body[data-jcc-brand-family="about-frozen-hero"] main > .section,
body[data-jcc-brand-family="contact"] main > .section {
  padding-block: var(--jcc-canonical-section-space);
  border-bottom: 1px solid var(--jcc-canonical-line);
}

body[data-jcc-brand-family="articles-index"] main > .section:nth-of-type(even),
body[data-jcc-brand-family="about-frozen-hero"] main > .section:nth-of-type(even),
body[data-jcc-brand-family="contact"] main > .section:nth-of-type(even) {
  background: var(--jcc-canonical-ivory);
}

body[data-jcc-brand-family="articles-index"] main > .section:nth-of-type(odd),
body[data-jcc-brand-family="about-frozen-hero"] main > .section:nth-of-type(odd),
body[data-jcc-brand-family="contact"] main > .section:nth-of-type(odd) {
  background: var(--jcc-canonical-paper);
}

body[data-jcc-brand-family="articles-index"] main :is(
  .jcc-source-card,
  .article-card,
  .card
),
body[data-jcc-brand-family="about-frozen-hero"] main :is(
  .jcc-about-service-card,
  .service-card,
  .card
),
body[data-jcc-brand-family="contact"] main :is(
  .faq-item,
  .contact-option,
  .contact-card,
  .card
) {
  height: 100%;
  border: 1px solid var(--jcc-canonical-line);
  border-top: 3px solid var(--jcc-canonical-forest);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

body[data-jcc-brand-family="articles-index"] main :is(
  .jcc-source-card-grid,
  .articles-grid,
  .card-grid
),
body[data-jcc-brand-family="about-frozen-hero"] main :is(
  .jcc-about-services-grid,
  .service-grid,
  .card-grid
),
body[data-jcc-brand-family="contact"] main :is(
  .faq-list,
  .contact-options,
  .contact-grid,
  .card-grid
) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
}

body[data-jcc-brand-family="articles-index"] main :is(
  .final-focus,
  .readiness-cta-section
),
body[data-jcc-brand-family="about-frozen-hero"] main :is(
  .final-focus,
  .readiness-cta-section
),
body[data-jcc-brand-family="contact"] main :is(
  .final-focus,
  .readiness-cta-section
) {
  padding-block: var(--jcc-canonical-section-space);
  border-bottom-color: rgba(255, 255, 255, 0.14);
  background: var(--jcc-canonical-charcoal);
  color: #f7f2e9;
}

body[data-jcc-brand-family="contact"] main #contact-options > .wrap,
body[data-jcc-brand-family="contact"] main :is(.contact-details, .contact-intro, .faq-list) {
  max-width: var(--jcc-canonical-reading);
}

body[data-jcc-brand-family="about-frozen-hero"] main .jcc-about-services-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: var(--jcc-canonical-content-gap);
  align-items: start;
}

body[data-jcc-brand-family="about-frozen-hero"] main .jcc-about-architecture-hero {
  --hero-image: url("/assets/jcc-about-architecture-hero-2026.jpg");
}

.jcc-canonical-image-break {
  min-height: clamp(300px, 37vw, 520px);
  border-block: 1px solid rgba(20, 63, 53, 0.18);
  background-color: #d8d1c4;
  background-image:
    linear-gradient(90deg, rgba(19, 45, 39, 0.14), rgba(19, 45, 39, 0.02)),
    var(--jcc-canonical-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

:is(
  body[data-jcc-brand-family="article-longform"],
  body[data-jcc-brand-family="articles-index"],
  body[data-jcc-brand-family="about-frozen-hero"],
  body[data-jcc-brand-family="contact"]
) main a:focus-visible,
body[data-jcc-practice-layout="expat-standard-v1"] main a:focus-visible {
  outline: 3px solid var(--jcc-canonical-gold, #b38a4a);
  outline-offset: 4px;
}

@media (max-width: 1041px) {
  :is(
    body[data-jcc-brand-family="article-longform"],
    body[data-jcc-brand-family="articles-index"],
    body[data-jcc-brand-family="about-frozen-hero"],
    body[data-jcc-brand-family="contact"]
  ) {
    --jcc-canonical-gutter: 28px;
    --jcc-canonical-section-space: clamp(64px, 8vw, 88px);
  }

  body[data-jcc-brand-family="about-frozen-hero"] main .jcc-about-services-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  :is(
    body[data-jcc-brand-family="article-longform"],
    body[data-jcc-brand-family="articles-index"],
    body[data-jcc-brand-family="about-frozen-hero"],
    body[data-jcc-brand-family="contact"]
  ) {
    --jcc-canonical-gutter: 20px;
    --jcc-canonical-section-space: 60px;
    --jcc-canonical-section-space-compact: 46px;
    --jcc-canonical-content-gap: 34px;
  }

  body[data-jcc-brand-family="article-longform"] main :is(
    .jcc-rw-columns,
    .jcc-rw-guidance-grid,
    .jcc-al-columns,
    .jcc-article-columns
  ),
  body[data-jcc-brand-family="articles-index"] main :is(
    .jcc-source-card-grid,
    .articles-grid,
    .card-grid
  ),
  body[data-jcc-brand-family="about-frozen-hero"] main :is(
    .jcc-about-services-grid,
    .service-grid,
    .card-grid
  ),
  body[data-jcc-brand-family="contact"] main :is(
    .faq-list,
    .contact-options,
    .contact-grid,
    .card-grid
  ) {
    grid-template-columns: 1fr;
  }

  .jcc-canonical-image-break {
    min-height: clamp(260px, 74vw, 420px);
    background-image:
      linear-gradient(180deg, rgba(19, 45, 39, 0.1), rgba(19, 45, 39, 0.02)),
      var(--jcc-canonical-image-mobile, var(--jcc-canonical-image));
  }
}

@media (max-width: 390px) {
  :is(
    body[data-jcc-brand-family="article-longform"],
    body[data-jcc-brand-family="articles-index"],
    body[data-jcc-brand-family="about-frozen-hero"],
    body[data-jcc-brand-family="contact"]
  ) {
    --jcc-canonical-gutter: 18px;
    --jcc-canonical-section-space: 52px;
    --jcc-canonical-content-gap: 28px;
  }

  body[data-jcc-brand-family="article-longform"] main :is(
    .jcc-rw-faq,
    .jcc-al-faq,
    .jcc-programme-faq
  ) {
    padding: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
    body[data-jcc-brand-family="article-longform"],
    body[data-jcc-brand-family="articles-index"],
    body[data-jcc-brand-family="about-frozen-hero"],
    body[data-jcc-brand-family="contact"]
  ) main *,
  body[data-jcc-practice-layout="expat-standard-v1"] main * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/*
 * JCC_PRACTICE_MENU_HUB_V2_20260814
 * Seven approved hubs, 50 unique practice routes and no duplicated route links.
 */
body header .jcc-practice-dropdown {
  max-height: calc(100vh - 88px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

body header .jcc-practice-menu-shell {
  max-width: 1240px;
  margin: 0 auto;
  padding: 30px 32px 0;
}

body header .jcc-practice-menu-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(246, 242, 234, .15);
  border-radius: var(--jcc-brand-radius-card);
  background: rgba(246, 242, 234, .15);
}

body header .jcc-practice-hub-group {
  min-width: 0;
  padding: 22px 24px 18px;
  background: var(--jcc-brand-charcoal-deep);
}

body header .jcc-practice-hub-group--wide {
  grid-column: span 2;
}

body header .jcc-practice-hub-link {
  display: flex;
  min-height: 70px;
  padding: 0 0 15px;
  border-bottom: 1px solid rgba(221, 166, 70, .34);
  flex-direction: column;
  justify-content: space-between;
  color: var(--jcc-brand-ivory) !important;
  text-decoration: none;
}

body header .jcc-practice-hub-link__title {
  max-width: 24ch;
  color: var(--jcc-brand-ivory) !important;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: 18px;
  line-height: 1.22;
}

body header .jcc-practice-hub-link__meta {
  margin-top: 8px;
  color: var(--jcc-brand-gold-on-dark) !important;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}

body header .jcc-practice-hub-items {
  display: grid;
  margin-top: 8px;
}

body header .jcc-practice-hub-items--split {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
}

body header .jcc-practice-menu-item {
  display: flex;
  min-height: 36px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(246, 242, 234, .11);
  align-items: center;
  color: var(--jcc-brand-muted-on-dark) !important;
  font-size: 12.5px;
  line-height: 1.3;
  text-decoration: none;
}

body header .jcc-practice-menu-item:is(:hover, :focus-visible),
body header .jcc-practice-hub-link:is(:hover, :focus-visible) .jcc-practice-hub-link__title {
  color: var(--jcc-brand-gold-on-dark) !important;
}

body header .jcc-practice-menu-footer {
  display: flex;
  padding: 18px 0 20px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

body header .jcc-practice-menu-footer p {
  max-width: 650px;
  margin: 0;
  color: var(--jcc-brand-muted-on-dark) !important;
  font-size: 12.5px;
  line-height: 1.45;
}

body header .jcc-practice-menu-footer__actions {
  display: flex;
  align-items: center;
  gap: 22px;
}

body header .jcc-practice-menu-footer__actions a {
  color: var(--jcc-brand-ivory) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

body header .jcc-practice-menu-footer__actions a:last-child {
  padding: 10px 14px;
  border: 1px solid var(--jcc-brand-gold);
  color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-gold);
}

body header .jcc-mobile-practice-menu {
  padding: 2px 0 10px;
}

body header .jcc-mobile-practice-view-all {
  display: flex;
  min-height: 48px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(221, 166, 70, .38);
  align-items: center;
  color: var(--jcc-brand-gold-on-dark) !important;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

body header .jcc-mobile-practice-group {
  border-bottom: 1px solid rgba(246, 242, 234, .14);
}

body header .jcc-mobile-practice-group summary {
  display: flex;
  min-height: 52px;
  padding: 10px 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--jcc-brand-ivory);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
}

body header .jcc-mobile-practice-group summary::-webkit-details-marker {
  display: none;
}

body header .jcc-mobile-practice-group summary span {
  color: var(--jcc-brand-gold-on-dark);
  font-size: 18px;
  font-weight: 400;
  transition: transform .2s ease;
}

body header .jcc-mobile-practice-group[open] summary span {
  transform: rotate(45deg);
}

body header .jcc-mobile-practice-group__links {
  display: grid;
  padding: 0 0 12px 14px;
}

body header .jcc-mobile-practice-group__links a {
  display: flex;
  min-height: 48px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(246, 242, 234, .09);
  align-items: center;
  color: var(--jcc-brand-muted-on-dark) !important;
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}

body header .jcc-mobile-practice-group__links .jcc-mobile-practice-overview {
  color: var(--jcc-brand-gold-on-dark) !important;
  font-weight: 600;
}

body header .jcc-mobile-practice-group :is(summary, a):focus-visible,
body header .jcc-practice-menu-shell a:focus-visible {
  outline: 2px solid var(--jcc-brand-gold-on-dark) !important;
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  body header .jcc-practice-menu-shell {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body header .jcc-mobile-practice-group summary span {
    transition: none;
  }
}

/*
 * JCC_50_PRACTICE_EXPAT_LAYOUT_CONTRACT_20260814
 * Layout-only alignment for the existing 50-route legal-landing family.
 * Expat Divorce and Asset Recovery remain the unchanged canonical references.
 */
body[data-jcc-practice-layout="expat-standard-v1"] {
  --jcc-practice-max: 1180px;
  --jcc-practice-reading: 820px;
  --jcc-practice-gap: clamp(42px, 5.5vw, 82px);
  --jcc-practice-section-space: clamp(72px, 7.5vw, 112px);
  --jcc-practice-mobile-space: 58px;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore) main {
  overflow: clip;
  background: var(--jcc-brand-white);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main > :is(
  .jcc-rw-white:not(.jcc-resulting-replacement),
  .jcc-rw-soft,
  .jcc-rw-dark,
  .readiness-section:not(.readiness-section--meta),
  .jcc-rw-cta
) {
  position: relative;
  padding-top: var(--jcc-practice-section-space) !important;
  padding-bottom: var(--jcc-practice-section-space) !important;
  border-bottom: 1px solid var(--jcc-brand-stone) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-resulting-section {
  position: relative;
  padding-top: var(--jcc-practice-section-space) !important;
  padding-bottom: var(--jcc-practice-section-space) !important;
  border-bottom: 1px solid var(--jcc-brand-stone) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main > :is(.jcc-rw-white:not(.jcc-resulting-replacement), .readiness-section:not(.readiness-section--paper):not(.readiness-section--dark):not(.readiness-section--meta)),
body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-resulting-section:not(.jcc-resulting-soft):not(.jcc-resulting-dark):not(.jcc-resulting-ivory) {
  background: var(--jcc-brand-white) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main > :is(.jcc-rw-soft, .readiness-section--paper),
body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-resulting-section:is(.jcc-resulting-soft, .jcc-resulting-ivory) {
  background: var(--jcc-brand-ivory) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main > :is(.jcc-rw-dark, .readiness-section--dark, .jcc-rw-cta),
body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-resulting-section.jcc-resulting-dark {
  color: var(--jcc-brand-ivory) !important;
  background: var(--jcc-brand-charcoal-deep) !important;
  border-color: rgba(221, 166, 70, .28) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-wrap, .readiness-wrap, .jcc-resulting-inner) {
  width: min(var(--jcc-practice-max), calc(100% - 64px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-narrow, .readiness-reading:not(.readiness-grid .readiness-reading)) {
  max-width: var(--jcc-practice-reading) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-columns, .readiness-grid, .jcc-programme-section__columns, .jcc-resulting-evidence-grid) {
  display: grid !important;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr) !important;
  gap: var(--jcc-practice-gap) !important;
  align-items: start !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-white, .jcc-rw-soft, .jcc-rw-dark, .readiness-section, .jcc-resulting-section, .jcc-programme-section)
:is(h2, h3) {
  text-wrap: balance;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-white, .jcc-rw-soft, .jcc-rw-dark, .readiness-section, .jcc-resulting-section, .jcc-programme-section)
h2 {
  max-width: 18ch;
  margin-top: 0;
  font-size: clamp(34px, 4.1vw, 52px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.012em;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-white, .jcc-rw-soft, .readiness-section, .jcc-resulting-section)
h2::before {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 20px;
  background: var(--jcc-brand-gold);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-dark, .readiness-section--dark, .jcc-rw-cta, .jcc-resulting-dark) h2::before {
  background: var(--jcc-brand-gold-on-dark);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-label, .readiness-eyebrow, .jcc-programme-kicker) {
  margin-bottom: 14px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-white, .jcc-rw-soft, .jcc-rw-dark, .readiness-section, .jcc-resulting-section, .jcc-programme-section)
:is(p, li) {
  font-size: max(16px, 1rem);
  line-height: 1.72;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-white, .jcc-rw-soft, .readiness-section, .jcc-resulting-section)
li::marker {
  color: var(--jcc-brand-forest);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-rw-dark, .readiness-section--dark, .jcc-rw-cta, .jcc-resulting-dark) li::marker {
  color: var(--jcc-brand-gold-on-dark);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-support-band {
  border-top: 1px solid var(--jcc-brand-stone);
  border-bottom: 1px solid var(--jcc-brand-stone);
  background: var(--jcc-brand-ivory);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-support-band__opening {
  display: grid !important;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr) !important;
  gap: var(--jcc-practice-gap) !important;
  align-items: center !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-support-band__figure {
  overflow: hidden;
  border: 1px solid var(--jcc-brand-stone);
  border-radius: var(--jcc-brand-radius-card);
  background: var(--jcc-brand-greige);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main .jcc-support-band__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(
  .readiness-card,
  .jcc-rw-card,
  .jcc-resulting-proof-card,
  .jcc-resulting-situation-grid > li,
  .jcc-programme-card
) {
  border: 1px solid var(--jcc-brand-stone) !important;
  border-top: 3px solid var(--jcc-brand-gold) !important;
  border-radius: var(--jcc-brand-radius-card) !important;
  background: var(--jcc-brand-white) !important;
  box-shadow: none !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(
  .readiness-card,
  .jcc-rw-card,
  .jcc-resulting-proof-card,
  .jcc-resulting-situation-grid > li,
  .jcc-programme-card
):nth-child(even) {
  border-top-color: var(--jcc-brand-forest) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.faq-list, .jcc-programme-faq-list) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: start;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.faq-item, .jcc-programme-faq details, .jcc-rw-faq details) {
  height: 100%;
  margin: 0 !important;
  border: 1px solid var(--jcc-brand-stone) !important;
  border-top: 3px solid var(--jcc-brand-gold) !important;
  border-radius: var(--jcc-brand-radius-card) !important;
  background: var(--jcc-brand-white) !important;
  box-shadow: none !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-programme-faq details, .jcc-rw-faq details):nth-child(even) {
  border-top-color: var(--jcc-brand-forest) !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.jcc-programme-faq details, .jcc-rw-faq details)[open] {
  background: var(--jcc-brand-ivory) !important;
  border-left: 4px solid var(--jcc-faq-accent, var(--jcc-brand-gold)) !important;
  box-shadow: none !important;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.source-list, .related-links, .jcc-programme-related ul) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.source-list > li, .related-links > a, .jcc-programme-related li) {
  border: 1px solid var(--jcc-brand-stone);
  border-top: 3px solid var(--jcc-brand-forest);
  border-radius: var(--jcc-brand-radius-card);
  background: var(--jcc-brand-white);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.related-links > a, .jcc-programme-related a) {
  min-height: 100%;
  color: var(--jcc-brand-charcoal-deep);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--jcc-brand-stone);
  background: var(--jcc-brand-white);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(th, td) {
  padding: 16px 18px;
  border: 1px solid var(--jcc-brand-stone);
  text-align: left;
  vertical-align: top;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main th {
  color: var(--jcc-brand-ivory);
  background: var(--jcc-brand-charcoal-deep);
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.related-links > a, .jcc-programme-related a, .jcc-rw-related > a) {
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
main :is(.related-links > a, .jcc-programme-related a, .jcc-rw-related > a):is(:hover, :focus-visible) {
  border-color: var(--jcc-brand-forest) !important;
  box-shadow: var(--jcc-brand-shadow-card-active) !important;
  transform: translateY(-4px);
}

@media (max-width: 1041px) {
  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main :is(.jcc-rw-columns, .readiness-grid, .jcc-programme-section__columns, .jcc-resulting-evidence-grid) {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main .jcc-support-band__opening {
    grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr) !important;
    gap: 40px !important;
  }
}

@media (max-width: 760px) {
  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main > :is(
    .jcc-rw-white:not(.jcc-resulting-replacement),
    .jcc-rw-soft,
    .jcc-rw-dark,
    .readiness-section:not(.readiness-section--meta),
    .jcc-rw-cta
  ),
  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main .jcc-resulting-section {
    padding-top: var(--jcc-practice-mobile-space) !important;
    padding-bottom: var(--jcc-practice-mobile-space) !important;
  }

  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main :is(.jcc-rw-wrap, .readiness-wrap, .jcc-resulting-inner) {
    width: min(100% - 40px, 620px) !important;
  }

  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main .jcc-support-band__opening,
  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main :is(.faq-list, .jcc-programme-faq-list, .source-list, .related-links, .jcc-programme-related ul) {
    grid-template-columns: 1fr !important;
  }

  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main :is(.jcc-rw-white, .jcc-rw-soft, .jcc-rw-dark, .readiness-section, .jcc-resulting-section, .jcc-programme-section) h2 {
    max-width: 22ch;
    font-size: clamp(30px, 9vw, 38px) !important;
  }

  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}

@media (max-width: 390px) {
  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main :is(.jcc-rw-wrap, .readiness-wrap, .jcc-resulting-inner) {
    width: calc(100% - 32px) !important;
  }

  body[data-jcc-practice-layout="expat-standard-v1"]:not(.jcc-expat-engagement):not(.page-asset-recovery-singapore)
  main :is(th, td) {
    padding: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-jcc-practice-layout="expat-standard-v1"]
  main :is(.related-links > a, .jcc-programme-related a, .jcc-rw-related > a) {
    transition: none !important;
  }
}

/*
 * JCC_CARD_SINGLE_ACCENT_CONTRACT_20260815
 *
 * Long-answer and FAQ cards use a calm cream fill. Each card owns one accent:
 * gold or forest. The top edge, open side edge and disclosure control always
 * use that same accent so a single card never mixes yellow and green.
 */
/* JCC_FAQ_SINGLE_FRAME_FOCUS_CONTRACT_20260815 */
body main .jcc-programme-faq-list {
  border-top: 0 !important;
}

body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
) {
  --jcc-faq-accent: var(--jcc-brand-gold);
  border: 1px solid var(--jcc-brand-stone) !important;
  border-top: 3px solid var(--jcc-faq-accent) !important;
  border-left-width: 1px !important;
  border-radius: var(--jcc-brand-radius-card) !important;
  background: var(--jcc-brand-ivory) !important;
  box-shadow: none !important;
}

body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
):nth-child(even) {
  --jcc-faq-accent: var(--jcc-brand-forest);
}

body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
)[open] {
  border-left: 4px solid var(--jcc-faq-accent) !important;
  background: var(--jcc-brand-ivory) !important;
  box-shadow: none !important;
}

body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
) summary::after {
  border-color: var(--jcc-faq-accent) !important;
}

body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
):focus-within {
  outline: none;
}

body main .jcc-programme-faq-list > details > summary:focus-visible {
  outline: none !important;
}

body main .jcc-programme-faq-list > details > summary:focus-visible::after {
  outline: 3px solid var(--jcc-faq-accent);
  outline: 3px solid color-mix(in srgb, var(--jcc-faq-accent) 54%, transparent);
  outline-offset: 3px;
}

/* Keep the review feedback tab clear of the disclosure control on desktop. */
@media (min-width: 1042px) {
  body main .jcc-programme-faq-list > details > summary {
    padding-right: 40px !important;
  }
}

/*
 * JCC_EXPAT_NEUTRAL_CARD_CALL_CTA_TYPE_CONTRACT_20260816
 * User-approved Expat Divorce refinement: neutral card surfaces, one accent
 * edge per card, WhatsApp consultation actions with a handset icon, and the
 * Brand Book v1.3 editorial type hierarchy for FAQs, authorities and related
 * guidance.
 */
body.jcc-expat-engagement [data-jcc-whatsapp-consultation] {
  gap: 10px !important;
}

body.jcc-expat-engagement header [data-jcc-whatsapp-consultation]::before {
  content: none !important;
  display: none !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 .jcc-practice-menu-footer__actions [data-jcc-whatsapp-consultation] {
  font-size: 12px !important;
  line-height: 1.3 !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: var(--jcc-brand-white) !important;
}

body.jcc-expat-engagement main .jcc-expat-topic-card:is(:hover, :focus, :focus-visible, :active),
body.jcc-expat-engagement main .jcc-expat-related .related-links > a:is(:hover, :focus, :focus-visible, :active),
body.jcc-expat-engagement main .readiness-option:is(:hover, :focus-within),
body.jcc-expat-engagement main .readiness-option:has(input:checked),
body.jcc-expat-engagement main .readiness-option:has(input[data-urgent="true"]:checked) {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !important;
  background: var(--jcc-brand-white) !important;
}

body.jcc-expat-engagement main .readiness-option:has(input:checked),
body.jcc-expat-engagement main .readiness-option:has(input[data-urgent="true"]:checked) {
  border-color: var(--jcc-brand-gold-muted) !important;
  box-shadow: inset 4px 0 0 var(--jcc-brand-gold-muted) !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item {
  --jcc-faq-accent: var(--jcc-brand-gold);
  background: var(--jcc-brand-white) !important;
}

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

body.jcc-expat-engagement main .jcc-expat-faq .faq-item:has(.jcc-expat-faq__button[aria-expanded="true"]) {
  background: var(--jcc-brand-white) !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;
}

body.jcc-expat-engagement main .jcc-expat-faq__button {
  color: var(--jcc-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !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-faq-accent) !important;
}

body.jcc-expat-engagement main .jcc-expat-faq .faq-item > h3 + p {
  color: var(--jcc-brand-mid-grey) !important;
  -webkit-text-fill-color: var(--jcc-brand-mid-grey) !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-brand-charcoal-deep) !important;
  -webkit-text-fill-color: var(--jcc-brand-charcoal-deep) !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;
}

body.jcc-expat-engagement main .jcc-expat-sources .source-list li {
  background: transparent !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;
  }
}


/* JCC_SITEWIDE_COMPACT_CONSULTATION_ICON_20260817 */
html body [data-jcc-whatsapp-consultation] .jcc-consultation-call-icon,
html body main [data-jcc-hero-contact-icon][data-jcc-hero-contact-call] {
  display: block !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  fill: currentColor !important;
}

/* Consultation labels appear on charcoal CTA bands.  Forest is reserved for
   light surfaces; this warm-gold token clears AA contrast on #202020. */
body main .jcc-rw-cta .jcc-rw-label {
  display: block;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  text-align: center;
  color: var(--jcc-brand-consultation-label-on-dark) !important;
  -webkit-text-fill-color: var(--jcc-brand-consultation-label-on-dark) !important;
}

/* JCC_INFORMATION_MODULES_20260817
   Shared Authorities and Related Reading treatment. Expat Divorce retains its
   approved reference presentation; these components standardise all other
   service and editorial modules without changing their reading-band cadence. */
body main :is(.jcc-information-sources, .jcc-information-related) :is(h2, h3) {
  max-width: 18ch;
  margin-top: 0;
  font-size: clamp(34px, 3.25vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em;
}
body main .jcc-information-sources :is(ul, ol),
body main .jcc-information-related :is(ul, ol) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 30px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body main .jcc-information-sources li,
body main .jcc-information-related :is(li, p:has(> a)) {
  position: relative;
  display: flex;
  min-height: 116px;
  margin: 0 !important;
  padding: 22px 56px 22px 22px !important;
  border: 1px solid rgba(32, 32, 32, .17);
  border-radius: 2px;
  background: rgba(255, 255, 255, .36);
}
body main .jcc-information-sources li::after,
body main .jcc-information-related :is(li, p:has(> a))::after {
  position: absolute;
  top: 20px;
  right: 21px;
  content: "→";
  color: var(--jcc-brand-forest, #355b4a);
  font-size: 25px;
  line-height: 1;
}
body main .jcc-information-sources a,
body main .jcc-information-related :is(li, p:has(> a)) > a {
  display: flex;
  align-items: flex-start;
  width: 100%;
  color: #202020 !important;
  -webkit-text-fill-color: #202020 !important;
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: clamp(18px, 1.55vw, 23px) !important;
  line-height: 1.24 !important;
  text-decoration: none !important;
}
body main .jcc-information-sources a::before {
  position: absolute;
  top: 20px;
  left: 22px;
  content: "Primary source";
  color: var(--jcc-brand-forest, #355b4a);
  font-family: "Hanken Grotesk", Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  transform: translateY(-1px);
}
body main .jcc-information-sources li { padding-top: 48px !important; }
body main :is(.jcc-information-sources, .jcc-information-related) :is(li, p:has(> a)):is(:hover, :focus-within) {
  border-color: var(--jcc-brand-gold, #dda646);
  background: #fff;
}
body main .jcc-information-related > p.jcc-rw-label { margin-bottom: 16px !important; }
body main .jcc-information-related > p:has(> a) { display: none; }
body main .jcc-information-related > p:has(> a):nth-of-type(n + 2) { display: flex; }
@media (max-width: 760px) {
  body main :is(.jcc-information-sources, .jcc-information-related) :is(h2, h3) { font-size: clamp(30px, 9vw, 36px) !important; }
  body main .jcc-information-sources :is(ul, ol),
  body main .jcc-information-related :is(ul, ol) { grid-template-columns: 1fr; gap: 12px; }
  body main .jcc-information-sources li,
  body main .jcc-information-related :is(li, p:has(> a)) { min-height: 96px; padding: 18px 48px 18px 18px !important; }
  body main .jcc-information-sources li { padding-top: 43px !important; }
  body main .jcc-information-sources a,
  body main .jcc-information-related :is(li, p:has(> a)) > a { font-size: 19px !important; }
  body main .jcc-information-sources a::before { top: 17px; left: 18px; }
  body main .jcc-information-sources li::after,
  body main .jcc-information-related :is(li, p:has(> a))::after { top: 18px; right: 18px; }
}

/* JCC_FAQ_CALM_REFERENCE_TREATMENT_20260817
   FAQs carry dense legal information. Keep their resting state neutral; forest
   communicates the single expanded answer and gold remains a focus-only aid. */
body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
) {
  --jcc-faq-accent: var(--jcc-brand-forest);
  border: 1px solid var(--jcc-brand-stone) !important;
  border-top-width: 1px !important;
  border-left-width: 1px !important;
  background: var(--jcc-brand-white) !important;
}
body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
):nth-child(even) { --jcc-faq-accent: var(--jcc-brand-forest); }
body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
)[open] {
  border-left: 3px solid var(--jcc-brand-forest) !important;
  background: var(--jcc-brand-ivory) !important;
}
body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
) summary::after { border-color: var(--jcc-brand-forest) !important; }
body main :is(
  details.jcc-rw-faq,
  details.jcc-al-faq,
  details.jcc-programme-faq,
  .jcc-rw-faq > details,
  .jcc-programme-faq-list > details,
  .faq-list > details,
  .faq-list > .faq-item,
  details.faq-item,
  details.jcc-faq-item
) summary:focus-visible {
  outline: 3px solid var(--jcc-brand-gold) !important;
  outline-offset: 3px;
}

/* JCC_RELATED_GUIDANCE_COMPACT_CARDS_20260817 */
body main .jcc-information-related :is(h2, h3) {
  max-width: 22ch;
  font-size: clamp(34px, 3vw, 46px) !important;
}
body main .jcc-information-related .jcc-related-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}
body main .jcc-information-related .jcc-related-card {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 108px;
  padding: 20px 58px 20px 22px;
  border: 1px solid rgba(32, 32, 32, .17);
  border-radius: 2px;
  background: rgba(255, 255, 255, .48);
  color: #202020 !important;
  -webkit-text-fill-color: #202020 !important;
  text-decoration: none !important;
}
body main .jcc-information-related .jcc-related-card__title {
  font-family: "Libre Caslon Text", Georgia, serif;
  font-size: clamp(19px, 1.55vw, 24px);
  line-height: 1.2;
}
body main .jcc-information-related .jcc-related-card__arrow {
  position: absolute;
  top: 50%;
  right: 21px;
  color: var(--jcc-brand-forest, #355b4a);
  font-size: 25px;
  line-height: 1;
  transform: translateY(-50%);
}
body main .jcc-information-related .jcc-related-card:is(:hover, :focus-visible) {
  border-color: var(--jcc-brand-forest, #355b4a);
  background: #fff;
  outline: none;
}
body main .jcc-information-related .jcc-related-card:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--jcc-brand-gold, #dda646) 52%, transparent);
}
@media (max-width: 760px) {
  body main .jcc-information-related :is(h2, h3) { font-size: clamp(30px, 9vw, 36px) !important; }
  body main .jcc-information-related .jcc-related-card-grid { grid-template-columns: 1fr; gap: 12px; }
  body main .jcc-information-related .jcc-related-card { min-height: 88px; padding: 17px 50px 17px 18px; }
  body main .jcc-information-related .jcc-related-card__title { font-size: 20px; }
  body main .jcc-information-related .jcc-related-card__arrow { right: 18px; }
}


/* JCC_TABLET_HEADER_CTA_OVERFLOW_GUARD_20260817 */
@media (max-width: 1041px) {
  html body header [data-jcc-consultation-primary] { display: none !important; }
}

/* JCC_CANONICAL_CTA_REFERENCE_20260817: match the frozen Expat controls exactly. */
body:not(.jcc-expat-engagement) header > div:first-child{max-width:none!important;padding-inline:clamp(24px,3vw,68px)!important;gap:clamp(16px,2vw,40px)!important}
body:not(.jcc-expat-engagement) header nav[aria-label="Main navigation"]{flex:1 1 auto!important;min-width:0!important;justify-content:center!important;gap:clamp(18px,1.5vw,30px)!important}
html body:not(.jcc-expat-engagement) header :is(#jcc-consultation-contract-force#jcc-consultation-contract-force#jcc-consultation-contract-force,[data-jcc-consultation-primary]){flex:0 0 auto!important;min-height:56px!important;width:var(--jcc-brand-cta-width)!important;max-width:100%!important;padding:14px 26px!important;border:1px solid var(--jcc-brand-gold)!important;border-radius:var(--jcc-brand-radius-control)!important;background:var(--jcc-brand-gold)!important;color:var(--jcc-brand-charcoal-deep)!important;-webkit-text-fill-color:var(--jcc-brand-charcoal-deep)!important;font-size:12.5px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.13em!important;text-align:center!important;white-space:normal!important}
html body:not(.jcc-expat-engagement) main :is(#jcc-consultation-contract-force#jcc-consultation-contract-force#jcc-consultation-contract-force,[data-jcc-consultation-primary]){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;width:var(--jcc-brand-cta-width)!important;max-width:100%!important;height:auto!important;min-height:60px!important;padding:14px 22px!important;gap:11px!important;border:1px solid var(--jcc-brand-gold)!important;border-radius:var(--jcc-brand-radius-control)!important;background:var(--jcc-brand-gold)!important;color:var(--jcc-brand-charcoal-deep)!important;-webkit-text-fill-color:var(--jcc-brand-charcoal-deep)!important;font-size:13px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.13em!important;text-align:center!important;white-space:normal!important;overflow:visible!important}
html body:not(.jcc-expat-engagement) main :is(#jcc-cta-size-force#jcc-cta-size-force#jcc-cta-size-force,[data-jcc-hero-primary-cta="true"][data-jcc-consultation-primary]){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;width:var(--jcc-brand-cta-width)!important;max-width:100%!important;height:auto!important;min-height:60px!important;margin:30px 0 0!important;padding:14px 22px!important;gap:11px!important;border:1px solid var(--jcc-brand-gold)!important;border-radius:var(--jcc-brand-radius-control)!important;background:var(--jcc-brand-gold)!important;color:var(--jcc-brand-charcoal-deep)!important;-webkit-text-fill-color:var(--jcc-brand-charcoal-deep)!important;font-size:13px!important;font-weight:700!important;line-height:1.25!important;letter-spacing:.13em!important;text-align:center!important;white-space:normal!important;overflow:visible!important}
body:not(.jcc-expat-engagement) [data-jcc-consultation-primary]>span{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:break-word;word-break:normal;text-align:center;text-wrap:balance}
html body:not(.jcc-expat-engagement) main .jcc-interactive-card[data-jcc-consultation-primary]::before{content:none!important;display:none!important}
body:not(.jcc-expat-engagement) .jcc-chatbot:not(.is-open) .jcc-chatbot__button{border-color:transparent!important}
@media(max-width:1041px){body:not(.jcc-expat-engagement) header nav[aria-label="Main navigation"],body:not(.jcc-expat-engagement) header [id$="-headcta"]{display:none!important}}
@media(max-width:680px){html body:not(.jcc-expat-engagement) main :is(#jcc-consultation-contract-force#jcc-consultation-contract-force#jcc-consultation-contract-force,[data-jcc-consultation-primary]),html body:not(.jcc-expat-engagement) main :is(#jcc-cta-size-force#jcc-cta-size-force#jcc-cta-size-force,[data-jcc-hero-primary-cta="true"][data-jcc-consultation-primary]){width:100%!important;max-width:none!important;height:auto!important}}

/* Retire the route's pre-canonical long-label exception; Expat is the CTA reference. */
html body.page-asset-recovery-singapore:not(.jcc-expat-engagement) :is(#jcc-canonical-cta-force#jcc-canonical-cta-force#jcc-canonical-cta-force#jcc-canonical-cta-force#jcc-canonical-cta-force,[data-jcc-consultation-primary]){box-sizing:border-box!important;width:var(--jcc-brand-cta-width)!important;max-width:100%!important;height:auto!important;min-height:60px!important;padding:14px 22px!important;gap:11px!important;border-radius:var(--jcc-brand-radius-control)!important;font-size:13px!important;line-height:1.25!important;letter-spacing:.13em!important;white-space:normal!important;overflow:visible!important}
html body.page-asset-recovery-singapore:not(.jcc-expat-engagement) header :is(#jcc-canonical-header-cta-force#jcc-canonical-header-cta-force#jcc-canonical-header-cta-force#jcc-canonical-header-cta-force#jcc-canonical-header-cta-force,[data-jcc-consultation-primary]){width:var(--jcc-brand-cta-width)!important;min-height:56px!important;padding:14px 26px!important;gap:10px!important;font-size:12.5px!important}
html body.page-asset-recovery-singapore:not(.jcc-expat-engagement) main :is(#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force,[data-jcc-consultation-primary])> :is(span,svg){flex:0 1 auto!important;min-width:0!important;max-width:100%!important}
@media(max-width:680px){html body.page-asset-recovery-singapore:not(.jcc-expat-engagement) main :is(#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force#jcc-canonical-main-cta-force,[data-jcc-consultation-primary]){width:100%!important;max-width:none!important;height:auto!important;padding-right:22px!important;padding-left:22px!important;font-size:13px!important;letter-spacing:.13em!important}}
body:not(.jcc-expat-engagement) [data-jcc-button-secondary]{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.2!important;text-decoration:none!important}body:not(.jcc-expat-engagement) .jcc-chatbot:not(.is-open) .jcc-chatbot__button{border:0!important;outline:0!important}

/* JCC_PRACTICE_MENU_COUNT_REMOVED_20260818
   The practice dropdown listed a count under each hub ("8 practice areas",
   "13 practice areas"). Removed at the client's instruction. Hidden rather than
   deleted from 129 files, so it is one reversible rule and no page markup
   changes. display:none also removes it from the accessibility tree. */
html body header .jcc-practice-hub-link__meta {
  display: none !important;
}

/* ---------- JCC_FAQ_DISCLOSURE_CONTROL_20260818 ----------
   Every FAQ card now shows that it opens.

   Measured at 1440px before writing:
     .jcc-programme-faq-list > details   summary::after "+"   36px circle
     details.jcc-rw-faq                  summary::after none  no control
     details.jcc-al-faq                  summary::after none  no control

   The rw variant sets list-style-type: disclosure-closed, but its summary is
   display:flex, which suppresses the native marker, so nothing rendered. The
   article variant reserved a 24px column and left it empty.

   The control is positioned absolutely so it does not depend on the summary's
   own display or grid, and it matches the programme variant, which is
   untouched. Quadrupled-id :is() to clear the incumbent !important rules. */

html body main :is(#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure, details.jcc-rw-faq > summary, details.jcc-al-faq > summary) {
  position: relative !important;
  padding-right: 74px !important;
  list-style: none !important;
  cursor: pointer !important;
}

html body main :is(#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure, details.jcc-rw-faq > summary, details.jcc-al-faq > summary)::-webkit-details-marker { display: none !important; }

html body main :is(#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure, details.jcc-rw-faq > summary, details.jcc-al-faq > summary)::after {
  content: "+" !important;
  position: absolute !important;
  top: 50% !important;
  right: 24px !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--jcc-faq-accent, var(--jcc-brand-forest, #355b4a)) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--jcc-faq-accent, var(--jcc-brand-forest, #355b4a)) !important;
  font: 400 20px/1 Arial, Helvetica, sans-serif !important;
  text-indent: 0 !important;
}

html body main :is(#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure, details.jcc-rw-faq[open] > summary, details.jcc-al-faq[open] > summary)::after { content: "\2212" !important; }

@media (max-width: 640px) {
  html body main :is(#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure, details.jcc-rw-faq > summary, details.jcc-al-faq > summary) { padding-right: 60px !important; }
  html body main :is(#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure#jcc-faq-disclosure, details.jcc-rw-faq > summary, details.jcc-al-faq > summary)::after {
    right: 16px !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 18px !important;
  }
}
