/* RF Online AOP 4.15 — final reference-matched layout layer.
   Loaded last so older experiments cannot change the measured composition. */
:root {
  --rf-final-pink: #f31678;
  --rf-final-hot: #ff2d91;
  --rf-final-purple: #7434d3;
  --rf-final-ink: #19141c;
  --rf-final-muted: #70646f;
  --rf-final-max: 1480px;
  --rf-frame-wide: url('../images/rf-assets/panels/supplied/panel-wide-c.png');
  --rf-frame-wide-alt: url('../images/rf-assets/panels/supplied/panel-wide-a.png');
  --rf-frame-card: url('../images/rf-assets/panels/supplied/panel-wide-c.png');
}

html { overflow-x: hidden; }
body#body-overlay {
  min-width: 0;
  overflow-x: hidden;
  color: var(--rf-final-ink);
  background: #fff9fc url('../images/rf-assets/bg-body.png') top center / max(1280px, 100vw) auto repeat-y !important;
}
body#body-overlay::before { opacity: 0 !important; }
.rfv-shell { width: min(var(--rf-final-max), calc(100% - 40px)) !important; }

/* Header */
.rfv-nav {
  position: relative !important;
  top: 0 !important;
  z-index: 60 !important;
  display: flex !important;
  width: 100% !important;
  height: 76px !important;
  min-height: 76px !important;
  padding: 0 max(24px, calc((100vw - var(--rf-final-max)) / 2)) !important;
  border: 0 !important;
  border-bottom: 2px solid rgba(243, 22, 120, .62) !important;
  background: rgba(255, 253, 254, .97) !important;
  box-shadow: 0 8px 24px rgba(160, 30, 92, .08) !important;
}
.rfv-brand--reference {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  width: auto !important;
  min-width: 285px;
  color: var(--rf-final-pink) !important;
  text-decoration: none !important;
}
.rfv-brand--reference strong,
.rfv-footer-logo strong {
  display: block;
  font: italic 800 32px/1 'Rajdhani', sans-serif;
  letter-spacing: -1.5px;
  color: var(--rf-final-pink);
}
.rfv-brand--reference strong span,
.rfv-footer-logo strong span { color: #161318; }
.rfv-brand--reference small,
.rfv-footer-logo small {
  display: block !important;
  margin-top: 3px;
  font: 700 13px/1 'Rajdhani', sans-serif;
  color: #171318 !important;
  letter-spacing: .4px;
}
.rfv-brand--reference small i,
.rfv-footer-logo small i { margin-left: 10px; color: var(--rf-final-pink); font-style: normal; }
.rfv-links { height: 100%; gap: 3px !important; align-items: stretch !important; }
.rfv-links > a,
.rfv-nav-group > button {
  display: flex !important;
  align-items: center;
  min-height: 74px !important;
  padding: 0 13px !important;
  color: #211b21 !important;
  font: 700 13px/1 'Rajdhani', sans-serif !important;
  letter-spacing: .25px !important;
}
.rfv-links > a:hover,
.rfv-nav-group > button:hover { color: var(--rf-final-pink) !important; }
.rfv-page-home .rfv-links > a:first-child { color: var(--rf-final-pink) !important; }
.rfv-page-home .rfv-links > a:first-child::after { height: 3px !important; }

/* Hero */
body.rfv-page-home .rfv-home-hero {
  position: relative !important;
  height: 720px !important;
  min-height: 720px !important;
  overflow: hidden !important;
  border-bottom: 0 !important;
  background: #fff url('../images/rf-assets/bg-head.png') center / cover no-repeat !important;
}
body.rfv-page-home .rfv-home-hero::before,
body.rfv-page-home .rfv-home-hero::after { opacity: 0 !important; }
body.rfv-page-home .rfv-home-hero .rfv-home-hero__copy {
  position: relative !important;
  z-index: 12 !important;
  height: 720px !important;
  min-height: 720px !important;
  width: min(var(--rf-final-max), calc(100% - 40px)) !important;
  padding: 0 !important;
}
body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
  position: absolute !important;
  z-index: 12 !important;
  top: 58px !important;
  left: 0 !important;
  width: 570px !important;
  height: auto !important;
  max-height: 360px !important;
  object-fit: contain !important;
  object-position: left top !important;
}
body.rfv-page-home .rfv-home-hero .rfv-lead {
  display: block !important;
  position: absolute !important;
  z-index: 13 !important;
  top: 380px !important;
  left: 24px !important;
  width: 430px !important;
  margin: 0 !important;
  color: #3a3038 !important;
  font: 500 17px/1.45 'Rajdhani', sans-serif !important;
  text-shadow: 0 1px 0 #fff !important;
}
body.rfv-page-home .rfv-home-hero .rfv-actions {
  position: absolute !important;
  z-index: 15 !important;
  top: 486px !important;
  left: 18px !important;
  display: grid !important;
  grid-template-columns: 310px !important;
  gap: 9px !important;
  width: 310px !important;
  margin: 0 !important;
  transform: none !important;
}
body.rfv-page-home .rfv-home-hero .rfv-button {
  width: 310px !important;
  min-width: 310px !important;
  min-height: 61px !important;
  height: 61px !important;
  padding: 9px 24px !important;
  font-size: 17px !important;
  filter: drop-shadow(0 6px 8px rgba(178, 18, 92, .16));
}
body.rfv-page-home .rfv-home-hero .rfv-button small { font-size: 11px !important; }
body.rfv-page-home .rfv-home-hero .rfv-hero-character {
  position: absolute !important;
  z-index: 8 !important;
  top: 12px !important;
  right: max(9%, calc((100vw - var(--rf-final-max)) / 2 + 115px)) !important;
  bottom: auto !important;
  width: auto !important;
  height: 760px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: top center !important;
  transform: none !important;
}
body.rfv-page-home .rfv-hero-ribbon {
  z-index: 10 !important;
  top: 106px !important;
  right: max(18px, calc((100vw - var(--rf-final-max)) / 2 + 20px)) !important;
  width: 220px !important;
  height: 500px !important;
}
body.rfv-page-home .rfv-header-art--power {
  top: 0 !important;
  right: 0 !important;
  width: 220px !important;
  height: auto !important;
  max-height: 330px !important;
  object-fit: contain !important;
}
body.rfv-page-home .rfv-header-art--join {
  top: 328px !important;
  right: 18px !important;
  width: 108px !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Shared 9-slice frames preserve artwork corners while the center stretches. */
body.rfv-page-home .rfv-statusbar--body,
body.rfv-page-home .rfv-home-grid > .rfv-panel,
body.rfv-page-home .rfv-dashboard-row--bottom > *,
.rfv-footer__frame,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-form-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-download-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-side-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-news-feed,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-rank-table {
  box-sizing: border-box !important;
  border-style: solid !important;
  border-color: transparent !important;
  border-image-source: var(--rf-frame-wide) !important;
  border-image-slice: 118 150 fill !important;
  border-image-width: 26px 32px !important;
  border-image-repeat: stretch !important;
  border-radius: 0 !important;
  background: rgba(255, 252, 254, .96) !important;
  box-shadow: 0 10px 24px rgba(190, 34, 103, .08) !important;
}

/* Status rail */
body.rfv-page-home .rfv-statusbar--body {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  width: min(var(--rf-final-max), calc(100% - 40px)) !important;
  min-height: 150px !important;
  height: 150px !important;
  margin: 18px auto 0 !important;
  padding: 20px 36px !important;
  border-width: 22px 30px !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-statusbar--body > div {
  display: grid !important;
  grid-template-columns: 45px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  column-gap: 12px !important;
  min-width: 0 !important;
  min-height: 54px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-right: 1px solid rgba(234, 42, 126, .25) !important;
}
body.rfv-page-home .rfv-statusbar--body > div:last-child { border-right: 0 !important; }
body.rfv-page-home .rfv-statusbar--body .rfv-icon {
  grid-row: 1 / 3;
  align-self: center;
  --cell: 42px !important;
}
body.rfv-page-home .rfv-statusbar--body span {
  align-self: end;
  font: 700 12px/1.1 'Rajdhani', sans-serif !important;
  letter-spacing: .4px !important;
}
body.rfv-page-home .rfv-statusbar--body strong {
  align-self: start;
  margin-top: 5px !important;
  color: #34272f !important;
  font: 700 14px/1.1 'Rajdhani', sans-serif !important;
  white-space: normal !important;
}
body.rfv-page-home .rfv-statusbar--body strong#rfv-server-state { color: #0aa648 !important; }

/* Long landing-page rhythm */
body.rfv-page-home .rfv-home {
  display: grid !important;
  gap: 24px !important;
  width: min(var(--rf-final-max), calc(100% - 40px)) !important;
  max-width: var(--rf-final-max) !important;
  margin: 22px auto 38px !important;
}
body.rfv-page-home .rfv-home > .rfv-shell { width: 100% !important; margin: 0 !important; }

body.rfv-page-home .rfv-features--primary {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-template-rows: 165px !important;
  gap: 14px !important;
  padding: 0 !important;
}
body.rfv-page-home .rfv-features--primary article {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) !important;
  grid-template-rows: auto 1fr !important;
  column-gap: 10px !important;
  align-content: start !important;
  box-sizing: border-box !important;
  height: 165px !important;
  min-height: 165px !important;
  padding: 21px 19px 19px !important;
  border: 20px solid transparent !important;
  border-image-source: var(--rf-frame-card) !important;
  border-image-slice: 135 fill !important;
  border-image-width: 22px !important;
  border-image-repeat: stretch !important;
  background: rgba(255, 252, 254, .96) !important;
  box-shadow: 0 10px 22px rgba(193, 37, 108, .07) !important;
  transition: transform .2s ease, filter .2s ease !important;
}
body.rfv-page-home .rfv-features--primary article:hover { transform: translateY(-4px); filter: saturate(1.04); }
body.rfv-page-home .rfv-features--primary .rfv-icon { grid-row: 1 / 3; --cell: 48px !important; margin: 0 !important; }
body.rfv-page-home .rfv-features--primary h3 { margin: 4px 0 7px !important; font: 700 14px/1.05 'Rajdhani', sans-serif !important; letter-spacing: 0 !important; word-break: normal !important; }
body.rfv-page-home .rfv-features--primary p { margin: 0 !important; font: 500 11px/1.35 'Rajdhani', sans-serif !important; }

body.rfv-page-home .rfv-home-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 24px !important;
}
body.rfv-page-home .rfv-home-grid > .rfv-panel {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 24px 34px 30px !important;
  border-width: 24px 32px !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-panel__head { margin: 0 0 16px !important; }
body.rfv-page-home .rfv-panel__head h2,
body.rfv-page-home .rfv-community h2 { font-size: 23px !important; }
body.rfv-page-home .rfv-news__list { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 18px !important; }
body.rfv-page-home .rfv-news-card {
  min-height: 285px !important;
  padding: 18px 18px 20px !important;
  border: 16px solid transparent !important;
  border-image-source: var(--rf-frame-card) !important;
  border-image-slice: 135 fill !important;
  border-image-width: 18px !important;
  border-image-repeat: stretch !important;
  background: #fff !important;
}
body.rfv-page-home .rfv-news-card img { width: 100% !important; height: 126px !important; object-fit: cover !important; }
body.rfv-page-home .rfv-news-card h3 { margin: 12px 0 7px !important; font-size: 17px !important; }
body.rfv-page-home .rfv-news-card p { display: block !important; min-height: 38px !important; font-size: 13px !important; line-height: 1.35 !important; }
body.rfv-page-home .rfv-community { padding-bottom: 34px !important; }
body.rfv-page-home .rfv-community > div { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 20px !important; margin-top: 18px !important; }
body.rfv-page-home .rfv-community a {
  min-height: 155px !important;
  height: 155px !important;
  padding: 24px 20px !important;
  border: 2px solid rgba(255,255,255,.9) !important;
  outline: 1px solid rgba(242, 46, 135, .55) !important;
  background: linear-gradient(135deg, #ee1979, #ff3f9d) !important;
  clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px) !important;
}
body.rfv-page-home .rfv-community a:nth-child(2),
body.rfv-page-home .rfv-community a:nth-child(3) { background: linear-gradient(135deg, #7838dc, #4324a2) !important; }
body.rfv-page-home .rfv-community .rfv-icon { --cell: 58px !important; }
body.rfv-page-home .rfv-community small { margin-top: 8px !important; font-size: 17px !important; }
body.rfv-page-home .rfv-community a,
body.rfv-page-home .rfv-community a small,
body.rfv-page-home .rfv-community a span { color: #fff !important; text-shadow: 0 1px 2px rgba(28, 8, 34, .28) !important; }

body.rfv-page-home .rfv-dashboard-row--bottom {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
body.rfv-page-home .rfv-dashboard-row--bottom > * {
  width: 100% !important;
  height: auto !important;
  min-height: 390px !important;
  padding: 24px 28px 28px !important;
  border-width: 24px 28px !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-live-details,
body.rfv-page-home .rfv-dashboard-row--bottom .rfv-war-slot {
  padding: 24px 28px 28px !important;
  border-width: 24px 28px !important;
}
body.rfv-page-home .rfv-live-details summary { margin: 0 0 16px !important; padding: 0 3px 10px !important; }
body.rfv-page-home .rfv-live-details .rfv-server-slot { height: auto !important; min-height: 285px !important; }
body.rfv-page-home .rfv-server-widget { min-height: 285px !important; height: auto !important; }
body.rfv-page-home .rfv-war-widget { min-height: 315px !important; height: auto !important; }
body.rfv-page-home .rfv-live-details .rfv-server-widget {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto auto !important;
  gap: 10px !important;
  align-content: start !important;
  min-height: 300px !important;
  padding: 0 !important;
  overflow: visible !important;
}
body.rfv-page-home .rfv-live-details .rfv-server-widget__head,
body.rfv-page-home .rfv-live-details .rfv-service {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  column-gap: 8px !important;
  min-width: 0 !important;
  min-height: 78px !important;
  padding: 10px !important;
  border: 1px solid rgba(239, 44, 132, .28) !important;
  background: rgba(255,255,255,.68) !important;
}
body.rfv-page-home .rfv-live-details .rfv-server-widget__head { grid-column: 1 !important; grid-row: 1 !important; }
body.rfv-page-home .rfv-live-details .rfv-service:nth-of-type(1) { grid-column: 2 !important; grid-row: 1 !important; }
body.rfv-page-home .rfv-live-details .rfv-service:nth-of-type(2) { grid-column: 3 !important; grid-row: 1 !important; }
body.rfv-page-home .rfv-live-details .rfv-server-widget__head > .rfv-icon,
body.rfv-page-home .rfv-live-details .rfv-service > .rfv-icon { grid-row: 1 / 3; --cell: 36px !important; align-self: center; }
body.rfv-page-home .rfv-live-details .rfv-server-widget__head small { position: static !important; grid-column: 2; font-size: 9px !important; }
body.rfv-page-home .rfv-live-details .rfv-service span,
body.rfv-page-home .rfv-live-details .rfv-server-widget__head span { font-size: 10px !important; line-height: 1.1 !important; }
body.rfv-page-home .rfv-live-details .rfv-service b,
body.rfv-page-home .rfv-live-details .rfv-server-widget__head strong { font-size: 14px !important; line-height: 1.1 !important; }
body.rfv-page-home .rfv-live-details .rfv-server-metrics {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: grid !important;
  grid-template-columns: 1fr 1.35fr !important;
  gap: 8px !important;
  min-height: 118px !important;
}
body.rfv-page-home .rfv-live-details .rfv-metric,
body.rfv-page-home .rfv-live-details .rfv-race-online {
  min-height: 50px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(239,44,132,.22) !important;
  background: rgba(255,255,255,.74) !important;
}
body.rfv-page-home .rfv-live-details .rfv-race-online { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 4px !important; }
body.rfv-page-home .rfv-live-details .rfv-race-online > span { min-width: 0 !important; min-height: 34px !important; padding: 5px !important; }
body.rfv-page-home .rfv-live-details .rfv-metric--plain { min-height: 50px !important; }
body.rfv-page-home .rfv-live-details .rfv-chipwar {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  display: grid !important;
  grid-template-columns: 40px 1fr 1.6fr !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(239,44,132,.24) !important;
  background: rgba(255,255,255,.72) !important;
}
body.rfv-page-home .rfv-live-details .rfv-chipwar > .rfv-icon { display: block !important; --cell: 32px !important; }
body.rfv-page-home .rfv-live-details .rfv-chipwar > span { display: block !important; font-size: 11px !important; }
body.rfv-page-home .rfv-live-details .rfv-chipwar > b { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 5px !important; margin: 0 !important; }
body.rfv-page-home .rfv-live-details .rfv-chipwar b i { padding: 7px 4px !important; font-size: 10px !important; text-align: center !important; }

/* Premium 4-column footer using the correct wide frame as 9-slice artwork. */
.rfv-footer {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 28px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.rfv-footer__frame {
  width: min(var(--rf-final-max), calc(100% - 40px)) !important;
  min-height: 270px !important;
  margin: 0 auto !important;
  padding: 26px 38px !important;
  border-width: 30px 38px !important;
  border-image-source: var(--rf-frame-wide-alt) !important;
  border-image-slice: 120 155 fill !important;
  border-image-width: 30px 38px !important;
}

/* Register journey section spacing requested by the design. */
body.rfv-page-register:not(.rfv-page-home) .rfv-journey {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* Register page: use the supplied tall artwork for the Why join RF panel. */
body.rfv-page-register:not(.rfv-page-home) .rfv-why-panel,
body.rfv-page-register:not(.rfv-page-home) .rfv-why-panel:hover {
  background-image: url('../images/rf-assets/panels/supplied/why-join-panel.png') !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Register page: use the supplied wide artwork for Account registration. */
body.rfv-page-register:not(.rfv-page-home) .rfv-form-panel,
body.rfv-page-register:not(.rfv-page-home) .rfv-form-panel:hover {
  background-image: url('../images/rf-assets/panels/supplied/account-registration-panel.png') !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.rfv-footer__grid {
  display: grid !important;
  grid-template-columns: 1.55fr .8fr .8fr .72fr !important;
  gap: 30px !important;
  align-items: start !important;
  width: 100% !important;
  min-height: 150px !important;
  padding: 4px 0 !important;
}
.rfv-footer__grid > section { min-width: 0; padding-right: 20px; border-right: 1px solid rgba(235, 45, 128, .2); }
.rfv-footer__grid > section:last-child { border-right: 0; padding-right: 0; }
.rfv-footer-logo { display: inline-block; text-decoration: none !important; }
.rfv-footer-logo strong { font-size: 31px; }
.rfv-footer__brand p { margin: 18px 0 14px !important; color: #4f424c !important; font: 500 13px/1.45 'Rajdhani', sans-serif !important; }
.rfv-footer__brand > small { color: #82717d !important; font-size: 10px !important; }
.rfv-footer h4 { margin: 4px 0 14px !important; color: #211921 !important; font: 700 14px/1 'Rajdhani', sans-serif !important; text-transform: uppercase; letter-spacing: .5px; }
.rfv-footer__links nav { display: grid !important; gap: 8px !important; }
.rfv-footer__links nav a { position: relative; padding-left: 15px; color: #544650 !important; font: 600 12px/1.1 'Rajdhani', sans-serif !important; text-decoration: none !important; }
.rfv-footer__links nav a::before { content: '›'; position: absolute; left: 0; color: var(--rf-final-pink); font-weight: 800; }
.rfv-footer__social > div { display: flex; gap: 10px; }
.rfv-footer__social a { display: grid; place-items: center; width: 42px; height: 42px; border: 3px solid #fff; outline: 2px solid var(--rf-final-pink); border-radius: 50%; color: #fff !important; background: #281327; box-shadow: 0 4px 10px rgba(134, 25, 83, .22); font: 800 19px/1 'Rajdhani',sans-serif; text-decoration: none !important; }
.rfv-footer__social > .rfv-icon { display: block; --cell: 72px !important; margin: 22px auto 0 !important; }

/* Internal routes use the same frame system without touching their logic. */
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-form-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-download-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-side-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-news-feed,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-rank-table {
  padding: 30px 36px !important;
  border-width: 26px 32px !important;
}

@media (max-width: 1199px) {
  .rfv-brand--reference { min-width: 225px; }
  .rfv-brand--reference strong { font-size: 27px; }
  .rfv-links > a, .rfv-nav-group > button { padding: 0 8px !important; font-size: 11px !important; }
  body.rfv-page-home .rfv-home-hero { height: 660px !important; min-height: 660px !important; }
  body.rfv-page-home .rfv-home-hero .rfv-home-hero__copy { height: 660px !important; min-height: 660px !important; }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite { width: 500px !important; }
  body.rfv-page-home .rfv-home-hero .rfv-hero-character { right: 5% !important; height: 790px !important; }
  body.rfv-page-home .rfv-hero-ribbon { right: 10px !important; transform: scale(.84); transform-origin: top right; }
  body.rfv-page-home .rfv-statusbar--body > div { grid-template-columns: 35px minmax(0,1fr) !important; padding: 0 8px !important; }
  body.rfv-page-home .rfv-statusbar--body .rfv-icon { --cell: 34px !important; }
  body.rfv-page-home .rfv-features--primary { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}

@media (max-width: 767px) {
  .rfv-shell { width: min(100% - 20px, 680px) !important; }
  .rfv-nav { height: 66px !important; min-height: 66px !important; padding: 0 14px !important; }
  .rfv-brand--reference { min-width: 0; }
  .rfv-brand--reference strong { font-size: 23px; }
  .rfv-brand--reference small { font-size: 10px; }
  .rfv-menu-toggle { display: block !important; }
  .rfv-links { height: auto !important; }
  body.rfv-page-home .rfv-home-hero { height: 900px !important; min-height: 900px !important; }
  body.rfv-page-home .rfv-home-hero .rfv-home-hero__copy { height: 900px !important; min-height: 900px !important; width: calc(100% - 24px) !important; }
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite { top: 28px !important; left: 0 !important; width: min(92vw, 460px) !important; }
  body.rfv-page-home .rfv-home-hero .rfv-lead { top: 300px !important; left: 8px !important; width: calc(100% - 16px) !important; font-size: 15px !important; }
  body.rfv-page-home .rfv-home-hero .rfv-actions { top: 390px !important; left: 5px !important; grid-template-columns: min(310px, calc(100vw - 34px)) !important; width: min(310px, calc(100vw - 34px)) !important; }
  body.rfv-page-home .rfv-home-hero .rfv-button { width: 100% !important; min-width: 0 !important; }
  body.rfv-page-home .rfv-home-hero .rfv-hero-character { top: 445px !important; right: 50% !important; height: 620px !important; transform: translateX(55%) !important; }
  body.rfv-page-home .rfv-hero-ribbon { top: 575px !important; right: 5px !important; transform: scale(.58); }
  body.rfv-page-home .rfv-statusbar--body { grid-template-columns: repeat(2,minmax(0,1fr)) !important; width: calc(100% - 16px) !important; height: auto !important; min-height: 230px !important; padding: 24px 18px !important; margin-top: 12px !important; }
  body.rfv-page-home .rfv-statusbar--body > div { min-height: 68px !important; border-right: 0 !important; border-bottom: 1px solid rgba(234,42,126,.2) !important; }
  body.rfv-page-home .rfv-home { width: calc(100% - 16px) !important; gap: 16px !important; margin-top: 16px !important; }
  body.rfv-page-home .rfv-features--primary { grid-template-columns: 1fr !important; gap: 10px !important; }
  body.rfv-page-home .rfv-features--primary article { min-height: 145px !important; }
  body.rfv-page-home .rfv-home-grid { gap: 16px !important; }
  body.rfv-page-home .rfv-home-grid > .rfv-panel { padding: 22px 18px 26px !important; border-width: 20px !important; }
  body.rfv-page-home .rfv-news__list,
  body.rfv-page-home .rfv-community > div { grid-template-columns: 1fr !important; }
  body.rfv-page-home .rfv-news-card { min-height: 260px !important; }
  body.rfv-page-home .rfv-dashboard-row--bottom { grid-template-columns: 1fr !important; gap: 16px !important; }
  body.rfv-page-home .rfv-dashboard-row--bottom > * { min-height: 360px !important; padding: 22px 18px 24px !important; border-width: 20px !important; }
  .rfv-footer__frame { width: calc(100% - 16px) !important; padding: 24px 18px !important; border-width: 22px !important; }
  .rfv-footer__grid { grid-template-columns: 1fr 1fr !important; gap: 24px 16px !important; }
  .rfv-footer__grid > section { border-right: 0; padding-right: 0; }
}

@media (max-width: 420px) {
  .rfv-footer__grid { grid-template-columns: 1fr !important; }
  body.rfv-page-home .rfv-statusbar--body { grid-template-columns: 1fr !important; }
}

/* Final artwork override: keep the supplied Account registration panel visible. */
body[class*="rfv-page-register"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-form-panel,
body[class*="rfv-page-register"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-form-panel:hover {
  background-image: url('../images/rf-assets/panels/supplied/account-registration-panel.png') !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Home dashboard: use the supplied panel artwork on each main dashboard panel. */
body.rfv-page-home .rfv-dashboard-row--bottom > .rfv-live-details,
body.rfv-page-home .rfv-dashboard-row--bottom > .rfv-war-slot {
  background-image: url('../images/rf-assets/panels/supplied/dashboard-panel.png') !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Home content panels: use the supplied artwork for News and Community. */
body.rfv-page-home .rfv-home-grid > .rfv-panel {
  background-image: url('../images/rf-assets/panels/supplied/news-community-panel.png') !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Home hero actions: uniform artwork sizing, left alignment and Grow hover. */
body.rfv-page-home .rfv-home-hero .rfv-actions {
  justify-items: start !important;
  align-items: stretch !important;
  text-align: left !important;
}

body.rfv-page-home .rfv-home-hero .rfv-button,
body.rfv-page-home .rfv-home-hero .rfv-button:hover,
body.rfv-page-home .rfv-home-hero .rfv-button:focus-visible,
body.rfv-page-home .rfv-home-hero .rfv-button:active {
  height: 91px !important;
  min-height: 91px !important;
  background-color: transparent !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  justify-content: flex-start !important;
  text-align: left !important;
  transform-origin: center center !important;
  transition: transform .22s ease, filter .22s ease !important;
}

body.rfv-page-home .rfv-home-hero .rfv-button:hover,
body.rfv-page-home .rfv-home-hero .rfv-button:focus-visible {
  transform: scale(1.04) !important;
  filter: drop-shadow(0 0 7px rgba(255, 74, 176, .82)) drop-shadow(0 0 15px rgba(132, 55, 235, .38)) !important;
}

/* Desktop hero artwork: render every supplied hero graphic at 200%. */
@media (min-width: 768px) {
  body.rfv-page-home .rfv-home-hero .rfv-hero-title-composite {
    transform: scale(2) !important;
    transform-origin: left top !important;
  }

  body.rfv-page-home .rfv-home-hero .rfv-hero-character {
    transform: scale(2) !important;
    transform-origin: right top !important;
  }

  body.rfv-page-home .rfv-hero-ribbon {
    transform: scale(2) !important;
    transform-origin: right top !important;
  }
}

/* Inner-page heroes share the supplied BGHead artwork; the Home hero is excluded. */
body:not(.rfv-page-home) .rfv-page-hero {
  background: url('../images/rf-assets/bg-head.png') center / cover no-repeat !important;
  background-color: transparent !important;
}

body:not(.rfv-page-home) .rfv-page-hero::before {
  background: transparent !important;
}

/* Show the supplied Fight the Evil card in the right-side Hero artwork slot. */
body.rfv-page-home .rfv-home-hero .rfv-header-art--join {
  display: block !important;
  object-fit: contain !important;
}

/* Panels use a clean surface and a single 1px pink border instead of frame artwork. */
body.rfv-page-home .rfv-home-grid > .rfv-panel,
body.rfv-page-home .rfv-home-grid .rfv-news-card,
body.rfv-page-home .rfv-dashboard-row--bottom > .rfv-live-details,
body.rfv-page-home .rfv-dashboard-row--bottom > .rfv-war-slot,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-form-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-download-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-side-panel,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-news-feed,
body[class*="rfv-page-"]:not(.rfv-page-home):not(.rfv-page-landing) .rfv-rank-table {
  background-image: none !important;
  background-color: rgba(255, 255, 255, .94) !important;
  border: 1px solid #f51d87 !important;
  border-image: none !important;
  box-shadow: none !important;
}

/* Download: artwork requested for the verified client selection panel only. */
body.rfv-page-download .rfv-download-main.rfv-download-panel {
  background-image: url('../images/rf-assets/panels/supplied/dashboard-panel.png') !important;
  background-color: transparent !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: 0 !important;
  border-image: none !important;
  box-shadow: none !important;
}

/* Keep the active/hover navigation underline directly beneath its label. */
@media (min-width: 1001px) {
  html body .rfv-nav .rfv-links > a::after,
  html body .rfv-nav .rfv-nav-group > button::after {
    bottom: 24px !important;
  }
}
