/* Final shared quality layer: one type scale and predictable responsive bounds. */
:root{
  --site-font-serif:Georgia,"Times New Roman",serif;
  --site-font-sans:Inter,"Segoe UI",Arial,sans-serif;
  --site-type-display:48px;
  --site-type-section:34px;
  --site-type-title:22px;
  --site-type-lead:16px;
  --site-type-body:14px;
  --site-type-meta:12px;
}

/* Global-business country card metadata follows the shared T6 level. */
html body .gb-country-card-title :is(p,span){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:700!important;
  line-height:1.5!important;
}

/* University detail statistics: one sans-serif numeric treatment across fees,
   admissions, rankings, campus, faculty and research/career values. */
html body:not(.home-page) main#main.university-profile-page :is(
  .university-cost-grid,
  .university-admission-summary,
  .university-campus-summary,
  .university-faculty-grid,
  .university-ranking-grid,
  .university-endowment
) strong{
  color:var(--navy)!important;
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-title)!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums lining-nums;
  letter-spacing:0!important;
  line-height:1.3!important;
  overflow-wrap:anywhere;
}

/* The application-coordination page moves directly from the hero into its detailed content. */
html body.application-page main>.service-strip{
  display:none!important;
}

/* Citizenship by investment directory. */
html body .citizenship-directory{
  padding:72px 0 80px;
  background:#f4f7f9;
}
html body .citizenship-directory-intro{
  display:grid;
  margin-bottom:32px;
  grid-template-columns:minmax(0,1fr) minmax(280px,340px);
  align-items:center;
  gap:32px;
}
html body .citizenship-directory-intro h2{
  margin:0;
  color:#082f60;
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-section)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
html body .country-directory-search{
  position:relative;
  display:flex;
  width:100%;
  height:46px;
  margin:0;
  align-items:center;
  border:1px solid #c9d6e0;
  background:#fff;
  box-shadow:0 8px 24px rgba(5,37,70,.05);
}
html body .country-directory-search:focus-within{
  border-color:#0c5aa6;
  box-shadow:0 0 0 3px rgba(12,90,166,.12),0 8px 24px rgba(5,37,70,.06);
}
html body .country-directory-search-icon{
  position:absolute;
  left:15px;
  width:19px;
  height:19px;
  fill:none;
  stroke:#5e7489;
  stroke-width:1.8;
  pointer-events:none;
}
html body .country-directory-search input{
  width:100%;
  height:100%;
  padding:0 46px 0 44px;
  border:0;
  outline:0;
  background:transparent;
  color:#173a60;
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  font-weight:400!important;
  line-height:1.5!important;
}
html body .country-directory-search input::placeholder{
  color:#718497;
  opacity:1;
}
html body .country-directory-search input::-webkit-search-cancel-button{
  display:none;
}
html body .country-directory-search-clear{
  position:absolute;
  right:5px;
  display:grid;
  width:36px;
  height:36px;
  padding:0;
  place-items:center;
  border:0;
  background:transparent;
  color:#5e7489;
  cursor:pointer;
}
html body .country-directory-search-clear[hidden]{display:none!important;}
html body .country-directory-search-clear:hover{color:#0c5aa6;}
html body .country-directory-search-clear:focus-visible{
  outline:2px solid #0c5aa6;
  outline-offset:-2px;
}
html body .country-directory-search-clear svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-width:1.8;
}
html body .citizenship-country-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
html body .citizenship-country-card{
  display:flex;
  min-height:0;
  padding:0;
  overflow:hidden;
  flex-direction:column;
  border:1px solid #d7e1e8;
  background:#fff;
  box-shadow:0 12px 30px rgba(5,37,70,.05);
}
html body .citizenship-country-card[hidden]{display:none!important;}
html body .citizenship-country-scene{
  display:block;
  width:100%;
  aspect-ratio:43/20;
  object-fit:cover;
}
html body .citizenship-country-card:nth-child(7) .citizenship-country-scene{object-position:center 44%;}
html body .citizenship-country-card:nth-child(8) .citizenship-country-scene{object-position:center 62%;}
html body .citizenship-country-content{
  display:flex;
  min-width:0;
  padding:18px;
  flex:1;
  flex-direction:column;
}
html body .citizenship-country-heading{
  display:flex;
  min-width:0;
  align-items:center;
  gap:12px;
}
html body .citizenship-country-heading>div{min-width:0;}
html body .citizenship-country-flag{
  width:48px;
  height:36px;
  flex:0 0 auto;
  border:1px solid #d7e1e8;
  object-fit:cover;
}
html body .citizenship-country-card span{
  display:block;
  margin-bottom:2px;
  color:#a97622;
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:900!important;
  line-height:1.5!important;
  letter-spacing:.12em;
  text-transform:uppercase;
}
html body.identity-directory-page main#main .citizenship-country-card h3{
  margin:0;
  color:#082f60;
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:normal!important;
}
html body .citizenship-country-facts{
  display:grid;
  gap:5px;
  margin:14px 0 0;
  padding:12px 0 0;
  border-top:1px solid #e2e9ee;
  list-style:none;
}
html body .citizenship-country-facts li{
  margin:0;
  color:#173a60;
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:700!important;
  line-height:1.5!important;
}
html body .country-directory-empty{
  margin:32px 0 0;
  padding:28px;
  border:1px solid #d7e1e8;
  background:#fff;
  color:#526b82;
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  font-weight:600!important;
  line-height:1.5!important;
  text-align:center;
}
html body .country-directory-empty[hidden]{display:none!important;}

