/* RICS Design System — production consolidated layer, 2026-09-26.
   Source: approved Typography Pass + MASTER implementation corrections.
   Install once after the site base CSS. Replace earlier pilot overrides.
   Local source colours/assets still require native source migration.
   No visibility / form business logic / desktop composition reset. */
:root {
  --rics-navy: #0B2D5B;
  --rics-blue: #2E6EB5;
  --rics-red: #E11D2E;
  --rics-ice: #F5F8FC;
  --rics-white: #FFFFFF;
  --rics-text: #23364D;
  --rics-muted: #627793;
  --rics-line: #D9E3EF;
  --rics-pale: #E5EEF8;
  --rics-red-hover: color-mix(in srgb, #E11D2E 88%, #0B2D5B);
  --rics-font: Inter, Arial, sans-serif;
  --rics-duration-control: 200ms;
  --rics-duration-card: 220ms;
}

.rf-home h1,.rf-home h2,.rf-home h3,.rf-nav h2,.rf-footer h2,.rf-reviews h2,.rf-reviews h3,:is(.t702,.t678) .t-title{font-family:Inter,Arial,sans-serif;font-weight:600}
:is(.rf-home,.rf-reviews,.rf-footer,.rf-nav) strong{font-weight:600}
.rf-nav__brand img{width:180px;height:auto;aspect-ratio:412/156}.rf-footer__brand img{width:170px;height:auto;aspect-ratio:412/156}
@media(max-width:1199px){.rf-nav__brand img{width:144px;height:auto}}
@media(max-width:479px){.rf-nav__bar .rf-nav__brand img{width:144px;height:auto}}
.rf-nav__dialog-top .rf-nav__brand img{width:144px;height:auto}
.rf-home a,.rf-home .rf-btn,.rf-home .rf-text-link,.rf-home .rf-task li a,
.rf-nav a,.rf-nav button,.rf-nav .rf-nav__cta,.rf-nav summary,
.rf-footer a,.rf-footer .rf-footer__cta,
.rf-reviews[data-rics-cases] a,.rf-reviews[data-rics-cases] button,.rf-reviews[data-rics-cases] .rf-story-open,
.rf-connect .rf-connect__toggle,.rf-connect .rf-connect__panel a,
:is(.t702,.t678) .t-btnflex.t-btnflex_type_submit,:is(.t702,.t678) .t-popup .t-submit,
:is(.t702,.t678) .t-popup :is(input,textarea,select,button,a),:is(.t702,.t678) .t-input{transition:color 200ms ease-out,background-color 200ms ease-out,border-color 200ms ease-out,box-shadow 200ms ease-out;}
.rf-nav__service-toggle svg,.rf-nav__accordion summary svg{transition:transform 200ms ease-out}
:is(.rf-nav,.rf-home,.rf-footer,.rf-reviews,.rf-connect,:is(.t702,.t678)) :is(a,button,summary,input,textarea,select):focus-visible{outline:3px solid var(--rics-blue);outline-offset:4px;}
:is(.rf-hero,.rf-contact-panel) :is(a,button):focus-visible{outline-color:var(--rics-white)}
:is(.rf-nav,.rf-home,.rf-footer,.rf-reviews,.rf-connect,:is(.t702,.t678)) button:disabled{opacity:.48;cursor:not-allowed}
.rf-home .rf-text-link,.rf-home .rf-task li a{color:var(--rics-blue)}
.rf-home .rf-hero-actions .rf-text-link,.rf-home .rf-contact-actions .rf-text-link{color:var(--rics-white)}
.rf-home .rf-task-index{color:var(--rics-muted)}
.rf-home .rf-reading .rf-eyebrow,.rf-home .rf-soft .rf-leader-office{color:var(--rics-text)}
.rf-reviews[data-rics-cases] .rf-story{transition:border-color 220ms ease-out,box-shadow 220ms ease-out,translate 220ms ease-out}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.rf-reviews[data-rics-cases] .rf-story:has(.rf-story-open):hover{border-color:var(--rics-blue);box-shadow:0 8px 22px #0B2D5B0D;translate:0 -2px}.rf-home .rf-btn:hover,.rf-nav .rf-nav__cta:hover{background:var(--rics-red-hover)}}
.rf-home .rf-btn:active,.rf-nav .rf-nav__cta:active{background:var(--rics-red-hover);box-shadow:inset 0 0 0 2px #ffffff55}
:is(.t702,.t678) .t-input:focus-visible{border-color:var(--rics-blue)}
:is(.t702,.t678) .t-checkbox__control:has(.t-checkbox:focus-visible) .t-checkbox__indicator{outline:3px solid var(--rics-blue);outline-offset:4px}


/* Namespace aliases preserve semantic dark/light roles in existing components.
   rv-action is the existing red CTA role; it is NOT the medium-blue role. */
#allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts) {
  --rf-blue:var(--rics-navy); --rf-red:var(--rics-red); --rf-action:var(--rics-red);
  --rf-ink:var(--rics-text); --rf-pale:var(--rics-pale); --rf-ice:var(--rics-ice);
  --rf-soft:var(--rics-ice); --rf-line:var(--rics-line); --rf-border:var(--rics-line);
}
#allrecords .rics-vnj-v2 {--rv-blue:var(--rics-navy);--rv-red:var(--rics-red);--rv-action:var(--rics-red);--rv-pale:var(--rics-pale);--rv-ice:var(--rics-ice);--rv-ink:var(--rics-text);--rv-line:var(--rics-line)}
#allrecords .rf-about {--ra-blue:var(--rics-navy);--ra-red:var(--rics-red);--ra-action:var(--rics-red);--ra-ink:var(--rics-text);--ra-ice:var(--rics-ice);--ra-line:var(--rics-line)}
#allrecords .rics-catalog {--rc-blue:var(--rics-navy);--rc-red:var(--rics-red);--rc-ink:var(--rics-text);--rc-soft:var(--rics-ice);--rc-line:var(--rics-line)}
#allrecords .rf-catalog-hero {--rch-blue:var(--rics-navy);--rch-red:var(--rics-red);--rch-action:var(--rics-red);--rch-ink:var(--rics-text);--rch-ice:var(--rics-ice);--rch-line:var(--rics-line)}
#allrecords .rfq {--rfq-blue:var(--rics-navy);--rfq-red:var(--rics-red);--rfq-ink:var(--rics-text);--rfq-line:var(--rics-line);--rfq-pale:var(--rics-ice)}
#allrecords .rics-legal {--rl-blue:var(--rics-navy);--rl-red:var(--rics-red);--rl-text:var(--rics-text)}
#allrecords .rics-state {--rs-blue:var(--rics-navy);--rs-red:var(--rics-red);--rs-ink:var(--rics-text);--rs-line:var(--rics-line);--rs-soft:var(--rics-ice)}
html .rics-editorial,html .t-feed__post-popup {--re-blue:var(--rics-navy);--re-red:var(--rics-red);--re-ink:var(--rics-text);--re-soft:var(--rics-ice);--re-line:var(--rics-line)}
#allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts,.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state),html .t-feed__post-popup,html .rics-editorial {font-family:var(--rics-font)}
/* Keep actual desktop size hierarchy; normalize typeface and weights only. */
#allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts,.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state) :is(h1,h2,h3),html .rics-editorial :is(h1,h2,h3),html .t-feed__post-popup :is(.t-feed__post-popup__title,.t-redactor__h2,.t-redactor__h3) {font-family:var(--rics-font);font-weight:600}
#allrecords .rf-home .rf-fact strong,#allrecords .rf-home .rf-steps li::before {font-family:var(--rics-font);font-weight:600}
#allrecords :is(.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state,.rf-blog,.rf-contacts) strong {font-weight:600}
#allrecords .rf-footer {background:var(--rics-ice)}
#allrecords :is(.rf-blog,.rf-contacts) .rf-hero {background:var(--rics-ice);color:var(--rics-text)}
#allrecords :is(.rf-blog,.rf-contacts) .rf-hero h1 {color:var(--rics-navy)}
#allrecords :is(.rf-blog,.rf-contacts) .rf-hero .rf-lead {color:var(--rics-text)}
#allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts,.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state) :is(a,button,summary,input,textarea,select),html .rics-editorial :is(a,button,summary),html .t-feed__post-popup a {transition:color var(--rics-duration-control) ease-out,background-color var(--rics-duration-control) ease-out,border-color var(--rics-duration-control) ease-out,box-shadow var(--rics-duration-control) ease-out}
#allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts,.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state) :is(a,button,summary,input,textarea,select):focus-visible,html .rics-editorial :is(a,button,summary):focus-visible,html .t-feed__post-popup a:focus-visible {outline:3px solid var(--rics-blue);outline-offset:4px}
#allrecords :is(.rf-home .rf-hero,.rf-contact-panel,.rv-hero,.ra-contact,.rc-help,.rf-cta,.rv-ground-help) :is(a,button):focus-visible {outline-color:var(--rics-white)}
#allrecords :is(.rv-btn,.ra-btn,.rfq-btn,.rs-btn,.re-button,.rf-btn,.rf-footer__cta,.rf-nav__cta) {font-family:var(--rics-font);font-weight:600}
#allrecords :is(.rv-btn,.ra-btn,.rfq-btn,.rs-btn,.re-button,.rf-btn,.rf-footer__cta,.rf-nav__cta):disabled {opacity:.48;cursor:not-allowed}
#allrecords :is(.rv-btn,.ra-btn,.rfq-btn,.rs-btn,.re-button,.rf-btn,.rf-footer__cta,.rf-nav__cta):active {box-shadow:inset 0 0 0 2px #ffffff55}
#allrecords :is(.rv-hero-lead,.rv-hero-caption,.rv-hero-proof,.rc-help p,.rf-cta>p) {color:var(--rics-pale)}
#allrecords .rf-about .ra-hero :is(.ra-hero-lead,.ra-hero-meta) {color:var(--rics-text)}
#allrecords :is(.rc-price-unit,.rc-cost-note,.rv-price-main .rv-small,.rv-fee-note,.rv-note-box,.rfq-footnote,.rics-case-team-comment,.rics-case-team-comment>strong,.rfq-handoff-status) {color:var(--rics-text)}
#allrecords .rics-state .rs-brand img {width:170px;height:auto;aspect-ratio:412/156}
/* Article fallback styles also apply before/without the existing editorial JS. */
html .t-feed__post-popup .t-feed__post-popup__text {font-family:var(--rics-font);color:var(--rics-text)}
html .t-feed__post-popup :is(.t-feed__post-popup__title,.t-redactor__h2,.t-redactor__h3) {color:var(--rics-navy)}
html .rics-editorial .re-meta {color:var(--rics-muted)}
html .rics-editorial .re-native-byline__label {color:var(--rics-text)}
@media(hover:hover) and (pointer:fine) {
  #allrecords :is(.rv-btn:not(.rv-btn--light),.ra-btn,.rfq-btn,.rs-btn:not(.rs-btn--secondary),.re-button,.rf-btn:not(.rf-btn--light),.rf-footer__cta,.rf-nav__cta):hover {background:var(--rics-red-hover)}
  #allrecords :is(.rv-btn--light,.rs-btn--secondary,.rf-btn--light,.rc-help-link):hover {background:var(--rics-ice);border-color:var(--rics-line)}
}
/* Native Tilda inline styles require narrow !important exceptions. No display,
   visibility, required state, hidden fields or submission behavior is changed. */
#allrecords#allrecords :is(.t678,.t702) :is(.t-title,.t-descr,.t-input-title,.t-input-subtitle,.t-input,.t-select,.t-checkbox__control,.t-checkbox__labeltext,.t-submit,.t-btnflex) {font-family:var(--rics-font)!important}
#allrecords#allrecords :is(.t678,.t702) :is(.t-title,.t-input-title) {color:var(--rics-navy)!important;font-weight:600!important}
#allrecords#allrecords :is(.t678,.t702) :is(.t-descr,.t-input-subtitle,.t-checkbox__control,.t-checkbox__labeltext) {color:var(--rics-text)!important}
#allrecords#allrecords :is(.t678,.t702) :is(input.t-input,textarea.t-input,select.t-select) {color:var(--rics-text)!important;border-color:var(--rics-line)!important;background-color:var(--rics-white)!important}
#allrecords#allrecords :is(.t678,.t702) .t-checkbox__indicator {border-color:var(--rics-navy)!important}
#allrecords#allrecords :is(.t678,.t702) :is(.t-submit,.t-btnflex_type_submit) {background-color:var(--rics-red)!important;color:var(--rics-white)!important;font-weight:600!important}
#allrecords#allrecords :is(.t678,.t702) :is(input,textarea,select,button,a):focus-visible {outline:3px solid var(--rics-blue);outline-offset:4px}
#allrecords#allrecords :is(.t678,.t702) .t-checkbox__control:has(.t-checkbox:focus-visible) .t-checkbox__indicator {outline:3px solid var(--rics-blue);outline-offset:4px}
#allrecords#allrecords :is(.t678,.t702) :is(.t-submit,.t-btnflex_type_submit):hover {background-color:var(--rics-red-hover)!important}
#allrecords#allrecords :is(.t678,.t702) :is(.t-submit,.t-btnflex_type_submit):disabled {opacity:.48;cursor:not-allowed}


/* Shared actionable cards: preserve existing layout, use a single motion source. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  #allrecords :is(.rf-story,.rf-reading,.rf-task,.rf-article,.rc-card):has(a[href],button) {transition:border-color 220ms ease-out,box-shadow 220ms ease-out,translate 220ms ease-out}
  #allrecords :is(.rf-story,.rf-reading,.rf-task,.rf-article,.rc-card):has(a[href],button):hover {translate:0 -2px}
  #allrecords .rics-catalog .rc-nav a {transition-property:color,background-color,border-color,box-shadow,transform}
}
#allrecords :is(.rf-story,.rf-reading,.rf-task,.rf-article,.rc-card):has(:focus-visible) {box-shadow:0 0 0 2px #0B2D5B33}
#allrecords :is(.rics-specialist-label,.rics-specialist [data-rics-expert-role],.rf-human [data-rics-expert-role],.rf-expert [data-rics-expert-role]) {color:var(--rics-text)}
html .rics-editorial.re-native-article .re-native-byline__label {color:var(--rics-text)}
#allrecords .rf-nav__brand img {width:180px;height:auto;aspect-ratio:412/156}
#allrecords .rf-footer__brand img {width:170px;height:auto;aspect-ratio:412/156}
@media(max-width:1199px) {#allrecords .rf-nav__brand img {width:144px;height:auto}}
#allrecords .rf-nav__dialog-top .rf-nav__brand img {width:144px;height:auto}

@media (max-width: 639px) {
  :root {
    --type-lead: 1rem;
    --type-body: .9375rem;
    --type-support: .875rem;
    --type-caption: .75rem;
    --type-hero: 1.9375rem;
    --type-section: 1.5625rem;
    --type-title: 1.125rem;
    --type-control-title: 1.0625rem;
    --type-meta: .6875rem;
    --type-helper: .8125rem;
    --type-stat: 1.75rem;
    --type-regular: 400;
    --type-medium: 500;
    --type-semibold: 600;
    --type-heading-color: var(--rics-navy);
    --type-text-color: var(--rics-text);
    --type-muted-color: var(--rics-muted);
    --rm-gutter: 20px;
    --rm-card: 16px;
    --rm-section: 44px;
  }

  /* 1. Roles and rhythm: group 8/12, card 16, related block 24, section 44. */
  #rf-home.rf-home {
    font-size: var(--type-body);
    line-height: 1.5;
    font-weight: var(--type-regular);
  }
  #rf-home.rf-home h1 {
    font-size: var(--type-hero);
    line-height: 1.13;
    font-weight: var(--type-semibold);
  }
  #rf-home.rf-home h2 {
    font-size: var(--type-section);
    line-height: 1.2;
    font-weight: var(--type-semibold);
    letter-spacing: -.015em;
  }
  #rf-home.rf-home h3 {
    font-size: var(--type-title);
    line-height: 1.25;
    font-weight: var(--type-semibold);
    letter-spacing: 0;
  }
  #rf-home.rf-home .rf-wrap {
    padding: var(--rm-section) var(--rm-gutter);
  }
  #rf-home.rf-home .rf-head {
    margin-bottom: 24px;
  }
  #rf-home.rf-home .rf-head > p:last-child:not(.rf-eyebrow) {
    margin-top: 12px;
    font-size: var(--type-lead);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #rf-home.rf-home .rf-eyebrow {
    font-size: var(--type-meta);
    line-height: 1.3;
    margin-bottom: 8px;
    font-weight: var(--type-medium);
    letter-spacing: .06em;
  }
  #rf-home.rf-home .rf-section-link {
    min-height: 44px;
    margin-top: 16px;
  }
  #rf-home.rf-home .rf-task-grid,
  #rf-home.rf-home .rf-card-grid,
  #rf-home.rf-home .rf-reading-grid {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 12px;
  }
  #rf-home.rf-home .rf-leader-grid {
    gap: 12px;
    align-items: start;
  }

  /* 2. Homepage Expansive hero; natural content height wins on short screens. */
  #rf-home.rf-home .rf-hero .rf-wrap {
    box-sizing: border-box;
    min-height: min(88vh, 760px);
    min-height: min(88svh, 760px);
    padding-top: 104px;
    padding-bottom: 52px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, .6fr) auto;
    justify-content: normal;
    align-content: normal;
  }
  /* Distribute space between semantic groups; keep brand and H1 together. */
  #rf-home.rf-home .rf-hero .rf-brand {grid-row:1}
  #rf-home.rf-home .rf-hero h1 {grid-row:2}
  #rf-home.rf-home .rf-hero .rf-hero-lead {grid-row:4;margin-top:16px}
  #rf-home.rf-home .rf-hero .rf-hero-actions {grid-row:6;margin-top:24px}
  #rf-home.rf-home .rf-hero .rf-trustline {grid-row:8;margin-top:16px}
  #rf-home.rf-home .rf-brand {
    font-size: var(--type-meta);
    line-height: 1.3;
    margin-bottom: 12px;
    font-weight: var(--type-semibold);
    letter-spacing: .08em;
  }
  #rf-home.rf-home .rf-hero-lead {
    font-size: var(--type-lead);
    line-height: 1.5;
    margin-top: 16px;
    font-weight: var(--type-regular);
  }
  #rf-home.rf-home .rf-hero-actions {
    gap: 8px 20px;
    margin-top: 24px;
  }
  #rf-home.rf-home .rf-trustline {
    font-size: var(--type-caption);
    line-height: 1.5;
    gap: 4px 12px;
    margin-top: 16px;
    font-weight: var(--type-regular);
  }
  #rf-home.rf-home .rf-trustline span + span::before {
    margin-right: 12px;
  }

  /* 3. Service navigation: label/title/summary form one group, then link rows.
     The existing category text is retained; long labels get their own line. */
  #rf-home.rf-home .rf-task {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: var(--rm-card);
    overflow: visible;
  }
  #rf-home.rf-home .rf-task::before {
    left: var(--rm-card);
  }
  #rf-home.rf-home .rf-task-index {
    font-size: var(--type-meta);
    line-height: 1.3;
    margin: 0;
    font-weight: var(--type-semibold);
    letter-spacing: .06em;
    color: var(--type-muted-color);
  }
  #rf-home.rf-home .rf-task > p {
    max-width: none;
    font-size: var(--type-support);
    line-height: 1.5;
    margin: 0;
    font-weight: var(--type-regular);
    color: var(--type-muted-color);
  }
  #rf-home.rf-home .rf-task ul {
    margin-top: 8px;
  }
  #rf-home.rf-home .rf-task li a {
    min-height: 44px;
    padding: 10px 0;
    gap: 12px;
    font-size: var(--type-support);
    line-height: 1.4;
    font-weight: var(--type-semibold);
  }

  /* 4. Control family: icon + heading share row 1; copy spans full row 2. */
  #rf-home.rf-home .rf-service-card {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 8px;
    align-items: start;
    padding: var(--rm-card);
  }
  #rf-home.rf-home .rf-service-icon {
    grid-column: 1;
    grid-row: 1;
    width: 26px;
    height: 26px;
    margin: 0;
  }
  #rf-home.rf-home .rf-service-card h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    font-size: var(--type-control-title);
    line-height: 1.25;
    margin: 0;
    font-weight: var(--type-semibold);
    color: var(--type-heading-color);
  }
  #rf-home.rf-home .rf-service-card p {
    grid-column: 1 / -1;
    font-size: var(--type-support);
    line-height: 1.5;
    margin: 0;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #rf-home.rf-home .rf-commitment {
    margin-top: 16px;
    padding: var(--rm-card);
    font-size: var(--type-body);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }

  /* 5. Process: number and heading share their first baseline; copy aligns below title. */
  #rf-home.rf-home .rf-steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    align-items: start;
  }
  #rf-home.rf-home .rf-steps li {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 10px;
    align-items: baseline;
    row-gap: 8px;
    padding: 0;
  }
  #rf-home.rf-home .rf-steps li::before {
    position: static;
    grid-column: 1;
    grid-row: 1;
    font-size: var(--type-caption);
    line-height: 1.3;
    font-weight: var(--type-semibold);
    letter-spacing: .04em;
  }
  #rf-home.rf-home .rf-steps h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  #rf-home.rf-home .rf-steps p {
    grid-column: 2;
    font-size: var(--type-support);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }

  /* 6. Facts wrap as complete groups when text grows; digits never split.
     Min-content respects the longest caption word instead of shrinking text. */
  #rf-home.rf-home .rf-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 12px;
    align-items: flex-start;
    margin-top: 32px;
    padding-top: 24px;
  }
  #rf-home.rf-home .rf-fact {
    display: block;
    flex: 1 1 5.25rem;
    min-width: min-content;
    max-width: 100%;
  }
  #rf-home.rf-home .rf-fact strong {
    display: block;
    font-size: var(--type-stat);
    line-height: 1.12;
    white-space: nowrap;
    font-weight: var(--type-semibold);
  }
  #rf-home.rf-home .rf-fact span {
    display: block;
    max-width: none;
    margin-top: 8px;
    font-size: var(--type-caption);
    line-height: 1.45;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }

  /* 7. People: retain image geometry and focus on coherent copy hierarchy. */
  #rf-home.rf-home .rf-leader-copy {
    padding: 16px 18px 20px;
  }
  #rf-home.rf-home .rf-leader-office {
    font-size: var(--type-meta);
    line-height: 1.3;
    margin-bottom: 4px;
    font-weight: var(--type-medium);
    letter-spacing: .05em;
    color: var(--type-muted-color);
  }
  #rf-home.rf-home .rics-profile-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
  }
  #rf-home.rf-home .rf-leader-role {
    font-size: var(--type-support);
    line-height: 1.45;
    margin-top: 4px;
    font-weight: var(--type-medium);
    color: var(--type-heading-color);
  }
  #rf-home.rf-home .rf-leader-copy > p:last-child {
    font-size: var(--type-support);
    line-height: 1.5;
    margin-top: 12px;
    font-weight: var(--type-regular);
    color: var(--type-muted-color);
  }

  /* 8. Case preview: consistent flow replaces summed margins and auto push.
     Task/result labels stay attached to their own text; no text is removed. */
  #allrecords .rf-reviews[data-rics-cases] .rf-head p {
    margin-top: 12px;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story-grid {
    align-items: start;
    gap: 16px;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 12px;
    padding: var(--rm-card);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story-category {
    font-size: var(--type-meta);
    line-height: 1.3;
    margin: 0 0 -4px;
    font-weight: var(--type-medium);
    letter-spacing: .04em;
    color: var(--type-muted-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story h3 {
    font-size: var(--type-title);
    line-height: 1.25;
    margin: 0;
    font-weight: var(--type-semibold);
    letter-spacing: 0;
    color: var(--type-heading-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story-task,
  #allrecords .rf-reviews[data-rics-cases] .rf-story-result {
    font-size: var(--type-body);
    line-height: 1.5;
    margin: 0;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story-task > span,
  #allrecords .rf-reviews[data-rics-cases] .rf-story-result > span {
    display: inline;
    font-size: var(--type-meta);
    line-height: inherit;
    margin: 0 .6em 0 0;
    font-weight: var(--type-semibold);
    letter-spacing: .04em;
    color: var(--type-heading-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story-result {
    padding: 12px;
    font-weight: var(--type-medium);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-evidence {
    gap: 12px;
    padding: 0;
    margin: 0;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-evidence-copy,
  #allrecords .rf-reviews[data-rics-cases] .rf-evidence-copy strong {
    font-size: var(--type-caption);
    line-height: 1.45;
    color: var(--type-text-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-case-team-comment {
    padding: 12px;
    margin: 0;
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-case-team-comment > strong {
    font-size: var(--type-meta);
    line-height: 1.3;
    margin-bottom: 8px;
    font-weight: var(--type-semibold);
    letter-spacing: .02em;
    color: var(--type-text-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-case-team-comment > p {
    font-size: var(--type-body);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story > .rics-specialist {
    gap: 12px;
    margin: 0;
    padding: 12px 0 0;
    font-size: var(--type-body);
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-specialist-copy {
    gap: 0;
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-specialist-label {
    font-size: var(--type-meta);
    line-height: 1.35;
    font-weight: var(--type-medium);
    color: var(--type-muted-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-specialist [data-rics-expert-role] {
    font-size: var(--type-caption);
    line-height: 1.45;
    font-weight: var(--type-regular);
    color: var(--type-muted-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rics-specialist [data-rics-expert-name] {
    font-size: var(--type-body);
    line-height: 1.4;
    font-weight: var(--type-semibold);
    color: var(--type-heading-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-story-open {
    margin-top: 0;
    font-size: var(--type-body);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-review-context {
    font-size: var(--type-support);
    line-height: 1.55;
    margin-top: 24px;
    padding: 16px;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-body {
    padding: 20px 16px 24px;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-body h2 {
    font-size: var(--type-section);
    line-height: 1.2;
    margin-bottom: 24px;
    letter-spacing: -.015em;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-body h3 {
    font-size: var(--type-title);
    line-height: 1.25;
    margin-bottom: 8px;
    font-weight: var(--type-semibold);
    letter-spacing: 0;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-body p {
    font-size: var(--type-lead);
    line-height: 1.65;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-body .rf-eyebrow {
    font-size: var(--type-meta);
    line-height: 1.3;
    font-weight: var(--type-medium);
    letter-spacing: .06em;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-section,
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-result {
    margin-top: 24px;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-result {
    padding: 16px;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-actions {
    margin-top: 24px;
    gap: 12px;
  }
  #allrecords .rf-reviews[data-rics-cases] .rf-dialog-bar > span,
  #allrecords .rf-reviews[data-rics-cases] .rf-gallery-main figcaption {
    font-size: var(--type-caption);
    line-height: 1.45;
  }

  /* 9. Arrival and reading: normal reading flow; no mobile height equalization. */
  #rf-home.rf-home .rf-arrival-layout {
    gap: 24px;
  }
  #rf-home.rf-home .rf-arrival-copy > p:not(.rf-eyebrow) {
    margin-top: 16px;
    font-size: var(--type-body);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #rf-home.rf-home .rf-arrival-list {
    margin-top: 16px;
    gap: 12px;
  }
  #rf-home.rf-home .rf-arrival-list li {
    font-size: var(--type-body);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #rf-home.rf-home .rf-reading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: var(--rm-card);
    align-content: start;
  }
  #rf-home.rf-home .rf-reading .rf-eyebrow {
    font-size: var(--type-meta);
    margin: 0;
    line-height: 1.3;
    font-weight: var(--type-medium);
    letter-spacing: .04em;
    color: var(--type-text-color);
  }
  #rf-home.rf-home .rf-reading > p:not(.rf-eyebrow) {
    font-size: var(--type-support);
    line-height: 1.5;
    margin: 0;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  #rf-home.rf-home .rf-reading .rf-text-link {
    justify-self: start;
    margin-top: 0;
  }

  /* 10. Closing CTA and shared action sizes. Long labels grow naturally. */
  #rf-home.rf-home .rf-contact-panel {
    padding: 28px 20px;
  }
  #rf-home.rf-home .rf-contact-panel > p:not(.rf-eyebrow):not(.rf-contact-note) {
    margin-top: 16px;
    font-size: var(--type-lead);
    line-height: 1.5;
    font-weight: var(--type-regular);
  }
  #rf-home.rf-home .rf-benefits {
    grid-template-columns: minmax(0, 1fr);
    margin: 24px 0;
    gap: 12px;
    font-size: var(--type-support);
    line-height: 1.5;
    font-weight: var(--type-regular);
  }
  #rf-home.rf-home .rf-contact-actions {
    gap: 8px 20px;
  }
  #rf-home.rf-home .rf-btn,
  #allrecords .rf-reviews[data-rics-cases] .rf-btn,
  #allrecords .rf-reviews[data-rics-cases] .rf-story-open {
    min-height: 52px;
    padding: 14px 18px;
    font-size: var(--type-body);
    line-height: 1.4;
    font-weight: var(--type-semibold);
  }
  #rf-home.rf-home .rf-text-link {
    min-height: 44px;
    font-size: var(--type-support);
    line-height: 1.4;
    font-weight: var(--type-semibold);
  }

  /* 11. Navigation: one existing scrolling dialog body and fixed top controls.
     No nested scrolling areas or changes to showModal/scroll lock/focus JS. */
  .rf-nav[data-rics-navigation] .rf-nav__bar,
  .rf-nav[data-rics-navigation] .rf-nav__dialog-top {
    height: 60px;
    min-height: 60px;
  }
  .rf-nav[data-rics-navigation] .rf-nav__inner {
    padding-inline: 16px;
    gap: 8px;
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-top {
    padding-inline: 16px;
    gap: 12px;
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-body {
    min-height: 0;
    padding: 16px 18px max(20px, env(safe-area-inset-bottom));
  }
  .rf-nav[data-rics-navigation] .rf-nav__locale a {
    min-width: 44px;
    min-height: 44px;
    font-size: var(--type-caption);
    font-weight: var(--type-semibold);
  }
  .rf-nav[data-rics-navigation] .rf-nav__locale--dialog {
    margin-bottom: 12px;
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-title {
    font-size: var(--type-title);
    line-height: 1.25;
    margin-bottom: 4px;
    font-weight: var(--type-semibold);
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-note {
    font-size: var(--type-helper);
    line-height: 1.45;
    margin-bottom: 12px;
    font-weight: var(--type-regular);
    color: var(--type-muted-color);
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-all {
    padding-bottom: 8px;
  }
  .rf-nav[data-rics-navigation] .rf-nav__all {
    min-height: 44px;
    font-size: var(--type-support);
    line-height: 1.4;
    font-weight: var(--type-semibold);
  }
  .rf-nav[data-rics-navigation] .rf-nav__accordion summary {
    min-height: 52px;
    padding: 12px 0;
    font-size: var(--type-lead);
    line-height: 1.35;
    font-weight: var(--type-semibold);
  }
  .rf-nav[data-rics-navigation] .rf-nav__accordion li a {
    min-height: 44px;
    padding: 10px 12px;
    font-size: var(--type-body);
    line-height: 1.4;
    font-weight: var(--type-regular);
  }
  .rf-nav[data-rics-navigation] .rf-nav__mobile-links {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(8rem, calc((100% - 12px) / 2))), 1fr));
    column-gap: 12px;
    /* Required parity with the existing navigation declarations. */
    margin: 12px 0 16px !important;
    padding-top: 0 !important;
  }
  .rf-nav[data-rics-navigation] .rf-nav__mobile-links a {
    min-height: 44px;
    font-size: var(--type-support);
    line-height: 1.4;
    font-weight: var(--type-medium);
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-contact {
    padding: 12px;
  }
  .rf-nav[data-rics-navigation] .rf-nav__dialog-contact .rf-nav__cta {
    min-height: 52px;
    padding: 14px 16px;
    font-size: var(--type-body);
    line-height: 1.4;
    font-weight: var(--type-semibold);
  }
  .rf-nav[data-rics-navigation] .rf-nav__offices {
    font-size: var(--type-caption);
    line-height: 1.45;
    margin-top: 8px;
    font-weight: var(--type-medium);
  }
  .rf-nav[data-rics-navigation] .rf-nav__language {
    font-size: var(--type-caption);
    line-height: 1.45;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }

  .rf-nav[data-rics-navigation] .rf-nav__count {
    font-size: var(--type-meta);
    line-height: 1.3;
    font-weight: var(--type-medium);
    color: var(--type-text-color);
  }

  /* 12. Footer: related navigation columns reflow under text enlargement. */
  footer.rf-footer .rf-footer__inner {
    padding: 32px 20px max(24px, env(safe-area-inset-bottom));
  }
  footer.rf-footer .rf-footer__grid {
    /* At most two columns; text growth increases the minimum to one column. */
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(8rem, calc((100% - 16px) / 2))), 1fr));
    gap: 24px 16px;
  }
  footer.rf-footer .rf-footer__intro {
    font-size: var(--type-support);
    line-height: 1.5;
    margin-bottom: 12px;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  footer.rf-footer .rf-footer__city,
  footer.rf-footer .rf-footer__links a,
  footer.rf-footer .rf-footer__contact a,
  footer.rf-footer .rf-footer__legal a {
    min-height: 44px;
  }
  footer.rf-footer .rf-footer__links a,
  footer.rf-footer .rf-footer__email {
    font-size: var(--type-support);
    line-height: 1.45;
    font-weight: var(--type-regular);
  }
  footer.rf-footer h2 {
    font-size: var(--type-lead);
    line-height: 1.4;
    margin-bottom: 8px;
    font-weight: var(--type-semibold);
  }
  footer.rf-footer .rf-footer__contact {
    padding-top: 20px;
  }
  footer.rf-footer .rf-footer__phone {
    font-size: 1.25rem;
    white-space: normal;
    font-weight: var(--type-semibold);
  }
  footer.rf-footer .rf-footer__city,
  footer.rf-footer .rf-footer__social a {
    font-size: var(--type-helper);
    line-height: 1.45;
    font-weight: var(--type-medium);
  }
  footer.rf-footer .rf-google-badge {
    font-size: var(--type-caption);
  }
  footer.rf-footer .rf-google-badge strong {
    font-size: var(--type-body);
  }
  footer.rf-footer .rf-footer__contact-note,
  footer.rf-footer .rf-footer__bottom {
    font-size: var(--type-caption);
    line-height: 1.5;
    font-weight: var(--type-regular);
    color: var(--type-text-color);
  }
  footer.rf-footer .rf-footer__bottom {
    margin-top: 24px;
    padding-top: 16px;
  }
  footer.rf-footer .rf-footer__about .rf-footer__cta {
    min-height: 52px;
    padding: 14px 16px;
    font-size: var(--type-body);
    line-height: 1.4;
    margin-top: 16px;
    font-weight: var(--type-semibold);
  }
  footer.rf-footer #rics-ai-company :is(.rics-ai__provider, .rics-ai__copy) {
    font-size: var(--type-helper);
    line-height: 1.4;
  }
  footer.rf-footer #rics-ai-company :is(.rics-ai__note, .rics-ai__status, details) {
    font-size: var(--type-caption);
    line-height: 1.5;
  }
  footer.rf-footer #rics-ai-company textarea {
    font-size: var(--type-lead);
  }

  /* 13. Native forms: ported roles, with original fields and handlers intact. */
  #allrecords#allrecords :is(.t678,.t702) .t-title {font-size:var(--type-section)!important;line-height:1.2!important;letter-spacing:-.015em!important;font-weight:600!important}
  #allrecords#allrecords .t702 .t702__wrapper {padding:20px 16px!important}
  #allrecords#allrecords .t702 .t-popup__close-wrapper {box-sizing:border-box;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
  #allrecords#allrecords .t702 .t-popup__close-wrapper:focus-visible {outline:2px solid var(--rics-white)!important;outline-offset:-4px!important}
  /* Tilda switches its transparent close row to a solid bar at 560px. */
  @media (max-width:560px) {
    #allrecords#allrecords .t702 .t-popup__close {background-color:var(--rics-navy)}
  }
  #allrecords#allrecords :is(.t678,.t702) .t-descr {font-size:var(--type-body)!important;line-height:1.5!important;font-weight:400!important}
  #allrecords#allrecords :is(.t678,.t702) .t-input-title {font-size:var(--type-support)!important;line-height:1.45!important;font-weight:500!important}
  #allrecords#allrecords :is(.t678,.t702) .t-input-subtitle {font-size:var(--type-helper)!important;line-height:1.5!important}
  #allrecords#allrecords :is(.t678,.t702) .t-input-group {margin-bottom:16px!important}
  #allrecords#allrecords :is(.t678,.t702) .t-form__submit {margin-top:16px!important}
  #allrecords#allrecords :is(.t678,.t702) :is(.t-submit,.t-btnflex_type_submit) {--height:auto;height:auto!important;min-height:52px!important;padding:14px 18px!important;font-size:var(--type-body)!important;line-height:1.4!important;white-space:normal;max-width:100%;box-sizing:border-box}
  #allrecords#allrecords :is(.t678,.t702) :is(input.t-input,textarea.t-input,select.t-select) {font-size:var(--type-lead)!important;line-height:1.5!important;max-width:100%;box-sizing:border-box}
  #allrecords#allrecords :is(.t678,.t702) :is(input.t-input:not([type="tel"]),select.t-select),
  #allrecords#allrecords :is(.t678,.t702) .t-input-phonemask__wrap {min-height:54px;height:auto}
  #allrecords#allrecords :is(.t678,.t702) .t-input-phonemask__wrap > input.t-input-phonemask,
  #allrecords#allrecords :is(.t678,.t702) .t-input-phonemask__select {min-height:44px}
  #allrecords#allrecords :is(.t678,.t702) .t-checkbox__control {min-height:44px;align-items:flex-start}
  #allrecords#allrecords :is(.t678,.t702) :is(.t-checkbox__control,.t-checkbox__labeltext) {font-size:var(--type-helper)!important;line-height:1.5!important;font-weight:400!important;color:var(--rics-text)!important}
  #allrecords#allrecords :is(.t678,.t702) .t-checkbox__indicator {flex-shrink:0}
  #allrecords#allrecords :is(.t678,.t702) .t-input-error {font-size:var(--type-helper)!important;line-height:1.5!important}
  #allrecords :is(.rics-booking__hint,.rfq-footnote) {font-size:var(--type-helper);line-height:1.5;color:var(--rics-text)}
  #allrecords .rics-booking__notice {font-size:var(--type-support);line-height:1.5;font-weight:500;color:var(--rics-text)}

  /* 14. Services: Standard+ hero; long document/FAQ copy remains reading size. */
  #allrecords .rics-vnj-v2 {font-size:var(--type-body);line-height:1.55}
  #allrecords .rics-vnj-v2 h1 {font-size:var(--type-hero);line-height:1.13;letter-spacing:-.03em}
  #allrecords .rics-vnj-v2 h2 {font-size:var(--type-section);line-height:1.2;letter-spacing:-.015em}
  #allrecords .rics-vnj-v2 h3 {font-size:var(--type-title);line-height:1.25;letter-spacing:0}
  #allrecords .rics-vnj-v2 .rv-wrap {padding:44px 20px}
  #allrecords .rics-vnj-v2 .rv-section-head {margin-bottom:24px}
  #allrecords .rics-vnj-v2 .rv-section-head>p:last-child:not(.rv-eyebrow) {margin-top:12px;font-size:var(--type-lead);line-height:1.5}
  #allrecords .rics-vnj-v2 .rv-hero .rv-wrap {padding:100px 20px 44px}
  #allrecords .rics-vnj-v2 :is(.rv-brand,.rv-eyebrow) {font-size:var(--type-meta);line-height:1.3;font-weight:600;letter-spacing:.06em;margin-bottom:12px}
  #allrecords .rics-vnj-v2 .rv-hero-lead {font-size:var(--type-lead);line-height:1.5;margin-top:16px}
  #allrecords .rics-vnj-v2 .rv-hero-proof {font-size:var(--type-caption);line-height:1.5;gap:8px 16px;margin-top:24px}
  #allrecords .rics-vnj-v2 .rv-hero-caption {font-size:var(--type-helper);line-height:1.5}
  #allrecords .rics-vnj-v2 :is(.rv-cards,.rv-docs,.rv-family-list,.rv-commitments,.rv-scenario-grid) {gap:12px}
  #allrecords .rics-vnj-v2 :is(.rv-work-card,.rv-doc-card,.rv-who-card,.rv-family-card,.rv-commitment) {padding:18px}
  #allrecords .rics-vnj-v2 .rv-work-card {grid-template-columns:26px minmax(0,1fr);column-gap:10px;align-items:start}
  #allrecords .rics-vnj-v2 .rv-icon {width:26px;height:26px;border-radius:6px}
  #allrecords .rics-vnj-v2 .rv-icon svg {width:20px;height:20px}
  #allrecords .rics-vnj-v2 :is(.rv-work-card,.rv-who-card) p {margin-top:8px;font-size:var(--type-support);line-height:1.5;color:var(--rics-muted)}
  #allrecords .rics-vnj-v2 :is(.rv-doc-card h3,.rv-family-card h3) {margin-bottom:12px}
  #allrecords .rics-vnj-v2 :is(.rv-list,.rv-family-card p,.rv-faq details>p,.rv-service-faq-answer,.rv-ground-body,.rv-ground-grid p) {font-size:var(--type-body);line-height:1.55}
  #allrecords .rics-vnj-v2 .rv-list {gap:10px}
  #allrecords .rics-vnj-v2 .rv-steps {gap:24px}
  #allrecords .rics-vnj-v2 .rv-steps li {grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:baseline;padding-bottom:0}
  #allrecords .rics-vnj-v2 .rv-step-num {display:block;width:24px;height:auto;border:0;border-radius:0;background:none;font-size:var(--type-caption);line-height:1.3;font-weight:600;text-align:left;color:var(--rics-navy)}
  #allrecords .rics-vnj-v2 .rv-steps li:not(:last-child)::before {content:none}
  #allrecords .rics-vnj-v2 .rv-steps h3 {padding-top:0;font-size:var(--type-title);line-height:1.25}
  #allrecords .rics-vnj-v2 .rv-steps p {margin-top:8px;font-size:var(--type-support);line-height:1.5;color:var(--rics-text)}
  #allrecords .rics-vnj-v2 .rv-ground summary {padding:16px 42px 16px 16px;gap:10px;min-height:64px}
  #allrecords .rics-vnj-v2 .rv-ground-number {width:26px;height:26px;flex-basis:26px;font-size:var(--type-caption)}
  #allrecords .rics-vnj-v2 .rv-ground-title {font-size:var(--type-title);line-height:1.25;font-weight:600}
  #allrecords .rics-vnj-v2 .rv-ground-subtitle {font-size:var(--type-helper);line-height:1.5}
  #allrecords .rics-vnj-v2 .rv-ground-body {padding:0 16px 20px}
  #allrecords .rics-vnj-v2 .rv-ground-body>p {padding-top:16px}
  #allrecords .rics-vnj-v2 .rv-ground-grid {gap:16px;margin-top:16px}
  #allrecords .rics-vnj-v2 .rv-ground-grid h3 {font-size:var(--type-control-title);line-height:1.25;margin-bottom:8px}
  #allrecords .rics-vnj-v2 :is(.rv-ground-price,.rv-note-box,.rv-selected) {padding:16px;margin-top:16px;color:var(--rics-text)}
  #allrecords .rics-vnj-v2 .rv-ground-help {padding:24px 20px;gap:16px}
  #allrecords .rics-vnj-v2 .rv-ground-help p {font-size:var(--type-body);line-height:1.5}
  #allrecords .rics-vnj-v2 .rv-faq summary {min-height:52px;padding:16px 36px 16px 0;font-size:var(--type-lead);line-height:1.4}
  #allrecords .rics-vnj-v2 :is(.rv-faq details>p,.rv-service-faq-answer) {padding:0 0 20px}
  #allrecords .rics-vnj-v2 :is(.rv-price-main,.rv-scenario summary) {padding:20px}
  #allrecords .rics-vnj-v2 .rv-price-value {font-size:2rem;line-height:1.15;margin:12px 0;white-space:nowrap}
  #allrecords .rics-vnj-v2 .rv-price-value span {font-size:var(--type-title)}
  #allrecords .rics-vnj-v2 :is(.rv-price-line,.rv-fee-row) {flex-wrap:wrap;gap:8px 16px;padding-block:16px}
  #allrecords .rics-vnj-v2 :is(.rv-price-line>strong,.rv-fee-row>strong) {white-space:nowrap;font-size:var(--type-body);line-height:1.5;font-weight:600;color:var(--rics-navy)}
  #allrecords .rics-vnj-v2 .rv-price-line h3 {font-size:var(--type-control-title)}
  #allrecords .rics-vnj-v2 :is(.rv-price-line p,.rv-fee-note,.rv-price-main .rv-small) {font-size:var(--type-helper);line-height:1.5;color:var(--rics-text)}
  #allrecords .rics-vnj-v2 .rv-price-main .rv-list {margin:16px 0}
  #allrecords .rics-vnj-v2 .rv-fees summary {min-height:52px;padding:16px 40px 16px 16px;font-size:var(--type-support)}
  #allrecords .rics-vnj-v2 .rv-fees-content {padding:0 16px 20px;font-size:var(--type-support);line-height:1.5}
  #allrecords .rics-vnj-v2 :is(.rv-timings,.rv-cost-layout,.rv-family-layout) {gap:16px}
  #allrecords .rics-vnj-v2 .rv-timing {padding:16px}
  #allrecords .rics-vnj-v2 .rv-timing strong {font-size:1.75rem;line-height:1.15}
  #allrecords .rics-vnj-v2 .rv-service-timings .rv-timing strong {font-size:var(--type-title);line-height:1.25}
  #allrecords .rics-vnj-v2 .rv-timing p {font-size:var(--type-caption);line-height:1.5;margin-top:8px}
  #allrecords .rics-vnj-v2 .rv-stat {grid-template-columns:minmax(0,6rem) minmax(0,1fr);gap:12px;padding:16px 0}
  #allrecords .rics-vnj-v2 .rv-stat strong {font-size:var(--type-stat);line-height:1.12;white-space:nowrap}
  #allrecords .rics-vnj-v2 .rv-stat p {font-size:var(--type-support);line-height:1.5}
  #allrecords .rics-vnj-v2 .rv-scenario-title {font-size:var(--type-title);line-height:1.25;margin-top:12px;font-weight:600}
  #allrecords .rics-vnj-v2 .rv-scenario-problem {font-size:var(--type-body);line-height:1.5;margin-top:12px}
  #allrecords .rics-vnj-v2 .rv-scenario-action {margin-top:16px;padding-top:12px;min-height:44px;font-size:var(--type-support)}
  #allrecords .rics-vnj-v2 .rv-scenario-body {padding:0 20px 20px}
  #allrecords .rics-vnj-v2 .rv-scenario-result {margin:16px 0;padding:16px;font-size:var(--type-body);line-height:1.5;font-weight:500;color:var(--rics-text)}
  #allrecords .rics-vnj-v2 .rv-plan-row {grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:baseline;margin-top:16px}
  #allrecords .rics-vnj-v2 .rv-plan-row>span {width:24px;height:24px;font-size:var(--type-meta)}
  #allrecords .rics-vnj-v2 .rv-plan-row strong {padding-top:0}
  #allrecords .rics-vnj-v2 .rv-contact-lead {font-size:var(--type-lead);line-height:1.5;margin-top:12px}
  #allrecords .rics-vnj-v2 .rv-contact-benefits {font-size:var(--type-caption);line-height:1.5;gap:8px 14px;margin-top:16px}
  #allrecords .rics-vnj-v2 .rv-btn {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4;font-weight:600}
  #allrecords .rics-vnj-v2 .rv-trust-link {min-height:44px}

  /* 15. Service catalogue: compact navigation, value/unit stays meaningful. */
  #allrecords .rf-catalog-hero .rch-wrap {padding:100px 20px 44px}
  #allrecords .rf-catalog-hero h1 {font-size:var(--type-hero);line-height:1.13;font-weight:600}
  #allrecords .rf-catalog-hero .rch-brand {font-size:var(--type-meta);line-height:1.3;letter-spacing:.06em;margin-bottom:12px;font-weight:600}
  #allrecords .rf-catalog-hero .rch-lead {font-size:var(--type-lead);line-height:1.5;margin-top:16px;color:var(--rics-pale)}
  #allrecords .rf-catalog-hero .rch-actions {margin-top:24px;gap:8px 20px}
  #allrecords .rf-catalog-hero .rch-btn {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4;font-weight:600}
  #allrecords .rf-catalog-hero .rch-proof {margin-top:24px;padding-top:20px;font-size:var(--type-caption);line-height:1.5;gap:8px 16px;color:var(--rics-pale)}
  #allrecords .rics-catalog .rc-wrap {width:calc(100% - 40px);padding:44px 0}
  #allrecords .rics-catalog :is(h2,.rc-section h2) {font-size:var(--type-section);line-height:1.2;letter-spacing:-.015em}
  #allrecords .rics-catalog .rc-eyebrow {font-size:var(--type-meta);line-height:1.3;font-weight:600;letter-spacing:.06em;margin-bottom:8px}
  #allrecords .rics-catalog .rc-intro>p:last-child {font-size:var(--type-lead);line-height:1.5;margin-top:12px}
  #allrecords .rics-catalog .rc-nav {grid-template-columns:minmax(0,1fr);gap:10px;margin-top:24px}
  #allrecords .rics-catalog .rc-nav a {min-height:88px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px}
  #allrecords .rics-catalog .rc-nav-label {font-size:var(--type-control-title);line-height:1.25;font-weight:600;padding-right:20px;grid-column:1/-1}
  #allrecords .rics-catalog .rc-nav-count {font-size:var(--type-caption);line-height:1.4;margin:0;color:var(--rics-text)}
  #allrecords .rics-catalog .rc-nav-action {font-size:var(--type-caption);line-height:1.4;margin:0;padding:0;align-self:end}
  #allrecords .rics-catalog .rc-nav-arrow {right:16px;top:18px}
  #allrecords .rics-catalog .rc-section {padding-top:44px}
  #allrecords .rics-catalog .rc-section-title {align-items:baseline;gap:10px}
  #allrecords .rics-catalog .rc-section-head {margin-bottom:20px}
  #allrecords .rics-catalog .rc-section-head p {font-size:var(--type-support);line-height:1.5;margin-top:12px}
  #allrecords .rics-catalog .rc-back {min-height:44px;font-size:var(--type-helper);color:var(--rics-text)}
  #allrecords .rics-catalog .rc-grid {gap:12px}
  #allrecords .rics-catalog .rc-card {padding:18px 18px 0}
  #allrecords .rics-catalog .rc-card h3 {font-size:var(--type-title);line-height:1.25;font-weight:600;letter-spacing:0}
  #allrecords .rics-catalog .rc-card-copy {font-size:var(--type-support);line-height:1.5;margin-top:8px;color:var(--rics-muted)}
  #allrecords .rics-catalog .rc-card-price {flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding-block:16px;margin-top:0}
  #allrecords .rics-catalog .rc-price {font-size:1.75rem;line-height:1.15;font-weight:600;white-space:nowrap}
  #allrecords .rics-catalog .rc-price-unit {font-size:var(--type-caption);line-height:1.5;color:var(--rics-text)}
  #allrecords .rics-catalog .rc-card-link {margin-inline:-18px;padding:14px 18px;min-height:48px;font-size:var(--type-support);line-height:1.4;font-weight:600}
  #allrecords .rics-catalog .rc-cost-note {padding:16px;margin-top:24px;font-size:var(--type-helper);line-height:1.5;color:var(--rics-text)}
  #allrecords .rics-catalog .rc-help {padding:28px 20px;margin-top:32px}
  #allrecords .rics-catalog .rc-help h3 {font-size:var(--type-title);line-height:1.25;font-weight:600}
  #allrecords .rics-catalog .rc-help p {font-size:var(--type-body);line-height:1.5;margin-top:12px}
  #allrecords .rics-catalog .rc-help-link {min-height:52px;padding:14px 18px;margin-top:20px;font-size:var(--type-body);line-height:1.4;font-weight:600}

  /* 16. About: existing portraits retain their dimensions. */
  #allrecords .rf-about {font-size:var(--type-body);line-height:1.55}
  #allrecords .rf-about h1 {font-size:var(--type-hero);line-height:1.13;font-weight:600}
  #allrecords .rf-about h2 {font-size:var(--type-section);line-height:1.2;letter-spacing:-.015em;font-weight:600}
  #allrecords .rf-about h3 {font-size:var(--type-title);line-height:1.25;font-weight:600}
  #allrecords .rf-about .ra-wrap {padding:44px 20px}
  #allrecords .rf-about .ra-hero .ra-wrap {padding:100px 20px 44px}
  #allrecords .rf-about :is(.ra-brand,.ra-eyebrow,.ra-office-city,.ra-principle-label) {font-size:var(--type-meta);line-height:1.3;letter-spacing:.06em;font-weight:600;margin-bottom:8px}
  #allrecords .rf-about .ra-hero-lead {font-size:var(--type-lead);line-height:1.5;margin-top:16px}
  #allrecords .rf-about .ra-hero-meta {font-size:var(--type-caption);line-height:1.5;margin-top:24px;gap:8px 16px}
  #allrecords .rf-about .ra-head {margin-bottom:24px}
  #allrecords .rf-about .ra-head>p:not(.ra-eyebrow) {margin-top:12px;font-size:var(--type-lead);line-height:1.5}
  #allrecords .rf-about .ra-facts {display:flex;flex-wrap:wrap;gap:20px 12px;padding:24px 0;margin-top:24px}
  #allrecords .rf-about .ra-facts li {display:block;flex:1 1 5.25rem;min-width:min-content;max-width:100%;padding:0;border-top:0}
  #allrecords .rf-about .ra-facts strong {font-size:var(--type-stat);line-height:1.12;font-weight:600;white-space:nowrap}
  #allrecords .rf-about .ra-facts p {font-size:var(--type-caption);line-height:1.45;margin-top:8px}
  #allrecords .rf-about :is(.ra-leaders,.ra-team-grid,.ra-offices) {gap:12px}
  #allrecords .rf-about .ra-leader {padding:20px;gap:16px}
  #allrecords .rf-about .ra-leader-role {font-size:var(--type-support);line-height:1.45;font-weight:500;color:var(--rics-navy)}
  #allrecords .rf-about .ra-leader-copy {font-size:var(--type-support);line-height:1.5;margin-top:12px;color:var(--rics-muted)}
  #allrecords .rf-about :is(.ra-team-card,.ra-office) {padding:18px}
  #allrecords .rf-about .ra-team-top {gap:12px;margin-bottom:12px}
  #allrecords .rf-about .ra-team-identity [data-rics-expert-role] {font-size:var(--type-support);line-height:1.45;font-weight:500;color:var(--rics-navy)}
  #allrecords .rf-about :is(.ra-team-responsibility,.ra-principle) {font-size:var(--type-support);line-height:1.5;color:var(--rics-text)}
  #allrecords .rf-about .ra-principle {margin-top:16px;padding-top:16px}
  #allrecords .rf-about .ra-team-card .ra-inline-link {margin-top:12px;padding-top:0;min-height:44px}
  #allrecords .rf-about .ra-steps {gap:24px}
  #allrecords .rf-about .ra-steps li {grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:baseline}
  #allrecords .rf-about .ra-step-num {display:block;width:24px;height:auto;border:0;border-radius:0;background:none;font-size:var(--type-caption);line-height:1.3;font-weight:600;text-align:left;color:var(--rics-navy)}
  #allrecords .rf-about .ra-steps h3 {padding-top:0;font-size:var(--type-title);line-height:1.25}
  #allrecords .rf-about .ra-steps p {font-size:var(--type-support);line-height:1.5;margin-top:8px;color:var(--rics-text)}
  #allrecords .rf-about .ra-commitments {gap:12px;margin-top:24px}
  #allrecords .rf-about .ra-commitment {display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:10px;row-gap:8px;padding:18px;align-items:start}
  #allrecords .rf-about .ra-commitment-icon {grid-column:1;grid-row:1;width:26px;height:26px;margin:0;border-radius:6px}
  #allrecords .rf-about .ra-commitment-icon svg {width:20px;height:20px}
  #allrecords .rf-about .ra-commitment h3 {grid-column:2;grid-row:1;align-self:center;font-size:var(--type-control-title);margin:0}
  #allrecords .rf-about .ra-commitment p {grid-column:2;grid-row:2;font-size:var(--type-support);line-height:1.5;margin:0}
  #allrecords .rf-about .ra-office p:not(.ra-office-city) {font-size:var(--type-body);line-height:1.5;margin-top:12px}
  #allrecords .rf-about .ra-contact {padding:28px 20px}
  #allrecords .rf-about .ra-contact>p {font-size:var(--type-lead);line-height:1.5;margin-top:16px}
  #allrecords .rf-about .ra-benefits {font-size:var(--type-support);line-height:1.5;gap:10px;margin:20px 0}
  #allrecords .rf-about .ra-btn {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4}

  /* 17. Listing/contacts/case index roots use standard heroes, not homepage height. */
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) {font-size:var(--type-body);line-height:1.55}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) h1 {font-size:var(--type-hero);line-height:1.13;font-weight:600;text-wrap:balance}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) h2 {font-size:var(--type-section);line-height:1.2;letter-spacing:-.015em;font-weight:600}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) h3 {font-size:var(--type-title);line-height:1.25;font-weight:600}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-wrap {padding:44px 20px}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-hero .rf-wrap {padding:100px 20px 40px}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-head {margin-bottom:24px}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-eyebrow {font-size:var(--type-meta);line-height:1.3;letter-spacing:.06em;font-weight:500;margin-bottom:8px}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-lead {font-size:var(--type-lead);line-height:1.5;margin-top:16px}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-btn {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4;font-weight:600}
  #allrecords :is(.rf-reviews,.rf-blog,.rf-contacts) .rf-cta {padding:28px 20px;gap:20px}
  #allrecords .rf-blog .rf-article-grid {gap:12px}
  #allrecords .rf-blog .rf-article {padding:18px}
  #allrecords .rf-blog .rf-article h2 {font-size:var(--type-title);line-height:1.25;letter-spacing:0;font-weight:600}
  #allrecords .rf-blog .rf-article-category {font-size:var(--type-meta);line-height:1.3;margin-bottom:8px;font-weight:500}
  #allrecords .rf-blog .rf-article-meta {font-size:var(--type-meta);line-height:1.45;margin:0 0 12px;gap:4px 12px;color:var(--rics-muted)}
  #allrecords .rf-blog .rf-article-meta .rf-article-event {width:auto}
  #allrecords .rf-blog .rf-article>p {font-size:var(--type-support);line-height:1.5;margin:12px 0 16px;color:var(--rics-muted)}
  #allrecords .rf-blog .rf-article-read {min-height:44px;font-size:var(--type-support);line-height:1.4;padding-top:12px;font-weight:600}
  #allrecords .rf-blog .rf-search input {height:54px;font-size:var(--type-lead)}
  #allrecords .rf-blog .rf-filter-list button {min-height:44px;font-size:var(--type-helper)}
  #allrecords .rf-contacts :is(.rf-office-grid,.rf-channel-grid) {gap:12px}
  #allrecords .rf-contacts :is(.rf-office,.rf-channel) {padding:18px}
  #allrecords .rf-contacts .rf-office-top {margin-bottom:16px;gap:12px;flex-wrap:wrap}
  #allrecords .rf-contacts .rf-office h3 {font-size:var(--type-section);line-height:1.2}
  #allrecords .rf-contacts .rf-office-role {font-size:var(--type-body);line-height:1.5;margin-top:12px}
  #allrecords .rf-contacts .rf-office dl {margin:16px 0 20px;gap:12px}
  #allrecords .rf-contacts .rf-office dl div {padding-top:12px}
  #allrecords .rf-contacts .rf-office dt {font-size:var(--type-caption);line-height:1.45;color:var(--rics-muted)}
  #allrecords .rf-contacts .rf-office dd {font-size:var(--type-body);line-height:1.5}
  #allrecords .rf-contacts .rf-contact-phone {font-size:1.25rem;line-height:1.3;font-weight:600;min-height:44px}
  #allrecords .rf-contacts .rf-channel-name {font-size:var(--type-meta);line-height:1.3;margin-bottom:8px}
  #allrecords .rf-contacts .rf-channel strong {font-size:var(--type-title);line-height:1.25;margin-bottom:8px;font-weight:600}
  #allrecords .rf-contacts .rf-channel>span:last-child {font-size:var(--type-support);line-height:1.5}
  #allrecords .rf-contacts .rf-map {margin-top:24px}
  #allrecords .rf-contacts :is(.rf-map-header,.rf-map-caption) {padding:18px;gap:16px}
  #allrecords .rf-contacts .rf-map-header h3 {font-size:var(--type-title);line-height:1.25}
  #allrecords .rf-contacts .rf-map-tab {min-height:44px;font-size:var(--type-support);line-height:1.4}
  #allrecords .rf-contacts .rf-map-route {white-space:normal;min-height:48px;font-size:var(--type-support);line-height:1.4}

  /* 18. Quiz: preserve the existing selected/hidden/handoff states. */
  #allrecords .rfq {padding:100px 0 44px;font-size:var(--type-body);line-height:1.5}
  #allrecords .rfq-wrap {padding-inline:20px}
  #allrecords .rfq h1 {font-size:var(--type-hero);line-height:1.13;font-weight:600;margin-bottom:16px;text-wrap:balance}
  #allrecords .rfq h2 {font-size:var(--type-section);line-height:1.2;font-weight:600}
  #allrecords .rfq .rfq-eyebrow {font-size:var(--type-meta);line-height:1.3;letter-spacing:.06em;font-weight:600;margin-bottom:12px}
  #allrecords .rfq .rfq-lead {font-size:var(--type-lead);line-height:1.5}
  #allrecords .rfq .rfq-card {padding:20px 18px;margin-top:24px}
  #allrecords .rfq .rfq-progress-row {font-size:var(--type-caption);line-height:1.45}
  #allrecords .rfq .rfq-progress {margin-bottom:20px}
  #allrecords .rfq .rfq-helper {font-size:var(--type-support);line-height:1.5;margin-bottom:20px}
  #allrecords .rfq .rfq-choice {min-height:52px;padding:14px;gap:10px}
  #allrecords .rfq .rfq-choice input {margin-top:2px}
  #allrecords .rfq .rfq-choice strong {font-size:var(--type-body);line-height:1.4;font-weight:600}
  #allrecords .rfq .rfq-choice small {font-size:var(--type-caption);line-height:1.5;margin-top:4px}
  #allrecords .rfq :is(input,textarea,select) {font-size:var(--type-lead)}
  #allrecords .rfq .rfq-actions {gap:12px;margin-top:24px}
  #allrecords .rfq .rfq-btn {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4;font-weight:600}
  #allrecords .rfq :is(.rfq-context,.rfq-summary) {padding:16px;margin-top:24px}
  #allrecords .rfq .rfq-footnote {font-size:var(--type-helper);line-height:1.5;color:var(--rics-text)}
  #allrecords .rfq-native-intro {padding:0 20px 16px}
  #allrecords .rfq-native-intro h2 {font-size:var(--type-section);line-height:1.2;font-weight:600;color:var(--rics-navy)}
  #allrecords .rfq-native-intro p {font-size:var(--type-body);line-height:1.5;color:var(--rics-text)}

  /* 19. Reading pages: readable body scale, restrained opening blocks. */
  html .t-feed__post-popup .t-feed__post-popup__title {font-size:var(--type-hero)!important;line-height:1.13!important;font-weight:600!important;letter-spacing:-.025em;color:var(--rics-navy)}
  html .t-feed__post-popup .t-feed__post-popup__text,html .rics-editorial {font-size:var(--type-lead);line-height:1.65;color:var(--rics-text)}
  html .t-feed__post-popup .t-redactor__text {font-family:var(--rics-font);font-size:var(--type-lead);line-height:1.65;color:var(--rics-text)}
  html .t-feed__post-popup :is(.t-redactor__text p,.t-redactor__text li) {font-size:inherit;line-height:inherit}
  html .rics-editorial h2,html .t-feed__post-popup .t-redactor__h2,html .rics-editorial.re-native-article h2.t-redactor__h2 {font-size:var(--type-section)!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.015em;margin-top:32px;margin-bottom:16px}
  html .rics-editorial h3,html .t-feed__post-popup .t-redactor__h3 {font-size:var(--type-title);line-height:1.25;font-weight:600;margin-top:24px;margin-bottom:12px}
  html .rics-editorial :is(.re-lead,p.re-lead),html .rics-editorial.re-native-article .re-lead {font-size:var(--type-lead);line-height:1.6}
  html .rics-editorial .re-meta,html .rics-editorial.re-native-article .re-meta {font-size:var(--type-meta);line-height:1.5;color:var(--rics-muted)}
  html .rics-editorial :is(.re-toc,.re-insight,.re-cta) {padding:20px 18px;margin-block:24px}
  html .rics-editorial .re-insight p,html .rics-editorial .re-cta p {font-size:var(--type-body);line-height:1.6}
  html .rics-editorial .re-button {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4;font-weight:600}
  html .rics-editorial.re-native-article :is(.re-native-toc-label,.re-native-insight-label) {padding:18px 18px 8px;font-size:var(--type-support);line-height:1.5}
  html .rics-editorial.re-native-article .re-native-toc-list {padding:0 18px 18px 40px;font-size:var(--type-support);line-height:1.6}
  html .rics-editorial.re-native-article p.re-native-insight-copy {padding:0 18px 18px;font-size:var(--type-body);line-height:1.6}
  html .rics-editorial.re-native-article h2.re-native-cta-title {padding:20px 18px 0;font-size:var(--type-section)!important;line-height:1.2!important}
  html .rics-editorial.re-native-article .t-redactor__text.re-native-cta-body {padding:16px 18px 20px;font-size:var(--type-body);line-height:1.6}
  html .rics-editorial.re-native-article .re-native-byline {padding:14px;gap:12px}
  html .rics-editorial.re-native-article .re-native-byline__label {font-size:var(--type-meta);line-height:1.4;color:var(--rics-text)}
  html .rics-editorial.re-native-article .re-native-byline [data-rics-expert-name] {font-size:var(--type-body);font-weight:600}
  html .rics-editorial.re-native-article .re-native-byline [data-rics-expert-role] {font-size:var(--type-caption);line-height:1.45;color:var(--rics-text)}
  #allrecords .rics-legal {padding:38px 20px 48px;font-size:var(--type-lead);line-height:1.65}
  #allrecords .rics-legal h1 {font-size:var(--type-hero);line-height:1.13;font-weight:600}
  #allrecords .rics-legal h2 {font-size:var(--type-section);line-height:1.2;font-weight:600;margin-top:32px}
  #allrecords .rics-legal .rl-back {min-height:44px;font-size:var(--type-support)}
  #allrecords .rics-legal .rl-date {font-size:var(--type-helper);line-height:1.5;color:var(--rics-text);margin-bottom:24px}

  /* 20. Confirmation pages keep their own composition and logo. */
  #allrecords .rics-state {min-height:0;padding:24px 20px 48px;font-size:var(--type-body);line-height:1.5}
  #allrecords .rics-state .rs-brand-row {flex-wrap:wrap;gap:12px;margin-bottom:24px}
  #allrecords .rics-state .rs-locale > a[data-rics-thanks-language] {min-width:44px;min-height:44px}
  #allrecords .rics-state .rs-home {min-width:44px;min-height:44px}
  #allrecords .rics-state .rs-brand img {width:150px;height:auto;aspect-ratio:412/156}
  #allrecords .rics-state .rs-card {padding:24px 20px}
  #allrecords .rics-state h1 {font-size:var(--type-hero);line-height:1.13;font-weight:600;margin-bottom:16px}
  #allrecords .rics-state .rs-eyebrow {font-size:var(--type-meta);line-height:1.3;font-weight:600;letter-spacing:.06em;margin-bottom:8px}
  #allrecords .rics-state .rs-lead {font-size:var(--type-lead);line-height:1.5}
  #allrecords .rics-state .rs-actions {margin-top:24px;gap:12px}
  #allrecords .rics-state .rs-btn {min-height:52px;padding:14px 18px;font-size:var(--type-body);line-height:1.4}
  #allrecords .rics-state .rs-contact {font-size:var(--type-support);line-height:1.5;margin-top:24px;padding-top:16px}
}

/* Reduced motion is one shared opt-out. Content never relies on hidden CSS. */
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto!important}
  #allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts,.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state,.rf-connect,.rf-contact-launcher),
  #allrecords :is(.rf-home,.rf-nav,.rf-footer,.rf-reviews,.rf-blog,.rf-contacts,.rics-vnj-v2,.rf-about,.rics-catalog,.rf-catalog-hero,.rfq,.rics-legal,.rics-state,.rf-connect,.rf-contact-launcher) *,
  .rics-editorial,.rics-editorial * {animation:none!important;transition:none!important;scroll-behavior:auto!important;translate:none}
  #allrecords .rics-catalog .rc-nav a:hover {transform:none!important}
  /* Popup transition lifecycle is preserved; loading indicators are not targeted. */
  #allrecords .t702 .t-popup,#allrecords .t702 .t-popup :is(a,input,textarea,select,button),#allrecords .t-form :is(input,textarea,select,button,.t-submit) {animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
@media(hover:none) {#allrecords .rics-catalog .rc-nav a:hover {transform:none}}

/* Final launch QA: article reading rhythm only.
   Native Tilda popup padding was 95px / 70px after the shared header.
   Keep typography, horizontal/bottom padding, body and header untouched. */
html .t-feed__post-popup.t-popup_show .t-feed__post-popup__container.t-popup__container.t-popup__container-static:has(.re-native-article-nav) {
  padding-top:48px;
}

/* Keep wrapped table-of-contents markers aligned with the first text line.
   Existing inline-block links use their last baseline. Block links preserve
   the current padding and 44px minimum target and fill the available row. */
html .rics-editorial.re-native-article .rics-article-reading .rics-article-reading__list > li > a,
html .rics-editorial.re-native-article .re-native-toc-list > li > a {
  display:block;
}
@media (max-width:640px) {
  html .t-feed__post-popup.t-popup_show .t-feed__post-popup__container.t-popup__container.t-popup__container-static:has(.re-native-article-nav) {
    padding-top:24px!important;
  }
}

/* Keep the long Russian privacy title on whole-word lines at narrow widths. */
@media (max-width:375px) {
  #allrecords .rics-legal #rl-privacy-title {font-size:29px}
}


/* Final mobile rhythm: homepage RU/EN semantic hierarchy after user clarification.
   Preserve hero min-height, padding, typography, brand/H1 grouping and CTA gap.
   Spacer weights still total 2.6; B/C/D minimum margins still total 56px.
   This preserves the natural minimum height when short-screen spacers collapse. */
@media (max-width: 639px) {
  #rf-home.rf-home .rf-hero .rf-wrap {
    grid-template-rows: auto auto minmax(0, 1fr) auto minmax(0, .55fr) auto minmax(0, 1.05fr) auto;
  }

  #rf-home.rf-home .rf-hero .rf-hero-actions {
    margin-top: 16px;
  }

  #rf-home.rf-home .rf-hero .rf-trustline {
    margin-top: 24px;
  }
}

/* Final mobile card hierarchy: home RU/EN and services catalogue RU/EN.
   Outer 1px uses existing 20% navy; preserve typography, padding, accents and desktop.
   --rics-pale already exists in the published palette as #E5EEF8. */
@media (max-width: 639px) {
  #rf-home.rf-home #home-services .rf-task-grid {
    gap: 20px;
  }

  #rf-home.rf-home #home-services .rf-task ul,
  #rf-home.rf-home #home-services .rf-task li + li {
    border-top-color: var(--rics-pale);
  }

  #allrecords .rics-catalog .rc-grid {
    gap: 20px;
  }

  #rf-home.rf-home #home-services .rf-task,
  #allrecords .rics-catalog .rc-card {
    border-color: #0B2D5B33;
  }

  #allrecords .rics-catalog .rc-card-link {
    border-top-color: var(--rics-pale);
  }
}

/* Business RU/EN: existing option and process indexes carry restrained brand accents. */
#allrecords:is([data-tilda-page-id="248523903"], [data-tilda-page-id="252197503"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground:not([open]) .rv-ground-number,
#allrecords:is([data-tilda-page-id="248523903"], [data-tilda-page-id="252197503"]) .rics-vnj-v2 section[aria-labelledby="rv-steps-title"] .rv-step-num {
  color: var(--rics-red);
}

/* VNJ RU/EN: existing ground and process indexes carry restrained brand accents.
   Page-scoped to residence-permit pages; open ground indexes retain white. */
#allrecords:is([data-tilda-page-id="248041803"], [data-tilda-page-id="252045603"]) .rics-vnj-v2 section[aria-labelledby="rv-grounds-title"] .rv-ground:not([open]) .rv-ground-number,
#allrecords:is([data-tilda-page-id="248041803"], [data-tilda-page-id="252045603"]) .rics-vnj-v2 section[aria-labelledby="rv-process-title"] .rv-step-num {
  color: var(--rics-red);
}

/* VNJ RU/EN mobile grounds: separate independent cards from their inner divider.
   Preserve thickness, focus outline, shadow, radius, padding, type and open index color. */
@media (max-width: 639px) {
  #allrecords:is([data-tilda-page-id="248041803"], [data-tilda-page-id="252045603"]) .rics-vnj-v2 section[aria-labelledby="rv-grounds-title"] .rv-ground-list {
    gap: 14px;
  }

  #allrecords:is([data-tilda-page-id="248041803"], [data-tilda-page-id="252045603"]) .rics-vnj-v2 section[aria-labelledby="rv-grounds-title"] .rv-ground {
    border-color: #0B2D5B33;
  }

  #allrecords:is([data-tilda-page-id="248041803"], [data-tilda-page-id="252045603"]) .rics-vnj-v2 section[aria-labelledby="rv-grounds-title"] .rv-ground-body > p {
    border-top-color: #E5EEF8;
  }
}

