/*
 * AXION-DCP-R2
 * Institutional Editorial Visual System
 *
 * Mega A scope:
 *   - global design tokens
 *   - global typography
 *   - global header/navigation
 *   - Cover
 *
 * Sections 02-17 remain structurally R1 until later R2 blocks.
 *
 * This is a migration layer, not a permanent override stack.
 * Once all R2 sections have migrated, obsolete R1 visual rules
 * will be retired from axion.css in a dedicated cleanup block.
 */

/* ==========================================================
   R2 DESIGN TOKENS
========================================================== */

:root {
  --r2-navy-950: #061321;
  --r2-navy-900: #091a2d;
  --r2-navy-850: #0c2036;
  --r2-navy-800: #102840;

  --r2-paper: #f5f2ea;
  --r2-paper-warm: #ebe5d8;
  --r2-white: #fbfaf6;

  --r2-ink: #102033;
  --r2-ink-soft: #4c5c6d;

  --r2-gold: #c89a32;
  --r2-gold-bright: #dfaF43;
  --r2-gold-soft: rgba(200,154,50,.32);

  --r2-text-primary: #f8f6f0;
  --r2-text-secondary: #c0c8d1;
  --r2-text-tertiary: #8f9aa7;

  --r2-line: rgba(255,255,255,.11);
  --r2-line-strong: rgba(255,255,255,.18);

  --r2-surface: rgba(255,255,255,.035);
  --r2-surface-elevated: rgba(255,255,255,.06);

  --r2-font-display:
    Georgia,
    "Times New Roman",
    Times,
    serif;

  --r2-font-body:
    "Segoe UI",
    Arial,
    Helvetica,
    sans-serif;

  --r2-display:
    clamp(3.4rem, 6.15vw, 6.75rem);

  --r2-section-title:
    clamp(2.35rem, 4vw, 4.7rem);

  --r2-title-md:
    clamp(1.7rem, 2.4vw, 2.8rem);

  --r2-body-lg:
    clamp(1.08rem, 1.15vw, 1.27rem);

  --r2-body:
    clamp(.98rem, .35vw + .91rem, 1.08rem);

  --r2-small:
    clamp(.75rem, .15vw + .72rem, .84rem);

  --r2-page:
    clamp(24px, 4.8vw, 76px);

  --r2-section-y:
    clamp(72px, 8vw, 132px);

  --r2-gap-xl:
    clamp(42px, 6vw, 96px);

  --r2-gap-lg:
    clamp(28px, 4vw, 64px);

  --r2-gap-md:
    clamp(18px, 2vw, 32px);

  --r2-gap-sm:
    clamp(10px, 1vw, 16px);

  --r2-content:
    1360px;

  --r2-reading:
    68ch;

  --r2-radius-sm:
    8px;

  --r2-radius-md:
    14px;

  --r2-radius-lg:
    22px;

  --r2-header-bg:
    rgba(6,19,33,.94);

  --r2-header-line:
    rgba(255,255,255,.09);

  --r2-cover-bg:
    var(--r2-navy-950);

  --r2-cover-copy:
    var(--r2-text-primary);

  --r2-cover-secondary:
    var(--r2-text-secondary);

  --r2-shadow:
    0 24px 70px rgba(0,0,0,.24);
}

/* ==========================================================
   LIGHT THEME TOKEN MAPPING
========================================================== */

html[data-theme="light"] {
  --r2-text-primary: #102033;
  --r2-text-secondary: #536273;
  --r2-text-tertiary: #75808c;

  --r2-line: rgba(16,32,51,.12);
  --r2-line-strong: rgba(16,32,51,.2);

  --r2-surface: rgba(16,32,51,.025);
  --r2-surface-elevated: rgba(16,32,51,.045);

  --r2-header-bg:
    rgba(247,244,236,.96);

  --r2-header-line:
    rgba(16,32,51,.10);

  --r2-cover-bg:
    #f5f2ea;

  --r2-cover-copy:
    #102033;

  --r2-cover-secondary:
    #536273;

  --r2-shadow:
    0 24px 70px rgba(31,43,56,.12);
}

