/* --- Global Reset & Base Styles --- */

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: serif;
}

body {
  position: relative;
  font-variant-numeric: lining-nums;
}

/* --- Accessibility outline --- */

*:focus-visible,
.wp-block-file__button:focus-visible,
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
    outline: solid 2px #000000!important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px #000000!important;
}

/* --- Links and Transitions --- */

a,
a:link,
a svg path,
table tbody tr,
button {
  cursor: pointer;
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, fill 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

/* --- Typography Helpers --- */

.uppercase { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }
.strikethrough { text-decoration: line-through; }

.fw-100 { font-weight: 100; }
.fw-200 { font-weight: 200; }
.fw-300 { font-weight: 300; }
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
strong, .fw-600 { font-weight: 600; }
.fw-700 { font-weight: 700; }
.fw-800 { font-weight: 800; }
.fw-900 { font-weight: 900; }

/* --- Headings Base --- */

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  clear: both;
}

/* --- Image and SVG Base --- */

img {
  display: block;
  margin: 0 auto;
}

svg {
  display: block;
  margin: 0 auto;
  vertical-align: middle;
  overflow: visible;
  transition: all 0.3s ease-in-out;
}

/* --- Utility Classes: Display & Position --- */

.display-block { display: block; }
.display-inline { display: inline; }
.display-inline-block { display: inline-block; }

.position-fixed { position: fixed; }
.position-relative { position: relative; }
.position-absolute { position: absolute; }

.overflow-hidden { overflow: hidden; }

/* --- Layout Wrappers --- */

.wrapper {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-left:1rem;
  padding-right:1rem;
}

.clearfix::after {
  content: '';
  display: block;
  clear: both;
}

.ul-no-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* --- Fade/Active Classes --- */

.fade {
  opacity: 0;
  transition: opacity 0.3s ease-in-out; /* Added transition for smooth fade */
}

.active .fade,
.fade.active {
  opacity: 1;
}

/* --- Aspect Ratio Boxes (Corrected to use modern approach/variables is an option) --- */
/* These classes create aspect ratio containers using the padding-bottom trick */

.div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
.div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
.div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
.div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
.div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
.div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
.div-4-3 { width: 100%; position: relative; aspect-ratio: 4/3; }

/* --- Image Sizing/Positioning Helpers --- */

.img-cover, .img-contain, .img-contain div {
  overflow: hidden;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.img-cover img, .img-cover video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.img-contain img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* --- Flexbox Helpers --- */

.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.flex-start { justify-content: flex-start; }
.flex-end { justify-content: flex-end; }
.flex-center { justify-content: center;}
.flex-space-between { justify-content: space-between;}
.flex-valign { align-items: center; }
.flex-stretch { align-items: stretch; }
.flex-grow-container {
  flex-wrap: wrap;
  justify-content: space-around;
}
.flex-column { flex-direction: column; }
.flex-grow-1 { flex-grow: 1; }
.flex-grow-2 { flex-grow: 2; }
.flex-grow-3 { flex-grow: 3; }
.flex-grow-4 { flex-grow: 4; }

/* --- Content Area (article/post/page) Styles --- */

.post, .page {
  margin: 0 !important;
}

article h2,
article h3,
article h4,
article h5,
article h6 {
  font-weight: 700;
}

h1 {
  font-size: 3em;
  line-height: 1.25;
}
@media screen and (max-width: 768px) { h1 { font-size: 2em; } }

h2 {
  font-size: 1.5em;
  line-height: 1;
}

article h2 { margin-top: 2em; }

h3 {
  font-size: 1.25em;
  line-height: 1.25;
}

h4,
h5 {
  font-size: 1em;
  line-height: 1.25;
}

h6 {
  font-size: 0.85em;
  line-height: 1.25;
  text-transform: uppercase;
}

article ol,
article ul {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding: 0 2em;
}

article ol li,
article ul li {
  margin-bottom: 0.5em;
}

article li ol,
article li ul {
  margin-top: 0.5em;
  margin-left: 0;
}

article ol li:last-of-type,
article ul li:last-of-type {
  margin-bottom: 0;
}

.article-content {
  display: flex;
  flex-direction: column;
  gap:2em; 
}

.article-content > * {
  margin: 0;
}

article .wp-block-embed iframe {border: none;}

/* --- Border Styles (Corrected: removed stroke-linecap for HTML borders) --- */

.border { border-style: solid; }
.border-top { border-top-style: solid; }
.border-bottom { border-bottom-style: solid; }
.border-left { border-left-style: solid; }
.border-right { border-right-style: solid; }

.border-1 { border-width: 1px; }
.border-2 { border-width: 0.125rem; }
.border-3 { border-width: 3px; }
.border-4 { border-width: 0.25rem; }
.border-5 { border-width: 0.3rem; }
.border-6 { border-width: 0.4rem; }
.border-8 { border-width: 0.5rem; }
.border-16 { border-width: 1rem; }
.border-24 { border-width: 1.5rem; }
.border-32 { border-width: 2rem; }

/* --- Border Radius Styles --- */

.border-radius-50 { border-radius: 50%; overflow: hidden; vertical-align: top; }
.border-radius-025 { border-radius: 0.25rem; overflow: hidden; vertical-align: top; }
.border-radius-05 { border-radius: 0.5rem; overflow: hidden; vertical-align: top; }
.border-radius-075 { border-radius: 0.75rem; overflow: hidden; vertical-align: top; }
.border-radius-1 { border-radius: 1rem; overflow: hidden; vertical-align: top; }
.border-radius-15 { border-radius: 1.5rem; overflow: hidden; vertical-align: top; }
.border-radius-2 { border-radius: 2rem; overflow: hidden; vertical-align: top; }
.border-radius-overflow { overflow: visible; }

/* --- Media Queries --- */

@media screen and (max-width: 1024px) {
  .border-16 { border-width: 0.5rem; }
  .border-24 { border-width: 1rem; }
  .border-32 { border-width: 1.5rem; }
}

@media screen and (max-width: 768px) {
  /* Ensure images in article content are responsive */
  article img {
	max-width: 100% !important;
	height: auto; /* Added to prevent stretching */
  }
}

.main-card-link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1; /* Makes the whole area clickable */
}

/* --- Form Elements --- */
.btn,
form input[type="submit"],
form input[type="button"] {
  box-sizing:border-box;
  transition: all 0.3s ease-in-out!important;
  cursor:pointer;
  opacity:1;
  height:auto;
  width:auto;
  background:none!important;
  border:none!important;
  -webkit-appearance:none!important;
  font-family:inherit!important;
}

form input[type="text"],
form input[type="email"],
form input[type="number"],
form input[type="tel"],
form select,
form textarea {
  -webkit-appearance:none!important;
}

/* Font Size & Line Height */
body, .fs-1 { font-size: 1em; line-height: 1.5; }
.fs-065 { font-size: 0.65em; line-height: 1.5; }
.fs-075 { font-size: 0.75em; line-height: 1.5; }
.fs-085 { font-size: 0.85em; line-height: 1.5; }
.fs-125 { font-size: 1.25em; line-height: 1.25; }
.fs-15 { font-size: 1.5em; line-height: 1.25; }
.fs-2 { font-size: 2em; line-height: 1; }
.fs-25 { font-size: 2.5em; line-height: 1; }
.fs-3 { font-size: 3em; line-height: 1; }
.fs-4 { font-size: 4em; line-height: 1; }
.fs-5 { font-size: 5em; line-height: 1; }
.fs-6 { font-size: 6em; line-height: 0.85; }
.fs-7 { font-size: 7em; line-height: 0.85; }
.fs-8 { font-size: 8em; line-height: 0.85; }
.fs-9 { font-size: 9em; line-height: 0.85; }
.fs-10 { font-size: 10em; line-height: 0.85; }

.lh-085 { line-height: 0.85; }
.lh-1 { line-height: 1; }
.lh-125 { line-height: 1.25; }
.lh-15 { line-height: 1.5; }

.ltsp-015 { letter-spacing: 0.15rem; }

/* Margin Helpers (Standardized & Cleaned) */
.m0, .mx0, .my0, .mt0, .mr0, .mb0, .ml0 { margin: 0; }
.m05, .mx05 { margin-left: .25rem; margin-right: .25rem; }
.m05, .my05 { margin-top: .25rem; margin-bottom: .25rem; }
.mt05 { margin-top: .25rem; } .mb05 { margin-bottom: .25rem; }
.ml05 { margin-left: .25rem; } .mr05 { margin-right: .25rem; }

.m1, .mx1 { margin-left: .5rem; margin-right: .5rem; }
.m1, .my1 { margin-top: .5rem; margin-bottom: .5rem; }
.mt1 { margin-top: .5rem; } .mb1 { margin-bottom: .5rem; }
.ml1 { margin-left: .5rem; } .mr1 { margin-right: .5rem; }

.m2, .mx2 { margin-left: 1rem; margin-right: 1rem; }
.m2, .my2 { margin-top: 1rem; margin-bottom: 1rem; }
.mt2 { margin-top: 1rem; } .mb2 { margin-bottom: 1rem; }
.ml2 { margin-left: 1rem; } .mr2 { margin-right: 1rem; }

.m3, .mx3 { margin-left: 2rem; margin-right: 2rem; }
.m3, .my3 { margin-top: 2rem; margin-bottom: 2rem; }
.mt3 { margin-top: 2rem; } .mb3 { margin-bottom: 2rem; }
.ml3 { margin-left: 2rem; } .mr3 { margin-right: 2rem; }

.m4, .mx4 { margin-left: 3rem; margin-right: 3rem; }
.m4, .my4 { margin-top: 3rem; margin-bottom: 3rem; }
.mt4 { margin-top: 3rem; } .mb4 { margin-bottom: 3rem; }
.ml4 { margin-left: 3rem; } .mr4 { margin-right: 3rem; }

.m5, .mx5 { margin-left: 4rem; margin-right: 4rem; }
.m5, .my5 { margin-top: 4rem; margin-bottom: 4rem; }
.mt5 { margin-top: 4rem; } .mb5 { margin-bottom: 4rem; }
.ml5 { margin-left: 4rem; } .mr5{ margin-right: 4rem; }

.m6, .mx6 { margin-left: 5rem; margin-right: 5rem; } .m6, .my6 { margin-top: 5rem; margin-bottom: 5rem; }
.m7, .mx7 { margin-left: 6rem; margin-right: 6rem; } .m7, .my7 { margin-top: 6rem; margin-bottom: 6rem; }
.m8, .mx8 { margin-left: 7rem; margin-right: 7rem; } .m8, .my8 { margin-top: 7rem; margin-bottom: 7rem; }
.m9, .mx9 { margin-left: 8rem; margin-right: 8rem; } .m9, .my9 { margin-top: 8rem; margin-bottom: 8rem; }
.m10, .mx10 { margin-left: 9rem; margin-right: 9rem; } .m10, .my10 { margin-top: 9rem; margin-bottom: 9rem; }
.m11, .mx11 { margin-left: 10rem; margin-right: 10rem; } .m11, .my11 { margin-top: 10rem; margin-bottom: 10rem; }
.m12, .mx12 { margin-left: 11rem; margin-right: 11rem; } .m12, .my12 { margin-top: 11rem; margin-bottom: 11rem; }
.m13, .mx13 { margin-left: 12rem; margin-right: 12rem; } .m13, .my13 { margin-top: 12rem; margin-bottom: 12rem; }
.m14, .mx14 { margin-left: 13rem; margin-right: 13rem; } .m14, .my14 { margin-top: 13rem; margin-bottom: 13rem; }
.m15, .mx15 { margin-left: 14rem; margin-right: 14rem; } .m15, .my15 { margin-top: 14rem; margin-bottom: 14rem; }
.m16, .mx16 { margin-left: 15rem; margin-right: 15rem; } .m16, .my16 { margin-top: 15rem; margin-bottom: 15rem; }
.m17, .mx17 { margin-left: 16rem; margin-right: 16rem; } .m17, .my17 { margin-top: 16rem; margin-bottom: 16rem; }
.m18, .mx18 { margin-left: 17rem; margin-right: 17rem; } .m18, .my18 { margin-top: 17rem; margin-bottom: 17rem; }
.m19, .mx19 { margin-left: 18rem; margin-right: 18rem; } .m19, .my19 { margin-top: 18rem; margin-bottom: 18rem; }
.m20, .mx20 { margin-left: 19rem; margin-right: 19rem; } .m20, .my20 { margin-top: 19rem; margin-bottom: 19rem; }
.m21, .mx21 { margin-left: 20rem; margin-right: 20rem; } .m21, .my21 { margin-top: 20rem; margin-bottom: 20rem; }

.mt-3 { margin-top: -2rem; } /* Negative Margin */

/* Negative Horizontal Margins */
.mx-05, .ml-05 { margin-left: -0.25rem; }
.mx-05, .mr-05 { margin-right: -0.25rem; }
.mx-1, .ml-1 { margin-left: -0.5rem; }
.mx-1, .mr-1 { margin-right: -0.5rem; }
.mx-2, .ml-2 { margin-left: -1rem; }
.mx-2, .mr-2 { margin-right: -1rem; }
.mx-3, .ml-3 { margin-left: -2rem; }
.mx-3, .mr-3 { margin-right: -2rem; }
.mx-4, .ml-4 { margin-left: -3rem; }
.mx-4, .mr-4 { margin-right: -3rem; }

/* Padding Helpers */
.p05, .px05 { padding-left: .25rem; padding-right: .25rem; }
.p05, .py05 { padding-top: .25rem; padding-bottom: .25rem; }
.pt05 { padding-top: .25rem; } .pb05 { padding-bottom: .25rem; }
.pl05 { padding-left: .25rem; } .pr05 { padding-right: .25rem; }

.p1, .px1 { padding-left: .5rem; padding-right: .5rem; }
.p1, .py1 { padding-top: .5rem; padding-bottom: .5rem; }
.pt1 { padding-top: .5rem; } .pb1 { padding-bottom: .5rem; }
.pl1 { padding-left: .5rem; } .pr1 { padding-right: .5rem; }

.p2, .px2 { padding-left: 1rem; padding-right: 1rem; }
.p2, .py2 { padding-top: 1rem; padding-bottom: 1rem; }
.pt2 { padding-top: 1rem; } .pb2 { padding-bottom: 1rem; }
.pl2 { padding-left: 1rem; } .pr2 { padding-right: 1rem; }

.p3, .px3 { padding-left: 2rem; padding-right: 2rem; }
.p3, .py3 { padding-top: 2rem; padding-bottom: 2rem; }
.pt3 { padding-top: 2rem; } .pb3 { padding-bottom: 2rem; }
.pl3 { padding-left: 2rem; } .pr3 { padding-right: 2rem; }

.p4, .px4 { padding-left: 3rem; padding-right: 3rem; }
.p4, .py4 { padding-top: 3rem; padding-bottom: 3rem; }
.pt4 { padding-top: 3rem; } .pb4 { padding-bottom: 3rem; }
.pl4 { padding-left: 3rem; } .pr4 { padding-right: 3rem; }

.p5, .px5 { padding-left: 4rem; padding-right: 4rem; }
.p5, .py5 { padding-top: 4rem; padding-bottom: 4rem; }
.pt5 { padding-top: 4rem; } .pb5 { padding-bottom: 4rem; }
.pl5 { padding-left: 4rem; } .pr5 { padding-right: 4rem; }

.p6, .px6 { padding-left: 5rem; padding-right: 5rem; }
.p6, .py6 { padding-top: 5rem; padding-bottom: 5rem; }
.pt6 { padding-top: 5rem; } .pb6 { padding-bottom: 5rem; }
.pl6 { padding-left: 5rem; } .pr6 { padding-right: 5rem; }