/* Keep directory and country-programme CTAs on one shared horizontal axis. */
html body.identity-directory-page main#main .citizenship-country-content > .gb-country-card-link,
html body.identity-directory-page main#main .residency-programme-card-link,
html body.residency-country-hub-page main#main .residency-programme-card-link{
  align-self:center;
  margin-top:auto!important;
  margin-right:auto!important;
  margin-left:auto!important;
}

/* Country programme summaries use a compact label/value relationship. */
html body:is(.identity-directory-page,.residency-country-hub-page) main#main .residency-programme-card-facts li{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  align-items:baseline;
  gap:6px;
}

html body:is(.identity-directory-page,.residency-country-hub-page) main#main .residency-programme-card-facts small,
html body:is(.identity-directory-page,.residency-country-hub-page) main#main .residency-programme-card-facts strong{
  display:inline;
  margin:0;
}

/* Country-hub facts stay in a true label/value layout. Compact bilingual
   labels preserve the value column, while long English values wrap only at
   natural word boundaries. */
html body.residency-country-hub-page main#main .residency-programme-card-content{
  display:grid;
  grid-template-rows:auto auto auto 1fr auto;
  align-content:start;
}
html body.residency-country-hub-page main#main .residency-programme-card-meta{
  grid-row:1;
}
html body.residency-country-hub-page main#main .residency-programme-card h3{
  grid-row:2;
}
html body.residency-country-hub-page main#main .residency-programme-card-facts li{
  grid-template-columns:max-content minmax(0,1fr);
  align-items:start;
  column-gap:8px;
}
html body.residency-country-hub-page main#main .residency-programme-card-facts{
  grid-row:3;
  margin-bottom:0;
}
html body.residency-country-hub-page main#main .residency-programme-card-link{
  grid-row:5;
  align-self:end;
  margin-top:auto!important;
}
html body.residency-country-hub-page main#main .residency-programme-card-facts small{
  white-space:nowrap;
}
html body.residency-country-hub-page main#main .residency-programme-card-facts strong,
html[lang="en"] body.residency-country-hub-page main#main .residency-programme-card h3{
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}

@media(max-width:1100px){
  html body .citizenship-country-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media(max-width:760px){
  html body .citizenship-directory{padding:64px 0;}
  html body .citizenship-directory-intro{
    margin-bottom:28px;
    grid-template-columns:1fr;
    align-items:stretch;
    gap:20px;
  }
  html body .country-directory-search{height:48px;}
  html body .citizenship-country-grid{grid-template-columns:1fr;}
  html body .citizenship-country-content{padding:20px;}
  html body.identity-directory-page main#main .residency-programme-card-facts li{
    grid-template-columns:1fr;
    gap:2px;
  }
}

/* Secondary pages use the same three heading levels as the homepage. */
html body:not(.home-page) main#main h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:var(--site-type-display)!important;
  font-weight:500!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
html body:not(.home-page) main#main h2{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-section)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
html body:not(.home-page) main#main h3{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}