/* ==========================================================
   GLOBAL R2 TYPE FOUNDATION
========================================================== */

body.r2-profile {
  margin: 0;

  font-family:
    var(--r2-font-body) !important;

  font-size:
    var(--r2-body);

  font-weight: 400;

  line-height: 1.65;

  letter-spacing: 0;

  color:
    var(--r2-text-primary);

  background:
    var(--r2-navy-950);

  text-rendering:
    optimizeLegibility;

  -webkit-font-smoothing:
    antialiased;

  overflow-x:
    clip;
}

html[data-theme="light"] body.r2-profile {
  background:
    var(--r2-paper);

  color:
    var(--r2-ink);
}

body.r2-profile h1,
body.r2-profile h2,
body.r2-profile h3,
body.r2-profile h4 {
  font-family:
    var(--r2-font-display) !important;

  font-weight:
    500 !important;

  letter-spacing:
    -.025em;

  text-wrap:
    balance;
}

body.r2-profile p {
  text-wrap:
    pretty;
}

body.r2-profile .lede {
  font-family:
    var(--r2-font-body) !important;

  letter-spacing:
    0;

  line-height:
    1.7;
}

body.r2-profile .fine {
  font-family:
    var(--r2-font-body) !important;

  letter-spacing:
    0;
}

/* Locale-aware typography */

html[lang="ar"] body.r2-profile {
  font-family:
    "Segoe UI",
    Tahoma,
    Arial,
    sans-serif !important;
}

html[lang="ar"] body.r2-profile h1,
html[lang="ar"] body.r2-profile h2,
html[lang="ar"] body.r2-profile h3,
html[lang="ar"] body.r2-profile h4 {
  font-family:
    Tahoma,
    "Segoe UI",
    Arial,
    sans-serif !important;

  letter-spacing:
    0;
}

html[lang="zh"] body.r2-profile {
  font-family:
    "Microsoft YaHei",
    "PingFang SC",
    "Segoe UI",
    Arial,
    sans-serif !important;
}

html[lang="zh"] body.r2-profile h1,
html[lang="zh"] body.r2-profile h2,
html[lang="zh"] body.r2-profile h3,
html[lang="zh"] body.r2-profile h4 {
  font-family:
    "Microsoft YaHei",
    "PingFang SC",
    "Segoe UI",
    sans-serif !important;

  letter-spacing:
    -.01em;
}

/* ==========================================================
   DOCUMENT SHELL
========================================================== */

body.r2-profile .page-wrap {
  width:
    100%;

  max-width:
    none;

  padding:
    0 !important;

  margin:
    0;

  overflow-x:
    clip;
}

body.r2-profile a {
  text-underline-offset:
    .18em;
}

body.r2-profile img {
  height:
    auto;
}

/* Anchor targets clear the two-tier desktop header. */

body.r2-profile section[id] {
  scroll-margin-top:
    132px;
}

html {
  scroll-padding-top:
    132px;
}

/* ==========================================================
   R2 HEADER
========================================================== */

body.r2-profile .r2-header.navbar {
  position:
    sticky !important;

  inset:
    auto !important;

  top:
    0 !important;

  z-index:
    1000 !important;

  width:
    100% !important;

  max-width:
    none !important;

  min-height:
    0 !important;

  height:
    auto !important;

  margin:
    0 !important;

  padding:
    0 !important;

  transform:
    none !important;

  display:
    block !important;

  overflow:
    visible !important;

  background:
    var(--r2-header-bg) !important;

  border:
    0 !important;

  border-bottom:
    1px solid var(--r2-header-line) !important;

  border-radius:
    0 !important;

  box-shadow:
    0 12px 34px rgba(0,0,0,.14) !important;

  backdrop-filter:
    blur(18px) saturate(1.15);

  -webkit-backdrop-filter:
    blur(18px) saturate(1.15);
}

.r2-header::before,
.r2-header::after {
  display:
    none !important;
}