.p7, .px7 { padding-left: 6rem; padding-right: 6rem; } .p7, .py7 { padding-top: 6rem; padding-bottom: 6rem; }
.p8, .px8 { padding-left: 7rem; padding-right: 7rem; } .p8, .py8 { padding-top: 7rem; padding-bottom: 7rem; }
.p9, .px9 { padding-left: 8rem; padding-right: 8rem; } .p9, .py9 { padding-top: 8rem; padding-bottom: 8rem; }
.p10, .px10 { padding-left: 9rem; padding-right: 9rem; } .p10, .py10 { padding-top: 9rem; padding-bottom: 9rem; }
.p11, .px11 { padding-left: 10rem; padding-right: 10rem; } .p11, .py11 { padding-top: 10rem; padding-bottom: 10rem; }
.p12, .px12 { padding-left: 11rem; padding-right: 11rem; } .p12, .py12 { padding-top: 11rem; padding-bottom: 11rem; }
.p13, .px13 { padding-left: 12rem; padding-right: 12rem; } .p13, .py13 { padding-top: 12rem; padding-bottom: 12rem; }
.p14, .px14 { padding-left: 13rem; padding-right: 13rem; } .p14, .py14 { padding-top: 13rem; padding-bottom: 13rem; }
.p15, .px15 { padding-left: 14rem; padding-right: 14rem; } .p15, .py15 { padding-top: 14rem; padding-bottom: 14rem; }
.p16, .px16 { padding-left: 15rem; padding-right: 15rem; } .p16, .py16 { padding-top: 15rem; padding-bottom: 15rem; }
.p17, .px17 { padding-left: 16rem; padding-right: 16rem; } .p17, .py17 { padding-top: 16rem; padding-bottom: 16rem; }
.p18, .px18 { padding-left: 17rem; padding-right: 17rem; } .p18, .py18 { padding-top: 17rem; padding-bottom: 17rem; }
.p19, .px19 { padding-left: 18rem; padding-right: 18rem; } .p19, .py19 { padding-top: 18rem; padding-bottom: 18rem; }
.p20, .px20 { padding-left: 19rem; padding-right: 19rem; } .p20, .py20 { padding-top: 19rem; padding-bottom: 19rem; }
.p21, .px21 { padding-left: 20rem; padding-right: 20rem; } .p21, .py21 { padding-top: 20rem; padding-bottom: 20rem; }

/* Grid (Columns) Helpers */
.col { float: left; }
.col-right { float: right; }
.col-none { float: none; }
.col-1 { width: 8.3333333333%; } .col-2 { width: 16.6666666667%; } .col-3 { width: 25%; }
.col-4 { width: 33.3333333333%; } .col-5 { width: 41.6666666667%; } .col-6 { width: 50%; }
.col-7 { width: 58.3333333333%; } .col-8 { width: 66.6666666667%; } .col-9 { width: 75%; }
.col-10 { width: 83.3333333333%; } .col-11 { width: 91.6666666667%; } .col-12 { width: 100%; }

/* Pre/Post Column Offsets */
.pre-col-05 { margin-left: 4.1666666666%; } .pre-col-1 { margin-left: 8.3333333333%; } .pre-col-15 { margin-left: 12.5%; }
.pre-col-2 { margin-left: 16.6666666667%; } .pre-col-25 { margin-left: 20.8333333333%; } .pre-col-3 { margin-left: 25%; }
.pre-col-35 { margin-left: 29.1666666666%; } .pre-col-4 { margin-left: 33.3333333333%; } .pre-col-45 { margin-left: 37.5%; }
.pre-col-5 { margin-left: 41.6666666667%; } .pre-col-55 { margin-left: 45.8333333333%; } .pre-col-6 { margin-left: 50%; }
.pre-col-7 { margin-left: 58.3333333333%; } .pre-col-8 { margin-left: 66.6666666667%; } .pre-col-9 { margin-left: 75%; }
.pre-col-10 { margin-left: 83.3333333333%; }

.post-col-1 { margin-right: 8.3333333333%; } .post-col-2 { margin-right: 16.6666666667%; } .post-col-3 { margin-right: 25%; }
.post-col-4 { margin-right: 33.3333333333%; } .post-col-5 { margin-right: 41.6666666667%; } .post-col-6 { margin-right: 50%; }
.post-col-7 { margin-right: 58.3333333333%; } .post-col-8 { margin-right: 66.6666666667%; } .post-col-9 { margin-right: 75%; }

/* Text Alignment */
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

/* Display Resets/Base Hides */
.display-none, .r1-display, .r2-display, .r3-display, .r4-display, .r5-display {
  display: none !important;
}

/* -------------------------------------- */
/* --- r1: Max-width: 1920px (Desktop) --- */
/* -------------------------------------- */
@media screen and (max-width: 1920px) {

  body, .fs-1 { font-size: 1vw;}

  /* Margin Helpers (Corrected Aliases/Definitions) */
  .r1-m0, .r1-mx0 { margin-left: 0; margin-right: 0; }
  .r1-m0, .r1-my0 { margin-top: 0; margin-bottom: 0; }
  .r1-mt0 { margin-top: 0; } .r1-mb0 { margin-bottom: 0; }
  .r1-ml0 { margin-left: 0; } .r1-mr0 { margin-right: 0; }
  
  .r1-m1, .r1-mx1 { margin-left: .5rem; margin-right: .5rem; }
  .r1-m1, .r1-my1 { margin-top: .5rem; margin-bottom: .5rem; }
  .r1-mt1 { margin-top: .5rem; } .r1-mb1 { margin-bottom: .5rem; }
  .r1-ml1 { margin-left: .5rem; } .r1-mr1 { margin-right: .5rem; }

  .r1-m2, .r1-mx2 { margin-left: 1rem; margin-right: 1rem; }
  .r1-m2, .r1-my2 { margin-top: 1rem; margin-bottom: 1rem; }
  .r1-mt2 { margin-top: 1rem; } .r1-mb2 { margin-bottom: 1rem; }
  .r1-ml2 { margin-left: 1rem; } .r1-mr2 { margin-right: 1rem; }

  .r1-m3, .r1-mx3 { margin-left: 2rem; margin-right: 2rem; }
  .r1-m3, .r1-my3 { margin-top: 2rem; margin-bottom: 2rem; }
  .r1-mt3 { margin-top: 2rem; } .r1-mb3 { margin-bottom: 2rem; }
  .r1-ml3 { margin-left: 2rem; } .r1-mr3 { margin-right: 2rem; }
  .r1-mt-3 { margin-top: -2rem; }
  .r1-my2 { margin-top: 1rem; }

  .r1-m4, .r1-mx4 { margin-left: 3rem; margin-right: 3rem; }
  .r1-m4, .r1-my4 { margin-top: 3rem; margin-bottom: 3rem; }
  .r1-mt4 { margin-top: 3rem; } .r1-mb4 { margin-bottom: 3rem; }
  .r1-ml4 { margin-left: 3rem; } .r1-mr4 { margin-right: 3rem; }
  
  .r1-m5, .r1-mx5 { margin-left: 4rem; margin-right: 4rem; } .r1-m5, .r1-my5 { margin-top: 4rem; margin-bottom: 4rem; }
  .r1-m6, .r1-mx6 { margin-left: 5rem; margin-right: 5rem; } .r1-m6, .r1-my6 { margin-top: 5rem; margin-bottom: 5rem; }
  .r1-m7, .r1-mx7 { margin-left: 6rem; margin-right: 6rem; } .r1-m7, .r1-my7 { margin-top: 6rem; margin-bottom: 6rem; }
  .r1-m8, .r1-mx8 { margin-left: 7rem; margin-right: 7rem; } .r1-m8, .r1-my8 { margin-top: 7rem; margin-bottom: 7rem; }
  .r1-m9, .r1-mx9 { margin-left: 8rem; margin-right: 8rem; } .r1-m9, .r1-my9 { margin-top: 8rem; margin-bottom: 8rem; }
  .r1-m10, .r1-mx10 { margin-left: 9rem; margin-right: 9rem; } .r1-m10, .r1-my10 { margin-top: 9rem; margin-bottom: 9rem; }
  .r1-m11, .r1-mx11 { margin-left: 10rem; margin-right: 10rem; } .r1-m11, .r1-my11 { margin-top: 10rem; margin-bottom: 10rem; }
  .r1-m12, .r1-mx12 { margin-left: 11rem; margin-right: 11rem; } .r1-m12, .r1-my12 { margin-top: 11rem; margin-bottom: 11rem; }
  .r1-m13, .r1-mx13 { margin-left: 12rem; margin-right: 12rem; } .r1-m13, .r1-my13 { margin-top: 12rem; margin-bottom: 12rem; }
  .r1-m14, .r1-mx14 { margin-left: 13rem; margin-right: 13rem; } .r1-m14, .r1-my14 { margin-top: 13rem; margin-bottom: 13rem; }
  .r1-m15, .r1-mx15 { margin-left: 14rem; margin-right: 14rem; } .r1-m15, .r1-my15 { margin-top: 14rem; margin-bottom: 14rem; }
  .r1-m16, .r1-mx16 { margin-left: 15rem; margin-right: 15rem; } .r1-m16, .r1-my16 { margin-top: 15rem; margin-bottom: 15rem; }
  .r1-m17, .r1-mx17 { margin-left: 16rem; margin-right: 16rem; } .r1-m17, .r1-my17 { margin-top: 16rem; margin-bottom: 16rem; }
  .r1-m18, .r1-mx18 { margin-left: 17rem; margin-right: 17rem; } .r1-m18, .r1-my18 { margin-top: 17rem; margin-bottom: 17rem; }
  .r1-m19, .r1-mx19 { margin-left: 18rem; margin-right: 18rem; } .r1-m19, .r1-my19 { margin-top: 18rem; margin-bottom: 18rem; }
  .r1-m20, .r1-mx20 { margin-left: 19rem; margin-right: 19rem; } .r1-m20, .r1-my20 { margin-top: 19rem; margin-bottom: 19rem; }
  .r1-m21, .r1-mx21 { margin-left: 20rem; margin-right: 20rem; } .r1-m21, .r1-my21 { margin-top: 20rem; margin-bottom: 20rem; }

  /* Negative Horizontal Margins (r1) */
  .r1-mx-1, .r1-ml-1 { margin-left: -0.5rem; }
  .r1-mx-1, .r1-mr-1 { margin-right: -0.5rem; }
  .r1-mx-2, .r1-ml-2 { margin-left: -1rem; }
  .r1-mx-2, .r1-mr-2 { margin-right: -1rem; }
  .r1-mx-3, .r1-ml-3 { margin-left: -2rem; }
  .r1-mx-3, .r1-mr-3 { margin-right: -2rem; }
  .r1-mx-4, .r1-ml-4 { margin-left: -3rem; }
  .r1-mx-4, .r1-mr-4 { margin-right: -3rem; }

  /* Padding Helpers (r6) */
  .r1-p0, .r1-px0 { padding-left: 0; padding-right: 0; }
  .r1-p0, .r1-py0 { padding-top: 0; padding-bottom: 0; }
  .r1-pt0 { padding-top: 0; } .r1-pb0 { padding-bottom: 0; }
  .r1-pl0 { padding-left: 0; } .r1-pr0 { padding-right: 0; }
  
  .r1-p1, .r1-px1 { padding-left: .5rem; padding-right: .5rem; }
  .r1-p1, .r1-py1 { padding-top: .5rem; padding-bottom: .5rem; }
  .r1-pt1 { padding-top: .5rem; } .r1-pb1 { padding-bottom: .5rem; }
  .r1-pl1 { padding-left: .5rem; } .r1-pr1 { padding-right: .5rem; }

  /* ... (Standardization continued for p2 to p21) ... */
  .r1-p2, .r1-px2 { padding-left: 1rem; padding-right: 1rem; } .r1-p2, .r1-py2 { padding-top: 1rem; padding-bottom: 1rem; }
  .r1-pt2 { padding-top: 1rem; } .r1-pb2 { padding-bottom: 1rem; } .r1-pl2 { padding-left: 1rem; } .r1-pr2 { padding-right: 1rem; }
  .r1-p3, .r1-px3 { padding-left: 2rem; padding-right: 2rem; } .r1-p3, .r1-py3 { padding-top: 2rem; padding-bottom: 2rem; }
  .r1-pt3 { padding-top: 2rem; } .r1-pb3 { padding-bottom: 2rem; } .r1-pl3 { padding-left: 2rem; } .r1-pr3 { padding-right: 2rem; }
  .r1-p4, .r1-px4 { padding-left: 3rem; padding-right: 3rem; } .r1-p4, .r1-py4 { padding-top: 3rem; padding-bottom: 3rem; }
  .r1-pt4 { padding-top: 3rem; } .r1-pb4 { padding-bottom: 3rem; } .r1-pl4 { padding-left: 3rem; } .r1-pr4 { padding-right: 3rem; }
  .r1-p5, .r1-px5 { padding-left: 4rem; padding-right: 4rem; } .r1-p5, .r1-py5 { padding-top: 4rem; padding-bottom: 4rem; }
  .r1-pt5 { padding-top: 4rem; } .r1-pb5 { padding-bottom: 4rem; } .r1-pl5 { padding-left: 4rem; } .r1-pr5 { padding-right: 4rem; }
  .r1-p6, .r1-px6 { padding-left: 5rem; padding-right: 5rem; } .r1-p6, .r1-py6 { padding-top: 5rem; padding-bottom: 5rem; }
  .r1-pt6 { padding-top: 5rem; } .r1-pb6 { padding-bottom: 5rem; } .r1-pl6 { padding-left: 5rem; } .r1-pr6 { padding-right: 5rem; }
  .r1-p7, .r1-px7 { padding-left: 6rem; padding-right: 6rem; } .r1-p7, .r1-py7 { padding-top: 6rem; padding-bottom: 6rem; }
  .r1-pt7 { padding-top: 6rem; } .r1-pb7 { padding-bottom: 6rem; } .r1-pl7 { padding-left: 6rem; } .r1-pr7 { padding-right: 6rem; }
  .r1-p8, .r1-px8 { padding-left: 7rem; padding-right: 7rem; } .r1-p8, .r1-py8 { padding-top: 7rem; padding-bottom: 7rem; }
  .r1-pt8 { padding-top: 7rem; } .r1-pb8 { padding-bottom: 7rem; } .r1-pl8 { padding-left: 7rem; } .r1-pr8 { padding-right: 7rem; }
  .r1-p9, .r1-px9 { padding-left: 8rem; padding-right: 8rem; } .r1-p9, .r1-py9 { padding-top: 8rem; padding-bottom: 8rem; }
  .r1-pt9 { padding-top: 8rem; } .r1-pb9 { padding-bottom: 8rem; } .r1-pl9 { padding-left: 8rem; } .r1-pr9 { padding-right: 8rem; }
  .r1-p10, .r1-px10 { padding-left: 9rem; padding-right: 9rem; } .r1-p10, .r1-py10 { padding-top: 9rem; padding-bottom: 9rem; }
  .r1-pt10 { padding-top: 9rem; } .r1-pb10 { padding-bottom: 9rem; } .r1-pl10 { padding-left: 9rem; } .r1-pr10 { padding-right: 9rem; }
  .r1-p11, .r1-px11 { padding-left: 10rem; padding-right: 10rem; } .r1-p11, .r1-py11 { padding-top: 10rem; padding-bottom: 10rem; }
  .r1-pt11 { padding-top: 10rem; } .r1-pb11 { padding-bottom: 10rem; } .r1-pl11 { padding-left: 10rem; } .r1-pr11 { padding-right: 10rem; }
  .r1-p12, .r1-px12 { padding-left: 11rem; padding-right: 11rem; } .r1-p12, .r1-py12 { padding-top: 11rem; padding-bottom: 11rem; }
  .r1-pt12 { padding-top: 11rem; } .r1-pb12 { padding-bottom: 11rem; } .r1-pl12 { padding-left: 11rem; } .r1-pr12 { padding-right: 11rem; }
  .r1-p13, .r1-px13 { padding-left: 12rem; padding-right: 12rem; } .r1-p13, .r1-py13 { padding-top: 12rem; padding-bottom: 12rem; }
  .r1-pt13 { padding-top: 12rem; } .r1-pb13 { padding-bottom: 12rem; } .r1-pl13 { padding-left: 12rem; } .r1-pr13 { padding-right: 12rem; }
  .r1-p14, .r1-px14 { padding-left: 13rem; padding-right: 13rem; } .r1-p14, .r1-py14 { padding-top: 13rem; padding-bottom: 13rem; }
  .r1-pt14 { padding-top: 13rem; } .r1-pb14 { padding-bottom: 13rem; } .r1-pl14 { padding-left: 13rem; } .r1-pr14 { padding-right: 13rem; }
  .r1-p15, .r1-px15 { padding-left: 14rem; padding-right: 14rem; } .r1-p15, .r1-py15 { padding-top: 14rem; padding-bottom: 14rem; }
  .r1-pt15 { padding-top: 14rem; } .r1-pb15 { padding-bottom: 14rem; } .r1-pl15 { padding-left: 14rem; } .r1-pr15 { padding-right: 14rem; }
  .r1-p16, .r1-px16 { padding-left: 15rem; padding-right: 15rem; } .r1-p16, .r1-py16 { padding-top: 15rem; padding-bottom: 15rem; }
  .r1-pt16 { padding-top: 15rem; } .r1-pb16 { padding-bottom: 15rem; } .r1-pl16 { padding-left: 15rem; } .r1-pr16 { padding-right: 15rem; }
  .r1-p17, .r1-px17 { padding-left: 16rem; padding-right: 16rem; } .r1-p17, .r1-py17 { padding-top: 16rem; padding-bottom: 16rem; }
  .r1-pt17 { padding-top: 16rem; } .r1-pb17 { padding-bottom: 16rem; } .r1-pl17 { padding-left: 16rem; } .r1-pr17 { padding-right: 16rem; }
  .r1-p18, .r1-px18 { padding-left: 17rem; padding-right: 17rem; } .r1-p18, .r1-py18 { padding-top: 17rem; padding-bottom: 17rem; }
  .r1-pt18 { padding-top: 17rem; } .r1-pb18 { padding-bottom: 17rem; } .r1-pl18 { padding-left: 17rem; } .r1-pr18 { padding-right: 17rem; }
  .r1-p19, .r1-px19 { padding-left: 18rem; padding-right: 18rem; } .r1-p19, .r1-py19 { padding-top: 18rem; padding-bottom: 18rem; }
  .r1-pt19 { padding-top: 18rem; } .r1-pb19 { padding-bottom: 18rem; } .r1-pl19 { padding-left: 18rem; } .r1-pr19 { padding-right: 18rem; }
  .r1-p20, .r1-px20 { padding-left: 19rem; padding-right: 19rem; } .r1-p20, .r1-py20 { padding-top: 19rem; padding-bottom: 19rem; }
  .r1-pt20 { padding-top: 19rem; } .r1-pb20 { padding-bottom: 19rem; } .r1-pl20 { padding-left: 19rem; } .r1-pr20 { padding-right: 19rem; }
  .r1-p21, .r1-px21 { padding-left: 20rem; padding-right: 20rem; } .r1-p21, .r1-py21 { padding-top: 20rem; padding-bottom: 20rem; }
  .r1-pt21 { padding-top: 20rem; } .r1-pb21 { padding-bottom: 20rem; } .r1-pl21 { padding-left: 20rem; } .r1-pr21 { padding-right: 20rem; }

  /* Grid (r1) */
  .r1-col { float: left; overflow: hidden; }
  .r1-col-right { float: right; }
  .r1-col-none { float: none; }
  .r1-col-1 { width: 8.3333333333%; } .r1-col-2 { width: 16.6666666667%; } .r1-col-3 { width: 25%; }
  .r1-col-4 { width: 33.3333333333%; } .r1-col-5 { width: 41.6666666667%; } .r1-col-6 { width: 50%; }
  .r1-col-7 { width: 58.3333333333%; } .r1-col-8 { width: 66.6666666667%; } .r1-col-9 { width: 75%; }
  .r1-col-10 { width: 83.3333333333%; } .r1-col-11 { width: 91.6666666667%; } .r1-col-12 { width: 100%; }

  /* Pre/Post Column Offsets (r1) */
  .r1-pre-col-0 { margin-left: 0; } .r1-pre-col-1 { margin-left: 8.3333333333%; } .r1-pre-col-2 { margin-left: 16.6666666667%; }
  .r1-pre-col-3 { margin-left: 25%; } .r1-pre-col-4 { margin-left: 33.3333333333%; } .r1-pre-col-5 { margin-left: 41.6666666667%; }
  .r1-pre-col-6 { margin-left: 50%; } .r1-pre-col-7 { margin-left: 58.3333333333%; } .r1-pre-col-8 { margin-left: 66.6666666667%; }
  .r1-pre-col-9 { margin-left: 75%; }

  .r1-post-col-0 { margin-right: 0; } .r1-post-col-1 { margin-right: 8.3333333333%; } .r1-post-col-2 { margin-right: 16.6666666667%; }
  .r1-post-col-3 { margin-right: 25%; } .r1-post-col-4 { margin-right: 33.3333333333%; } .r1-post-col-5 { margin-right: 41.6666666667%; }
  .r1-post-col-6 { margin-right: 50%; } .r1-post-col-7 { margin-right: 58.3333333333%; } .r1-post-col-8 { margin-right: 66.6666666667%; }
  .r1-post-col-9 { margin-right: 75%; }

  /* Text Alignment (r1) */
  .r1-text-left { text-align: left; }
  .r1-text-right { text-align: right; }
  .r1-text-center { text-align: center; }

  /* Display Overrides (r1) */
  .r1-display { display: block !important; }
  .r1-display-none { display: none !important; }

  /* Aspect Ratio (r1) */
  .r1-div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
  .r1-div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
  .r1-div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
  .r1-div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
  .r1-div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
  .r1-div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
}