/* Insurance, accounting and translation RU/EN: six individually reviewed pages.
   Restrained accents use existing closed-ground and process indices; open indices stay white. */
#allrecords:is([data-tilda-page-id="248525603"], [data-tilda-page-id="252308303"], [data-tilda-page-id="248524503"], [data-tilda-page-id="252202203"], [data-tilda-page-id="248525703"], [data-tilda-page-id="252305403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground:not([open]) .rv-ground-number,
#allrecords:is([data-tilda-page-id="248525603"], [data-tilda-page-id="252308303"], [data-tilda-page-id="248524503"], [data-tilda-page-id="252202203"], [data-tilda-page-id="248525703"], [data-tilda-page-id="252305403"]) .rics-vnj-v2 section[aria-labelledby="rv-steps-title"] .rv-step-num {
  color: var(--rics-red);
}

/* Mobile ground-card hierarchy only; preserve scenarios, focus, type, padding and content. */
@media (max-width: 639px) {
  #allrecords:is([data-tilda-page-id="248525603"], [data-tilda-page-id="252308303"], [data-tilda-page-id="248524503"], [data-tilda-page-id="252202203"], [data-tilda-page-id="248525703"], [data-tilda-page-id="252305403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground-list {
    gap: 14px;
  }

  #allrecords:is([data-tilda-page-id="248525603"], [data-tilda-page-id="252308303"], [data-tilda-page-id="248524503"], [data-tilda-page-id="252202203"], [data-tilda-page-id="248525703"], [data-tilda-page-id="252305403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground {
    border-color: #0B2D5B33;
  }

  #allrecords:is([data-tilda-page-id="248525603"], [data-tilda-page-id="252308303"], [data-tilda-page-id="248524503"], [data-tilda-page-id="252202203"], [data-tilda-page-id="248525703"], [data-tilda-page-id="252305403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground-body > p {
    border-top-color: #E5EEF8;
  }
}