.r2-header__bar {
  width:
    min(
      calc(100% - (2 * var(--r2-page))),
      var(--r2-content)
    );

  min-height:
    70px;

  margin:
    0 auto;

  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    auto;

  align-items:
    center;

  gap:
    24px;
}

body.r2-profile .r2-brand {
  display:
    inline-flex;

  align-items:
    center;

  gap:
    12px;

  min-width:
    0;

  width:
    fit-content;

  letter-spacing:
    0;
}

body.r2-profile .r2-brand img {
  width:
    42px !important;

  height:
    42px !important;

  max-width:
    42px !important;

  object-fit:
    contain;

  flex:
    0 0 auto;

  filter:
    none !important;
}

.r2-brand__text {
  display:
    grid;

  gap:
    1px;

  min-width:
    0;
}

.r2-brand__name {
  font-family:
    var(--r2-font-display);

  font-size:
    .98rem;

  line-height:
    1;

  letter-spacing:
    .13em;

  font-weight:
    600;

  white-space:
    nowrap;

  color:
    var(--r2-text-primary);
}

.r2-brand__descriptor {
  font-family:
    var(--r2-font-body);

  font-size:
    .66rem;

  line-height:
    1.2;

  letter-spacing:
    .12em;

  text-transform:
    uppercase;

  color:
    var(--r2-text-tertiary);
}

.r2-header__actions {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    14px;

  min-width:
    0;
}

body.r2-profile .r2-header .nav-tools {
  display:
    flex !important;

  align-items:
    center;

  gap:
    7px;

  margin:
    0 !important;

  min-width:
    0;
}

body.r2-profile #langBar {
  display:
    flex;

  align-items:
    center;

  gap:
    3px;

  padding:
    3px;

  border:
    1px solid var(--r2-line);

  border-radius:
    999px;
}

body.r2-profile #langBar .lang-link {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    30px;

  padding:
    4px 8px;

  border-radius:
    999px;

  font-family:
    var(--r2-font-body);

  font-size:
    .7rem;

  font-weight:
    600;

  line-height:
    1;

  letter-spacing:
    .02em;

  color:
    var(--r2-text-secondary);

  background:
    transparent;
}

body.r2-profile #langBar .lang-link[aria-current="page"] {
  color:
    var(--r2-text-primary);

  background:
    var(--r2-surface-elevated);
}

.r2-theme-toggle {
  width:
    34px;

  height:
    34px;

  display:
    grid;

  place-items:
    center;

  flex:
    0 0 auto;

  padding:
    0;

  border:
    1px solid var(--r2-line);

  border-radius:
    50%;

  color:
    var(--r2-text-primary);

  background:
    transparent;

  cursor:
    pointer;

  font:
    inherit;
}

body.r2-profile .r2-menu-toggle.menu-toggle {
  display:
    none;

  align-items:
    center;

  justify-content:
    center;

  gap:
    9px;

  min-height:
    38px;

  padding:
    7px 12px;

  border:
    1px solid var(--r2-line);

  border-radius:
    999px;

  background:
    transparent;

  color:
    var(--r2-text-primary);

  font:
    600 .75rem/1 var(--r2-font-body);

  letter-spacing:
    .06em;

  cursor:
    pointer;
}

/* ==========================================================
   DESKTOP SECTION NAV
========================================================== */

.r2-header__nav {
  border-top:
    1px solid var(--r2-header-line);
}

body.r2-profile .r2-header .nav-links {
  width:
    min(
      calc(100% - (2 * var(--r2-page))),
      var(--r2-content)
    );

  min-height:
    46px;

  margin:
    0 auto;

  display:
    flex !important;

  align-items:
    stretch;

  justify-content:
    space-between;

  gap:
    8px !important;

  padding:
    0;

  flex-wrap:
    nowrap !important;

  overflow-x:
    auto;

  scrollbar-width:
    none;
}

body.r2-profile .r2-header .nav-links::-webkit-scrollbar {
  display:
    none;
}