/* -------------------------------------- */
/* --- r2: Max-width: 1440px (Desktop) --- */
/* -------------------------------------- */
@media screen and (max-width: 1440px) {
  
  body, .fs-1 { font-size: 1.25vw;}

  /* Margin Helpers (Corrected Aliases/Definitions) */
  .r2-m0, .r2-mx0 { margin-left: 0; margin-right: 0; }
  .r2-m0, .r2-my0 { margin-top: 0; margin-bottom: 0; }
  .r2-mt0 { margin-top: 0; } .r2-mb0 { margin-bottom: 0; }
  .r2-ml0 { margin-left: 0; } .r2-mr0 { margin-right: 0; }
  
  .r2-m1, .r2-mx1 { margin-left: .5rem; margin-right: .5rem; }
  .r2-m1, .r2-my1 { margin-top: .5rem; margin-bottom: .5rem; }
  .r2-mt1 { margin-top: .5rem; } .r2-mb1 { margin-bottom: .5rem; }
  .r2-ml1 { margin-left: .5rem; } .r2-mr1 { margin-right: .5rem; }

  .r2-m2, .r2-mx2 { margin-left: 1rem; margin-right: 1rem; }
  .r2-m2, .r2-my2 { margin-top: 1rem; margin-bottom: 1rem; }
  .r2-mt2 { margin-top: 1rem; } .r2-mb2 { margin-bottom: 1rem; }
  .r2-ml2 { margin-left: 1rem; } .r2-mr2 { margin-right: 1rem; }

  .r2-m3, .r2-mx3 { margin-left: 2rem; margin-right: 2rem; }
  .r2-m3, .r2-my3 { margin-top: 2rem; margin-bottom: 2rem; }
  .r2-mt3 { margin-top: 2rem; } .r2-mb3 { margin-bottom: 2rem; }
  .r2-ml3 { margin-left: 2rem; } .r2-mr3 { margin-right: 2rem; }
  .r2-mt-3 { margin-top: -2rem; }
  .r2-my2 { margin-top: 1rem; }

  .r2-m4, .r2-mx4 { margin-left: 3rem; margin-right: 3rem; }
  .r2-m4, .r2-my4 { margin-top: 3rem; margin-bottom: 3rem; }
  .r2-mt4 { margin-top: 3rem; } .r2-mb4 { margin-bottom: 3rem; }
  .r2-ml4 { margin-left: 3rem; } .r2-mr4 { margin-right: 3rem; }
  
  .r2-m5, .r2-mx5 { margin-left: 4rem; margin-right: 4rem; } .r2-m5, .r2-my5 { margin-top: 4rem; margin-bottom: 4rem; }
  .r2-m6, .r2-mx6 { margin-left: 5rem; margin-right: 5rem; } .r2-m6, .r2-my6 { margin-top: 5rem; margin-bottom: 5rem; }
  .r2-m7, .r2-mx7 { margin-left: 6rem; margin-right: 6rem; } .r2-m7, .r2-my7 { margin-top: 6rem; margin-bottom: 6rem; }
  .r2-m8, .r2-mx8 { margin-left: 7rem; margin-right: 7rem; } .r2-m8, .r2-my8 { margin-top: 7rem; margin-bottom: 7rem; }
  .r2-m9, .r2-mx9 { margin-left: 8rem; margin-right: 8rem; } .r2-m9, .r2-my9 { margin-top: 8rem; margin-bottom: 8rem; }
  .r2-m10, .r2-mx10 { margin-left: 9rem; margin-right: 9rem; } .r2-m10, .r2-my10 { margin-top: 9rem; margin-bottom: 9rem; }
  .r2-m11, .r2-mx11 { margin-left: 10rem; margin-right: 10rem; } .r2-m11, .r2-my11 { margin-top: 10rem; margin-bottom: 10rem; }
  .r2-m12, .r2-mx12 { margin-left: 11rem; margin-right: 11rem; } .r2-m12, .r2-my12 { margin-top: 11rem; margin-bottom: 11rem; }
  .r2-m13, .r2-mx13 { margin-left: 12rem; margin-right: 12rem; } .r2-m13, .r2-my13 { margin-top: 12rem; margin-bottom: 12rem; }
  .r2-m14, .r2-mx14 { margin-left: 13rem; margin-right: 13rem; } .r2-m14, .r2-my14 { margin-top: 13rem; margin-bottom: 13rem; }
  .r2-m15, .r2-mx15 { margin-left: 14rem; margin-right: 14rem; } .r2-m15, .r2-my15 { margin-top: 14rem; margin-bottom: 14rem; }
  .r2-m16, .r2-mx16 { margin-left: 15rem; margin-right: 15rem; } .r2-m16, .r2-my16 { margin-top: 15rem; margin-bottom: 15rem; }
  .r2-m17, .r2-mx17 { margin-left: 16rem; margin-right: 16rem; } .r2-m17, .r2-my17 { margin-top: 16rem; margin-bottom: 16rem; }
  .r2-m18, .r2-mx18 { margin-left: 17rem; margin-right: 17rem; } .r2-m18, .r2-my18 { margin-top: 17rem; margin-bottom: 17rem; }
  .r2-m19, .r2-mx19 { margin-left: 18rem; margin-right: 18rem; } .r2-m19, .r2-my19 { margin-top: 18rem; margin-bottom: 18rem; }
  .r2-m20, .r2-mx20 { margin-left: 19rem; margin-right: 19rem; } .r2-m20, .r2-my20 { margin-top: 19rem; margin-bottom: 19rem; }
  .r2-m21, .r2-mx21 { margin-left: 20rem; margin-right: 20rem; } .r2-m21, .r2-my21 { margin-top: 20rem; margin-bottom: 20rem; }

  /* Negative Horizontal Margins (r2) */
  .r2-mx-1, .r2-ml-1 { margin-left: -0.5rem; }
  .r2-mx-1, .r2-mr-1 { margin-right: -0.5rem; }
  .r2-mx-2, .r2-ml-2 { margin-left: -1rem; }
  .r2-mx-2, .r2-mr-2 { margin-right: -1rem; }
  .r2-mx-3, .r2-ml-3 { margin-left: -2rem; }
  .r2-mx-3, .r2-mr-3 { margin-right: -2rem; }
  .r2-mx-4, .r2-ml-4 { margin-left: -3rem; }
  .r2-mx-4, .r2-mr-4 { margin-right: -3rem; }

  /* Padding Helpers (r6) */
  .r2-p0, .r2-px0 { padding-left: 0; padding-right: 0; }
  .r2-p0, .r2-py0 { padding-top: 0; padding-bottom: 0; }
  .r2-pt0 { padding-top: 0; } .r2-pb0 { padding-bottom: 0; }
  .r2-pl0 { padding-left: 0; } .r2-pr0 { padding-right: 0; }
  
  .r2-p1, .r2-px1 { padding-left: .5rem; padding-right: .5rem; }
  .r2-p1, .r2-py1 { padding-top: .5rem; padding-bottom: .5rem; }
  .r2-pt1 { padding-top: .5rem; } .r2-pb1 { padding-bottom: .5rem; }
  .r2-pl1 { padding-left: .5rem; } .r2-pr1 { padding-right: .5rem; }

  /* ... (Standardization continued for p2 to p21) ... */
  .r2-p2, .r2-px2 { padding-left: 1rem; padding-right: 1rem; } .r2-p2, .r2-py2 { padding-top: 1rem; padding-bottom: 1rem; }
  .r2-pt2 { padding-top: 1rem; } .r2-pb2 { padding-bottom: 1rem; } .r2-pl2 { padding-left: 1rem; } .r2-pr2 { padding-right: 1rem; }
  .r2-p3, .r2-px3 { padding-left: 2rem; padding-right: 2rem; } .r2-p3, .r2-py3 { padding-top: 2rem; padding-bottom: 2rem; }
  .r2-pt3 { padding-top: 2rem; } .r2-pb3 { padding-bottom: 2rem; } .r2-pl3 { padding-left: 2rem; } .r2-pr3 { padding-right: 2rem; }
  .r2-p4, .r2-px4 { padding-left: 3rem; padding-right: 3rem; } .r2-p4, .r2-py4 { padding-top: 3rem; padding-bottom: 3rem; }
  .r2-pt4 { padding-top: 3rem; } .r2-pb4 { padding-bottom: 3rem; } .r2-pl4 { padding-left: 3rem; } .r2-pr4 { padding-right: 3rem; }
  .r2-p5, .r2-px5 { padding-left: 4rem; padding-right: 4rem; } .r2-p5, .r2-py5 { padding-top: 4rem; padding-bottom: 4rem; }
  .r2-pt5 { padding-top: 4rem; } .r2-pb5 { padding-bottom: 4rem; } .r2-pl5 { padding-left: 4rem; } .r2-pr5 { padding-right: 4rem; }
  .r2-p6, .r2-px6 { padding-left: 5rem; padding-right: 5rem; } .r2-p6, .r2-py6 { padding-top: 5rem; padding-bottom: 5rem; }
  .r2-pt6 { padding-top: 5rem; } .r2-pb6 { padding-bottom: 5rem; } .r2-pl6 { padding-left: 5rem; } .r2-pr6 { padding-right: 5rem; }
  .r2-p7, .r2-px7 { padding-left: 6rem; padding-right: 6rem; } .r2-p7, .r2-py7 { padding-top: 6rem; padding-bottom: 6rem; }
  .r2-pt7 { padding-top: 6rem; } .r2-pb7 { padding-bottom: 6rem; } .r2-pl7 { padding-left: 6rem; } .r2-pr7 { padding-right: 6rem; }
  .r2-p8, .r2-px8 { padding-left: 7rem; padding-right: 7rem; } .r2-p8, .r2-py8 { padding-top: 7rem; padding-bottom: 7rem; }
  .r2-pt8 { padding-top: 7rem; } .r2-pb8 { padding-bottom: 7rem; } .r2-pl8 { padding-left: 7rem; } .r2-pr8 { padding-right: 7rem; }
  .r2-p9, .r2-px9 { padding-left: 8rem; padding-right: 8rem; } .r2-p9, .r2-py9 { padding-top: 8rem; padding-bottom: 8rem; }
  .r2-pt9 { padding-top: 8rem; } .r2-pb9 { padding-bottom: 8rem; } .r2-pl9 { padding-left: 8rem; } .r2-pr9 { padding-right: 8rem; }
  .r2-p10, .r2-px10 { padding-left: 9rem; padding-right: 9rem; } .r2-p10, .r2-py10 { padding-top: 9rem; padding-bottom: 9rem; }
  .r2-pt10 { padding-top: 9rem; } .r2-pb10 { padding-bottom: 9rem; } .r2-pl10 { padding-left: 9rem; } .r2-pr10 { padding-right: 9rem; }
  .r2-p11, .r2-px11 { padding-left: 10rem; padding-right: 10rem; } .r2-p11, .r2-py11 { padding-top: 10rem; padding-bottom: 10rem; }
  .r2-pt11 { padding-top: 10rem; } .r2-pb11 { padding-bottom: 10rem; } .r2-pl11 { padding-left: 10rem; } .r2-pr11 { padding-right: 10rem; }
  .r2-p12, .r2-px12 { padding-left: 11rem; padding-right: 11rem; } .r2-p12, .r2-py12 { padding-top: 11rem; padding-bottom: 11rem; }
  .r2-pt12 { padding-top: 11rem; } .r2-pb12 { padding-bottom: 11rem; } .r2-pl12 { padding-left: 11rem; } .r2-pr12 { padding-right: 11rem; }
  .r2-p13, .r2-px13 { padding-left: 12rem; padding-right: 12rem; } .r2-p13, .r2-py13 { padding-top: 12rem; padding-bottom: 12rem; }
  .r2-pt13 { padding-top: 12rem; } .r2-pb13 { padding-bottom: 12rem; } .r2-pl13 { padding-left: 12rem; } .r2-pr13 { padding-right: 12rem; }
  .r2-p14, .r2-px14 { padding-left: 13rem; padding-right: 13rem; } .r2-p14, .r2-py14 { padding-top: 13rem; padding-bottom: 13rem; }
  .r2-pt14 { padding-top: 13rem; } .r2-pb14 { padding-bottom: 13rem; } .r2-pl14 { padding-left: 13rem; } .r2-pr14 { padding-right: 13rem; }
  .r2-p15, .r2-px15 { padding-left: 14rem; padding-right: 14rem; } .r2-p15, .r2-py15 { padding-top: 14rem; padding-bottom: 14rem; }
  .r2-pt15 { padding-top: 14rem; } .r2-pb15 { padding-bottom: 14rem; } .r2-pl15 { padding-left: 14rem; } .r2-pr15 { padding-right: 14rem; }
  .r2-p16, .r2-px16 { padding-left: 15rem; padding-right: 15rem; } .r2-p16, .r2-py16 { padding-top: 15rem; padding-bottom: 15rem; }
  .r2-pt16 { padding-top: 15rem; } .r2-pb16 { padding-bottom: 15rem; } .r2-pl16 { padding-left: 15rem; } .r2-pr16 { padding-right: 15rem; }
  .r2-p17, .r2-px17 { padding-left: 16rem; padding-right: 16rem; } .r2-p17, .r2-py17 { padding-top: 16rem; padding-bottom: 16rem; }
  .r2-pt17 { padding-top: 16rem; } .r2-pb17 { padding-bottom: 16rem; } .r2-pl17 { padding-left: 16rem; } .r2-pr17 { padding-right: 16rem; }
  .r2-p18, .r2-px18 { padding-left: 17rem; padding-right: 17rem; } .r2-p18, .r2-py18 { padding-top: 17rem; padding-bottom: 17rem; }
  .r2-pt18 { padding-top: 17rem; } .r2-pb18 { padding-bottom: 17rem; } .r2-pl18 { padding-left: 17rem; } .r2-pr18 { padding-right: 17rem; }
  .r2-p19, .r2-px19 { padding-left: 18rem; padding-right: 18rem; } .r2-p19, .r2-py19 { padding-top: 18rem; padding-bottom: 18rem; }
  .r2-pt19 { padding-top: 18rem; } .r2-pb19 { padding-bottom: 18rem; } .r2-pl19 { padding-left: 18rem; } .r2-pr19 { padding-right: 18rem; }
  .r2-p20, .r2-px20 { padding-left: 19rem; padding-right: 19rem; } .r2-p20, .r2-py20 { padding-top: 19rem; padding-bottom: 19rem; }
  .r2-pt20 { padding-top: 19rem; } .r2-pb20 { padding-bottom: 19rem; } .r2-pl20 { padding-left: 19rem; } .r2-pr20 { padding-right: 19rem; }
  .r2-p21, .r2-px21 { padding-left: 20rem; padding-right: 20rem; } .r2-p21, .r2-py21 { padding-top: 20rem; padding-bottom: 20rem; }
  .r2-pt21 { padding-top: 20rem; } .r2-pb21 { padding-bottom: 20rem; } .r2-pl21 { padding-left: 20rem; } .r2-pr21 { padding-right: 20rem; }

  /* Grid (r2) */
  .r2-col { float: left; overflow: hidden; }
  .r2-col-right { float: right; }
  .r2-col-none { float: none; }
  .r2-col-1 { width: 8.3333333333%; } .r2-col-2 { width: 16.6666666667%; } .r2-col-3 { width: 25%; }
  .r2-col-4 { width: 33.3333333333%; } .r2-col-5 { width: 41.6666666667%; } .r2-col-6 { width: 50%; }
  .r2-col-7 { width: 58.3333333333%; } .r2-col-8 { width: 66.6666666667%; } .r2-col-9 { width: 75%; }
  .r2-col-10 { width: 83.3333333333%; } .r2-col-11 { width: 91.6666666667%; } .r2-col-12 { width: 100%; }

  /* Pre/Post Column Offsets (r2) */
  .r2-pre-col-0 { margin-left: 0; } .r2-pre-col-1 { margin-left: 8.3333333333%; } .r2-pre-col-2 { margin-left: 16.6666666667%; }
  .r2-pre-col-3 { margin-left: 25%; } .r2-pre-col-4 { margin-left: 33.3333333333%; } .r2-pre-col-5 { margin-left: 41.6666666667%; }
  .r2-pre-col-6 { margin-left: 50%; } .r2-pre-col-7 { margin-left: 58.3333333333%; } .r2-pre-col-8 { margin-left: 66.6666666667%; }
  .r2-pre-col-9 { margin-left: 75%; }

  .r2-post-col-0 { margin-right: 0; } .r2-post-col-1 { margin-right: 8.3333333333%; } .r2-post-col-2 { margin-right: 16.6666666667%; }
  .r2-post-col-3 { margin-right: 25%; } .r2-post-col-4 { margin-right: 33.3333333333%; } .r2-post-col-5 { margin-right: 41.6666666667%; }
  .r2-post-col-6 { margin-right: 50%; } .r2-post-col-7 { margin-right: 58.3333333333%; } .r2-post-col-8 { margin-right: 66.6666666667%; }
  .r2-post-col-9 { margin-right: 75%; }

  /* Text Alignment (r2) */
  .r2-text-left { text-align: left; }
  .r2-text-right { text-align: right; }
  .r2-text-center { text-align: center; }

  /* Display Overrides (r2) */
  .r2-display { display: block !important; }
  .r2-display-none { display: none !important; }

  /* Aspect Ratio (r2) */
  .r2-div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
  .r2-div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
  .r2-div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
  .r2-div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
  .r2-div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
  .r2-div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
}