/* RICS About RU/EN: independently reviewed mobile team-card hierarchy only.
   Reviewed scoped refinements, 2026-09-28. */
@media (max-width: 639px) {
  #allrecords:is([data-tilda-page-id="69245609"], [data-tilda-page-id="251955203"]) .rf-about .ra-team-grid {
    gap: 16px;
  }
  #allrecords:is([data-tilda-page-id="69245609"], [data-tilda-page-id="251955203"]) .rf-about .ra-team-grid > .ra-team-card {
    border-color: #0B2D5B33;
  }
  #allrecords:is([data-tilda-page-id="69245609"], [data-tilda-page-id="251955203"]) .rf-about .ra-team-grid > .ra-team-card .ra-principle {
    border-top-color: #E5EEF8;
  }
}

/* Rental, purchase, driving, PMJ and citizenship RU/EN: independently accepted ground hierarchy and existing index accents.
   Reviewed scoped refinements; content and form behavior preserved. */
#allrecords:is([data-tilda-page-id="248524803"], [data-tilda-page-id="252295703"], [data-tilda-page-id="248525103"], [data-tilda-page-id="252298403"], [data-tilda-page-id="248525203"], [data-tilda-page-id="252300603"], [data-tilda-page-id="248517703"], [data-tilda-page-id="252106203"], [data-tilda-page-id="248522503"], [data-tilda-page-id="252140403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground:not([open]) .rv-ground-number,
#allrecords:is([data-tilda-page-id="248524803"], [data-tilda-page-id="252295703"], [data-tilda-page-id="248525103"], [data-tilda-page-id="252298403"], [data-tilda-page-id="248525203"], [data-tilda-page-id="252300603"], [data-tilda-page-id="248517703"], [data-tilda-page-id="252106203"], [data-tilda-page-id="248522503"], [data-tilda-page-id="252140403"]) .rics-vnj-v2 section[aria-labelledby="rv-steps-title"] .rv-step-num {
  color: var(--rics-red);
}
@media (max-width: 639px) {
  #allrecords:is([data-tilda-page-id="248524803"], [data-tilda-page-id="252295703"], [data-tilda-page-id="248525103"], [data-tilda-page-id="252298403"], [data-tilda-page-id="248525203"], [data-tilda-page-id="252300603"], [data-tilda-page-id="248517703"], [data-tilda-page-id="252106203"], [data-tilda-page-id="248522503"], [data-tilda-page-id="252140403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground-list {
    gap: 14px;
  }
  #allrecords:is([data-tilda-page-id="248524803"], [data-tilda-page-id="252295703"], [data-tilda-page-id="248525103"], [data-tilda-page-id="252298403"], [data-tilda-page-id="248525203"], [data-tilda-page-id="252300603"], [data-tilda-page-id="248517703"], [data-tilda-page-id="252106203"], [data-tilda-page-id="248522503"], [data-tilda-page-id="252140403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground {
    border-color: #0B2D5B33;
  }
  #allrecords:is([data-tilda-page-id="248524803"], [data-tilda-page-id="252295703"], [data-tilda-page-id="248525103"], [data-tilda-page-id="252298403"], [data-tilda-page-id="248525203"], [data-tilda-page-id="252300603"], [data-tilda-page-id="248517703"], [data-tilda-page-id="252106203"], [data-tilda-page-id="248522503"], [data-tilda-page-id="252140403"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground-body > p {
    border-top-color: #E5EEF8;
  }
}