body.r2-profile .r2-header .nav-links a {
  position:
    relative;

  display:
    inline-flex;

  align-items:
    center;

  min-height:
    46px;

  padding:
    0 5px;

  border:
    0 !important;

  border-radius:
    0 !important;

  background:
    transparent !important;

  box-shadow:
    none !important;

  backdrop-filter:
    none !important;

  font-family:
    var(--r2-font-body);

  font-size:
    clamp(.69rem, .22vw + .64rem, .78rem);

  line-height:
    1.15;

  font-weight:
    600;

  letter-spacing:
    .025em;

  color:
    var(--r2-text-tertiary) !important;

  white-space:
    nowrap;

  transition:
    color .18s ease;
}

body.r2-profile .r2-header .nav-links a:hover,
body.r2-profile .r2-header .nav-links a.active {
  color:
    var(--r2-text-primary) !important;
}

body.r2-profile .r2-header .nav-links a::after {
  content:
    "";

  position:
    absolute;

  left:
    5px;

  right:
    5px;

  bottom:
    0;

  height:
    2px;

  transform:
    scaleX(0);

  transform-origin:
    center;

  background:
    var(--r2-gold);

  transition:
    transform .18s ease;
}

body.r2-profile .r2-header .nav-links a.active::after {
  transform:
    scaleX(1);
}

/* ==========================================================
   R2 COVER
========================================================== */

body.r2-profile .r2-cover {
  position:
    relative;

  display:
    grid;

  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(420px, .92fr);

  width:
    100%;

  min-height:
    calc(100svh - 117px);

  margin:
    0;

  padding:
    0;

  overflow:
    clip;

  background:
    var(--r2-cover-bg);

  color:
    var(--r2-cover-copy);
}

.r2-cover__copy {
  position:
    relative;

  z-index:
    2;

  display:
    flex;

  flex-direction:
    column;

  justify-content:
    space-between;

  min-width:
    0;

  padding:
    clamp(54px, 6vw, 94px)
    clamp(34px, 5.3vw, 88px)
    clamp(42px, 5vw, 76px)
    var(--r2-page);
}

.r2-cover__identity {
  display:
    flex;

  align-items:
    center;

  gap:
    18px;

  width:
    fit-content;

  max-width:
    100%;
}

.r2-cover__mark {
  width:
    58px !important;

  height:
    58px !important;

  flex:
    0 0 auto;

  object-fit:
    contain;

  filter:
    none !important;
}

.r2-cover__identity-copy {
  display:
    grid;

  gap:
    4px;

  min-width:
    0;
}

.r2-cover__company {
  margin:
    0;

  font-family:
    var(--r2-font-display);

  font-size:
    clamp(.95rem, .35vw + .88rem, 1.08rem);

  font-weight:
    600;

  line-height:
    1.1;

  letter-spacing:
    .13em;

  color:
    var(--r2-cover-copy);

  text-transform:
    uppercase;
}

.r2-cover__profile {
  margin:
    0;

  font-family:
    var(--r2-font-body);

  font-size:
    var(--r2-small);

  line-height:
    1.3;

  font-weight:
    600;

  letter-spacing:
    .11em;

  color:
    var(--r2-gold);

  text-transform:
    uppercase;
}

.r2-cover__main {
  display:
    grid;

  gap:
    clamp(24px, 3vw, 44px);

  max-width:
    880px;

  margin:
    clamp(62px, 8vh, 112px)
    0;
}

body.r2-profile .r2-cover__title {
  /*
   * The governed locale dictionaries already define deliberate
   * editorial break positions. Use the complete copy-column
   * measure rather than forcing all languages into 10.8ch.
   */
  width:
    100%;

  max-width:
    100%;

  margin:
    0;

  font-family:
    var(--r2-font-display) !important;

  font-size:
    var(--r2-display) !important;

  font-weight:
    500 !important;

  line-height:
    .91;

  letter-spacing:
    -.045em;

  color:
    var(--r2-cover-copy);

  overflow-wrap:
    normal;

  word-break:
    normal;

  text-wrap:
    balance;
}