/* -------------------------------------- */
/* --- r3: Max-width: 1280px (Desktop) --- */
/* -------------------------------------- */
@media screen and (max-width: 1280px) {
  
  body, .fs-1 { font-size: 1.25vw;}

  /* Margin Helpers (Corrected Aliases/Definitions) */
  .r3-m0, .r3-mx0 { margin-left: 0; margin-right: 0; }
  .r3-m0, .r3-my0 { margin-top: 0; margin-bottom: 0; }
  .r3-mt0 { margin-top: 0; } .r3-mb0 { margin-bottom: 0; }
  .r3-ml0 { margin-left: 0; } .r3-mr0 { margin-right: 0; }
  
  .r3-m1, .r3-mx1 { margin-left: .5rem; margin-right: .5rem; }
  .r3-m1, .r3-my1 { margin-top: .5rem; margin-bottom: .5rem; }
  .r3-mt1 { margin-top: .5rem; } .r3-mb1 { margin-bottom: .5rem; }
  .r3-ml1 { margin-left: .5rem; } .r3-mr1 { margin-right: .5rem; }

  .r3-m2, .r3-mx2 { margin-left: 1rem; margin-right: 1rem; }
  .r3-m2, .r3-my2 { margin-top: 1rem; margin-bottom: 1rem; }
  .r3-mt2 { margin-top: 1rem; } .r3-mb2 { margin-bottom: 1rem; }
  .r3-ml2 { margin-left: 1rem; } .r3-mr2 { margin-right: 1rem; }

  .r3-m3, .r3-mx3 { margin-left: 2rem; margin-right: 2rem; }
  .r3-m3, .r3-my3 { margin-top: 2rem; margin-bottom: 2rem; }
  .r3-mt3 { margin-top: 2rem; } .r3-mb3 { margin-bottom: 2rem; }
  .r3-ml3 { margin-left: 2rem; } .r3-mr3 { margin-right: 2rem; }
  .r3-mt-3 { margin-top: -2rem; }
  .r3-my2 { margin-top: 1rem; }

  .r3-m4, .r3-mx4 { margin-left: 3rem; margin-right: 3rem; }
  .r3-m4, .r3-my4 { margin-top: 3rem; margin-bottom: 3rem; }
  .r3-mt4 { margin-top: 3rem; } .r3-mb4 { margin-bottom: 3rem; }
  .r3-ml4 { margin-left: 3rem; } .r3-mr4 { margin-right: 3rem; }
  
  .r3-m5, .r3-mx5 { margin-left: 4rem; margin-right: 4rem; } .r3-m5, .r3-my5 { margin-top: 4rem; margin-bottom: 4rem; }
  .r3-m6, .r3-mx6 { margin-left: 5rem; margin-right: 5rem; } .r3-m6, .r3-my6 { margin-top: 5rem; margin-bottom: 5rem; }
  .r3-m7, .r3-mx7 { margin-left: 6rem; margin-right: 6rem; } .r3-m7, .r3-my7 { margin-top: 6rem; margin-bottom: 6rem; }
  .r3-m8, .r3-mx8 { margin-left: 7rem; margin-right: 7rem; } .r3-m8, .r3-my8 { margin-top: 7rem; margin-bottom: 7rem; }
  .r3-m9, .r3-mx9 { margin-left: 8rem; margin-right: 8rem; } .r3-m9, .r3-my9 { margin-top: 8rem; margin-bottom: 8rem; }
  .r3-m10, .r3-mx10 { margin-left: 9rem; margin-right: 9rem; } .r3-m10, .r3-my10 { margin-top: 9rem; margin-bottom: 9rem; }
  .r3-m11, .r3-mx11 { margin-left: 10rem; margin-right: 10rem; } .r3-m11, .r3-my11 { margin-top: 10rem; margin-bottom: 10rem; }
  .r3-m12, .r3-mx12 { margin-left: 11rem; margin-right: 11rem; } .r3-m12, .r3-my12 { margin-top: 11rem; margin-bottom: 11rem; }
  .r3-m13, .r3-mx13 { margin-left: 12rem; margin-right: 12rem; } .r3-m13, .r3-my13 { margin-top: 12rem; margin-bottom: 12rem; }
  .r3-m14, .r3-mx14 { margin-left: 13rem; margin-right: 13rem; } .r3-m14, .r3-my14 { margin-top: 13rem; margin-bottom: 13rem; }
  .r3-m15, .r3-mx15 { margin-left: 14rem; margin-right: 14rem; } .r3-m15, .r3-my15 { margin-top: 14rem; margin-bottom: 14rem; }
  .r3-m16, .r3-mx16 { margin-left: 15rem; margin-right: 15rem; } .r3-m16, .r3-my16 { margin-top: 15rem; margin-bottom: 15rem; }
  .r3-m17, .r3-mx17 { margin-left: 16rem; margin-right: 16rem; } .r3-m17, .r3-my17 { margin-top: 16rem; margin-bottom: 16rem; }
  .r3-m18, .r3-mx18 { margin-left: 17rem; margin-right: 17rem; } .r3-m18, .r3-my18 { margin-top: 17rem; margin-bottom: 17rem; }
  .r3-m19, .r3-mx19 { margin-left: 18rem; margin-right: 18rem; } .r3-m19, .r3-my19 { margin-top: 18rem; margin-bottom: 18rem; }
  .r3-m20, .r3-mx20 { margin-left: 19rem; margin-right: 19rem; } .r3-m20, .r3-my20 { margin-top: 19rem; margin-bottom: 19rem; }
  .r3-m21, .r3-mx21 { margin-left: 20rem; margin-right: 20rem; } .r3-m21, .r3-my21 { margin-top: 20rem; margin-bottom: 20rem; }

  /* Negative Horizontal Margins (r3) */
  .r3-mx-1, .r3-ml-1 { margin-left: -0.5rem; }
  .r3-mx-1, .r3-mr-1 { margin-right: -0.5rem; }
  .r3-mx-2, .r3-ml-2 { margin-left: -1rem; }
  .r3-mx-2, .r3-mr-2 { margin-right: -1rem; }
  .r3-mx-3, .r3-ml-3 { margin-left: -2rem; }
  .r3-mx-3, .r3-mr-3 { margin-right: -2rem; }
  .r3-mx-4, .r3-ml-4 { margin-left: -3rem; }
  .r3-mx-4, .r3-mr-4 { margin-right: -3rem; }

  /* Padding Helpers (r6) */
  .r3-p0, .r3-px0 { padding-left: 0; padding-right: 0; }
  .r3-p0, .r3-py0 { padding-top: 0; padding-bottom: 0; }
  .r3-pt0 { padding-top: 0; } .r3-pb0 { padding-bottom: 0; }
  .r3-pl0 { padding-left: 0; } .r3-pr0 { padding-right: 0; }
  
  .r3-p1, .r3-px1 { padding-left: .5rem; padding-right: .5rem; }
  .r3-p1, .r3-py1 { padding-top: .5rem; padding-bottom: .5rem; }
  .r3-pt1 { padding-top: .5rem; } .r3-pb1 { padding-bottom: .5rem; }
  .r3-pl1 { padding-left: .5rem; } .r3-pr1 { padding-right: .5rem; }

  /* ... (Standardization continued for p2 to p21) ... */
  .r3-p2, .r3-px2 { padding-left: 1rem; padding-right: 1rem; } .r3-p2, .r3-py2 { padding-top: 1rem; padding-bottom: 1rem; }
  .r3-pt2 { padding-top: 1rem; } .r3-pb2 { padding-bottom: 1rem; } .r3-pl2 { padding-left: 1rem; } .r3-pr2 { padding-right: 1rem; }
  .r3-p3, .r3-px3 { padding-left: 2rem; padding-right: 2rem; } .r3-p3, .r3-py3 { padding-top: 2rem; padding-bottom: 2rem; }
  .r3-pt3 { padding-top: 2rem; } .r3-pb3 { padding-bottom: 2rem; } .r3-pl3 { padding-left: 2rem; } .r3-pr3 { padding-right: 2rem; }
  .r3-p4, .r3-px4 { padding-left: 3rem; padding-right: 3rem; } .r3-p4, .r3-py4 { padding-top: 3rem; padding-bottom: 3rem; }
  .r3-pt4 { padding-top: 3rem; } .r3-pb4 { padding-bottom: 3rem; } .r3-pl4 { padding-left: 3rem; } .r3-pr4 { padding-right: 3rem; }
  .r3-p5, .r3-px5 { padding-left: 4rem; padding-right: 4rem; } .r3-p5, .r3-py5 { padding-top: 4rem; padding-bottom: 4rem; }
  .r3-pt5 { padding-top: 4rem; } .r3-pb5 { padding-bottom: 4rem; } .r3-pl5 { padding-left: 4rem; } .r3-pr5 { padding-right: 4rem; }
  .r3-p6, .r3-px6 { padding-left: 5rem; padding-right: 5rem; } .r3-p6, .r3-py6 { padding-top: 5rem; padding-bottom: 5rem; }
  .r3-pt6 { padding-top: 5rem; } .r3-pb6 { padding-bottom: 5rem; } .r3-pl6 { padding-left: 5rem; } .r3-pr6 { padding-right: 5rem; }
  .r3-p7, .r3-px7 { padding-left: 6rem; padding-right: 6rem; } .r3-p7, .r3-py7 { padding-top: 6rem; padding-bottom: 6rem; }
  .r3-pt7 { padding-top: 6rem; } .r3-pb7 { padding-bottom: 6rem; } .r3-pl7 { padding-left: 6rem; } .r3-pr7 { padding-right: 6rem; }
  .r3-p8, .r3-px8 { padding-left: 7rem; padding-right: 7rem; } .r3-p8, .r3-py8 { padding-top: 7rem; padding-bottom: 7rem; }
  .r3-pt8 { padding-top: 7rem; } .r3-pb8 { padding-bottom: 7rem; } .r3-pl8 { padding-left: 7rem; } .r3-pr8 { padding-right: 7rem; }
  .r3-p9, .r3-px9 { padding-left: 8rem; padding-right: 8rem; } .r3-p9, .r3-py9 { padding-top: 8rem; padding-bottom: 8rem; }
  .r3-pt9 { padding-top: 8rem; } .r3-pb9 { padding-bottom: 8rem; } .r3-pl9 { padding-left: 8rem; } .r3-pr9 { padding-right: 8rem; }
  .r3-p10, .r3-px10 { padding-left: 9rem; padding-right: 9rem; } .r3-p10, .r3-py10 { padding-top: 9rem; padding-bottom: 9rem; }
  .r3-pt10 { padding-top: 9rem; } .r3-pb10 { padding-bottom: 9rem; } .r3-pl10 { padding-left: 9rem; } .r3-pr30 { padding-right: 9rem; }
  .r3-p11, .r3-px11 { padding-left: 10rem; padding-right: 10rem; } .r3-p11, .r3-py11 { padding-top: 10rem; padding-bottom: 10rem; }
  .r3-pt11 { padding-top: 10rem; } .r3-pb11 { padding-bottom: 10rem; } .r3-pl11 { padding-left: 10rem; } .r3-pr31 { padding-right: 10rem; }
  .r3-p12, .r3-px12 { padding-left: 11rem; padding-right: 11rem; } .r3-p12, .r3-py12 { padding-top: 11rem; padding-bottom: 11rem; }
  .r3-pt12 { padding-top: 11rem; } .r3-pb12 { padding-bottom: 11rem; } .r3-pl12 { padding-left: 11rem; } .r3-pr32 { padding-right: 11rem; }
  .r3-p13, .r3-px13 { padding-left: 12rem; padding-right: 12rem; } .r3-p13, .r3-py13 { padding-top: 12rem; padding-bottom: 12rem; }
  .r3-pt13 { padding-top: 12rem; } .r3-pb13 { padding-bottom: 12rem; } .r3-pl13 { padding-left: 12rem; } .r3-pr33 { padding-right: 12rem; }
  .r3-p14, .r3-px14 { padding-left: 13rem; padding-right: 13rem; } .r3-p14, .r3-py14 { padding-top: 13rem; padding-bottom: 13rem; }
  .r3-pt14 { padding-top: 13rem; } .r3-pb14 { padding-bottom: 13rem; } .r3-pl14 { padding-left: 13rem; } .r3-pr34 { padding-right: 13rem; }
  .r3-p15, .r3-px15 { padding-left: 14rem; padding-right: 14rem; } .r3-p15, .r3-py15 { padding-top: 14rem; padding-bottom: 14rem; }
  .r3-pt15 { padding-top: 14rem; } .r3-pb15 { padding-bottom: 14rem; } .r3-pl15 { padding-left: 14rem; } .r3-pr35 { padding-right: 14rem; }
  .r3-p16, .r3-px16 { padding-left: 15rem; padding-right: 15rem; } .r3-p16, .r3-py16 { padding-top: 15rem; padding-bottom: 15rem; }
  .r3-pt16 { padding-top: 15rem; } .r3-pb16 { padding-bottom: 15rem; } .r3-pl16 { padding-left: 15rem; } .r3-pr36 { padding-right: 15rem; }
  .r3-p17, .r3-px17 { padding-left: 16rem; padding-right: 16rem; } .r3-p17, .r3-py17 { padding-top: 16rem; padding-bottom: 16rem; }
  .r3-pt17 { padding-top: 16rem; } .r3-pb17 { padding-bottom: 16rem; } .r3-pl17 { padding-left: 16rem; } .r3-pr37 { padding-right: 16rem; }
  .r3-p18, .r3-px18 { padding-left: 17rem; padding-right: 17rem; } .r3-p18, .r3-py18 { padding-top: 17rem; padding-bottom: 17rem; }
  .r3-pt18 { padding-top: 17rem; } .r3-pb18 { padding-bottom: 17rem; } .r3-pl18 { padding-left: 17rem; } .r3-pr38 { padding-right: 17rem; }
  .r3-p19, .r3-px19 { padding-left: 18rem; padding-right: 18rem; } .r3-p19, .r3-py19 { padding-top: 18rem; padding-bottom: 18rem; }
  .r3-pt19 { padding-top: 18rem; } .r3-pb19 { padding-bottom: 18rem; } .r3-pl19 { padding-left: 18rem; } .r3-pr39 { padding-right: 18rem; }
  .r3-p20, .r3-px20 { padding-left: 19rem; padding-right: 19rem; } .r3-p20, .r3-py20 { padding-top: 19rem; padding-bottom: 19rem; }
  .r3-pt20 { padding-top: 19rem; } .r3-pb20 { padding-bottom: 19rem; } .r3-pl20 { padding-left: 19rem; } .r3-pr30 { padding-right: 19rem; }
  .r3-p21, .r3-px21 { padding-left: 20rem; padding-right: 20rem; } .r3-p21, .r3-py21 { padding-top: 20rem; padding-bottom: 20rem; }
  .r3-pt21 { padding-top: 20rem; } .r3-pb21 { padding-bottom: 20rem; } .r3-pl21 { padding-left: 20rem; } .r3-pr31 { padding-right: 20rem; }

  /* Grid (r3) */
  .r3-col { float: left; overflow: hidden; }
  .r3-col-right { float: right; }
  .r3-col-none { float: none; }
  .r3-col-1 { width: 8.3333333333%; } .r3-col-2 { width: 16.6666666667%; } .r3-col-3 { width: 25%; }
  .r3-col-4 { width: 33.3333333333%; } .r3-col-5 { width: 41.6666666667%; } .r3-col-6 { width: 50%; }
  .r3-col-7 { width: 58.3333333333%; } .r3-col-8 { width: 66.6666666667%; } .r3-col-9 { width: 75%; }
  .r3-col-10 { width: 83.3333333333%; } .r3-col-11 { width: 91.6666666667%; } .r3-col-12 { width: 100%; }

  /* Pre/Post Column Offsets (r3) */
  .r3-pre-col-0 { margin-left: 0; } .r3-pre-col-1 { margin-left: 8.3333333333%; } .r3-pre-col-2 { margin-left: 16.6666666667%; }
  .r3-pre-col-3 { margin-left: 25%; } .r3-pre-col-4 { margin-left: 33.3333333333%; } .r3-pre-col-5 { margin-left: 41.6666666667%; }
  .r3-pre-col-6 { margin-left: 50%; } .r3-pre-col-7 { margin-left: 58.3333333333%; } .r3-pre-col-8 { margin-left: 66.6666666667%; }
  .r3-pre-col-9 { margin-left: 75%; }

  .r3-post-col-0 { margin-right: 0; } .r3-post-col-1 { margin-right: 8.3333333333%; } .r3-post-col-2 { margin-right: 16.6666666667%; }
  .r3-post-col-3 { margin-right: 25%; } .r3-post-col-4 { margin-right: 33.3333333333%; } .r3-post-col-5 { margin-right: 41.6666666667%; }
  .r3-post-col-6 { margin-right: 50%; } .r3-post-col-7 { margin-right: 58.3333333333%; } .r3-post-col-8 { margin-right: 66.6666666667%; }
  .r3-post-col-9 { margin-right: 75%; }

  /* Text Alignment (r3) */
  .r3-text-left { text-align: left; }
  .r3-text-right { text-align: right; }
  .r3-text-center { text-align: center; }

  /* Display Overrides (r3) */
  .r3-display { display: block !important; }
  .r3-display-none { display: none !important; }

  /* Aspect Ratio (r3) */
  .r3-div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
  .r3-div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
  .r3-div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
  .r3-div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
  .r3-div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
  .r3-div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
  
  .r3-border-radius-1 { border-radius: 1rem; overflow: hidden; vertical-align: top; }
}