/* The jurisdiction directory uses compact fixed-height flag cards. Country
   names are labels, not section headings, so keep both locales inside the
   existing 70px card instead of inheriting the global h2 scale. */
html body:not(.home-page) main#main.tc-jurisdictions-reference .tc-country-card.flags-wrap .jurititle{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  font-size:var(--site-type-body)!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
  line-height:1.25!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
html body:not(.home-page) main#main.tc-jurisdictions-reference .juri-hover h3{
  font-size:var(--site-type-meta)!important;
  letter-spacing:0!important;
  line-height:1.35!important;
}

/* Insights uses the homepage hierarchy by content role. Category and article
   mastheads both match the homepage hero title; list cards follow the homepage
   card scale. */
html body:not(.home-page) main#main.cms-insights-list .insight-news-hero h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:var(--site-type-display)!important;
  font-weight:500!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
html body:not(.home-page) main#main.insight-article-page .article-hero h1{
  font-size:var(--site-type-display)!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
html body:not(.home-page) main#main.cms-insights-list .news-list-heading h2{
  font-size:var(--site-type-section)!important;
}
html body:not(.home-page) main#main.cms-insights-list .insight-news-copy h2,
html body:not(.home-page) main#main.insight-article-page .article-body h2,
html body:not(.home-page) main#main.insight-article-page .article-body .article-section-title{
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
html body:not(.home-page) main#main.cms-insights-list .insight-news-meta{
  font-weight:700!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body h3{
  font-size:var(--site-type-lead)!important;
  line-height:1.45!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body{
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body :is(p,li,td,th){
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-section-title{
  margin-top:36px;
  margin-bottom:12px;
  font-family:var(--site-font-serif)!important;
  font-weight:600!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-section-title strong{
  font-family:var(--site-font-serif)!important;
  font-size:inherit!important;
  font-weight:600!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-note strong,
html body:not(.home-page) main#main.insight-article-page .article-body .article-callout strong{
  font-size:var(--site-type-lead)!important;
  font-family:var(--site-font-sans)!important;
  font-weight:700!important;
  line-height:1.45!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-source{
  font-size:var(--site-type-meta)!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-source strong{
  font-weight:700!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-source-links{
  display:block;
  margin-top:6px;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-source-label{
  font-weight:700;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-inline-summary{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-section)!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-inline-meta{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:700!important;
  line-height:1.5!important;
  font-variant-numeric:tabular-nums;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-note strong{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}
html body:not(.home-page) main#main.insight-article-page .article-body .article-number,
html body:not(.home-page) main#main.insight-article-page .article-body time{
  font-family:var(--site-font-sans)!important;
  font-size:inherit!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums;
  letter-spacing:0!important;
}

/* Match every Insights article masthead to the 350px Finance & Corporate
   Services reference while preserving the image-led split composition. */
@media(min-width:1001px){
  html body:not(.home-page) main#main.cms-insights-list .insight-news-hero-grid>div:first-child{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:0;
  }
  html body:not(.home-page) main#main.cms-insights-list .insight-news-hero .eyebrow{
    margin-bottom:10px;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero{
    box-sizing:border-box;
    height:350px!important;
    min-height:350px!important;
    padding:28px 0 34px!important;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero-grid{
    max-width:64%;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero h1{
    max-width:860px;
    font-size:var(--site-type-display)!important;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero-meta{
    margin-top:16px;
    padding-top:14px!important;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero-meta p{
    display:-webkit-box;
    overflow:hidden;
    font-size:var(--site-type-lead)!important;
    line-height:1.6!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero-meta small{
    margin-top:9px;
  }
}

/* Shared containment prevents wide tables, long URLs and media from creating
   horizontal scrolling on tablets and phones. */
main,main section,main article,main div{min-width:0}
main img,main video,main iframe{max-width:100%;height:auto}
main table{max-width:100%}
main :is(p,li,h1,h2,h3,h4,a){overflow-wrap:break-word}

/* Global Education is the reference for breadcrumb typography site-wide. */
html body:not(.home-page) main#main :where(.page-breadcrumb,.breadcrumb,.settlement-breadcrumb,.education-breadcrumb,.formation-breadcrumb,.country-formation-breadcrumb,.market-breadcrumb,.service-breadcrumb,.tc-breadcrumb){
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;
  font-size:var(--site-type-meta)!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  line-height:1.65!important;
  text-transform:uppercase!important;
}

@media(max-width:1000px){
  .secondary-page.insight-article-page.country-insight-article .article-hero{
    min-height:0!important;
    padding:38px 0 250px!important;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero::after{
    height:220px;
  }
}

@media(max-width:760px){
  :root{
    --site-type-display:36px;
    --site-type-section:28px;
    --site-type-title:20px;
  }
  html body:not(.home-page) main#main h1{line-height:1.04!important}
  html body:not(.home-page) main#main.cms-insights-list .insight-news-hero h1{line-height:1.04!important}
  html body:not(.home-page) main#main.insight-article-page .article-hero h1{line-height:1.04!important}
  .shell,.container{width:calc(100% - 30px)}
  .secondary-page.insight-article-page.country-insight-article .article-hero{
    padding:32px 0 205px!important;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero::after{
    height:180px;
  }
  .secondary-page.insight-article-page.country-insight-article .article-hero-meta p{
    font-size:var(--site-type-body)!important;
    line-height:1.65!important;
  }
  main :is(button,.button,.hero-panel-button,.settlement-button,.insight-read-link){
    min-height:40px;
  }
}

/* Mandatory six-level typography enforcement for shared site chrome and the
   jurisdiction/core-service detail template families. Keep this final in the
   cascade: these templates still load older component-specific type values. */
html body :is(.brand-mark){
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
}
html body :is(.brand-name){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:800!important;
}
html body :is(.brand-name small,.nav-link,.nav-cta,.language-switcher,.language-switcher button,.language-switcher>span,.home-section-nav a,.footer-grid h2,.footer-brand-promise strong,.footer-bottom,.footer-bottom a,.back-to-top small){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:700!important;
}
html body :is(.footer-brand p,.footer-grid>div>a:not(.brand)){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
}
html body .back-to-top>span{
  font-size:var(--site-type-title)!important;
}

/* All 82 country/jurisdiction detail routes share .tc-reference-detail. */
html body main.tc-reference-detail .tc-ref-banner-copy>p{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  line-height:1.75!important;
}
html body main.tc-reference-detail :is(.tc-ref-facts article strong,.tc-ref-facts article span,.tc-ref-sidebar-card>a,.tc-ref-sidebar-card nav a,.tc-ref-content .lwptoc_item_label,.tc-ref-content .lwptoc_item_number){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  line-height:1.5!important;
}
html body main.tc-reference-detail :is(.tc-ref-facts article strong,.tc-ref-sidebar-card>a,.tc-ref-sidebar-card nav a,.tc-ref-content .lwptoc_item_label,.tc-ref-content .lwptoc_item_number){
  font-weight:700!important;
}
html body main.tc-reference-detail .tc-ref-sidebar-card h2{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:-.01em!important;
}
html body main.tc-reference-detail .tc-ref-help-card h3{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-title)!important;
  font-weight:700!important;
}
html body main.tc-reference-detail :is(.tc-ref-help-card p,.tc-ref-content,.tc-ref-content p,.tc-ref-content li,.tc-ref-content td,.tc-ref-content th,.tc-ref-content caption,.tc-ref-content blockquote){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body main.tc-reference-detail :is(.tc-ref-content h2 strong,.tc-ref-content h2 span,.tc-ref-content h3 strong,.tc-ref-content h3 span){
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
}
html body main.tc-reference-detail .tc-ref-content h4{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.45!important;
}
html body main.tc-reference-detail :is(.tc-ref-content summary,.tc-ref-content .accordion-header){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.5!important;
}
html body main.tc-reference-detail .tc-ref-content .accordion-header::after{
  font-size:var(--site-type-title)!important;
}

/* All seven core-service detail routes share .tc-service-detail-page. */
html body main.tc-service-detail-page :is(.tc-guide-index,.tc-process-list article>span){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-title)!important;
  font-weight:700!important;
  line-height:1!important;
}
html body main.tc-service-detail-page :is(.tc-guide-subsection h4,#questions .tc-faq summary){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.5!important;
}
html body main.tc-service-detail-page :is(.tc-guide-subsection p,.tc-scope-grid p,.tc-check-list li,.tc-process-list p,.tc-faq details p){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body main.tc-service-detail-page :is(.tc-detail-cover-copy .eyebrow,.tc-detail-sidebar .tc-sidebar-section>small,.tc-detail-sidebar nav a,.tc-guide-sections li,.tc-scope-grid span,.tc-lens-grid span){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  line-height:1.5!important;
}
html body main.tc-service-detail-page .tc-continuity-grid strong{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}
html body main.tc-service-detail-page .tc-continuity-grid span{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body main.tc-service-detail-page #questions .tc-faq summary::after{
  font-size:var(--site-type-lead)!important;
}

/* Application coordination: map legacy interface labels and FAQ controls to
   the same six-level system used by every other secondary page. */
html body.application-page main .service-hero .text-link{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
}
html body.application-page main .case-file-grid span{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body.application-page main .evidence-quality strong{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}
html body.application-page main .faq-list summary{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.5!important;
}

/* Education contact details use metadata plus a component-title treatment. */
html body.global-education-page-body main .education-email-address small{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  line-height:1.5!important;
}
html body.global-education-page-body main .education-email-address a{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}
html body.global-education-page-body main .education-service-grid article>span{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-title)!important;
  font-weight:700!important;
  line-height:1!important;
}

/* Settlement benefits and service-card titles previously used several
   English-only intermediate sizes. Keep their semantic roles on T4/T5/T3. */
html[lang] body:not(.home-page) main#main.settlement-page .settlement-benefit-grid strong{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.3!important;
}
html[lang] body:not(.home-page) main#main.settlement-page .settlement-benefit-grid p{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html[lang] body:not(.home-page) main#main.settlement-page .settlement-service-card h3,
html[lang] body:not(.home-page) main#main.settlement-page .settlement-service-card:nth-child(9) h3{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
  white-space:normal!important;
}

/* Jurisdiction directory controls and compact country labels. */
html body main.tc-jurisdictions-reference :is(.tc-juri-breadcrumb a,.tc-juri-breadcrumb span,.tc-region-filter){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  line-height:1.5!important;
}
html body main.tc-jurisdictions-reference .tc-country-card.flags-wrap .jurititle{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  font-weight:600!important;
  line-height:1.3!important;
}

/* Residency country hubs reuse the compact label hierarchy of the main
   country directory: programme names are card labels rather than sections. */
html body:not(.home-page) main#main.residency-country-page .residency-programme-card h3{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
}

/* Keep numbered guide/process rows compact. The legacy layout reserved a
   50-58px number column plus an 18-22px gap, leaving a large empty gutter. */
html body main.tc-service-detail-page :is(.tc-guide-sections>article,.tc-process-list article){
  grid-template-columns:max-content minmax(0,1fr)!important;
  column-gap:10px!important;
}

/* Treat the seven core-service card numbers as corner indices: raising them
   above the eyebrow line keeps the card's reading column visually clear. */
html body main.tc-core-page .tc-service-card>span{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:700!important;
  line-height:1.5!important;
}
html body main.tc-core-page .tc-service-card small{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:900!important;
  line-height:1.5!important;
}
html body main.tc-core-page .tc-service-card p{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  font-weight:400!important;
  line-height:1.75!important;
}
html body main.tc-core-page .tc-service-card b{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  font-weight:850!important;
  line-height:1.5!important;
}
html body main.tc-core-page .tc-service-card>span{
  top:14px!important;
}

@media(max-width:760px){
  html body main.tc-service-detail-page :is(.tc-guide-sections>article,.tc-process-list article){
    column-gap:8px!important;
  }

  html body main.tc-core-page .tc-service-card>span{
    top:12px!important;
    right:22px!important;
  }
}

/* Every existing masthead description uses the shared T4 lead treatment.
   Corporate Jurisdictions intentionally has no description and is excluded. */
html body.home-page main#main .hero-intro,
html body:not(.home-page) main#main :is(
  .tc-hero-copy>p:not(.eyebrow),
  .service-hero-copy>p:not(.service-label),
  .country-formation-hero-lead,
  .residency-detail-hero-copy>p,
  .article-hero-meta>p,
  .insight-news-hero-side>p,
  .tc-ref-banner-copy>p,
  .market-hero-lead,
  .page-hero-lead,
  .legal-hero p,
  .settlement-hero-copy>p,
  .about-manifesto-lead,
  .work-hero-lead,
  .formation-hero-copy>p:not(.eyebrow),
  .jurisdiction-hero-copy>p:not(.eyebrow),
  .education-hero-lead,
  .tc-contact-simple-copy>p:not(.eyebrow)
){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:400!important;
  line-height:1.75!important;
  letter-spacing:normal!important;
}

/* Final semantic fallback for legacy and database-authored secondary pages.
   Older page packages contain many local 8–28px declarations. This layer
   maps every ordinary text role back to the six mandatory site tokens while
   allowing the more specific hero and component rules above to retain their
   intended hierarchy. */
html body:not(.home-page) main#main{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
}
html body:not(.home-page) main#main :where(p,li,td,dd,dt,blockquote,figcaption){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body:not(.home-page) main#main :where(p,li,td,dd,dt,blockquote,figcaption,h1,h2,h3,h4,summary) :where(span,strong,b,em,i,a,time){
  font-size:inherit!important;
  line-height:inherit!important;
}
html body:not(.home-page) main#main h4{
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}
html body:not(.home-page) main#main summary{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.5!important;
}
html body:not(.home-page) main#main :where(
  small,sup,caption,th,label,
  .button,.text-link,[role="button"],
  [class*="breadcrumb"],[class*="eyebrow"],[class*="kicker"],
  [class*="-meta"],[class*="-label"],[class*="country-name"],
  [class*="regulator"],[class*="detail-link"]
){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  line-height:1.5!important;
}
html body:not(.home-page) main#main :where(input,select,textarea){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.5!important;
}
html body:not(.home-page) main#main :where(
  article>strong,
  [class*="-fact"]>strong,
  [class*="timeline"] strong,
  [class*="contact"] article strong
){
  font-family:var(--site-font-serif)!important;
  font-size:var(--site-type-title)!important;
  font-weight:600!important;
  line-height:1.3!important;
}

/* Contact enquiry guide titles are compact functional headings. */
html body:not(.home-page) main#main.tc-contact-page .tc-contact-enquiry-guide article strong{
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.5!important;
}

/* Citizenship programme statistics and investment thresholds are data, not
   editorial card titles. Keep their figures in the site's upright interface
   numeral system after the legacy article>strong fallback above. */
html body:not(.home-page) main#main.citizenship-detail-page :is(
  .citizenship-detail-stat-grid strong,
  .citizenship-option-card>strong
){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-lead)!important;
  font-weight:700!important;
  line-height:1.45!important;
  letter-spacing:normal!important;
  font-style:normal!important;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
}