/*
 * Cover headlines already contain curated locale-specific line
 * breaks in the governed dictionaries.
 *
 * Mega A preserves those semantic break opportunities rather
 * than hiding them. Hiding <br/> concatenates adjacent localized
 * phrases into unbreakable tokens such as TRADE,INFRASTRUCTURE.
 *
 * Later R2 locale hardening may migrate presentation markup at
 * the content layer, but the foundation must not destroy the
 * current governed line structure.
 */
body.r2-profile .r2-cover__title br {
  display:
    initial;
}

body.r2-profile .r2-cover__title .gold {
  color:
    var(--r2-gold);
}

/*
 * Latin-script Cover headlines use a slightly tighter editorial
 * display scale than Arabic and Chinese because their governed
 * phrases are materially wider at equivalent point sizes.
 *
 * This is typographic localization, not content mutation.
 */
html[lang="en"] body.r2-profile .r2-cover__title,
html[lang="es"] body.r2-profile .r2-cover__title {
  font-size:
    clamp(3.65rem, 4.65vw, 5.15rem) !important;

  line-height:
    .93;

  letter-spacing:
    -.038em;
}

/*
 * The gold phrase must remain a normal inline phrase. Explicitly
 * neutralize any historical presentation rule that could make
 * the translated phrase behave as one unbreakable unit.
 */
body.r2-profile .r2-cover__title .gold {
  white-space:
    normal !important;

  overflow-wrap:
    normal;

  word-break:
    normal;
}

.r2-cover__lede {
  max-width:
    61ch;

  margin:
    0;

  font-family:
    var(--r2-font-body);

  font-size:
    var(--r2-body-lg);

  line-height:
    1.65;

  letter-spacing:
    0;

  color:
    var(--r2-cover-secondary);
}

.r2-cover__footer {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1fr)
    auto;

  gap:
    24px;

  align-items:
    end;

  padding-top:
    22px;

  border-top:
    1px solid var(--r2-line);
}

.r2-cover__contact {
  display:
    flex;

  align-items:
    center;

  flex-wrap:
    wrap;

  gap:
    8px 22px;

  min-width:
    0;
}

.r2-cover__contact a {
  max-width:
    100%;

  font-family:
    var(--r2-font-body);

  font-size:
    var(--r2-small);

  line-height:
    1.4;

  font-weight:
    500;

  letter-spacing:
    .015em;

  color:
    var(--r2-cover-secondary);

  overflow-wrap:
    anywhere;
}

.r2-cover__contact a:hover {
  color:
    var(--r2-gold);
}

.r2-cover__hubs {
  display:
    flex;

  justify-content:
    flex-end;

  flex-wrap:
    wrap;

  gap:
    7px 10px;

  font-family:
    var(--r2-font-body);

  font-size:
    .7rem;

  font-weight:
    700;

  line-height:
    1.4;

  letter-spacing:
    .12em;

  text-transform:
    uppercase;

  color:
    var(--r2-gold);
}

.r2-cover__hubs span:not(:last-child)::after {
  content:
    "·";

  margin-inline-start:
    10px;

  color:
    var(--r2-text-tertiary);
}

.r2-cover__visual {
  position:
    relative;

  min-width:
    0;

  min-height:
    100%;

  margin:
    0;

  overflow:
    hidden;

  background:
    var(--r2-navy-850);
}

.r2-cover__visual img {
  position:
    absolute;

  inset:
    0;

  width:
    100% !important;

  height:
    100% !important;

  object-fit:
    cover;

  object-position:
    center;

  filter:
    saturate(.88)
    contrast(1.03);
}

.r2-cover__visual::before {
  content:
    "";

  position:
    absolute;

  inset:
    0;

  z-index:
    1;

  background:
    linear-gradient(
      90deg,
      rgba(6,19,33,.58) 0%,
      rgba(6,19,33,.16) 28%,
      transparent 60%
    );

  pointer-events:
    none;
}

.r2-cover__visual::after {
  content:
    "";

  position:
    absolute;

  inset:
    0;

  z-index:
    2;

  border-left:
    1px solid var(--r2-line);

  pointer-events:
    none;
}