/* Market-entry RU/EN: accepted accent rhythm finding; existing process indices only.
   No ground-card or hierarchy declarations apply to this page. */
#allrecords:is([data-tilda-page-id="248524703"], [data-tilda-page-id="252293003"]) .rics-vnj-v2 section[aria-labelledby="rv-steps-title"] .rv-step-num {
  color: var(--rics-red);
}

/* RICS tourist visas and work permits RU/EN: reviewed existing card hierarchy and index accents. */
#allrecords:is([data-tilda-page-id="248523103"], [data-tilda-page-id="252145103"], [data-tilda-page-id="248524303"], [data-tilda-page-id="252200103"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground:not([open]) .rv-ground-number,
#allrecords:is([data-tilda-page-id="248523103"], [data-tilda-page-id="252145103"], [data-tilda-page-id="248524303"], [data-tilda-page-id="252200103"]) .rics-vnj-v2 section[aria-labelledby="rv-steps-title"] .rv-step-num {
  color: var(--rics-red);
}
@media (max-width: 639px) {
  #allrecords:is([data-tilda-page-id="248523103"], [data-tilda-page-id="252145103"], [data-tilda-page-id="248524303"], [data-tilda-page-id="252200103"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground-list {
    gap: 14px;
  }
  #allrecords:is([data-tilda-page-id="248523103"], [data-tilda-page-id="252145103"], [data-tilda-page-id="248524303"], [data-tilda-page-id="252200103"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground {
    border-color: #0B2D5B33;
  }
  #allrecords:is([data-tilda-page-id="248523103"], [data-tilda-page-id="252145103"], [data-tilda-page-id="248524303"], [data-tilda-page-id="252200103"]) .rics-vnj-v2 section[aria-labelledby="rv-variants-title"] .rv-ground-body > p {
    border-top-color: #E5EEF8;
  }
}

/* RICS contacts RU/EN: reviewed mobile office-card separation only. */
@media (max-width: 639px) {
  #allrecords:is([data-tilda-page-id="68835269"], [data-tilda-page-id="252319003"]) .rf-contacts .rf-office-grid {
    gap: 16px;
  }
  #allrecords:is([data-tilda-page-id="68835269"], [data-tilda-page-id="252319003"]) .rf-contacts .rf-office-grid > .rf-office {
    border-color: #0B2D5B33;
  }
}
