/*
 * AXION-DCP-R2
 * Institutional Editorial Sections A
 *
 * Mega B scope:
 *   02 Who We Are
 *   03 Strategic Positioning
 *   04 Why AXION
 *   05 Group Structure
 *   06 AXION Agriculture
 *   07 Development & Smart Housing
 *   08 Robotics & Technology
 *   09 Global Trade & Logistics
 *
 * Design objective:
 *   publication, not dashboard
 *   content-driven geometry
 *   no fixed media heights
 *   no glass-card architecture
 *   no four-column component dumping
 */

/* ==========================================================
   SECTION FOUNDATION
========================================================== */

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

  width:
    100%;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    var(--r2-section-y)
    var(--r2-page) !important;

  overflow:
    clip;

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

body.r2-profile .r2-section--ink {
  background:
    var(--r2-navy-950);
}

body.r2-profile .r2-section--navy {
  background:
    var(--r2-navy-900);
}

body.r2-profile .r2-section--panel {
  background:
    var(--r2-navy-850);
}

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

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

html[data-theme="light"]
body.r2-profile
.r2-section--panel {
  background:
    #eee9de;
}

.r2-shell {
  width:
    min(
      100%,
      var(--r2-content)
    );

  margin:
    0 auto;
}

.r2-anchor {
  display:
    block;

  width:
    1px;

  height:
    1px;

  margin:
    0;

  padding:
    0;

  scroll-margin-top:
    132px;

  pointer-events:
    none;
}

/* ==========================================================
   COMMON EDITORIAL TYPOGRAPHY
========================================================== */