html[data-theme="light"] .r2-cover__visual::before {
  background:
    linear-gradient(
      90deg,
      rgba(245,242,234,.48) 0%,
      rgba(245,242,234,.05) 34%,
      transparent 65%
    );
}

/* ==========================================================
   RTL COVER
========================================================== */

[dir="rtl"] .r2-cover__copy {
  padding-left:
    var(--r2-page);

  padding-right:
    clamp(34px, 5.3vw, 88px);
}

[dir="rtl"] .r2-cover__title,
[dir="rtl"] .r2-cover__lede,
[dir="rtl"] .r2-cover__company,
[dir="rtl"] .r2-cover__profile {
  text-align:
    right;
}

[dir="rtl"] .r2-cover__footer {
  direction:
    rtl;
}

[dir="rtl"] .r2-cover__contact {
  justify-content:
    flex-start;
}

[dir="rtl"] .r2-cover__hubs {
  justify-content:
    flex-start;
}

[dir="rtl"] .r2-cover__visual::before {
  background:
    linear-gradient(
      270deg,
      rgba(6,19,33,.58) 0%,
      rgba(6,19,33,.16) 28%,
      transparent 60%
    );
}

[dir="rtl"] .r2-cover__visual::after {
  border-left:
    0;

  border-right:
    1px solid var(--r2-line);
}

/* ==========================================================
   TABLET / DRAWER NAV
========================================================== */