/* -------------------------------------- */
/* --- r4: Max-width: 1024px (Desktop) --- */
/* -------------------------------------- */
@media screen and (max-width: 1024px) {
  
  body, .fs-1 { font-size: 1.5vw;}
  .fs-065 { font-size: 0.65em; }
  .fs-075 { font-size: 0.75em; }
  .fs-085 { font-size: 0.85em; }
  .fs-125 { font-size: 1.25em; }
  .fs-15 { font-size: 1.5em; }
  .fs-2 { font-size: 2em; }
  .fs-25 { font-size: 2.5em; }
  .fs-3 { font-size: 3em; }
  .fs-4 { font-size: 4em; }
  .fs-5 { font-size: 5em; }
  .fs-6 { font-size: 6em; }
  .fs-7 { font-size: 7em; }
  .fs-8 { font-size: 8em; }
  .fs-9 { font-size: 9em; }
  .fs-10 { font-size: 10em; }
  
  .r4-fs-1 { font-size: 1em; }
  .r4-fs-2 { font-size: 2em; }

  /* Margin Helpers (Corrected Aliases/Definitions) */
  .r4-m0, .r4-mx0 { margin-left: 0; margin-right: 0; }
  .r4-m0, .r4-my0 { margin-top: 0; margin-bottom: 0; }
  .r4-mt0 { margin-top: 0; } .r4-mb0 { margin-bottom: 0; }
  .r4-ml0 { margin-left: 0; } .r4-mr0 { margin-right: 0; }
  
  .r4-m1, .r4-mx1 { margin-left: .5rem; margin-right: .5rem; }
  .r4-m1, .r4-my1 { margin-top: .5rem; margin-bottom: .5rem; }
  .r4-mt1 { margin-top: .5rem; } .r4-mb1 { margin-bottom: .5rem; }
  .r4-ml1 { margin-left: .5rem; } .r4-mr1 { margin-right: .5rem; }

  .r4-m2, .r4-mx2 { margin-left: 1rem; margin-right: 1rem; }
  .r4-m2, .r4-my2 { margin-top: 1rem; margin-bottom: 1rem; }
  .r4-mt2 { margin-top: 1rem; } .r4-mb2 { margin-bottom: 1rem; }
  .r4-ml2 { margin-left: 1rem; } .r4-mr2 { margin-right: 1rem; }

  .r4-m3, .r4-mx3 { margin-left: 2rem; margin-right: 2rem; }
  .r4-m3, .r4-my3 { margin-top: 2rem; margin-bottom: 2rem; }
  .r4-mt3 { margin-top: 2rem; } .r4-mb3 { margin-bottom: 2rem; }
  .r4-ml3 { margin-left: 2rem; } .r4-mr3 { margin-right: 2rem; }
  .r4-mt-3 { margin-top: -2rem; }
  .r4-my2 { margin-top: 1rem; }

  .r4-m4, .r4-mx4 { margin-left: 3rem; margin-right: 3rem; }
  .r4-m4, .r4-my4 { margin-top: 3rem; margin-bottom: 3rem; }
  .r4-mt4 { margin-top: 3rem; } .r4-mb4 { margin-bottom: 3rem; }
  .r4-ml4 { margin-left: 3rem; } .r4-mr4 { margin-right: 3rem; }
  
  .r4-m5, .r4-mx5 { margin-left: 4rem; margin-right: 4rem; } .r4-m5, .r4-my5 { margin-top: 4rem; margin-bottom: 4rem; }
  .r4-m6, .r4-mx6 { margin-left: 5rem; margin-right: 5rem; } .r4-m6, .r4-my6 { margin-top: 5rem; margin-bottom: 5rem; }
  .r4-m7, .r4-mx7 { margin-left: 6rem; margin-right: 6rem; } .r4-m7, .r4-my7 { margin-top: 6rem; margin-bottom: 6rem; }
  .r4-m8, .r4-mx8 { margin-left: 7rem; margin-right: 7rem; } .r4-m8, .r4-my8 { margin-top: 7rem; margin-bottom: 7rem; }
  .r4-m9, .r4-mx9 { margin-left: 8rem; margin-right: 8rem; } .r4-m9, .r4-my9 { margin-top: 8rem; margin-bottom: 8rem; }
  .r4-m10, .r4-mx10 { margin-left: 9rem; margin-right: 9rem; } .r4-m10, .r4-my10 { margin-top: 9rem; margin-bottom: 9rem; }
  .r4-m11, .r4-mx11 { margin-left: 10rem; margin-right: 10rem; } .r4-m11, .r4-my11 { margin-top: 10rem; margin-bottom: 10rem; }
  .r4-m12, .r4-mx12 { margin-left: 11rem; margin-right: 11rem; } .r4-m12, .r4-my12 { margin-top: 11rem; margin-bottom: 11rem; }
  .r4-m13, .r4-mx13 { margin-left: 12rem; margin-right: 12rem; } .r4-m13, .r4-my13 { margin-top: 12rem; margin-bottom: 12rem; }
  .r4-m14, .r4-mx14 { margin-left: 13rem; margin-right: 13rem; } .r4-m14, .r4-my14 { margin-top: 13rem; margin-bottom: 13rem; }
  .r4-m15, .r4-mx15 { margin-left: 14rem; margin-right: 14rem; } .r4-m15, .r4-my15 { margin-top: 14rem; margin-bottom: 14rem; }
  .r4-m16, .r4-mx16 { margin-left: 15rem; margin-right: 15rem; } .r4-m16, .r4-my16 { margin-top: 15rem; margin-bottom: 15rem; }
  .r4-m17, .r4-mx17 { margin-left: 16rem; margin-right: 16rem; } .r4-m17, .r4-my17 { margin-top: 16rem; margin-bottom: 16rem; }
  .r4-m18, .r4-mx18 { margin-left: 17rem; margin-right: 17rem; } .r4-m18, .r4-my18 { margin-top: 17rem; margin-bottom: 17rem; }
  .r4-m19, .r4-mx19 { margin-left: 18rem; margin-right: 18rem; } .r4-m19, .r4-my19 { margin-top: 18rem; margin-bottom: 18rem; }
  .r4-m20, .r4-mx20 { margin-left: 19rem; margin-right: 19rem; } .r4-m20, .r4-my20 { margin-top: 19rem; margin-bottom: 19rem; }
  .r4-m21, .r4-mx21 { margin-left: 20rem; margin-right: 20rem; } .r4-m21, .r4-my21 { margin-top: 20rem; margin-bottom: 20rem; }

  /* Negative Horizontal Margins (r4) */
  .r4-mx-1, .r4-ml-1 { margin-left: -0.5rem; }
  .r4-mx-1, .r4-mr-1 { margin-right: -0.5rem; }
  .r4-mx-2, .r4-ml-2 { margin-left: -1rem; }
  .r4-mx-2, .r4-mr-2 { margin-right: -1rem; }
  .r4-mx-3, .r4-ml-3 { margin-left: -2rem; }
  .r4-mx-3, .r4-mr-3 { margin-right: -2rem; }
  .r4-mx-4, .r4-ml-4 { margin-left: -3rem; }
  .r4-mx-4, .r4-mr-4 { margin-right: -3rem; }

  /* Padding Helpers (r6) */
  .r1-p0, .r4-px0 { padding-left: 0; padding-right: 0; }
  .r4-p0, .r4-py0 { padding-top: 0; padding-bottom: 0; }
  .r4-pt0 { padding-top: 0; } .r4-pb0 { padding-bottom: 0; }
  .r4-pl0 { padding-left: 0; } .r4-pr0 { padding-right: 0; }
  
  .r4-p1, .r4-px1 { padding-left: .5rem; padding-right: .5rem; }
  .r4-p1, .r4-py1 { padding-top: .5rem; padding-bottom: .5rem; }
  .r4-pt1 { padding-top: .5rem; } .r4-pb1 { padding-bottom: .5rem; }
  .r4-pl1 { padding-left: .5rem; } .r4-pr1 { padding-right: .5rem; }

  /* ... (Standardization continued for p2 to p21) ... */
  .r4-p2, .r4-px2 { padding-left: 1rem; padding-right: 1rem; } .r4-p2, .r4-py2 { padding-top: 1rem; padding-bottom: 1rem; }
  .r4-pt2 { padding-top: 1rem; } .r4-pb2 { padding-bottom: 1rem; } .r4-pl2 { padding-left: 1rem; } .r4-pr2 { padding-right: 1rem; }
  .r4-p3, .r4-px3 { padding-left: 2rem; padding-right: 2rem; } .r4-p3, .r4-py3 { padding-top: 2rem; padding-bottom: 2rem; }
  .r4-pt3 { padding-top: 2rem; } .r4-pb3 { padding-bottom: 2rem; } .r4-pl3 { padding-left: 2rem; } .r4-pr3 { padding-right: 2rem; }
  .r4-p4, .r4-px4 { padding-left: 3rem; padding-right: 3rem; } .r4-p4, .r4-py4 { padding-top: 3rem; padding-bottom: 3rem; }
  .r4-pt4 { padding-top: 3rem; } .r4-pb4 { padding-bottom: 3rem; } .r4-pl4 { padding-left: 3rem; } .r4-pr4 { padding-right: 3rem; }
  .r4-p5, .r4-px5 { padding-left: 4rem; padding-right: 4rem; } .r4-p5, .r4-py5 { padding-top: 4rem; padding-bottom: 4rem; }
  .r4-pt5 { padding-top: 4rem; } .r4-pb5 { padding-bottom: 4rem; } .r4-pl5 { padding-left: 4rem; } .r4-pr5 { padding-right: 4rem; }
  .r4-p6, .r4-px6 { padding-left: 5rem; padding-right: 5rem; } .r4-p6, .r4-py6 { padding-top: 5rem; padding-bottom: 5rem; }
  .r4-pt6 { padding-top: 5rem; } .r4-pb6 { padding-bottom: 5rem; } .r4-pl6 { padding-left: 5rem; } .r4-pr6 { padding-right: 5rem; }
  .r4-p7, .r4-px7 { padding-left: 6rem; padding-right: 6rem; } .r4-p7, .r4-py7 { padding-top: 6rem; padding-bottom: 6rem; }
  .r4-pt7 { padding-top: 6rem; } .r4-pb7 { padding-bottom: 6rem; } .r4-pl7 { padding-left: 6rem; } .r4-pr7 { padding-right: 6rem; }
  .r4-p8, .r4-px8 { padding-left: 7rem; padding-right: 7rem; } .r4-p8, .r4-py8 { padding-top: 7rem; padding-bottom: 7rem; }
  .r4-pt8 { padding-top: 7rem; } .r4-pb8 { padding-bottom: 7rem; } .r4-pl8 { padding-left: 7rem; } .r4-pr8 { padding-right: 7rem; }
  .r4-p9, .r4-px9 { padding-left: 8rem; padding-right: 8rem; } .r4-p9, .r4-py9 { padding-top: 8rem; padding-bottom: 8rem; }
  .r4-pt9 { padding-top: 8rem; } .r4-pb9 { padding-bottom: 8rem; } .r4-pl9 { padding-left: 8rem; } .r4-pr9 { padding-right: 8rem; }
  .r4-p10, .r4-px10 { padding-left: 9rem; padding-right: 9rem; } .r4-p10, .r4-py10 { padding-top: 9rem; padding-bottom: 9rem; }
  .r4-pt10 { padding-top: 9rem; } .r4-pb10 { padding-bottom: 9rem; } .r4-pl10 { padding-left: 9rem; } .r4-pr40 { padding-right: 9rem; }
  .r4-p11, .r4-px11 { padding-left: 10rem; padding-right: 10rem; } .r4-p11, .r4-py11 { padding-top: 10rem; padding-bottom: 10rem; }
  .r4-pt11 { padding-top: 10rem; } .r4-pb11 { padding-bottom: 10rem; } .r4-pl11 { padding-left: 10rem; } .r4-pr41 { padding-right: 10rem; }
  .r4-p12, .r4-px12 { padding-left: 11rem; padding-right: 11rem; } .r4-p12, .r4-py12 { padding-top: 11rem; padding-bottom: 11rem; }
  .r4-pt12 { padding-top: 11rem; } .r4-pb12 { padding-bottom: 11rem; } .r4-pl12 { padding-left: 11rem; } .r4-pr42 { padding-right: 11rem; }
  .r4-p13, .r4-px13 { padding-left: 12rem; padding-right: 12rem; } .r4-p13, .r4-py13 { padding-top: 12rem; padding-bottom: 12rem; }
  .r4-pt13 { padding-top: 12rem; } .r4-pb13 { padding-bottom: 12rem; } .r4-pl13 { padding-left: 12rem; } .r4-pr43 { padding-right: 12rem; }
  .r4-p14, .r4-px14 { padding-left: 13rem; padding-right: 13rem; } .r4-p14, .r4-py14 { padding-top: 13rem; padding-bottom: 13rem; }
  .r4-pt14 { padding-top: 13rem; } .r4-pb14 { padding-bottom: 13rem; } .r4-pl14 { padding-left: 13rem; } .r4-pr44 { padding-right: 13rem; }
  .r4-p15, .r4-px15 { padding-left: 14rem; padding-right: 14rem; } .r4-p15, .r4-py15 { padding-top: 14rem; padding-bottom: 14rem; }
  .r4-pt15 { padding-top: 14rem; } .r4-pb15 { padding-bottom: 14rem; } .r4-pl15 { padding-left: 14rem; } .r4-pr45 { padding-right: 14rem; }
  .r4-p16, .r4-px16 { padding-left: 15rem; padding-right: 15rem; } .r4-p16, .r4-py16 { padding-top: 15rem; padding-bottom: 15rem; }
  .r4-pt16 { padding-top: 15rem; } .r4-pb16 { padding-bottom: 15rem; } .r4-pl16 { padding-left: 15rem; } .r4-pr46 { padding-right: 15rem; }
  .r4-p17, .r4-px17 { padding-left: 16rem; padding-right: 16rem; } .r4-p17, .r4-py17 { padding-top: 16rem; padding-bottom: 16rem; }
  .r4-pt17 { padding-top: 16rem; } .r4-pb17 { padding-bottom: 16rem; } .r4-pl17 { padding-left: 16rem; } .r4-pr47 { padding-right: 16rem; }
  .r4-p18, .r4-px18 { padding-left: 17rem; padding-right: 17rem; } .r4-p18, .r4-py18 { padding-top: 17rem; padding-bottom: 17rem; }
  .r4-pt18 { padding-top: 17rem; } .r4-pb18 { padding-bottom: 17rem; } .r4-pl18 { padding-left: 17rem; } .r4-pr48 { padding-right: 17rem; }
  .r4-p19, .r4-px19 { padding-left: 18rem; padding-right: 18rem; } .r4-p19, .r4-py19 { padding-top: 18rem; padding-bottom: 18rem; }
  .r4-pt19 { padding-top: 18rem; } .r4-pb19 { padding-bottom: 18rem; } .r4-pl19 { padding-left: 18rem; } .r4-pr49 { padding-right: 18rem; }
  .r4-p20, .r4-px20 { padding-left: 19rem; padding-right: 19rem; } .r4-p20, .r4-py20 { padding-top: 19rem; padding-bottom: 19rem; }
  .r4-pt20 { padding-top: 19rem; } .r4-pb20 { padding-bottom: 19rem; } .r4-pl20 { padding-left: 19rem; } .r4-pr40 { padding-right: 19rem; }
  .r4-p21, .r4-px21 { padding-left: 20rem; padding-right: 20rem; } .r4-p21, .r4-py21 { padding-top: 20rem; padding-bottom: 20rem; }
  .r4-pt21 { padding-top: 20rem; } .r4-pb21 { padding-bottom: 20rem; } .r4-pl21 { padding-left: 20rem; } .r4-pr41 { padding-right: 20rem; }

  /* Grid (r4) */
  .r4-col { float: left; overflow: hidden; }
  .r4-col-right { float: right; }
  .r4-col-none { float: none; }
  .r4-col-1 { width: 8.3333333333%; } .r4-col-2 { width: 16.6666666667%; } .r4-col-3 { width: 25%; }
  .r4-col-4 { width: 33.3333333333%; } .r4-col-5 { width: 41.6666666667%; } .r4-col-6 { width: 50%; }
  .r4-col-7 { width: 58.3333333333%; } .r4-col-8 { width: 66.6666666667%; } .r4-col-9 { width: 75%; }
  .r4-col-10 { width: 83.3333333333%; } .r4-col-11 { width: 91.6666666667%; } .r4-col-12 { width: 100%; }

  /* Pre/Post Column Offsets (r4) */
  .r4-pre-col-0 { margin-left: 0; } .r4-pre-col-1 { margin-left: 8.3333333333%; } .r4-pre-col-2 { margin-left: 16.6666666667%; }
  .r4-pre-col-3 { margin-left: 25%; } .r4-pre-col-4 { margin-left: 33.3333333333%; } .r4-pre-col-5 { margin-left: 41.6666666667%; }
  .r4-pre-col-6 { margin-left: 50%; } .r4-pre-col-7 { margin-left: 58.3333333333%; } .r4-pre-col-8 { margin-left: 66.6666666667%; }
  .r4-pre-col-9 { margin-left: 75%; }

  .r4-post-col-0 { margin-right: 0; } .r4-post-col-1 { margin-right: 8.3333333333%; } .r4-post-col-2 { margin-right: 16.6666666667%; }
  .r4-post-col-3 { margin-right: 25%; } .r4-post-col-4 { margin-right: 33.3333333333%; } .r4-post-col-5 { margin-right: 41.6666666667%; }
  .r4-post-col-6 { margin-right: 50%; } .r4-post-col-7 { margin-right: 58.3333333333%; } .r4-post-col-8 { margin-right: 66.6666666667%; }
  .r4-post-col-9 { margin-right: 75%; }

  /* Text Alignment (r4) */
  .r4-text-left { text-align: left; }
  .r4-text-right { text-align: right; }
  .r4-text-center { text-align: center; }

  /* Display Overrides (r4) */
  .r4-display { display: block !important; }
  .r4-display-inline { display: inline !important; }
  .r4-display-none { display: none !important; }

  /* Aspect Ratio (r4) */
  .r4-div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
  .r4-div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
  .r4-div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
  .r4-div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
  .r4-div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
  .r4-div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
}