/* Legacy interface clusters whose text is authored as unclassified spans,
   anchors or source-note divs. Their roles are explicit here so they do not
   fall back to the historical local sizes. */
html body:not(.home-page) main#main :where(
  .summary-strip article>span,
  .market-source-note,
  .country-formation-source>div>div:first-child,
  .relocation-source-note>div>div:first-child
){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-body)!important;
  line-height:1.75!important;
}
html body:not(.home-page) main#main :where(
  .service-band-label>span,
  .service-band-items article>a,
  .gb-service-sidebar nav a,
  .country-guide-toc a,
  .identity-route-index,
  .identity-route-tree-arrow,
  .identity-route-preview-path,
  .identity-route-preview-path span,
  .identity-route-preview-path strong,
  .country-formation-source,
  .country-formation-source strong,
  .country-formation-source a,
  .country-formation-source-links a,
  .market-source-note strong,
  .market-source-links a,
  .relocation-source-note,
  .relocation-source-note strong,
  .relocation-source-note a,
  .relocation-source-links a
){
  font-family:var(--site-font-sans)!important;
  font-size:var(--site-type-meta)!important;
  line-height:1.5!important;
}
html body:not(.home-page) main#main .service-band-items article>a span{
  font-size:inherit!important;
  line-height:inherit!important;
}
html body:not(.home-page) main#main :where(
  .fl-process-grid article>span,
  .country-guide-sidebar-head strong,
  .country-guide-sidebar-cta strong,
  [class*="callout"]>strong,
  [class*="callout"] strong,
  .relocation-lead-note strong,
  .legal-index strong
){
  font-size:var(--site-type-title)!important;
  line-height:1.3!important;
}
html body:not(.home-page) main#main .fl-process-grid article>span{
  font-family:var(--site-font-sans)!important;
  font-weight:700!important;
}