@media (max-width: 1199px) {

  html {
    scroll-padding-top:
      72px;
  }

  body.r2-profile section[id] {
    scroll-margin-top:
      72px;
  }

  .r2-header__bar {
    min-height:
      68px;
  }

  .r2-header__nav {
    position:
      absolute;

    top:
      100%;

    left:
      0;

    right:
      0;

    border:
      0;

    pointer-events:
      none;
  }

  body.r2-profile .r2-header .nav-links {
    position:
      absolute;

    top:
      8px;

    left:
      var(--r2-page);

    right:
      var(--r2-page);

    width:
      auto;

    min-height:
      0;

    max-height:
      min(72vh, 600px);

    display:
      none !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      2px !important;

    margin:
      0;

    padding:
      10px;

    overflow-y:
      auto;

    overflow-x:
      hidden;

    pointer-events:
      auto;

    background:
      var(--r2-header-bg);

    border:
      1px solid var(--r2-header-line);

    border-radius:
      var(--r2-radius-md);

    box-shadow:
      var(--r2-shadow);

    backdrop-filter:
      blur(22px);

    -webkit-backdrop-filter:
      blur(22px);
  }

  body.r2-profile .r2-header .nav-links.open {
    display:
      grid !important;
  }

  body.r2-profile .r2-header .nav-links a {
    min-height:
      44px;

    padding:
      9px 12px;

    border-radius:
      8px !important;

    white-space:
      normal;
  }

  body.r2-profile .r2-header .nav-links a::after {
    left:
      12px;

    right:
      auto;

    bottom:
      5px;

    width:
      30px;
  }

  body.r2-profile .r2-menu-toggle.menu-toggle {
    display:
      inline-flex !important;
  }

  body.r2-profile .r2-cover {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(340px, .8fr);

    min-height:
      auto;
  }

  .r2-cover__copy {
    padding-top:
      58px;

    padding-bottom:
      54px;
  }

  .r2-cover__main {
    margin:
      72px 0;
  }

  body.r2-profile .r2-cover__title {
    font-size:
      clamp(3rem, 6.8vw, 5rem) !important;
  }

  .r2-cover__footer {
    grid-template-columns:
      1fr;

    align-items:
      start;
  }

  .r2-cover__hubs {
    justify-content:
      flex-start;
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 699px) {

  :root {
    --r2-page:
      clamp(20px, 6vw, 28px);
  }

  .r2-header__bar {
    grid-template-columns:
      minmax(0, 1fr)
      auto;

    gap:
      10px;

    min-height:
      64px;
  }

  body.r2-profile .r2-brand img {
    width:
      36px !important;

    height:
      36px !important;
  }

  .r2-brand__name {
    font-size:
      .82rem;

    letter-spacing:
      .09em;
  }

  .r2-brand__descriptor {
    display:
      none;
  }

  .r2-header__actions {
    gap:
      7px;
  }

  body.r2-profile #langBar {
    display:
      none;
  }

  body.r2-profile .r2-header .nav-links {
    grid-template-columns:
      1fr;

    left:
      14px;

    right:
      14px;

    max-height:
      calc(100svh - 88px);
  }

  /*
   * Language links remain reachable in the document through the
   * nav-tools markup on larger screens. Mobile language UI will
   * receive its dedicated R2 treatment in the locale hardening
   * block; we do not invent a second language system here.
   */

  body.r2-profile .r2-cover {
    display:
      flex;

    flex-direction:
      column;

    min-height:
      0;
  }

  .r2-cover__copy {
    order:
      1;

    padding:
      44px
      var(--r2-page)
      38px;
  }

  .r2-cover__identity {
    gap:
      13px;
  }

  .r2-cover__mark {
    width:
      48px !important;

    height:
      48px !important;
  }

  .r2-cover__company {
    font-size:
      .84rem;

    letter-spacing:
      .09em;
  }

  .r2-cover__profile {
    font-size:
      .68rem;
  }

  .r2-cover__main {
    margin:
      52px 0 48px;

    gap:
      24px;
  }

  body.r2-profile .r2-cover__title {
    max-width:
      13ch;

    font-size:
      clamp(2.9rem, 14.2vw, 4.5rem) !important;

    line-height:
      .94;

    letter-spacing:
      -.035em;
  }

  .r2-cover__lede {
    font-size:
      1rem;

    line-height:
      1.7;
  }

  .r2-cover__footer {
    grid-template-columns:
      1fr;

    gap:
      18px;

    padding-top:
      18px;
  }

  .r2-cover__contact {
    align-items:
      flex-start;

    flex-direction:
      column;

    gap:
      8px;
  }

  .r2-cover__hubs {
    justify-content:
      flex-start;

    gap:
      6px 8px;
  }

  .r2-cover__visual {
    order:
      2;

    min-height:
      0;

    aspect-ratio:
      16 / 10;
  }

  .r2-cover__visual img {
    position:
      absolute;
  }

  .r2-cover__visual::before {
    background:
      linear-gradient(
        180deg,
        rgba(6,19,33,.12) 0%,
        rgba(6,19,33,.0) 50%,
        rgba(6,19,33,.32) 100%
      );
  }

  .r2-cover__visual::after {
    border:
      0;

    border-top:
      1px solid var(--r2-line);
  }

  [dir="rtl"] .r2-cover__copy {
    padding-left:
      var(--r2-page);

    padding-right:
      var(--r2-page);
  }

  [dir="rtl"] .r2-cover__visual::before {
    background:
      linear-gradient(
        180deg,
        rgba(6,19,33,.12) 0%,
        rgba(6,19,33,.0) 50%,
        rgba(6,19,33,.32) 100%
      );
  }
}

/* ==========================================================
   MOTION / ACCESSIBILITY
========================================================== */

@media (prefers-reduced-motion: reduce) {

  body.r2-profile *,
  body.r2-profile *::before,
  body.r2-profile *::after {
    scroll-behavior:
      auto !important;

    transition-duration:
      .001ms !important;

    animation-duration:
      .001ms !important;

    animation-iteration-count:
      1 !important;
  }
}

body.r2-profile :focus-visible {
  outline:
    2px solid var(--r2-gold);

  outline-offset:
    3px;
}

/* ==========================================================
   R2 MEGA A MIGRATION BOUNDARY
========================================================== */

/*
 * We intentionally do NOT restyle:
 *
 *   .card
 *   .four-cards
 *   .office-grid
 *   .leadership-grid
 *   .hub-grid
 *   .timeline
 *
 * in Mega A.
 *
 * They belong to sections 02-17 and will be replaced by
 * dedicated editorial primitives in later R2 Mega blocks.
 */