/* -------------------------------------- */
/* --- r5: Max-width: 768px (Desktop) --- */
/* -------------------------------------- */
@media screen and (max-width: 768px) {
  
  body, .fs-1 { font-size: .85em;}
  .r5-fs-1 { font-size: 1em;}
  .r5-fs-125 { font-size: 1.25em; }

  /* Margin Helpers (Corrected Aliases/Definitions) */
  .r5-m0, .r5-mx0 { margin-left: 0; margin-right: 0; }
  .r5-m0, .r5-my0 { margin-top: 0; margin-bottom: 0; }
  .r5-mt0 { margin-top: 0; } .r5-mb0 { margin-bottom: 0; }
  .r5-ml0 { margin-left: 0; } .r5-mr0 { margin-right: 0; }
  
  .r5-m1, .r5-mx1 { margin-left: .5rem; margin-right: .5rem; }
  .r5-m1, .r5-my1 { margin-top: .5rem; margin-bottom: .5rem; }
  .r5-mt1 { margin-top: .5rem; } .r5-mb1 { margin-bottom: .5rem; }
  .r5-ml1 { margin-left: .5rem; } .r5-mr1 { margin-right: .5rem; }
  
  .r5-m2, .r5-mx2 { margin-left: 1rem; margin-right: 1rem; }
  .r5-m2, .r5-my2 { margin-top: 1rem; margin-bottom: 1rem; }
  .r5-mt2 { margin-top: 1rem; } .r5-mb2 { margin-bottom: 1rem; }
  .r5-ml2 { margin-left: 1rem; } .r5-mr2 { margin-right: 1rem; }
  
  .r5-m3, .r5-mx3 { margin-left: 2rem; margin-right: 2rem; }
  .r5-m3, .r5-my3 { margin-top: 2rem; margin-bottom: 2rem; }
  .r5-mt3 { margin-top: 2rem; } .r5-mb3 { margin-bottom: 2rem; }
  .r5-ml3 { margin-left: 2rem; } .r5-mr3 { margin-right: 2rem; }
  .r5-mt-3 { margin-top: -2rem; }
  .r5-my2 { margin-top: 1rem; }
  
  .r5-m4, .r5-mx4 { margin-left: 3rem; margin-right: 3rem; }
  .r5-m4, .r5-my4 { margin-top: 3rem; margin-bottom: 3rem; }
  .r5-mt4 { margin-top: 3rem; } .r5-mb4 { margin-bottom: 3rem; }
  .r5-ml4 { margin-left: 3rem; } .r5-mr6 { margin-right: 3rem; }
  
  .r5-m5, .r5-mx5 { margin-left: 4rem; margin-right: 4rem; } .r5-m5, .r5-my5 { margin-top: 4rem; margin-bottom: 4rem; }
  .r5-m6, .r5-mx6 { margin-left: 5rem; margin-right: 5rem; } .r5-m6, .r5-my6 { margin-top: 5rem; margin-bottom: 5rem; }
  .r5-m7, .r5-mx7 { margin-left: 6rem; margin-right: 6rem; } .r5-m7, .r5-my7 { margin-top: 6rem; margin-bottom: 6rem; }
  .r5-m8, .r5-mx8 { margin-left: 7rem; margin-right: 7rem; } .r5-m8, .r5-my8 { margin-top: 7rem; margin-bottom: 7rem; }
  .r5-m9, .r5-mx9 { margin-left: 8rem; margin-right: 8rem; } .r5-m9, .r5-my9 { margin-top: 8rem; margin-bottom: 8rem; }
  .r5-m10, .r5-mx10 { margin-left: 9rem; margin-right: 9rem; } .r5-m10, .r5-my10 { margin-top: 9rem; margin-bottom: 9rem; }
  .r5-m11, .r5-mx11 { margin-left: 10rem; margin-right: 10rem; } .r5-m11, .r5-my11 { margin-top: 10rem; margin-bottom: 10rem; }
  .r5-m12, .r5-mx12 { margin-left: 11rem; margin-right: 11rem; } .r5-m12, .r5-my12 { margin-top: 11rem; margin-bottom: 11rem; }
  .r5-m13, .r5-mx13 { margin-left: 12rem; margin-right: 12rem; } .r5-m13, .r5-my13 { margin-top: 12rem; margin-bottom: 12rem; }
  .r5-m14, .r5-mx14 { margin-left: 13rem; margin-right: 13rem; } .r5-m14, .r5-my14 { margin-top: 13rem; margin-bottom: 13rem; }
  .r5-m15, .r5-mx15 { margin-left: 14rem; margin-right: 14rem; } .r5-m15, .r5-my15 { margin-top: 14rem; margin-bottom: 14rem; }
  .r5-m16, .r5-mx16 { margin-left: 15rem; margin-right: 15rem; } .r5-m16, .r5-my16 { margin-top: 15rem; margin-bottom: 15rem; }
  .r5-m17, .r5-mx17 { margin-left: 16rem; margin-right: 16rem; } .r5-m17, .r5-my17 { margin-top: 16rem; margin-bottom: 16rem; }
  .r5-m18, .r5-mx18 { margin-left: 17rem; margin-right: 17rem; } .r5-m18, .r5-my18 { margin-top: 17rem; margin-bottom: 17rem; }
  .r5-m19, .r5-mx19 { margin-left: 18rem; margin-right: 18rem; } .r5-m19, .r5-my19 { margin-top: 18rem; margin-bottom: 18rem; }
  .r5-m20, .r5-mx20 { margin-left: 19rem; margin-right: 19rem; } .r5-m20, .r5-my20 { margin-top: 19rem; margin-bottom: 19rem; }
  .r5-m21, .r5-mx21 { margin-left: 20rem; margin-right: 20rem; } .r5-m21, .r5-my21 { margin-top: 20rem; margin-bottom: 20rem; }
  
  /* Negative Horizontal Margins (r6) */
  .r5-mx-1, .r5-ml-1 { margin-left: -0.5rem; }
  .r5-mx-1, .r5-mr-1 { margin-right: -0.5rem; }
  .r5-mx-2, .r5-ml-2 { margin-left: -1rem; }
  .r5-mx-2, .r5-mr-2 { margin-right: -1rem; }
  .r5-mx-3, .r5-ml-3 { margin-left: -2rem; }
  .r5-mx-3, .r5-mr-3 { margin-right: -2rem; }
  .r5-mx-4, .r5-ml-4 { margin-left: -3rem; }
  .r5-mx-4, .r5-mr-4 { margin-right: -3rem; }
  
  /* Padding Helpers (r6) */
  .r5-p0, .r5-px0 { padding-left: 0; padding-right: 0; }
  .r5-p0, .r5-py0 { padding-top: 0; padding-bottom: 0; }
  .r5-pt0 { padding-top: 0; } .r5-pb0 { padding-bottom: 0; }
  .r5-pl0 { padding-left: 0; } .r5-pr0 { padding-right: 0; }
  
  .r5-p1, .r5-px1 { padding-left: .5rem; padding-right: .5rem; }
  .r5-p1, .r5-py1 { padding-top: .5rem; padding-bottom: .5rem; }
  .r5-pt1 { padding-top: .5rem; } .r5-pb1 { padding-bottom: .5rem; }
  .r5-pl1 { padding-left: .5rem; } .r5-pr1 { padding-right: .5rem; }

  /* ... (Standardization continued for p2 to p21) ... */
  .r5-p2, .r5-px2 { padding-left: 1rem; padding-right: 1rem; } .r5-p2, .r5-py2 { padding-top: 1rem; padding-bottom: 1rem; }
  .r5-pt2 { padding-top: 1rem; } .r5-pb2 { padding-bottom: 1rem; } .r5-pl2 { padding-left: 1rem; } .r5-pr2 { padding-right: 1rem; }
  .r5-p3, .r5-px3 { padding-left: 2rem; padding-right: 2rem; } .r5-p3, .r5-py3 { padding-top: 2rem; padding-bottom: 2rem; }
  .r5-pt3 { padding-top: 2rem; } .r5-pb3 { padding-bottom: 2rem; } .r5-pl3 { padding-left: 2rem; } .r5-pr3 { padding-right: 2rem; }
  .r5-p4, .r5-px4 { padding-left: 3rem; padding-right: 3rem; } .r5-p4, .r5-py4 { padding-top: 3rem; padding-bottom: 3rem; }
  .r5-pt4 { padding-top: 3rem; } .r5-pb4 { padding-bottom: 3rem; } .r5-pl4 { padding-left: 3rem; } .r5-pr4 { padding-right: 3rem; }
  .r5-p5, .r5-px5 { padding-left: 4rem; padding-right: 4rem; } .r5-p5, .r5-py5 { padding-top: 4rem; padding-bottom: 4rem; }
  .r5-pt5 { padding-top: 4rem; } .r5-pb5 { padding-bottom: 4rem; } .r5-pl5 { padding-left: 4rem; } .r5-pr5 { padding-right: 4rem; }
  .r5-p6, .r5-px6 { padding-left: 5rem; padding-right: 5rem; } .r5-p6, .r5-py6 { padding-top: 5rem; padding-bottom: 5rem; }
  .r5-pt6 { padding-top: 5rem; } .r5-pb6 { padding-bottom: 5rem; } .r5-pl6 { padding-left: 5rem; } .r5-pr6 { padding-right: 5rem; }
  .r5-p7, .r5-px7 { padding-left: 6rem; padding-right: 6rem; } .r5-p7, .r5-py7 { padding-top: 6rem; padding-bottom: 6rem; }
  .r5-pt7 { padding-top: 6rem; } .r5-pb7 { padding-bottom: 6rem; } .r5-pl7 { padding-left: 6rem; } .r5-pr7 { padding-right: 6rem; }
  .r5-p8, .r5-px8 { padding-left: 7rem; padding-right: 7rem; } .r5-p8, .r5-py8 { padding-top: 7rem; padding-bottom: 7rem; }
  .r5-pt8 { padding-top: 7rem; } .r5-pb8 { padding-bottom: 7rem; } .r5-pl8 { padding-left: 7rem; } .r5-pr8 { padding-right: 7rem; }
  .r5-p9, .r5-px9 { padding-left: 8rem; padding-right: 8rem; } .r5-p9, .r5-py9 { padding-top: 8rem; padding-bottom: 8rem; }
  .r5-pt9 { padding-top: 8rem; } .r5-pb9 { padding-bottom: 8rem; } .r5-pl9 { padding-left: 8rem; } .r5-pr9 { padding-right: 8rem; }
  .r5-p10, .r5-px10 { padding-left: 9rem; padding-right: 9rem; } .r5-p10, .r5-py10 { padding-top: 9rem; padding-bottom: 9rem; }
  .r5-pt10 { padding-top: 9rem; } .r5-pb10 { padding-bottom: 9rem; } .r5-pl10 { padding-left: 9rem; } .r5-pr50 { padding-right: 9rem; }
  .r5-p11, .r5-px11 { padding-left: 10rem; padding-right: 10rem; } .r5-p11, .r5-py11 { padding-top: 10rem; padding-bottom: 10rem; }
  .r5-pt11 { padding-top: 10rem; } .r5-pb11 { padding-bottom: 10rem; } .r5-pl11 { padding-left: 10rem; } .r5-pr51 { padding-right: 10rem; }
  .r5-p12, .r5-px12 { padding-left: 11rem; padding-right: 11rem; } .r5-p12, .r5-py12 { padding-top: 11rem; padding-bottom: 11rem; }
  .r5-pt12 { padding-top: 11rem; } .r5-pb12 { padding-bottom: 11rem; } .r5-pl12 { padding-left: 11rem; } .r5-pr52 { padding-right: 11rem; }
  .r5-p13, .r5-px13 { padding-left: 12rem; padding-right: 12rem; } .r5-p13, .r5-py13 { padding-top: 12rem; padding-bottom: 12rem; }
  .r5-pt13 { padding-top: 12rem; } .r5-pb13 { padding-bottom: 12rem; } .r5-pl13 { padding-left: 12rem; } .r5-pr53 { padding-right: 12rem; }
  .r5-p14, .r5-px14 { padding-left: 13rem; padding-right: 13rem; } .r5-p14, .r5-py14 { padding-top: 13rem; padding-bottom: 13rem; }
  .r5-pt14 { padding-top: 13rem; } .r5-pb14 { padding-bottom: 13rem; } .r5-pl14 { padding-left: 13rem; } .r5-pr54 { padding-right: 13rem; }
  .r5-p15, .r5-px15 { padding-left: 14rem; padding-right: 14rem; } .r5-p15, .r5-py15 { padding-top: 14rem; padding-bottom: 14rem; }
  .r5-pt15 { padding-top: 14rem; } .r5-pb15 { padding-bottom: 14rem; } .r5-pl15 { padding-left: 14rem; } .r5-pr55 { padding-right: 14rem; }
  .r5-p16, .r5-px16 { padding-left: 15rem; padding-right: 15rem; } .r5-p16, .r5-py16 { padding-top: 15rem; padding-bottom: 15rem; }
  .r5-pt16 { padding-top: 15rem; } .r5-pb16 { padding-bottom: 15rem; } .r5-pl16 { padding-left: 15rem; } .r5-pr56 { padding-right: 15rem; }
  .r5-p17, .r5-px17 { padding-left: 16rem; padding-right: 16rem; } .r5-p17, .r5-py17 { padding-top: 16rem; padding-bottom: 16rem; }
  .r5-pt17 { padding-top: 16rem; } .r5-pb17 { padding-bottom: 16rem; } .r5-pl17 { padding-left: 16rem; } .r5-pr57 { padding-right: 16rem; }
  .r5-p18, .r5-px18 { padding-left: 17rem; padding-right: 17rem; } .r5-p18, .r5-py18 { padding-top: 17rem; padding-bottom: 17rem; }
  .r5-pt18 { padding-top: 17rem; } .r5-pb18 { padding-bottom: 17rem; } .r5-pl18 { padding-left: 17rem; } .r5-pr58 { padding-right: 17rem; }
  .r5-p19, .r5-px19 { padding-left: 18rem; padding-right: 18rem; } .r5-p19, .r5-py19 { padding-top: 18rem; padding-bottom: 18rem; }
  .r5-pt19 { padding-top: 18rem; } .r5-pb19 { padding-bottom: 18rem; } .r5-pl19 { padding-left: 18rem; } .r5-pr59 { padding-right: 18rem; }
  .r5-p20, .r5-px20 { padding-left: 19rem; padding-right: 19rem; } .r5-p20, .r5-py20 { padding-top: 19rem; padding-bottom: 19rem; }
  .r5-pt20 { padding-top: 19rem; } .r5-pb20 { padding-bottom: 19rem; } .r5-pl20 { padding-left: 19rem; } .r5-pr50 { padding-right: 19rem; }
  .r5-p21, .r5-px21 { padding-left: 20rem; padding-right: 20rem; } .r5-p21, .r5-py21 { padding-top: 20rem; padding-bottom: 20rem; }
  .r5-pt21 { padding-top: 20rem; } .r5-pb21 { padding-bottom: 20rem; } .r5-pl21 { padding-left: 20rem; } .r5-pr51 { padding-right: 20rem; }

  /* Grid (r5) */
  .r5-col { float: left; overflow: hidden; }
  .r5-col-right { float: right; }
  .r5-col-none { float: none; }
  .r5-col-1 { width: 8.3333333333%; } .r5-col-2 { width: 16.6666666667%; } .r5-col-3 { width: 25%; }
  .r5-col-4 { width: 33.3333333333%; } .r5-col-5 { width: 41.6666666667%; } .r5-col-6 { width: 50%; }
  .r5-col-7 { width: 58.3333333333%; } .r5-col-8 { width: 66.6666666667%; } .r5-col-9 { width: 75%; }
  .r5-col-10 { width: 83.3333333333%; } .r5-col-11 { width: 91.6666666667%; } .r5-col-12 { width: 100%; }

  /* Pre/Post Column Offsets (r5) */
  .r5-pre-col-0 { margin-left: 0; } .r5-pre-col-1 { margin-left: 8.3333333333%; } .r5-pre-col-2 { margin-left: 16.6666666667%; }
  .r5-pre-col-3 { margin-left: 25%; } .r5-pre-col-4 { margin-left: 33.3333333333%; } .r5-pre-col-5 { margin-left: 41.6666666667%; }
  .r5-pre-col-6 { margin-left: 50%; } .r5-pre-col-7 { margin-left: 58.3333333333%; } .r5-pre-col-8 { margin-left: 66.6666666667%; }
  .r5-pre-col-9 { margin-left: 75%; }

  .r5-post-col-0 { margin-right: 0; } .r5-post-col-1 { margin-right: 8.3333333333%; } .r5-post-col-2 { margin-right: 16.6666666667%; }
  .r5-post-col-3 { margin-right: 25%; } .r5-post-col-4 { margin-right: 33.3333333333%; } .r5-post-col-5 { margin-right: 41.6666666667%; }
  .r5-post-col-6 { margin-right: 50%; } .r5-post-col-7 { margin-right: 58.3333333333%; } .r5-post-col-8 { margin-right: 66.6666666667%; }
  .r5-post-col-9 { margin-right: 75%; }

  /* Text Alignment (r5) */
  .r5-text-left { text-align: left; }
  .r5-text-right { text-align: right; }
  .r5-text-center { text-align: center; }

  /* Display Overrides (r5) */
  .r5-display { display: block !important; }
  .r5-display-inline { display: inline !important; }
  .r5-display-none { display: none !important; }

  /* Aspect Ratio (r5) */
  .r5-div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
  .r5-div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
  .r5-div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
  .r5-div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
  .r5-div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
  .r5-div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
  
  .r5-border-radius-0 { border-radius: 0; }
}

