/* Ragnar 3.0 preview: shared game materials + home and Shop only.
   The 2.0 page templates remain intact until visual approval. */
@font-face {
  font-family: "Jersey 10";
  src: url("../fonts/jersey10.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.rg-v3 {
  --rg-bevel: #66869c;
  --rg-deep: #040d18;
  --rg-material: linear-gradient(135deg, #ffffff04 25%, transparent 25%) 0 0/8px
    8px;
  background-image: radial-gradient(
    ellipse at 90% 32%,
    #16395638,
    transparent 55%
  );
}
.rg-v3[data-rg-font="jersey"] {
  --rg-heading: "Jersey 10";
}
.rg-v3 :is(h1, h2, h3, h4) {
  font-weight: 400;
  letter-spacing: 0.015em;
  line-height: 1.08;
}
.rg-v3[data-rg-font="sora"] :is(h1, h2, h3, h4),
.rg-v3[data-rg-font="inter"] :is(h1, h2, h3, h4) {
  font-weight: 700;
  letter-spacing: -0.035em;
}
.rg-v3 .rg-eyebrow {
  letter-spacing: 0.1em;
  font-size: 10px;
}
.rg-v3 .rg-section-heading h2 {
  font-size: clamp(36px, 4vw, 54px);
  max-width: 640px;
}
.rg-v3 .rg-header {
  background: var(--rg-material), #091725f5;
  border-bottom: 4px solid #030b14;
  box-shadow:
    inset 0 -1px #5b7b914f,
    0 4px 0 #415b704f,
    0 15px 28px #030a1630;
  backdrop-filter: blur(12px);
}
.rg-v3 .rg-topbar {
  background: #050e19;
  border-color: #62788730;
}
.rg-v3 .rg-navbar {
  padding-block: 8px;
}
.rg-v3 .rg-nav-container {
  gap: 26px;
}
.rg-v3 .rg-navbar .navbar-nav {
  gap: 5px;
}
.rg-v3 .rg-navbar .navbar-collapse {
  gap: 17px;
}
.rg-v3 .rg-navbar .nav-link {
  font-family: var(--rg-heading), sans-serif;
  font-size: 21px;
  padding: 9px 11px !important;
  line-height: 1.25;
  border: 2px solid transparent;
  min-height: 44px;
  font-weight: 400;
  transition:
    background 0.18s,
    border-color 0.18s;
}
.rg-v3 .rg-navbar .nav-link.active {
  border-color: #6c9ab44d;
  background: linear-gradient(#36617c70, #16304470);
  box-shadow:
    inset 0 2px #afecff20,
    inset 0 -3px #040d1b80;
}
.rg-v3 .rg-navbar .nav-link.active:after {
  width: 5px;
  height: 5px;
  bottom: -4px;
  left: calc(50% - 2px);
  box-shadow: 0 0 8px #89e3ff70;
}
.rg-v3 .rg-navbar .nav-link:hover {
  background: #91cce914;
  border-color: #79b9da30;
}
.rg-v3 .rg-navbar .rg-account-nav .nav-link {
  font-family: Inter, sans-serif;
  font-size: 11px;
  display: flex;
  gap: 6px;
  align-items: center;
}
.rg-v3 .rg-logo {
  width: 144px !important;
  height: 50px !important;
  filter: drop-shadow(0 3px 1px #020712);
}
.rg-v3 .rg-navbar .dropdown-menu {
  border: 3px solid #466278;
  border-top-color: #7a9db2;
  border-bottom: 6px solid #030d19;
  outline: 1px solid #020a13;
  border-radius: 0;
  background: var(--rg-material), #142a3b;
  box-shadow: 0 12px 28px #0008;
}
.rg-v3 .dropdown-item {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 0;
  border: 1px solid transparent;
}
.rg-v3 .dropdown-item:hover {
  background: #8bd9f323;
  border-color: #85c5e450;
}
.rg-v3 .navbar-toggler {
  border: 2px solid #5a7c93;
  border-radius: 0;
  box-shadow:
    0 3px #020a15,
    inset 0 2px #c1eaff21;
}
/* Forged controls: a bright face, lit rim and physically depressed base. */
.rg-v3 .rg-button,
.rg-v3 .btn-primary {
  font-family: var(--rg-heading), sans-serif;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em;
  min-height: 54px;
  border: 2px solid #b6f1ff;
  border-right-color: color-mix(in srgb, var(--rg-action) 60%, #133e59);
  border-bottom-color: color-mix(in srgb, var(--rg-action) 65%, #133e59);
  border-radius: 0;
  background: linear-gradient(#ffffff30, transparent 65%), var(--rg-action);
  box-shadow:
    inset 0 2px #ffffff58,
    inset 2px 0 #ffffff30,
    0 5px 0 color-mix(in srgb, var(--rg-action) 35%, #102b43),
    0 7px 0 #020b16,
    0 12px 20px #0003;
  padding: 10px 23px;
  line-height: 1.15;
  position: relative;
  text-shadow: 0 1px #ffffff35;
}
.rg-v3 .rg-button-small {
  min-height: 42px;
  padding: 8px 15px;
  font-size: 19px !important;
}
.rg-v3 .rg-button-outline {
  background: var(--rg-material), linear-gradient(#26465b, #122c40);
  border-color: #7d9eae #36576f #36576f #7d9eae;
  color: var(--rg-text) !important;
  box-shadow:
    inset 0 2px #cbeaff20,
    0 5px #030d19,
    0 7px #294259;
  text-shadow: 0 2px #040e1a;
}
.rg-v3 .rg-button:hover,
.rg-v3 .btn-primary:hover {
  background-color: color-mix(in srgb, var(--rg-action) 85%, white);
  filter: brightness(1.07);
}
.rg-v3 .rg-button-outline:hover {
  background: linear-gradient(#315970, #1c3a50);
}
.rg-v3 :is(.rg-button, .btn-primary):active {
  transform: translateY(4px);
  box-shadow:
    inset 0 2px #fff2,
    0 1px #071725,
    0 3px #020b16;
}
.rg-v3[data-rg-font="sora"] .rg-button,
.rg-v3[data-rg-font="inter"] .rg-button {
  font-size: 13px !important;
  font-weight: 700 !important;
}
.rg-v3 .rg-copy-button {
  background: linear-gradient(#26465b, #122c40);
  border: 2px solid #7994a6;
  border-radius: 0;
  box-shadow:
    inset 0 2px #ffffff17,
    0 4px #020a14;
  min-height: 48px;
}
.rg-v3 .rg-copy-button.is-copied,
.rg-v3 .rg-button.is-copied {
  border-color: #a6f4c2;
  box-shadow:
    inset 0 0 0 2px #7de2ad,
    0 4px #173c36;
}
.rg-v3 .is-copied:after {
  content: "✓";
  position: absolute;
  right: -10px;
  top: -13px;
  background: #b6f2d1;
  color: #0c2920;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  font: 700 15px Inter;
  box-shadow: 2px 2px #071725;
}
.rg3-item {
  display: block;
  flex-shrink: 0;
  filter: drop-shadow(2px 3px 0 #020b164f);
}
/* Layered opening: distant terrain, mid-plane island, inventory in the foreground. */
.rg3-hero {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  background: #0e2a45;
  min-height: 750px;
}
.rg3-horizon,
.rg3-hero-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -3;
}
.rg3-horizon img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: var(--rg-position, center) 60%;
  opacity: 0.56;
}
.rg3-hero-atmosphere {
  z-index: -2;
  background:
    linear-gradient(0deg, var(--rg-night), transparent 30%),
    linear-gradient(90deg, #061625f5 2%, #071b30c9 34%, #0b234b36 80%),
    linear-gradient(#06162728, #09224730);
}
.rg3-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(#dcf8ffbb 1px, transparent 1px),
    radial-gradient(#a6eaff77 1px, transparent 1px);
  background-size:
    173px 139px,
    263px 197px;
  background-position:
    70px 15px,
    100px 85px;
  mask-image: linear-gradient(#0008, transparent 65%);
}
.rg-v3[data-rg-ambient="off"] .rg3-hero:after {
  display: none;
}
.rg3-hero-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  align-items: center;
  min-height: 750px;
  padding-block: 40px 105px;
}
.rg3-hero-copy {
  position: relative;
  z-index: 2;
}
.rg3-server-tag {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  font:
    500 10px/1.5 Inter,
    sans-serif;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #d8f2ff !important;
  border: 1px solid #6fa5c36b;
  background: #0b2032c0;
  padding: 9px 12px;
  box-shadow: 3px 3px #030e1b4d;
  margin: 0 0 25px;
}
.rg3-wordmark {
  display: block;
  width: min(420px, 90%);
  height: 145px !important;
  object-fit: contain;
  object-position: left center;
  margin-bottom: 16px;
  filter: drop-shadow(0 7px 2px #030b1880);
}
.rg3-wordmark-text {
  font: 400 80px/1 var(--rg-heading);
  color: var(--rg-text) !important;
}
.ragnar .rg3-hero-kicker {
  font-size: 10px;
  letter-spacing: 0.15em;
  color: #b4d9ec;
  margin: 0 0 12px;
  text-transform: uppercase;
}
.rg-v3 .rg3-hero h1 {
  font-size: clamp(55px, 5.7vw, 84px);
  line-height: 0.97;
  margin: 0 0 22px;
  text-shadow: 3px 4px #030c1d;
  letter-spacing: 0;
}
.rg3-hero h1 span {
  display: block;
  color: var(--rg-accent);
}
.ragnar .rg3-hero-description {
  max-width: 440px;
  font-size: 14px;
  color: #c8dbe9;
  line-height: 1.85;
  margin-bottom: 26px;
}
.rg3-hero-actions {
  display: flex;
  gap: 15px;
  align-items: center;
  flex-wrap: wrap;
}
.rg3-diorama {
  position: relative;
  min-width: 0;
  align-self: stretch;
  display: grid;
  place-items: center;
  perspective: 1000px;
}
.rg3-island {
  width: 112%;
  max-width: none !important;
  height: auto;
  position: absolute;
  z-index: 1;
  filter: drop-shadow(0 25px 24px #020b1cc0);
  will-change: transform;
  transform: translate3d(var(--rg-depth-x, 0px), var(--rg-depth-y, 0px), 0);
  transition: transform 0.45s ease-out;
}
.rg3-diorama-orbit {
  position: absolute;
  bottom: 55px;
  width: 75%;
  height: 50px;
  background: radial-gradient(ellipse, #65d6fb25, transparent 68%);
  transform: rotate(-8deg);
  border: 1px solid #63c8f32b;
  box-shadow: 0 0 45px #40aaff12;
}
.rg3-coordinates {
  position: absolute;
  right: -5px;
  top: 40px;
  font:
    500 8px/1.8 ui-monospace,
    monospace;
  letter-spacing: 0.15em;
  color: #afcbdc;
  z-index: 2;
  text-align: right;
}
.rg3-coordinates span {
  display: block;
  color: var(--rg-accent);
  font-size: 12px;
  letter-spacing: 0.4em;
}
.rg3-coordinates i {
  display: block;
  width: 45px;
  height: 20px;
  margin: 8px 0 0 auto;
  border-top: 1px solid #7adfff88;
  border-right: 1px solid #7adfff88;
}
.rg3-hotbar {
  position: absolute;
  bottom: 10px;
  left: 50%;
  translate: -50% 0;
  display: flex;
  gap: 5px;
  padding: 7px 10px;
  background: var(--rg-material), #152c3df5;
  border: 3px solid #6b8b9e;
  border-right-color: #335265;
  border-bottom: 6px solid #030c16;
  box-shadow:
    0 0 0 1px #010810,
    0 15px 25px #01071566;
  z-index: 2;
  transform: rotate(-4deg);
  align-items: center;
}
.rg3-hotbar-slot {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  background: #071a2c;
  border: 2px solid #010c19;
  box-shadow: inset -2px -2px #5c7b9355;
}
.rg3-hotbar-slot:first-child {
  outline: 2px solid #a2e8ff;
  outline-offset: -2px;
  background: #24485d;
}
.rg3-hotbar-slot .rg3-item {
  width: 47px;
  height: 47px;
}
.rg3-hotbar-caption {
  font: 400 21px/0.95 var(--rg-heading);
  color: #c7e9f5;
  padding: 0 12px 0 7px;
  white-space: nowrap;
}
.rg3-terrain-seam {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 22px;
  background: var(--rg-night);
  clip-path: polygon(
    0 30%,
    5% 30%,
    5% 0,
    12% 0,
    12% 45%,
    19% 45%,
    19% 15%,
    33% 15%,
    33% 65%,
    46% 65%,
    46% 25%,
    58% 25%,
    58% 50%,
    73% 50%,
    73% 0,
    85% 0,
    85% 40%,
    100% 40%,
    100% 100%,
    0 100%
  );
}
.rg-v3 .rg-connection-wrap {
  margin-top: -32px;
}
.rg-v3 .rg-connection {
  border-radius: 0;
  border: 3px solid #6c8b9e;
  border-right-color: #36566a;
  border-bottom: 7px solid #030c18;
  background: var(--rg-material), linear-gradient(110deg, #213f51, #11283b);
  box-shadow:
    0 0 0 1px #01070d,
    inset 0 2px #abcde624,
    0 14px 25px #0003;
  padding: 21px 27px;
}
.rg-v3 .rg-connection:before {
  width: 7px;
  height: 7px;
  left: 9px;
  top: 9px;
  background: #020d18;
  box-shadow: 0 1px #b3d6eb40;
}
.rg-v3 .rg-server-symbol {
  background: #0a1c2b;
  border: 2px solid #030c16;
  border-radius: 0;
  box-shadow: inset -2px -2px #7899ac44;
}
.rg-v3 .rg-address {
  font-family: var(--rg-heading), sans-serif;
  font-size: 32px;
  letter-spacing: 0.02em;
}
.rg-v3 .rg-status-dot {
  border-radius: 0;
  box-shadow: 0 0 0 3px #a4cadb10;
}
/* An expedition board, with native keyboard-operable disclosures. */
.rg3-discovery {
  position: relative;
  padding-block: 90px 70px;
}
.rg3-discovery:before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at 80% 50%, #28718a18, transparent 65%);
}
.rg3-section-rune {
  width: 44px;
  height: 44px;
  background: #10283c;
  border: 2px solid #3e647c;
  display: grid;
  place-items: center;
  box-shadow: inset 0 -3px #061320;
}
.rg3-section-rune .rg3-item {
  width: 35px;
  height: 35px;
}
.rg3-expedition {
  display: grid;
  grid-template-columns: 370px minmax(0, 1fr);
  border: 3px solid #405d73;
  border-top-color: #6d899d;
  box-shadow:
    0 7px #020b15,
    0 0 0 1px #01080f;
  background: #0f2234;
  position: relative;
}
.rg3-expedition:before,
.rg3-expedition:after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #06121c;
  border-bottom: 2px solid #7794a055;
  z-index: 3;
  top: 8px;
  left: 8px;
}
.rg3-expedition:after {
  left: auto;
  right: 8px;
}
.rg3-expedition-menu {
  padding: 25px 22px;
  background: var(--rg-material), #11283a;
  border-right: 3px solid #040f1d;
}
.ragnar .rg3-panel-heading {
  font: 400 24px/1.2 var(--rg-heading);
  margin: 0 0 20px;
  color: #c1d9e7;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.rg3-panel-heading > span {
  color: #7ca5bc;
  font-size: 26px;
}
.rg3-note {
  margin-top: 10px;
  border: 2px solid #3e5c70;
  border-bottom: 4px solid #040e1b;
  background: linear-gradient(100deg, #1d3a4e, #172f43);
  box-shadow: inset 0 2px #ffffff08;
}
.rg3-note[open] {
  border-color: #73b9d7;
  border-bottom-color: #215270;
  background: linear-gradient(105deg, #25485a, #173348);
}
.rg3-note summary {
  display: flex;
  align-items: center;
  gap: 13px;
  cursor: pointer;
  padding: 13px 12px;
  min-height: 80px;
  font: 400 27px/1 var(--rg-heading);
  list-style: none;
  color: var(--rg-text);
}
.rg3-note summary::-webkit-details-marker {
  display: none;
}
.rg3-note summary small {
  display: block;
  font:
    500 8px/1.4 Inter,
    sans-serif;
  letter-spacing: 0.12em;
  color: #acd1e3;
  margin-bottom: 8px;
}
.rg3-note-item {
  display: grid;
  place-items: center;
  background: #091b2a;
  border: 2px solid #040e1b;
  box-shadow: inset -2px -2px #526d7e40;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.rg3-note-item > .rg3-item {
  width: 40px;
  height: 40px;
}
.rg3-note-toggle {
  margin-left: auto;
  font: 400 28px/1 var(--rg-heading);
  color: #9fdaf0;
}
.rg3-note[open] .rg3-note-toggle {
  transform: rotate(45deg);
}
.rg3-note[open] summary {
  color: var(--rg-accent);
}
.rg3-note-body {
  padding: 0 18px 17px 73px;
}
.rg3-note-body p {
  font-size: 12px;
  line-height: 1.9;
  color: #c0d4e1;
  margin: 0;
}
.rg3-note-body .rg-text-link {
  font-size: 11px;
  margin-top: 5px;
  gap: 8px;
}
.rg3-expedition-tip {
  font-size: 10px;
  text-align: center;
  margin: 20px 0 0 !important;
  letter-spacing: 0.04em;
}
.rg3-scenes {
  position: relative;
  min-height: 530px;
  overflow: hidden;
  border: 7px solid #081725;
  box-shadow: inset 0 0 0 1px #678d9b33;
}
.rg3-scene {
  position: absolute;
  inset: 0;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 40%, #32688799, #0b1a2b);
}
.rg3-scene[hidden] {
  display: none;
}
.rg3-scene:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(0deg, #04111ff5, transparent 65%);
}
.rg3-scene-landscape {
  height: 100% !important;
  width: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  z-index: -2;
  object-position: 38% center;
  transition: opacity 0.3s;
}
.rg3-scene-id {
  position: absolute;
  right: 20px;
  top: 22px;
  background: #071625bb;
  padding: 5px 8px;
  color: #daf0fc;
  font:
    500 8px/1.4 Inter,
    sans-serif;
  letter-spacing: 0.1em;
  border-left: 3px solid var(--rg-accent);
}
.rg3-scene-reticle {
  position: absolute;
  top: 42%;
  left: 50%;
  width: 18px;
  height: 18px;
  opacity: 0.7;
  filter: drop-shadow(1px 1px #000);
}
.rg3-scene-reticle:before,
.rg3-scene-reticle:after {
  content: "";
  position: absolute;
  background: #fff;
  height: 2px;
  width: 18px;
  top: 8px;
}
.rg3-scene-reticle:after {
  rotate: 90deg;
}
.rg3-scene-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 30px;
  display: flex;
  align-items: center;
  gap: 18px;
  border-top: 1px solid #a5d5d730;
  background: linear-gradient(105deg, #0c2237e6, #061627b3);
}
.rg3-scene-caption > span {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  background: #112c42;
  border: 2px solid #6d9bb5;
  box-shadow: 3px 3px #020c18;
  flex-shrink: 0;
}
.rg3-scene-caption small {
  font:
    500 8px/1.4 Inter,
    sans-serif;
  letter-spacing: 0.16em;
  color: #bad1df;
}
.rg-v3 .rg3-scene-caption h3 {
  font-size: 38px;
  color: #fff;
  margin: 5px 0 5px;
}
.rg3-scene-caption p {
  font-size: 11px !important;
  margin: 0;
  color: #bfd9e7;
}
.rg3-scene-economy .rg3-scene-landscape {
  opacity: 0.48;
}
.rg3-scene-object {
  display: block;
  width: 65%;
  height: 70% !important;
  object-fit: contain;
  margin: 10px auto 0;
  filter: drop-shadow(0 25px 18px #0006);
}
.rg3-scene-inventory {
  position: absolute;
  inset: 30px 0 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.rg3-scene-inventory img {
  width: 32%;
  object-fit: contain;
  filter: drop-shadow(0 18px 10px #0006);
}
.rg3-scene-inventory img:nth-child(2) {
  width: 27%;
  transform: translateY(-40px) rotate(-10deg);
}
.rg3-waypoints {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 18px;
  margin-top: 26px;
}
.rg3-waypoints > a {
  display: flex;
  align-items: center;
  gap: 15px;
  background: var(--rg-material), #12273a;
  border: 2px solid #34546b;
  border-bottom: 4px solid #020b16;
  padding: 18px 23px;
  transition:
    border-color 0.2s,
    background 0.2s;
  position: relative;
}
.rg3-waypoints small {
  display: block;
  font:
    500 8px/1.5 Inter,
    sans-serif;
  letter-spacing: 0.12em;
  color: #aac9dd;
  margin-bottom: 4px;
}
.rg3-waypoints > a > span:not(:last-child) {
  font: 400 26px/1.15 var(--rg-heading);
}
.rg3-waypoints > a > span:last-child {
  margin-left: auto;
  font-size: 20px;
  color: var(--rg-accent);
}
.rg3-waypoints > a > span:last-child .rg-icon {
  width: 19px;
  height: 19px;
}
.rg3-waypoints > a:hover {
  border-color: #79b7cf;
  background-color: #1d394d;
}
/* Continue the same materials through the rest of the homepage. */
.rg-v3 .rg2-progression {
  padding: 20px 0 65px;
  background: linear-gradient(90deg, #15304755, transparent);
}
.rg-v3 .rg2-progression-inner {
  gap: 70px;
}
.rg-v3 .rg2-progress-art {
  min-height: 350px;
}
.rg-v3 .rg2-progress-art img {
  max-width: 380px;
  height: 350px !important;
  object-fit: contain;
  rotate: -8deg;
  filter: drop-shadow(0 25px 20px #0005);
}
.rg-v3 .rg2-orbit {
  border-radius: 0;
  transform: rotate(45deg) scaleY(0.4);
  border-color: #5589a335;
  width: 260px;
  height: 260px;
}
.rg-v3 .rg2-art-label {
  font: 400 19px/1.2 var(--rg-heading);
  letter-spacing: 0.04em;
}
.rg-v3 .rg2-progress-copy h2 {
  font-size: 54px;
}
.rg-v3 .rg2-progress-copy > p:not(.rg-eyebrow) {
  font-size: 14px;
}
.rg-v3 .rg2-progress-track {
  background: #0b1c2c;
  border: 2px solid #37566c;
  box-shadow: inset 0 3px #020c16;
  padding: 15px;
  gap: 10px;
  margin: 22px 0 28px;
}
.rg-v3 .rg2-progress-track > span {
  font: 400 24px/1 var(--rg-heading);
  color: #d2e7f3;
}
.rg-v3 .rg2-progress-track b {
  font: 400 20px/1 var(--rg-heading);
  color: var(--rg-accent);
}
.rg-v3 .rg2-editorial {
  border: 3px solid #526d7d;
  border-bottom: 6px solid #020c16;
  border-radius: 0;
  background: var(--rg-material), linear-gradient(110deg, #263e50, #142c3e);
  padding: 35px 45px;
  min-height: 250px;
}
.rg-v3 .rg2-editorial h2 {
  font-size: 42px;
}
.rg-v3 .rg2-editorial > img {
  max-width: 250px;
  height: 200px !important;
  object-fit: contain;
  filter: drop-shadow(0 20px 15px #0005);
}
.rg-v3 .rg2-editorial-number {
  opacity: 1;
  inset: auto;
  position: relative;
  width: 58px;
  flex-shrink: 0;
  align-self: center;
}
.rg-v3 .rg2-editorial-number .rg3-item {
  width: 58px;
  height: 58px;
}
.rg-v3 .rg2-events {
  padding-block: 65px 20px;
}
.rg-v3 .rg2-event {
  padding: 25px;
  border: 2px solid #365268;
  border-bottom: 4px solid #020c16;
  background: var(--rg-material), #102538;
  border-radius: 0;
}
.rg-v3 .rg2-event-glyph {
  border-radius: 0;
  width: 58px;
  height: 58px;
  background: #091b2b;
  border: 2px solid #31546c;
}
.rg-v3 .rg2-event h3 {
  font-size: 30px;
}
.rg-v3 .rg2-event p {
  font-size: 13px;
}
.rg-v3 .rg-news {
  padding-block: 65px;
}
.rg-v3 .rg-news-empty,
.rg-v3 .rg-post {
  border-radius: 0;
  border: 2px solid #38556a;
  border-bottom: 5px solid #020b16;
  background: var(--rg-material), #13293a;
}
.rg-v3 .rg-news-empty h3,
.rg-v3 .rg-post h3 {
  font-size: 30px;
}
.rg-v3 .rg-news-empty {
  padding: 27px;
}
.rg-v3 .rg-icon-tile {
  border-radius: 0;
  background: #071b2c;
  box-shadow: inset 2px 2px #020a14;
}
.rg-v3 .rg2-community {
  border-block: 3px solid #3e6782;
  background: linear-gradient(115deg, #153549, #0e2538);
  padding-block: 45px;
}
.rg-v3 .rg2-community h2 {
  font-size: 45px;
}
.rg-v3 .rg2-community-inner > div:not(.rg2-community-emblem) {
  max-width: 680px;
}
.rg-v3 .rg2-community p:not(.rg-eyebrow) {
  font-size: 13px;
}
.rg-v3 .rg2-community-emblem {
  border-radius: 0;
  transform: rotate(-7deg);
  box-shadow:
    inset 0 3px #c8f5ff25,
    0 5px #020b19;
  border: 2px solid #679cb6;
}
.rg-v3 .rg-join {
  padding-block: 75px;
}
.rg-v3 .rg2-join-layout h2 {
  font-size: 50px;
}
.rg-v3 .rg2-join-panel {
  border-radius: 0;
  border: 3px solid #527c94;
  border-bottom: 6px solid #020b16;
  background: var(--rg-material), #132b40;
  box-shadow: inset 0 2px #b7deec19;
}
.rg-v3 .rg-join-address code {
  font: 400 32px/1.2 var(--rg-heading);
  color: #e8f7ff;
}
.rg-v3 .rg-footer {
  border-top: 5px solid #3c5a71;
  background: var(--rg-material), linear-gradient(#112536, #081523);
  position: relative;
}
.rg-v3 .rg-footer:before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 10px;
  background: repeating-linear-gradient(
    90deg,
    transparent 0 48px,
    #3c5a71 48px 80px
  );
  border-bottom: 3px solid #030b16;
}
.rg-v3 .rg-footer-column > .rg-label {
  font: 400 25px/1.2 var(--rg-heading);
  letter-spacing: 0.02em;
  text-transform: none;
  color: #d5f1fe;
  margin-bottom: 20px;
}
.rg-v3 .rg-footer-bottom {
  border-top: 2px solid #294559;
}
.rg-v3 .rg-toast {
  border-radius: 0;
  border: 2px solid #79bdd4;
  border-bottom: 5px solid #03121f;
  background: #153748;
}
/* Shop: recessed inventory slots and game-style categories. No pricing or payment logic. */
.rg-v3 .rg-shop-hero {
  background:
    radial-gradient(ellipse at 80% 80%, #226e8d44, transparent 50%),
    var(--rg-material), linear-gradient(#102a40, #0a1c2c);
  border-bottom: 4px solid #030e1c;
  padding-block: 35px 45px;
}
.rg-v3 .rg-shop-hero h1 {
  font-size: clamp(46px, 5.2vw, 70px);
  max-width: 780px;
  text-shadow: 3px 3px #030c19;
}
.rg-v3 .rg-shop-hero .rg-page-description {
  max-width: 630px;
  font-size: 13px;
}
.rg-v3 .rg-shop-hero-art {
  width: 310px !important;
  height: 265px !important;
  right: 6%;
  bottom: -15px;
  transform: rotate(-7deg);
  filter: drop-shadow(0 20px 20px #0006);
}
.rg-v3 .rg-shop-hero-links {
  margin-top: 22px;
}
.rg-v3 .rg-native-content.rg-shop-page {
  padding-block: 40px 70px;
}
.rg-v3 .rg-shop-layout {
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 26px;
}
.rg-v3 .rg-shop-page .list-group {
  border: 3px solid #4c7088 !important;
  border-bottom: 6px solid #030d18 !important;
  border-radius: 0 !important;
  background: var(--rg-material), #142b3e !important;
  padding: 8px !important;
}
.rg-v3 .rg-shop-page .list-group-item {
  border-radius: 0;
  border: 2px solid transparent !important;
  font: 400 25px/1.2 var(--rg-heading);
  padding: 15px 12px;
  min-height: 50px;
  position: relative;
}
.rg-v3 .rg-shop-page .list-group-item.active {
  background: linear-gradient(#28536b, #1a3a50);
  border-color: #82bdd4 #396179 #396179 #82bdd4 !important;
  box-shadow:
    inset 0 2px #d8ffff1c,
    0 3px #020d17;
  color: #e2f6ff;
}
.rg-v3 .rg-shop-page .list-group-item:hover {
  background-color: #31576d33;
}
.rg-v3 .rg-shop-welcome {
  font-size: 12px;
  padding-bottom: 18px;
  margin-bottom: 22px;
  border-color: #3e6176;
}
.rg-v3 .rg-shop-category {
  border: 3px solid #66879c;
  border-bottom: 7px solid #030c17;
  border-radius: 0;
  background:
    var(--rg-material),
    radial-gradient(ellipse at 50% 30%, #2a5f7d99, transparent 70%), #162c40;
  padding: 24px;
  align-items: center;
  text-align: center;
  overflow: visible;
  min-height: 330px;
  box-shadow:
    inset 0 2px #d7f7ff20,
    0 0 0 1px #010a13;
  isolation: isolate;
}
.rg-v3 .rg-shop-category:before {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: -1;
  border: 2px solid #040e19;
  box-shadow: inset -2px -2px #6c8d9d30;
  pointer-events: none;
}
.rg-v3 .rg-shop-category:after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 3px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #89e3ff5e, transparent);
}
.rg-v3 .rg-shop-category[data-rg-category="gems"] {
  background:
    var(--rg-material),
    radial-gradient(ellipse at 50% 30%, #187ab85a, transparent 70%), #112d45;
  border-top-color: #90dff5;
}
.rg-v3 .rg-shop-category[data-rg-category="ranks"] {
  background:
    var(--rg-material),
    radial-gradient(ellipse at 50% 30%, #8a6e375a, transparent 70%), #1c2d3e;
  border-top-color: #c1ab77;
}
.rg-v3 .rg-shop-category > img {
  width: 190px;
  height: 160px !important;
  filter: drop-shadow(0 20px 12px #020b1780);
  transition: transform 0.3s ease;
}
.rg-v3 .rg-shop-category h2 {
  font-size: 42px;
  letter-spacing: 0.025em;
  margin: 12px 0;
}
.rg-v3 .rg-shop-category .rg-text-link {
  font: 400 23px/1 var(--rg-heading);
  border-top: 1px solid #9fc9db22;
  width: 100%;
  justify-content: center;
  padding-top: 12px;
  margin-top: auto;
}
.rg-v3 .rg-shop-category > .rg-label {
  font: 500 8px Inter;
  letter-spacing: 0.15em;
}
.rg-v3 .rg-shop-category-title {
  font-size: 42px;
  margin-bottom: 25px;
}
.rg-v3 .rg-product-card {
  border: 3px solid #5c7b92 !important;
  border-top-color: #8facbd !important;
  border-bottom: 7px solid #020c16 !important;
  border-radius: 0;
  background: var(--rg-material), #142c40;
  box-shadow:
    inset 0 2px #ffffff17,
    0 0 0 1px #020b16;
  overflow: visible;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}
.rg-v3 .rg-product-image {
  position: relative;
  background:
    radial-gradient(ellipse at 50% 50%, #3e7f9e44, transparent 70%),
    linear-gradient(#0b1e30, #11273b);
  border: 3px solid #061320;
  box-shadow: inset -2px -2px #aac9d522;
  margin: 10px 10px 0;
  aspect-ratio: 1.2;
  min-height: 170px;
}
.rg-v3 .rg-product-image:after {
  content: "";
  position: absolute;
  inset: 8px;
  pointer-events: none;
  border: 1px solid #62869d25;
}
.rg-v3 .rg-product-image img {
  padding: 13px;
  filter: drop-shadow(0 14px 8px #020b1766);
}
.rg-v3 .rg-product-card .card-body {
  padding: 20px !important;
}
.rg-v3 .rg-product-card .card-title {
  font-size: 30px;
  margin-bottom: 14px;
}
.rg-v3 .rg-product-price {
  font: 400 36px/1.1 var(--rg-heading);
  color: var(--rg-accent);
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 22px !important;
}
.rg-v3 .rg-product-price del {
  font: 400 12px/1 Inter;
  margin: 0;
  color: #bdd2e1;
}
.rg-v3 .rg-product-flag {
  border-radius: 0;
  top: 3px;
  left: 3px;
  border: 2px solid #ffdd9a;
  box-shadow: 3px 3px #020b16;
  z-index: 2;
  letter-spacing: 0.06em;
  font-size: 9px;
}
.rg-v3 .rg-product-card .btn {
  font-size: 22px !important;
}
.rg-v3 .modal-content {
  border: 3px solid #6f91a7;
  border-top-color: #a0c3d7;
  border-bottom: 8px solid #020c17;
  border-radius: 0;
  background: var(--rg-material), #132c40;
  box-shadow:
    0 0 0 1px #010811,
    0 30px 80px #000a;
}
.rg-v3 .modal-title {
  font: 400 36px/1.1 var(--rg-heading);
}
.rg-v3 .modal-header,
.rg-v3 .modal-footer {
  border-color: #496e87;
  border-radius: 0;
  background: #071a2b70;
}
.rg-v3 .rg-product-detail-image {
  background: radial-gradient(#368caa33, transparent 65%);
}
.rg-v3 :is(.form-control, .form-select) {
  border: 2px solid #47667c;
  border-top-color: #020d18;
  border-left-color: #020d18;
  border-radius: 0;
  background-color: #091b2b;
  box-shadow: inset 0 2px #020b162f;
  color: #e1f0fa;
  min-height: 44px;
}
.rg-v3 :is(.form-control, .form-select):focus {
  border-color: #99def8;
  box-shadow: 0 0 0 2px #89e3ff26;
}
.rg-v3 .form-check-input {
  border-radius: 0;
}
.rg-v3 .rg-cart-table {
  border-radius: 0;
  border: 3px solid #506e84;
  border-bottom: 6px solid #020c17;
  background: #12293a;
}
.rg3-slot-number {
  position: absolute;
  top: 5px;
  right: 8px;
  font: 400 18px/1 var(--rg-heading);
  color: #b1cede;
  z-index: 1;
}
/* Motion is varied by object: terrain drift, scene reveal, selected inventory lift. */
@keyframes rg3-float {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -10px;
  }
}
@keyframes rg3-scene-enter {
  from {
    opacity: 0.4;
    scale: 1.035;
  }
  to {
    opacity: 1;
    scale: 1;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .rg-v3[data-rg-motion="on"][data-rg-float="on"] .rg3-island {
    animation: rg3-float 9s ease-in-out infinite;
  }
  .rg-v3[data-rg-motion="on"] .rg3-scene:not([hidden]) {
    animation: rg3-scene-enter 0.48s ease-out both;
  }
  .rg-v3[data-rg-hover="on"] .rg-shop-category:hover > img {
    transform: translateY(-7px) rotate(-4deg);
  }
  .rg-v3[data-rg-hover="on"] .rg-product-card:hover {
    border-color: #8fdaf4 !important;
    box-shadow:
      inset 0 2px #d4f5ff25,
      0 0 0 1px #020b16,
      0 12px 25px #020b1640;
  }
  .rg-v3[data-rg-hover="on"] .rg-product-card:hover .rg-product-image img {
    transform: translateY(-5px) scale(1.035);
  }
  .rg-v3[data-rg-hover="on"] .rg3-waypoints > a:hover .rg3-item {
    transform: rotate(-8deg);
    transition: transform 0.2s;
  }
  .rg-v3[data-rg-motion="on"] .rg3-expedition[data-rg-reveal] {
    transition:
      opacity 0.7s,
      translate 0.7s;
    transition-delay: 0.08s;
  }
  .rg-v3[data-rg-motion="on"] .rg2-progress-copy[data-rg-reveal] {
    transition:
      opacity 0.7s,
      translate 0.7s;
    translate: 0 0;
  }
  .rg-v3[data-rg-motion="on"] .rg2-progress-copy.rg-reveal-pending {
    translate: 20px 0;
  }
}
@media (max-width: 1199.98px) {
  .rg-v3 .rg-navbar .navbar-collapse {
    padding-top: 18px;
  }
  .rg-v3 .rg-navbar .navbar-nav {
    align-items: stretch;
    gap: 5px;
  }
  .rg-v3 .rg-navbar .nav-link.active:after {
    display: none;
  }
  .rg-v3 .rg-navbar .rg-account-nav {
    border-top: 2px solid #37576e;
    margin-top: 10px;
    padding-top: 10px;
    display: flex;
    flex-direction: row;
  }
  .rg-v3 .rg-navbar .rg-account-nav .nav-link {
    padding: 12px !important;
  }
  .rg3-hero-layout {
    min-height: 720px;
    gap: 0;
  }
  .rg3-island {
    width: 123%;
    max-width: none !important;
  }
  .rg3-coordinates {
    display: none;
  }
  .rg3-hotbar {
    left: 52%;
    bottom: 35px;
    scale: 0.85;
  }
  .rg3-expedition {
    grid-template-columns: 330px minmax(0, 1fr);
  }
  .rg3-expedition-menu {
    padding: 24px 17px;
  }
  .rg3-note summary {
    font-size: 24px;
    padding: 12px 10px;
    gap: 10px;
  }
  .rg3-note-body {
    padding-left: 67px;
  }
  .rg3-panel-heading {
    font-size: 22px !important;
  }
  .rg3-scene-caption {
    padding: 24px;
    gap: 12px;
  }
  .rg-v3 .rg3-scene-caption h3 {
    font-size: 33px;
  }
  .rg3-scene-caption > span {
    width: 48px;
    height: 48px;
  }
  .rg3-waypoints > a {
    padding: 16px;
    gap: 10px;
  }
  .rg3-waypoints .rg3-item {
    width: 40px;
    height: 40px;
  }
  .rg3-waypoints > a > span:not(:last-child) {
    font-size: 23px;
  }
  .rg-v3 .rg-shop-hero h1 {
    max-width: 650px;
  }
  .rg-v3 .rg-shop-hero-art {
    opacity: 0.55;
    right: -20px;
  }
  .rg-v3 .rg-shop-layout {
    grid-template-columns: 200px minmax(0, 1fr);
  }
}
@media (max-width: 991.98px) {
  .rg3-hero-layout {
    grid-template-columns: 1.05fr 0.95fr;
    min-height: 670px;
  }
  .rg-v3 .rg3-hero h1 {
    font-size: 60px;
  }
  .rg3-wordmark {
    height: 120px !important;
    width: 330px;
  }
  .rg3-hero-actions {
    gap: 14px;
  }
  .rg3-hero-actions .rg-button {
    font-size: 21px !important;
    min-height: 49px;
    padding-inline: 16px;
  }
  .rg3-hotbar {
    scale: 0.67;
    bottom: 35px;
    left: 55%;
  }
  .rg-v3 .rg-address {
    font-size: 27px;
  }
  .rg3-expedition {
    grid-template-columns: 300px minmax(0, 1fr);
  }
  .rg3-scenes {
    min-height: 540px;
  }
  .rg3-note summary {
    font-size: 23px;
  }
  .rg3-expedition-menu {
    padding: 25px 13px;
  }
  .rg3-note-body {
    padding: 0 13px 15px 13px;
  }
  .rg3-scene-caption {
    padding: 20px;
    align-items: flex-start;
  }
  .rg3-scene-caption > span {
    display: none;
  }
  .rg3-waypoints {
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rg3-waypoints > a {
    padding: 14px 12px;
    flex-wrap: wrap;
    gap: 8px;
  }
  .rg3-waypoints > a > span:last-child {
    display: none;
  }
  .rg-v3 .rg2-progress-copy h2 {
    font-size: 44px;
  }
  .rg-v3 .rg2-progression-inner {
    gap: 20px;
  }
  .rg-v3 .rg2-progress-art img {
    max-width: 300px;
  }
  .rg-v3 .rg2-progress-track > span {
    font-size: 21px;
  }
  .rg-v3 .rg2-editorial {
    padding: 30px;
    gap: 20px;
  }
  .rg-v3 .rg2-editorial h2 {
    font-size: 35px;
  }
  .rg-v3 .rg2-editorial-number {
    display: none;
  }
  .rg-v3 .rg2-community h2 {
    font-size: 40px;
  }
  .rg-v3 .rg-shop-layout {
    grid-template-columns: 1fr;
  }
  .rg-v3 .rg-shop-hero-art {
    display: none;
  }
  .rg-v3 .rg-shop-page .list-group {
    display: flex;
    flex-flow: row wrap;
    gap: 6px;
  }
  .rg-v3 .rg-shop-page .list-group-item {
    flex: 1 1 auto;
    font-size: 23px;
    min-width: 120px;
  }
}
@media (max-width: 767.98px) {
  .rg-v3 .rg-header {
    backdrop-filter: none;
  }
  .rg-v3 .rg-container {
    width: calc(100% - 36px);
  }
  .rg-v3 .rg-logo {
    width: 112px !important;
    height: 40px !important;
  }
  .rg-v3 .rg-nav-container {
    gap: 10px;
  }
  .rg-v3 .rg-brand-with-mark .rg-logo {
    width: 42px !important;
  }
  .rg-v3 .rg-topbar > .rg-container {
    height: 27px;
    font-size: 8px;
  }
  .rg-v3 .rg-mobile-play .rg-button {
    font-size: 18px !important;
    min-height: 36px;
    padding: 6px 10px;
    gap: 6px;
  }
  .rg-v3 .rg-mobile-play .rg-button:after {
    content: none;
  }
  .rg-v3 .rg-mobile-play .rg-icon {
    width: 13px;
    height: 13px;
  }
  .rg-v3 .rg-navbar {
    padding-block: 9px;
  }
  .rg3-hero {
    min-height: 0;
  }
  .rg3-hero-layout {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding-block: 27px 52px;
    text-align: center;
    gap: 0;
  }
  .rg3-hero-copy {
    width: 100%;
  }
  .rg3-horizon img {
    object-position: 65% 50%;
    opacity: 0.47;
  }
  .rg3-hero-atmosphere {
    background: linear-gradient(
      0deg,
      var(--rg-night),
      #08234244 36%,
      #061a30c9 70%
    );
  }
  .rg3-server-tag {
    font-size: 8px;
    padding: 8px 10px;
    margin-bottom: 12px;
    letter-spacing: 0.1em;
  }
  .rg3-wordmark {
    width: 270px;
    max-width: 85%;
    height: 96px !important;
    object-position: center;
    margin: 0 auto 12px;
  }
  .ragnar .rg3-hero-kicker {
    font-size: 8px;
    margin-bottom: 11px;
  }
  .rg-v3 .rg3-hero h1 {
    font-size: 58px;
    margin-bottom: 17px;
    line-height: 0.98;
  }
  .ragnar .rg3-hero-description {
    font-size: 12px;
    line-height: 1.8;
    max-width: 335px;
    margin: 0 auto 23px;
  }
  .rg3-hero-actions {
    justify-content: center;
    gap: 12px;
  }
  .rg3-hero-actions .rg-button {
    font-size: 20px !important;
    padding: 10px 13px;
    min-height: 48px;
    gap: 6px;
  }
  .rg3-hero-actions .rg-icon {
    width: 16px;
    height: 16px;
  }
  .rg3-diorama {
    align-self: center;
    width: 100%;
    height: 310px;
    margin-top: 20px;
  }
  .rg3-island {
    width: 340px;
    max-width: 105% !important;
    margin-top: -8px;
  }
  .rg3-hotbar {
    scale: 0.65;
    bottom: -18px;
    left: 50%;
  }
  .rg3-diorama-orbit {
    bottom: 12px;
  }
  .rg-v3 .rg-connection-wrap {
    margin-top: -8px;
  }
  .rg-v3 .rg-connection {
    padding: 19px 17px;
    gap: 12px;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    border-width: 2px;
    border-bottom-width: 5px;
  }
  .rg-v3 .rg-server-symbol {
    display: grid;
    width: 40px;
    height: 40px;
    grid-row: 1;
  }
  .rg-v3 .rg-server-symbol .rg3-item {
    width: 33px;
    height: 33px;
  }
  .rg-v3 .rg-address-block .rg-label {
    font-size: 7px;
    letter-spacing: 0.08em;
  }
  .rg-v3 .rg-address {
    font-size: 29px;
    line-height: 1.15;
  }
  .rg-v3 .rg-address-block {
    gap: 5px;
  }
  .rg-v3 .rg-status {
    grid-column: 1/-1;
    grid-row: 2;
    margin: 0;
    font-size: 10px;
    display: flex;
    gap: 9px;
  }
  .rg-v3 .rg-status {
    max-width: none;
  }
  .rg-v3 .rg-status small {
    font-size: 10px;
    padding: 0;
  }
  .rg-v3 .rg-copy-button {
    grid-column: 1/-1;
    grid-row: 3;
    width: 100%;
    justify-content: center;
    min-height: 44px;
    font-size: 11px;
  }
  .rg3-discovery {
    padding-block: 55px 45px;
  }
  .rg-v3 .rg-section-heading {
    gap: 15px;
    margin-bottom: 25px;
    flex-direction: column;
    align-items: flex-start;
  }
  .rg-v3 .rg-section-heading h2 {
    font-size: 39px;
    max-width: 360px;
  }
  .rg-v3 .rg-section-intro {
    font-size: 12px;
    line-height: 1.8;
    max-width: 100%;
  }
  .rg-v3 .rg-eyebrow {
    font-size: 8px;
    letter-spacing: 0.08em;
    margin-bottom: 14px;
    gap: 10px;
  }
  .rg3-section-rune {
    width: 35px;
    height: 35px;
  }
  .rg3-section-rune .rg3-item {
    width: 29px;
    height: 29px;
  }
  .rg3-expedition {
    grid-template-columns: 1fr;
    border-width: 2px;
  }
  .rg3-expedition-menu {
    border: 0;
    border-bottom: 3px solid #040f1d;
    padding: 23px 14px 18px;
  }
  .ragnar .rg3-panel-heading {
    font-size: 24px !important;
    margin-bottom: 17px;
  }
  .rg3-note summary {
    min-height: 72px;
    font-size: 26px;
    padding: 11px 12px;
    gap: 13px;
  }
  .rg3-note summary small {
    font-size: 7px;
    margin-bottom: 6px;
  }
  .rg3-note-item {
    width: 43px;
    height: 43px;
  }
  .rg3-note-item .rg3-item {
    width: 36px;
    height: 36px;
  }
  .rg3-note-body {
    padding: 0 16px 16px 70px;
  }
  .rg3-note-body p {
    font-size: 11px;
    line-height: 1.85;
  }
  .rg3-expedition-tip {
    font-size: 9px;
    margin-top: 16px !important;
  }
  .rg3-scenes {
    min-height: 310px;
    border-width: 5px;
  }
  .rg3-scene-caption {
    padding: 21px;
  }
  .rg3-scene-caption > span {
    display: grid;
    width: 43px;
    height: 43px;
  }
  .rg3-scene-caption > span .rg3-item {
    width: 36px;
    height: 36px;
  }
  .rg3-scene-caption small {
    font-size: 6px;
  }
  .rg-v3 .rg3-scene-caption h3 {
    font-size: 30px;
  }
  .rg3-scene-caption p {
    font-size: 9px !important;
  }
  .rg3-scene-id {
    top: 16px;
    right: 14px;
    font-size: 7px;
  }
  .rg3-scene-object {
    height: 65% !important;
    width: 60%;
    margin-top: 5px;
  }
  .rg3-scene-inventory {
    inset: 25px 0 105px;
  }
  .rg3-waypoints {
    grid-template-columns: 1fr;
    margin-top: 20px;
    gap: 12px;
  }
  .rg3-waypoints > a {
    padding: 15px 18px;
    flex-wrap: nowrap;
    gap: 14px;
  }
  .rg3-waypoints > a > span:not(:last-child) {
    font-size: 26px;
  }
  .rg3-waypoints > a > span:last-child {
    display: block;
  }
  .rg-v3 .rg2-progression {
    padding-block: 0 50px;
  }
  .rg-v3 .rg2-progression-inner {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .rg-v3 .rg2-progress-art {
    width: 100%;
    min-height: 270px;
    order: 2;
    margin-top: 25px;
  }
  .rg-v3 .rg2-progress-art img {
    height: 250px !important;
    max-width: 290px;
  }
  .rg-v3 .rg2-progress-copy h2 {
    font-size: 40px;
  }
  .rg-v3 .rg2-progress-copy > p:not(.rg-eyebrow) {
    font-size: 12px;
  }
  .rg-v3 .rg2-progress-track {
    justify-content: space-between;
    padding: 15px 10px;
    gap: 8px;
  }
  .rg-v3 .rg2-progress-track > span {
    font-size: 22px;
  }
  .rg-v3 .rg2-progress-track > i {
    display: none;
  }
  .rg-v3 .rg2-art-label {
    font-size: 16px;
  }
  .rg-v3 .rg2-editorial {
    padding: 25px;
    min-height: 0;
    gap: 12px;
  }
  .rg-v3 .rg2-editorial h2 {
    font-size: 36px;
  }
  .rg-v3 .rg2-editorial p:not(.rg-eyebrow) {
    font-size: 12px;
  }
  .rg-v3 .rg2-editorial > img {
    height: 150px !important;
    width: 160px;
    align-self: center;
    margin: 0;
  }
  .rg-v3 .rg2-events {
    padding-block: 50px 0;
  }
  .rg-v3 .rg2-event {
    padding: 18px;
    gap: 13px;
  }
  .rg-v3 .rg2-event-glyph {
    width: 40px;
    height: 40px;
  }
  .rg-v3 .rg2-event-glyph .rg3-item {
    width: 35px;
    height: 35px;
  }
  .rg-v3 .rg2-event-copy {
    min-width: 0;
  }
  .rg-v3 .rg2-event h3 {
    font-size: 25px;
  }
  .rg-v3 .rg2-event p {
    font-size: 11px;
  }
  .rg-v3 .rg-news {
    padding-block: 50px;
  }
  .rg-v3 .rg-news-empty {
    padding: 21px;
    gap: 14px;
  }
  .rg-v3 .rg-news-empty h3 {
    font-size: 28px;
  }
  .rg-v3 .rg-news-empty p {
    font-size: 11px;
  }
  .rg-v3 .rg2-community h2 {
    font-size: 38px;
  }
  .rg-v3 .rg2-community p:not(.rg-eyebrow) {
    font-size: 12px;
  }
  .rg-v3 .rg2-community {
    padding-block: 35px;
  }
  .rg-v3 .rg-join {
    padding-block: 50px;
  }
  .rg-v3 .rg2-join-layout h2 {
    font-size: 41px;
  }
  .rg-v3 .rg2-join-layout p {
    font-size: 12px;
  }
  .rg-v3 .rg2-join-panel {
    padding: 22px;
    border-width: 2px;
    border-bottom-width: 5px;
  }
  .rg-v3 .rg-join-address code {
    font-size: 31px;
  }
  .rg-v3 .rg-footer-top {
    gap: 25px;
    padding-block: 35px;
  }
  .rg-v3 .rg-footer-column > .rg-label {
    font-size: 25px;
    margin-bottom: 14px;
  }
  .rg-v3 .rg-footer-bottom {
    font-size: 9px;
  }
  .rg-v3 .rg-footer-bottom > span:last-child {
    font-size: 9px;
  }
  .rg-v3 .rg-shop-hero {
    padding-block: 25px 35px;
  }
  .rg-v3 .rg-shop-hero h1 {
    font-size: 46px;
    max-width: 100%;
  }
  .rg-v3 .rg-shop-hero .rg-page-description {
    font-size: 12px;
  }
  .rg-v3 .rg-shop-hero-links {
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 20px;
  }
  .rg-v3 .rg-shop-hero-links > .rg-text-link {
    font-size: 11px;
  }
  .rg-v3 .rg-shop-hero-links > .rg-button {
    font-size: 21px !important;
    min-height: 48px;
  }
  .rg-v3 .rg-native-content.rg-shop-page {
    padding-block: 25px 45px;
  }
  .rg-v3 .rg-shop-page .list-group-item {
    font-size: 24px;
    min-width: 100px;
    padding: 12px 10px;
  }
  .rg-v3 .rg-shop-categories {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .rg-v3 .rg-shop-category {
    min-height: 300px;
    padding: 24px;
  }
  .rg-v3 .rg-shop-category h2 {
    font-size: 40px;
  }
  .rg-v3 .rg-shop-category > img {
    width: 185px;
    height: 150px !important;
  }
  .rg-v3 .rg-shop-category-title {
    font-size: 37px;
  }
  .rg-v3 .rg-product-card .card-title {
    font-size: 34px;
  }
  .rg-v3 .rg-product-price {
    font-size: 40px;
  }
  .rg-v3 .rg-product-image {
    min-height: 180px;
    aspect-ratio: 1.65;
  }
  .rg-v3 .rg-product-image img {
    max-height: 210px;
  }
  .rg-v3 .modal-title {
    font-size: 31px;
  }
  .rg-v3 .modal-footer {
    gap: 16px;
  }
  .rg-v3 .modal-footer .btn {
    font-size: 21px !important;
  }
  .rg-v3 .modal-dialog {
    margin: 15px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rg3-island {
    transform: none !important;
    will-change: auto;
  }
  .rg-v3 :is(.rg3-item, .rg-product-image img) {
    transform: none !important;
  }
}