.r2-kicker {
  margin:
    0 0 18px;

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

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

  font-weight:
    700;

  line-height:
    1.3;

  letter-spacing:
    .14em;

  text-transform:
    uppercase;

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

.r2-category {
  margin:
    0 0 12px;

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

  font-size:
    .78rem;

  font-weight:
    600;

  line-height:
    1.4;

  letter-spacing:
    .08em;

  text-transform:
    uppercase;

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

body.r2-profile
.r2-section__title {
  width:
    100%;

  max-width:
    18ch;

  margin:
    0;

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

  font-size:
    var(--r2-section-title) !important;

  font-weight:
    500 !important;

  line-height:
    .98;

  letter-spacing:
    -.038em;

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

  overflow-wrap:
    normal;

  word-break:
    normal;
}

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

  white-space:
    normal !important;

  overflow-wrap:
    normal;

  word-break:
    normal;
}

.r2-section__intro {
  max-width:
    var(--r2-reading);

  margin:
    24px 0 0;

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

  line-height:
    1.68;

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

.r2-body-stack {
  display:
    grid;

  gap:
    18px;

  margin-top:
    28px;

  max-width:
    var(--r2-reading);
}

.r2-body-stack p {
  margin:
    0;

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

.r2-editorial-rule {
  width:
    72px;

  height:
    2px;

  margin:
    26px 0 0;

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

/* ==========================================================
   MEDIA
========================================================== */

.r2-media {
  position:
    relative;

  margin:
    0;

  overflow:
    hidden;

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

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

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

.r2-media img {
  display:
    block;

  width:
    100% !important;

  height:
    100% !important;

  object-fit:
    cover;

  object-position:
    center;
}

.r2-media--editorial {
  aspect-ratio:
    16 / 11;
}

.r2-media--division {
  aspect-ratio:
    5 / 4;
}

.r2-media--wide {
  aspect-ratio:
    16 / 9;
}

.r2-media figcaption {
  margin:
    10px 0 0;

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

  font-size:
    .76rem;

  line-height:
    1.5;

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

/*
 * Figure captions must live outside the clipped media surface.
 */
.r2-figure {
  margin:
    0;
}

.r2-figure > .r2-media {
  margin:
    0;
}

.r2-figure > figcaption {
  margin:
    10px 2px 0;

  font-size:
    .76rem;

  line-height:
    1.5;

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

/* ==========================================================
   EDITORIAL SPLIT
========================================================== */

.r2-editorial-split {
  display:
    grid;

  grid-template-columns:
    minmax(0, 1.03fr)
    minmax(380px, .97fr);

  gap:
    var(--r2-gap-xl);

  align-items:
    center;
}

.r2-editorial-split__copy,
.r2-editorial-split__visual {
  min-width:
    0;
}

/* ==========================================================
   WHO WE ARE
========================================================== */

.r2-who__statement {
  margin:
    34px 0 0;

  padding:
    22px 0 22px 24px;

  border-left:
    2px solid var(--r2-gold);
}

.r2-who__statement p {
  margin:
    0;

  max-width:
    56ch;

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

  font-size:
    clamp(1.25rem, 1.5vw, 1.65rem);

  line-height:
    1.42;

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

.r2-who__statement small {
  display:
    block;

  margin-top:
    11px;

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

  font-size:
    .72rem;

  font-weight:
    700;

  line-height:
    1.4;

  letter-spacing:
    .12em;

  text-transform:
    uppercase;

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

.r2-statline {
  display:
    grid;

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

  margin-top:
    var(--r2-gap-lg);

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

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

.r2-statline__item {
  min-width:
    0;

  padding:
    26px 28px 24px 0;
}

.r2-statline__item +
.r2-statline__item {
  padding-left:
    28px;

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

.r2-statline__value {
  display:
    block;

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

  font-size:
    clamp(2.5rem, 4vw, 4.2rem);

  line-height:
    .9;

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

.r2-statline__label {
  display:
    block;

  margin-top:
    9px;

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

  font-size:
    .75rem;

  font-weight:
    700;

  line-height:
    1.35;

  letter-spacing:
    .1em;

  text-transform:
    uppercase;

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

/* ==========================================================
   POSITIONING
========================================================== */

.r2-positioning__top {
  display:
    grid;

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

  gap:
    var(--r2-gap-xl);

  align-items:
    center;
}

.r2-positioning__responsibility {
  margin-top:
    34px;

  padding-top:
    22px;

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

.r2-positioning__responsibility strong {
  display:
    block;

  margin-bottom:
    8px;

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

  font-size:
    .73rem;

  font-weight:
    700;

  letter-spacing:
    .11em;

  text-transform:
    uppercase;

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

.r2-positioning__responsibility p {
  margin:
    0;

  max-width:
    60ch;

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

/* ==========================================================
   INSTITUTIONAL MATRIX
========================================================== */

.r2-matrix {
  display:
    grid;

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

  column-gap:
    var(--r2-gap-lg);

  margin-top:
    var(--r2-gap-lg);

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

.r2-matrix__item {
  display:
    grid;

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

  gap:
    18px;

  min-width:
    0;

  padding:
    24px 0;

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

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

  font-size:
    .72rem;

  font-weight:
    700;

  letter-spacing:
    .1em;

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

.r2-matrix__item h3 {
  margin:
    0;

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

  font-size:
    clamp(1.25rem, 1.7vw, 1.7rem);

  font-weight:
    500 !important;

  line-height:
    1.14;

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

.r2-matrix__item p {
  margin:
    9px 0 0;

  max-width:
    58ch;

  font-size:
    .94rem;

  line-height:
    1.62;

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

/* ==========================================================
   GROUP STRUCTURE
========================================================== */

.r2-org__header {
  display:
    grid;

  grid-template-columns:
    minmax(0, .82fr)
    minmax(360px, .58fr);

  gap:
    var(--r2-gap-xl);

  align-items:
    end;
}

.r2-org__parent {
  padding:
    24px 0;

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

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

.r2-org__parent-label {
  display:
    block;

  margin-bottom:
    8px;

  font-size:
    .72rem;

  font-weight:
    700;

  line-height:
    1.35;

  letter-spacing:
    .1em;

  text-transform:
    uppercase;

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

.r2-org__parent-name {
  display:
    block;

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

  font-size:
    clamp(1.3rem, 2vw, 2rem);

  line-height:
    1.2;

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

.r2-org__grid {
  display:
    grid;

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

  gap:
    0;

  margin-top:
    var(--r2-gap-lg);

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

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

.r2-org__item {
  min-width:
    0;

  padding:
    28px 24px;
}

.r2-org__item:first-child {
  padding-left:
    0;
}

.r2-org__item:last-child {
  padding-right:
    0;
}

.r2-org__item +
.r2-org__item {
  border-left:
    1px solid var(--r2-line);
}

.r2-org__thumb {
  aspect-ratio:
    16 / 10;

  overflow:
    hidden;

  margin-bottom:
    22px;

  border-radius:
    var(--r2-radius-sm);
}

.r2-org__thumb img {
  width:
    100% !important;

  height:
    100% !important;

  object-fit:
    cover;
}

.r2-org__number {
  display:
    block;

  margin-bottom:
    9px;

  font-size:
    .7rem;

  font-weight:
    700;

  letter-spacing:
    .12em;

  text-transform:
    uppercase;

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

.r2-org__item h3 {
  margin:
    0;

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

  font-size:
    clamp(1.18rem, 1.45vw, 1.55rem);

  font-weight:
    500 !important;

  line-height:
    1.18;

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

.r2-org__item p {
  margin:
    12px 0 0;

  font-size:
    .9rem;

  line-height:
    1.58;

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

/* ==========================================================
   DIVISION CHAPTERS
========================================================== */

.r2-division__layout {
  display:
    grid;

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

  gap:
    var(--r2-gap-lg);

  align-items:
    start;
}

.r2-division__content {
  grid-column:
    1 / span 7;

  min-width:
    0;
}

.r2-division__media {
  grid-column:
    9 / span 4;

  min-width:
    0;
}

.r2-division--reverse
.r2-division__content {
  grid-column:
    6 / span 7;
}

.r2-division--reverse
.r2-division__media {
  grid-column:
    1 / span 4;

  grid-row:
    1;
}

.r2-division__entity {
  margin:
    18px 0 0;

  max-width:
    62ch;

  font-size:
    .76rem;

  font-weight:
    700;

  line-height:
    1.45;

  letter-spacing:
    .075em;

  text-transform:
    uppercase;

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

.r2-division__tagline {
  margin:
    16px 0 0;

  max-width:
    58ch;

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

  font-size:
    clamp(1.15rem, 1.5vw, 1.5rem);

  line-height:
    1.42;

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

.r2-division__statement {
  margin:
    22px 0 0;

  max-width:
    68ch;

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

  line-height:
    1.68;

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

.r2-division__scope {
  margin-top:
    34px;

  padding-top:
    24px;

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

.r2-division__scope-title {
  margin:
    0 0 13px;

  font-size:
    .72rem;

  font-weight:
    700;

  line-height:
    1.35;

  letter-spacing:
    .11em;

  text-transform:
    uppercase;

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

.r2-division__focus {
  margin:
    0;

  max-width:
    72ch;

  font-size:
    .98rem;

  line-height:
    1.65;

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

/* ==========================================================
   NUMBERED CAPABILITY LIST
========================================================== */

.r2-capability-list {
  display:
    grid;

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

  column-gap:
    var(--r2-gap-md);

  margin:
    22px 0 0;

  padding:
    0;

  list-style:
    none;
}

.r2-capability-list li {
  display:
    grid;

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

  gap:
    10px;

  min-width:
    0;

  padding:
    17px 0;

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

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

  font-size:
    .93rem;

  line-height:
    1.55;
}

.r2-capability-list__number {
  font-size:
    .68rem;

  font-weight:
    700;

  letter-spacing:
    .08em;

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

.r2-division__note {
  margin:
    22px 0 0;

  padding:
    18px 0 0;

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

  max-width:
    72ch;

  font-size:
    .88rem;

  line-height:
    1.6;

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

/* ==========================================================
   DIVISION SIGNALS
========================================================== */

.r2-signals {
  display:
    grid;

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

  gap:
    0;

  margin-top:
    30px;

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

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

.r2-signal {
  min-width:
    0;

  padding:
    18px 20px 18px 0;
}

.r2-signal:nth-child(even) {
  padding-left:
    20px;

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

.r2-signal:nth-child(n+3) {
  border-top:
    1px solid var(--r2-line);
}

.r2-signal strong {
  display:
    block;

  font-size:
    .72rem;

  font-weight:
    700;

  line-height:
    1.35;

  letter-spacing:
    .08em;

  text-transform:
    uppercase;

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

.r2-signal span {
  display:
    block;

  margin-top:
    5px;

  font-size:
    .88rem;

  line-height:
    1.5;

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

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

[dir="rtl"]
.r2-who__statement {
  padding-left:
    0;

  padding-right:
    24px;

  border-left:
    0;

  border-right:
    2px solid var(--r2-gold);
}

[dir="rtl"]
.r2-statline__item {
  padding:
    26px 0 24px 28px;
}

[dir="rtl"]
.r2-statline__item +
.r2-statline__item {
  padding-left:
    0;

  padding-right:
    28px;

  border-left:
    0;

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

[dir="rtl"]
.r2-org__item:first-child {
  padding-left:
    24px;

  padding-right:
    0;
}

[dir="rtl"]
.r2-org__item:last-child {
  padding-right:
    24px;

  padding-left:
    0;
}

[dir="rtl"]
.r2-org__item +
.r2-org__item {
  border-left:
    0;

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

[dir="rtl"]
.r2-signal {
  padding:
    18px 0 18px 20px;
}

[dir="rtl"]
.r2-signal:nth-child(even) {
  padding-left:
    0;

  padding-right:
    20px;

  border-left:
    0;

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

/* Normalize historical strong inline color in governed copy. */

body.r2-profile
.r2-section strong {
  color:
    inherit !important;
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1199px) {

  .r2-anchor {
    scroll-margin-top:
      72px;
  }

  .r2-editorial-split,
  .r2-positioning__top {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(330px, .82fr);

    gap:
      var(--r2-gap-lg);
  }

  .r2-org__grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .r2-org__item {
    padding:
      26px;
  }

  .r2-org__item:first-child,
  .r2-org__item:last-child {
    padding:
      26px;
  }

  .r2-org__item:nth-child(odd) {
    padding-left:
      0;
  }

  .r2-org__item:nth-child(even) {
    border-left:
      1px solid var(--r2-line);
  }

  .r2-org__item:nth-child(n+3) {
    border-top:
      1px solid var(--r2-line);
  }

  [dir="rtl"]
  .r2-org__item {
    padding:
      26px;
  }

  [dir="rtl"]
  .r2-org__item:nth-child(odd) {
    padding-right:
      0;
  }

  [dir="rtl"]
  .r2-org__item:nth-child(even) {
    border-left:
      0;

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

  .r2-division__content {
    grid-column:
      1 / span 7;
  }

  .r2-division__media {
    grid-column:
      8 / span 5;
  }

  .r2-division--reverse
  .r2-division__content {
    grid-column:
      6 / span 7;
  }

  .r2-division--reverse
  .r2-division__media {
    grid-column:
      1 / span 5;
  }
}

/* ==========================================================
   TABLET / MOBILE COLLAPSE
========================================================== */

@media (max-width: 899px) {

  body.r2-profile
  .r2-section.section {
    padding:
      clamp(60px, 9vw, 86px)
      var(--r2-page) !important;
  }

  .r2-editorial-split,
  .r2-positioning__top,
  .r2-org__header {
    grid-template-columns:
      1fr;
  }

  .r2-editorial-split__visual,
  .r2-positioning__visual {
    margin-top:
      8px;
  }

  .r2-statline {
    grid-template-columns:
      1fr;
  }

  .r2-statline__item {
    padding:
      22px 0;
  }

  .r2-statline__item +
  .r2-statline__item {
    padding:
      22px 0;

    border-left:
      0;

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

  [dir="rtl"]
  .r2-statline__item,
  [dir="rtl"]
  .r2-statline__item +
  .r2-statline__item {
    padding:
      22px 0;

    border-right:
      0;
  }

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

    gap:
      38px;
  }

  .r2-division__content,
  .r2-division__media,
  .r2-division--reverse
  .r2-division__content,
  .r2-division--reverse
  .r2-division__media {
    grid-column:
      1;

    grid-row:
      auto;
  }

  .r2-division__content {
    order:
      1;
  }

  .r2-division__media {
    order:
      2;
  }
}

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

@media (max-width: 699px) {

  body.r2-profile
  .r2-section__title {
    max-width:
      100%;

    font-size:
      clamp(2.25rem, 11.5vw, 3.4rem) !important;

    line-height:
      1;
  }

  .r2-matrix {
    grid-template-columns:
      1fr;
  }

  .r2-matrix__item {
    grid-template-columns:
      38px minmax(0, 1fr);
  }

  .r2-org__grid {
    grid-template-columns:
      1fr;
  }

  .r2-org__item,
  .r2-org__item:first-child,
  .r2-org__item:last-child,
  .r2-org__item:nth-child(odd),
  .r2-org__item:nth-child(even) {
    padding:
      24px 0;

    border-left:
      0;

    border-right:
      0;
  }

  .r2-org__item +
  .r2-org__item {
    border-left:
      0;

    border-right:
      0;

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

  [dir="rtl"]
  .r2-org__item,
  [dir="rtl"]
  .r2-org__item:first-child,
  [dir="rtl"]
  .r2-org__item:last-child,
  [dir="rtl"]
  .r2-org__item:nth-child(odd),
  [dir="rtl"]
  .r2-org__item:nth-child(even) {
    padding:
      24px 0;

    border-left:
      0;

    border-right:
      0;
  }

  .r2-capability-list {
    grid-template-columns:
      1fr;
  }

  .r2-signals {
    grid-template-columns:
      1fr;
  }

  .r2-signal,
  .r2-signal:nth-child(even),
  [dir="rtl"]
  .r2-signal,
  [dir="rtl"]
  .r2-signal:nth-child(even) {
    padding:
      17px 0;

    border-left:
      0;

    border-right:
      0;
  }

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

  .r2-media--editorial,
  .r2-media--division,
  .r2-media--wide {
    aspect-ratio:
      4 / 3;
  }
}