/* -------------------------------------- */
/* --- r6: Max-width: 480px (Desktop) --- */
/* -------------------------------------- */
@media screen and (max-width: 480px) {
  
  .r6-fs-1 { font-size: 1em;}

  /* Margin Helpers (Corrected Aliases/Definitions) */
  .r6-m0, .r6-mx0 { margin-left: 0; margin-right: 0; }
  .r6-m0, .r6-my0 { margin-top: 0; margin-bottom: 0; }
  .r6-mt0 { margin-top: 0; } .r6-mb0 { margin-bottom: 0; }
  .r6-ml0 { margin-left: 0; } .r6-mr0 { margin-right: 0; }
  
  .r6-m1, .r6-mx1 { margin-left: .5rem; margin-right: .5rem; }
  .r6-m1, .r6-my1 { margin-top: .5rem; margin-bottom: .5rem; }
  .r6-mt1 { margin-top: .5rem; } .r6-mb1 { margin-bottom: .5rem; }
  .r6-ml1 { margin-left: .5rem; } .r6-mr1 { margin-right: .5rem; }

  .r6-m2, .r6-mx2 { margin-left: 1rem; margin-right: 1rem; }
  .r6-m2, .r6-my2 { margin-top: 1rem; margin-bottom: 1rem; }
  .r6-mt2 { margin-top: 1rem; } .r6-mb2 { margin-bottom: 1rem; }
  .r6-ml2 { margin-left: 1rem; } .r6-mr2 { margin-right: 1rem; }

  .r6-m3, .r6-mx3 { margin-left: 2rem; margin-right: 2rem; }
  .r6-m3, .r6-my3 { margin-top: 2rem; margin-bottom: 2rem; }
  .r6-mt3 { margin-top: 2rem; } .r6-mb3 { margin-bottom: 2rem; }
  .r6-ml3 { margin-left: 2rem; } .r6-mr3 { margin-right: 2rem; }
  .r6-mt-3 { margin-top: -2rem; }
  .r6-my2 { margin-top: 1rem; }

  .r6-m4, .r6-mx4 { margin-left: 3rem; margin-right: 3rem; }
  .r6-m4, .r6-my4 { margin-top: 3rem; margin-bottom: 3rem; }
  .r6-mt4 { margin-top: 3rem; } .r6-mb4 { margin-bottom: 3rem; }
  .r6-ml4 { margin-left: 3rem; } .r6-mr4 { margin-right: 3rem; }
  
  .r6-m5, .r6-mx5 { margin-left: 4rem; margin-right: 4rem; }
  .r6-m5, .r6-my5 { margin-top: 3rem; margin-bottom: 4rem; }
  .r6-mt5 { margin-top: 4rem; } .r6-mb5 { margin-bottom: 4rem; }
  .r6-ml5 { margin-left: 4rem; } .r6-mr5 { margin-right: 4rem; }
  
  .r6-m6, .r6-mx6 { margin-left: 5rem; margin-right: 5rem; } .r6-m6, .r6-my6 { margin-top: 5rem; margin-bottom: 5rem; }
  .r6-m7, .r6-mx7 { margin-left: 6rem; margin-right: 6rem; } .r6-m7, .r6-my7 { margin-top: 6rem; margin-bottom: 6rem; }
  .r6-m8, .r6-mx8 { margin-left: 7rem; margin-right: 7rem; } .r6-m8, .r6-my8 { margin-top: 7rem; margin-bottom: 7rem; }
  .r6-m9, .r6-mx9 { margin-left: 8rem; margin-right: 8rem; } .r6-m9, .r6-my9 { margin-top: 8rem; margin-bottom: 8rem; }
  .r6-m10, .r6-mx10 { margin-left: 9rem; margin-right: 9rem; } .r6-m10, .r6-my10 { margin-top: 9rem; margin-bottom: 9rem; }
  .r6-m11, .r6-mx11 { margin-left: 10rem; margin-right: 10rem; } .r6-m11, .r6-my11 { margin-top: 10rem; margin-bottom: 10rem; }
  .r6-m12, .r6-mx12 { margin-left: 11rem; margin-right: 11rem; } .r6-m12, .r6-my12 { margin-top: 11rem; margin-bottom: 11rem; }
  .r6-m13, .r6-mx13 { margin-left: 12rem; margin-right: 12rem; } .r6-m13, .r6-my13 { margin-top: 12rem; margin-bottom: 12rem; }
  .r6-m14, .r6-mx14 { margin-left: 13rem; margin-right: 13rem; } .r6-m14, .r6-my14 { margin-top: 13rem; margin-bottom: 13rem; }
  .r6-m15, .r6-mx15 { margin-left: 14rem; margin-right: 14rem; } .r6-m15, .r6-my15 { margin-top: 14rem; margin-bottom: 14rem; }
  .r6-m16, .r6-mx16 { margin-left: 15rem; margin-right: 15rem; } .r6-m16, .r6-my16 { margin-top: 15rem; margin-bottom: 15rem; }
  .r6-m17, .r6-mx17 { margin-left: 16rem; margin-right: 16rem; } .r6-m17, .r6-my17 { margin-top: 16rem; margin-bottom: 16rem; }
  .r6-m18, .r6-mx18 { margin-left: 17rem; margin-right: 17rem; } .r6-m18, .r6-my18 { margin-top: 17rem; margin-bottom: 17rem; }
  .r6-m19, .r6-mx19 { margin-left: 18rem; margin-right: 18rem; } .r6-m19, .r6-my19 { margin-top: 18rem; margin-bottom: 18rem; }
  .r6-m20, .r6-mx20 { margin-left: 19rem; margin-right: 19rem; } .r6-m20, .r6-my20 { margin-top: 19rem; margin-bottom: 19rem; }
  .r6-m21, .r6-mx21 { margin-left: 20rem; margin-right: 20rem; } .r6-m21, .r6-my21 { margin-top: 20rem; margin-bottom: 20rem; }

  /* Negative Horizontal Margins (r6) */
  .r6-mx-1, .r6-ml-1 { margin-left: -0.5rem; }
  .r6-mx-1, .r6-mr-1 { margin-right: -0.5rem; }
  .r6-mx-2, .r6-ml-2 { margin-left: -1rem; }
  .r6-mx-2, .r6-mr-2 { margin-right: -1rem; }
  .r6-mx-3, .r6-ml-3 { margin-left: -2rem; }
  .r6-mx-3, .r6-mr-3 { margin-right: -2rem; }
  .r6-mx-4, .r6-ml-4 { margin-left: -3rem; }
  .r6-mx-4, .r6-mr-4 { margin-right: -3rem; }

  /* Padding Helpers (r6) */
  .r1-p0, .r6-px0 { padding-left: 0; padding-right: 0; }
  .r6-p0, .r6-py0 { padding-top: 0; padding-bottom: 0; }
  .r6-pt0 { padding-top: 0; } .r6-pb0 { padding-bottom: 0; }
  .r6-pl0 { padding-left: 0; } .r6-pr0 { padding-right: 0; }
  
  .r6-p1, .r6-px1 { padding-left: .5rem; padding-right: .5rem; }
  .r6-p1, .r6-py1 { padding-top: .5rem; padding-bottom: .5rem; }
  .r6-pt1 { padding-top: .5rem; } .r6-pb1 { padding-bottom: .5rem; }
  .r6-pl1 { padding-left: .5rem; } .r6-pr1 { padding-right: .5rem; }

  /* ... (Standardization continued for p2 to p21) ... */
  .r6-p2, .r6-px2 { padding-left: 1rem; padding-right: 1rem; } .r6-p2, .r6-py2 { padding-top: 1rem; padding-bottom: 1rem; }
  .r6-pt2 { padding-top: 1rem; } .r6-pb2 { padding-bottom: 1rem; } .r6-pl2 { padding-left: 1rem; } .r6-pr2 { padding-right: 1rem; }
  .r6-p3, .r6-px3 { padding-left: 2rem; padding-right: 2rem; } .r6-p3, .r6-py3 { padding-top: 2rem; padding-bottom: 2rem; }
  .r6-pt3 { padding-top: 2rem; } .r6-pb3 { padding-bottom: 2rem; } .r6-pl3 { padding-left: 2rem; } .r6-pr3 { padding-right: 2rem; }
  .r6-p4, .r6-px4 { padding-left: 3rem; padding-right: 3rem; } .r6-p4, .r6-py4 { padding-top: 3rem; padding-bottom: 3rem; }
  .r6-pt4 { padding-top: 3rem; } .r6-pb4 { padding-bottom: 3rem; } .r6-pl4 { padding-left: 3rem; } .r6-pr4 { padding-right: 3rem; }
  .r6-p5, .r6-px5 { padding-left: 4rem; padding-right: 4rem; } .r6-p5, .r6-py5 { padding-top: 4rem; padding-bottom: 4rem; }
  .r6-pt5 { padding-top: 4rem; } .r6-pb5 { padding-bottom: 4rem; } .r6-pl5 { padding-left: 4rem; } .r6-pr5 { padding-right: 4rem; }
  .r6-p6, .r6-px6 { padding-left: 5rem; padding-right: 5rem; } .r6-p6, .r6-py6 { padding-top: 5rem; padding-bottom: 5rem; }
  .r6-pt6 { padding-top: 5rem; } .r6-pb6 { padding-bottom: 5rem; } .r6-pl6 { padding-left: 5rem; } .r6-pr6 { padding-right: 5rem; }
  .r6-p7, .r6-px7 { padding-left: 6rem; padding-right: 6rem; } .r6-p7, .r6-py7 { padding-top: 6rem; padding-bottom: 6rem; }
  .r6-pt7 { padding-top: 6rem; } .r6-pb7 { padding-bottom: 6rem; } .r6-pl7 { padding-left: 6rem; } .r6-pr7 { padding-right: 6rem; }
  .r6-p8, .r6-px8 { padding-left: 7rem; padding-right: 7rem; } .r6-p8, .r6-py8 { padding-top: 7rem; padding-bottom: 7rem; }
  .r6-pt8 { padding-top: 7rem; } .r6-pb8 { padding-bottom: 7rem; } .r6-pl8 { padding-left: 7rem; } .r6-pr8 { padding-right: 7rem; }
  .r6-p9, .r6-px9 { padding-left: 8rem; padding-right: 8rem; } .r6-p9, .r6-py9 { padding-top: 8rem; padding-bottom: 8rem; }
  .r6-pt9 { padding-top: 8rem; } .r6-pb9 { padding-bottom: 8rem; } .r6-pl9 { padding-left: 8rem; } .r6-pr9 { padding-right: 8rem; }
  .r6-p10, .r6-px10 { padding-left: 9rem; padding-right: 9rem; } .r6-p10, .r6-py10 { padding-top: 9rem; padding-bottom: 9rem; }
  .r6-pt10 { padding-top: 9rem; } .r6-pb10 { padding-bottom: 9rem; } .r6-pl10 { padding-left: 9rem; } .r6-pr60 { padding-right: 9rem; }
  .r6-p11, .r6-px11 { padding-left: 10rem; padding-right: 10rem; } .r6-p11, .r6-py11 { padding-top: 10rem; padding-bottom: 10rem; }
  .r6-pt11 { padding-top: 10rem; } .r6-pb11 { padding-bottom: 10rem; } .r6-pl11 { padding-left: 10rem; } .r6-pr61 { padding-right: 10rem; }
  .r6-p12, .r6-px12 { padding-left: 11rem; padding-right: 11rem; } .r6-p12, .r6-py12 { padding-top: 11rem; padding-bottom: 11rem; }
  .r6-pt12 { padding-top: 11rem; } .r6-pb12 { padding-bottom: 11rem; } .r6-pl12 { padding-left: 11rem; } .r6-pr62 { padding-right: 11rem; }
  .r6-p13, .r6-px13 { padding-left: 12rem; padding-right: 12rem; } .r6-p13, .r6-py13 { padding-top: 12rem; padding-bottom: 12rem; }
  .r6-pt13 { padding-top: 12rem; } .r6-pb13 { padding-bottom: 12rem; } .r6-pl13 { padding-left: 12rem; } .r6-pr63 { padding-right: 12rem; }
  .r6-p14, .r6-px14 { padding-left: 13rem; padding-right: 13rem; } .r6-p14, .r6-py14 { padding-top: 13rem; padding-bottom: 13rem; }
  .r6-pt14 { padding-top: 13rem; } .r6-pb14 { padding-bottom: 13rem; } .r6-pl14 { padding-left: 13rem; } .r6-pr64 { padding-right: 13rem; }
  .r6-p15, .r6-px15 { padding-left: 14rem; padding-right: 14rem; } .r6-p15, .r6-py15 { padding-top: 14rem; padding-bottom: 14rem; }
  .r6-pt15 { padding-top: 14rem; } .r6-pb15 { padding-bottom: 14rem; } .r6-pl15 { padding-left: 14rem; } .r6-pr65 { padding-right: 14rem; }
  .r6-p16, .r6-px16 { padding-left: 15rem; padding-right: 15rem; } .r6-p16, .r6-py16 { padding-top: 15rem; padding-bottom: 15rem; }
  .r6-pt16 { padding-top: 15rem; } .r6-pb16 { padding-bottom: 15rem; } .r6-pl16 { padding-left: 15rem; } .r6-pr66 { padding-right: 15rem; }
  .r6-p17, .r6-px17 { padding-left: 16rem; padding-right: 16rem; } .r6-p17, .r6-py17 { padding-top: 16rem; padding-bottom: 16rem; }
  .r6-pt17 { padding-top: 16rem; } .r6-pb17 { padding-bottom: 16rem; } .r6-pl17 { padding-left: 16rem; } .r6-pr67 { padding-right: 16rem; }
  .r6-p18, .r6-px18 { padding-left: 17rem; padding-right: 17rem; } .r6-p18, .r6-py18 { padding-top: 17rem; padding-bottom: 17rem; }
  .r6-pt18 { padding-top: 17rem; } .r6-pb18 { padding-bottom: 17rem; } .r6-pl18 { padding-left: 17rem; } .r6-pr68 { padding-right: 17rem; }
  .r6-p19, .r6-px19 { padding-left: 18rem; padding-right: 18rem; } .r6-p19, .r6-py19 { padding-top: 18rem; padding-bottom: 18rem; }
  .r6-pt19 { padding-top: 18rem; } .r6-pb19 { padding-bottom: 18rem; } .r6-pl19 { padding-left: 18rem; } .r6-pr69 { padding-right: 18rem; }
  .r6-p20, .r6-px20 { padding-left: 19rem; padding-right: 19rem; } .r6-p20, .r6-py20 { padding-top: 19rem; padding-bottom: 19rem; }
  .r6-pt20 { padding-top: 19rem; } .r6-pb20 { padding-bottom: 19rem; } .r6-pl20 { padding-left: 19rem; } .r6-pr60 { padding-right: 19rem; }
  .r6-p21, .r6-px21 { padding-left: 20rem; padding-right: 20rem; } .r6-p21, .r6-py21 { padding-top: 20rem; padding-bottom: 20rem; }
  .r6-pt21 { padding-top: 20rem; } .r6-pb21 { padding-bottom: 20rem; } .r6-pl21 { padding-left: 20rem; } .r6-pr61 { padding-right: 20rem; }

  /* Grid (r6) */
  .r6-col { float: left; overflow: hidden; }
  .r6-col-right { float: right; }
  .r6-col-none { float: none; }
  .r6-col-1 { width: 8.3333333333%; } .r6-col-2 { width: 16.6666666667%; } .r6-col-3 { width: 25%; }
  .r6-col-4 { width: 33.3333333333%; } .r6-col-5 { width: 41.6666666667%; } .r6-col-6 { width: 50%; }
  .r6-col-7 { width: 58.3333333333%; } .r6-col-8 { width: 66.6666666667%; } .r6-col-9 { width: 75%; }
  .r6-col-10 { width: 83.3333333333%; } .r6-col-11 { width: 91.6666666667%; } .r6-col-12 { width: 100%; }

  /* Pre/Post Column Offsets (r6) */
  .r6-pre-col-0 { margin-left: 0; } .r6-pre-col-1 { margin-left: 8.3333333333%; } .r6-pre-col-2 { margin-left: 16.6666666667%; }
  .r6-pre-col-3 { margin-left: 25%; } .r6-pre-col-4 { margin-left: 33.3333333333%; } .r6-pre-col-5 { margin-left: 41.6666666667%; }
  .r6-pre-col-6 { margin-left: 50%; } .r6-pre-col-7 { margin-left: 58.3333333333%; } .r6-pre-col-8 { margin-left: 66.6666666667%; }
  .r6-pre-col-9 { margin-left: 75%; }

  .r6-post-col-0 { margin-right: 0; } .r6-post-col-1 { margin-right: 8.3333333333%; } .r6-post-col-2 { margin-right: 16.6666666667%; }
  .r6-post-col-3 { margin-right: 25%; } .r6-post-col-4 { margin-right: 33.3333333333%; } .r6-post-col-5 { margin-right: 41.6666666667%; }
  .r6-post-col-6 { margin-right: 50%; } .r6-post-col-7 { margin-right: 58.3333333333%; } .r6-post-col-8 { margin-right: 66.6666666667%; }
  .r6-post-col-9 { margin-right: 75%; }

  /* Text Alignment (r6) */
  .r6-text-left { text-align: left; }
  .r6-text-right { text-align: right; }
  .r6-text-center { text-align: center; }

  /* Display Overrides (r6) */
  .r6-display { display: block !important; }
  .r6-display-none { display: none !important; }

  /* Aspect Ratio (r6) */
  .r6-div-2-3 { width: 100%; position: relative; aspect-ratio: 2/3; }
  .r6-div-1-1 { width: 100%; position: relative; aspect-ratio: 1; }
  .r6-div-3-2 { width: 100%; position: relative; aspect-ratio: 3/2; }
  .r6-div-2-1 { width: 100%; position: relative; aspect-ratio: 2; }
  .r6-div-3-1 { width: 100%; position: relative; aspect-ratio: 3; }
  .r6-div-4-1 { width: 100%; position: relative; aspect-ratio: 4; }
}