/* ============================================================================
   layout-v2.css — "Atlas" redesign layer
   For: indonesia-tourist-visa.php + indonesia-business-visa.php

   Loaded after bootstrap + style.mini.css + design-layer.css, so this file
   wins every tie in the cascade. All rules are scoped under <article .rv2>
   (the two guide pages). Exceptions: the image-zoom overlay system
   (.cv-overlay / .cv-close-btn / .cv-expanded) is appended to <body> by JS,
   therefore it is intentionally NOT scoped.

   Nothing in this file adds or removes content — it only re-lays-out and
   re-skins elements that already exist in the markup.
   Brand palette (from style.mini.css): --brand #F62217, --dark #092032,
   --body #516171; accent blue #0A58C2 (site design system token).
   ============================================================================ */

/* ---------- Tokens -------------------------------------------------------- */
.rv2 {
  --ink: #092032;
  --ink-2: #123b50;
  --brand: #F62217;
  --brand-2: #C91D15;
  --blue: #0A58C2;
  --blue-soft: #E8F0FB;
  --body: #516171;
  --txt: #46607a;
  --paper: #F4F7FA;
  --line: #DBE4EC;
  --line-2: #C9D6E2;
  --radius: 16px;
  --shadow-1: 0 6px 22px rgba(9, 32, 50, 0.06);
  --shadow-2: 0 16px 44px rgba(9, 32, 50, 0.12);
  font-size: 16.5px;
  color: var(--body);
}

/* ---------- Base type ----------------------------------------------------- */
.rv2 p,
.rv2 li {
  color: var(--txt);
  line-height: 1.75;
}
.rv2 strong {
  color: var(--ink);
  font-weight: 650;
}
.rv2 a {
  color: var(--blue);
  font-weight: 600;
  text-underline-offset: 4px;
}
.rv2 a:hover {
  color: var(--brand);
  text-decoration: none;
}
.rv2 .rd-chapter-content > :first-child {
  margin-top: 0;
}

/* ============================================================================
   HERO — breadcrumb + title band (navy, dot grid, rings)
   ============================================================================ */
.rv2 .rv-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(58% 130% at 88% 12%, rgba(246, 34, 23, 0.20) 0%, rgba(246, 34, 23, 0) 58%),
    radial-gradient(72% 150% at 4% 115%, rgba(10, 88, 194, 0.30) 0%, rgba(10, 88, 194, 0) 55%),
    linear-gradient(118deg, #071726 0%, #0b2233 46%, #123b50 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.rv2 .rv-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1.6px);
  background-size: 26px 26px;
  opacity: 0.30;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 88%);
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9), transparent 88%);
  pointer-events: none;
}
/* bottom brand hairline */
.rv2 .rv-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--brand) 0%, var(--blue) 100%);
  pointer-events: none;
}
/* decorative rings (pure CSS, no text) */
.rv2 .rv-hero__inner::before,
.rv2 .rv-hero__inner::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  pointer-events: none;
}
.rv2 .rv-hero__inner::before {
  width: 360px;
  height: 360px;
  right: -110px;
  top: -150px;
  box-shadow: 0 0 0 30px rgba(255, 255, 255, 0.03);
}
.rv2 .rv-hero__inner::after {
  width: 150px;
  height: 150px;
  right: 110px;
  bottom: -70px;
  border: 3px solid rgba(246, 34, 23, 0.45);
}
.rv2 .rv-hero__inner {
  position: relative;
  z-index: 1;
  padding: 42px 0 54px;
}

/* breadcrumb re-situated inside the hero */
.rv2 .rv-hero .breadcrumb {
  display: block;
  margin: 0 0 22px;
  padding: 0;
  background: transparent;
}
.rv2 .rv-hero .breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin: 0;
  padding: 0;
  white-space: normal;
}
.rv2 .rv-hero .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.rv2 .rv-hero .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.85);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.rv2 .rv-hero .breadcrumb-item a:hover {
  color: #fff;
}
.rv2 .rv-hero .breadcrumb-item a i {
  color: rgba(255, 255, 255, 0.7);
}
.rv2 .rv-hero .breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  float: none;
  margin: 0;
  padding: 0 2px;
  color: var(--brand);
  font-weight: 700;
}

/* title + gradient bar */
.rv2 .rv-hero__title {
  position: relative;
}
.rv2 .rv-hero h1 {
  margin: 0;
  font-size: clamp(1.95rem, 4.6vw, 3.1rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  text-align: left;
}
.rv2 .rv-hero .rv-title-bar {
  margin-top: 20px;
  width: min(260px, 42%);
  height: 5px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--brand) 0%, var(--blue) 100%);
}

/* ============================================================================
   CONTENT BAND — light backdrop the chapter cards sit on
   ============================================================================ */
.rv2 .rv-main {
  background:
    radial-gradient(640px 300px at 100% 0%, rgba(10, 88, 194, 0.05), transparent 60%),
    radial-gradient(520px 280px at 0% 100%, rgba(246, 34, 23, 0.045), transparent 60%),
    var(--paper);
  padding: 46px 0 78px;
}

/* ============================================================================
   INTRO — copy + video split
   ============================================================================ */
.rv2 .rv-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
  gap: 20px 44px;
  align-items: center;
  margin-bottom: 36px;
}
.rv2 .rv-intro .rv-media {
  order: -1;
  min-width: 0;
  position: relative;
  padding-top: 6px;
}
.rv2 .rv-intro .rv-media::before {
  content: "";
  position: absolute;
  top: 0;
  left: 24px;
  right: 24px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--brand), var(--blue));
}
.rv2 .video-container-main {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  background: #0b1a2b;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: var(--shadow-2);
}
.rv2 .video-container-main iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.rv2 .rv-copy {
  min-width: 0;
}
.rv2 .rv-copy p {
  font-size: 17px;
}

/* CTA button */
.rv2 .cta-btn {
  margin-top: 24px;
}
.rv2 .banner-hero-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 30px 14px 26px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #F62217 0%, #C91D15 100%);
  color: #fff !important;
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-decoration: none;
  text-align: left;
  white-space: normal;
  box-shadow: 0 12px 28px rgba(246, 34, 23, 0.28);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease;
}
.rv2 .banner-hero-btn::after {
  content: "";
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.22s ease;
}
.rv2 .banner-hero-btn:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #d91f16 0%, #a8140f 100%);
  box-shadow: 0 16px 36px rgba(246, 34, 23, 0.40);
  transform: translateY(-2px);
  text-decoration: none;
}
.rv2 .banner-hero-btn:hover::after {
  transform: translateX(4px);
}
.rv2 .banner-hero-btn:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

/* ============================================================================
   CHAPTER CARDS
   ============================================================================ */
.rv2 .rd-chapter {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
  margin-bottom: 30px;
  padding: 38px 40px 42px;
}
.rv2 .rd-chapter::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 40px;
  width: 60px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--brand), var(--blue));
}
.rv2 .rd-chapter > h2 {
  /* !important needed: design-layer.css pins h2 margin/size with !important */
  margin: 0 0 24px !important;
  font-size: clamp(1.35rem, 2.6vw, 1.72rem) !important;
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.3 !important;
  color: var(--ink);
  max-width: 100%;
}
/* replace the design-layer underline with nothing (we use the top tick) */
.rv2 .rd-chapter > h2::after {
  content: none;
  display: none;
}

/* dark "feature" chapter (extension blocks) */
.rv2 .rd-chapter--dark {
  background:
    radial-gradient(90% 150% at 92% -25%, rgba(246, 34, 23, 0.22) 0%, transparent 55%),
    linear-gradient(135deg, #0b2233 0%, #123b50 100%);
  border-color: rgba(255, 255, 255, 0.12);
}
.rv2 .rd-chapter--dark::before {
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.25) 100%);
}
.rv2 .rd-chapter--dark > h2 {
  color: #fff;
}
.rv2 .rd-chapter--dark p,
.rv2 .rd-chapter--dark li {
  color: rgba(232, 240, 251, 0.86);
}
.rv2 .rd-chapter--dark strong {
  color: #fff;
}
.rv2 .rd-chapter--dark a {
  color: #9cc3f5;
}
.rv2 .rd-chapter--dark a:hover {
  color: #fff;
}

/* ============================================================================
   SPLIT LAYOUT — text + image (or video) two-column blocks
   ============================================================================ */
.rv2 .rv-split {
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr);
  gap: 18px 48px;
  align-items: start;
}
.rv2 .rv-split__text {
  min-width: 0;
}
.rv2 .rv-split__media {
  position: relative;
  min-width: 0;
}
/* media on the right side (visual order only) */
.rv2 .rv-split--media-right .rv-split__media {
  order: 1;
}
/* media on the left side (visual order only; text stays widest column) */
.rv2 .rv-split--media-left {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.32fr);
}
.rv2 .rv-split--media-left .rv-split__media {
  order: -1;
}
.rv2 .rv-split__media p {
  margin-bottom: 4px !important;
}
.rv2 .rv-split__media .wrapped-image {
  float: none;
  display: block;
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
}
.rv2 .rv-split__media .wrapped-image .img-design,
.rv2 .rv-split__media .img-design {
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
}

/* ============================================================================
   SAMPLE VISA IMAGE (zoom widget) — re-skinned card
   ============================================================================ */
.rv2 .cv-main-wrapper {
  float: none;
  width: 100%;
  max-width: 460px !important;
  margin: 0 auto;
  margin-bottom: 0 !important;
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px !important;
  padding: 14px;
  box-shadow: var(--shadow-1);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.rv2 .cv-main-wrapper:hover {
  box-shadow: var(--shadow-2);
  transform: translateY(-3px);
}
.rv2 .cv-image-box {
  text-align: center;
}
.rv2 .cv-image-box .pb-1.pt-1,
.rv2 .cv-image-box p {
  margin-top: 4px !important;
  margin-bottom: 8px !important;
}
.rv2 .cv-image-box .pb-1.pt-1 strong,
.rv2 .cv-image-box p strong {
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--ink);
}
.rv2 .cv-image {
  cursor: zoom-in;
  transition: transform 0.35s ease-in-out;
}
.rv2 .cv-zoom-icon {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  background: rgba(9, 32, 50, 0.72);
  color: #fff;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.rv2 .cv-zoom-icon:hover {
  background: var(--blue);
  transform: scale(1.07);
}
.rv2 .cv-heading {
  text-align: center;
}

/* zoom overlay system (element appended to <body> — intentionally unscoped) */
.cv-image {
  height: auto;
  max-width: 100%;
}
.cv-border {
  border: none;
}
.cv-zoom-icon .fa {
  line-height: 1;
}
.cv-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(4, 15, 25, 0.92);
  justify-content: center;
  align-items: center;
  z-index: 1000000000;
  overflow: auto;
  padding: 24px;
  box-sizing: border-box;
}
.cv-close-btn {
  position: fixed;
  top: 22px;
  right: 22px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #092032;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.5);
  transition: transform 0.25s ease;
}
.cv-close-btn:hover {
  transform: rotate(90deg);
}
.cv-expanded {
  width: 100%;
  max-width: 960px;
  height: auto;
  display: block;
  object-fit: contain;
  margin: auto;
  cursor: default !important;
  border-radius: 6px !important;
}
.cv-expanded.cv-border {
  border: 0 !important;
}

/* ============================================================================
   VISA TYPE CHIPS (grid of list items)
   ============================================================================ */
.rv2 .rv-chipgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 20px 0 0 !important;
}
.rv2 .rv-chipgrid > li {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 12px;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.rv2 .rv-chipgrid > li:hover {
  transform: translateY(-3px);
  border-left-color: var(--brand);
  border-color: rgba(246, 34, 23, 0.25);
  box-shadow: var(--shadow-1);
}
.rv2 .rv-chipgrid > li strong {
  color: var(--ink);
  font-weight: 700;
}

/* ============================================================================
   DOCUMENT CHECKLIST (nestable)
   ============================================================================ */
.rv2 .rv-doclist {
  list-style: none;
  padding-left: 0;
  margin-top: 14px;
}
.rv2 .rv-doclist > li {
  position: relative;
  padding: 0 0 14px 32px;
  margin-bottom: 10px;
}
.rv2 .rv-doclist > li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 8px;
  width: 11px;
  height: 11px;
  border: 2px solid var(--brand);
  border-radius: 3px;
  background: rgba(246, 34, 23, 0.08);
  transform: rotate(45deg);
}
.rv2 .rv-doclist > li > ul {
  list-style: none;
  padding-left: 8px;
  margin-top: 12px;
  margin-bottom: 0 !important;
}
.rv2 .rv-doclist > li > ul > li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 9px;
}
.rv2 .rv-doclist > li > ul > li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--blue);
  opacity: 0.85;
}

/* ============================================================================
   VERTICAL NUMBERED TIMELINE (steps)
   ============================================================================ */
.rv2 .rv-steps {
  counter-reset: rvstep;
  list-style: none;
  padding: 4px 0 0 0;
  margin: 14px 0 0 !important;
  max-width: 800px;
}
.rv2 .rv-steps > li {
  counter-increment: rvstep;
  position: relative;
  padding: 0 0 30px 62px;
  margin: 0;
}
.rv2 .rv-steps > li::before {
  content: counter(rvstep, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: linear-gradient(140deg, var(--ink-2) 0%, var(--ink) 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(9, 32, 50, 0.22);
}
.rv2 .rv-steps > li::after {
  content: "";
  position: absolute;
  left: 20px;
  top: 50px;
  bottom: 10px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--line-2) 0%, rgba(201, 214, 226, 0.15) 100%);
}
.rv2 .rv-steps > li:last-child {
  padding-bottom: 4px;
}
.rv2 .rv-steps > li:last-child::after {
  display: none;
}
.rv2 .rv-steps > li strong {
  color: var(--ink);
}

/* ============================================================================
   HORIZONTAL STEP CARDS (business application process)
   ============================================================================ */
.rv2 .rv-hsteps {
  counter-reset: rvhstep;
  list-style: none;
  padding: 0;
  margin: 18px 0 0 !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.rv2 .rv-hsteps > li {
  counter-increment: rvhstep;
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 22px 20px 20px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  border: 1px solid var(--line);
  border-top: 3px solid var(--ink-2);
  border-radius: 14px;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
.rv2 .rv-hsteps > li:hover {
  transform: translateY(-4px);
  border-top-color: var(--brand);
  box-shadow: var(--shadow-1);
}
.rv2 .rv-hsteps > li::before {
  content: counter(rvhstep);
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 14px;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(246, 34, 23, 0.30);
}
.rv2 .rv-hsteps > li strong {
  color: var(--ink);
}

/* ============================================================================
   PROCESSING-TIME TIER CARDS (tourist)
   ============================================================================ */
.rv2 .services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  /* !important needed: design-layer.css pins .services gap with !important */
  gap: 18px !important;
  margin: 24px 0 0 !important;
}
.rv2 .services-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  margin: 0 !important;
  padding: 26px 24px !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  text-align: left;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}
.rv2 .services-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--brand), var(--blue));
  transform: scaleX(0.35);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.rv2 .services-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-2) !important;
  border-color: rgba(10, 88, 194, 0.35) !important;
}
.rv2 .services-card:hover::before {
  transform: scaleX(1);
}
.rv2 .services-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0 0 16px;
  background: var(--ink-2);
  color: #fff;
  font-size: 20px;
  border-radius: 12px;
}
.rv2 .services-title {
  margin: 0 0 10px !important;
  /* !important needed: design-layer.css pins h3 font-size with !important */
  font-size: 19px !important;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.rv2 .services-card p {
  margin-bottom: 0 !important;
  font-size: 15.5px;
}
.rv2 .services-card p strong {
  color: var(--blue);
}

/* ============================================================================
   SPEED ROWS (business processing time)
   ============================================================================ */
.rv2 .rv-speeds {
  list-style: none;
  padding: 0;
  margin: 20px 0 0 !important;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.rv2 .rv-speeds > li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 18px;
  padding: 18px 22px;
  margin: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  font-size: 16.5px;
  font-weight: 600;
  color: var(--blue);
  transition: background 0.2s ease;
}
.rv2 .rv-speeds > li:last-child {
  border-bottom: none;
}
.rv2 .rv-speeds > li:hover {
  background: #f7fafd;
}
.rv2 .rv-speeds > li strong {
  color: var(--ink);
  font-weight: 700;
  font-size: 15.5px;
}

/* ============================================================================
   DUO CARDS (allowed / not allowed)
   ============================================================================ */
.rv2 .rv-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 20px 0 0 !important;
}
.rv2 .rv-duo > li {
  min-width: 0;
  margin: 0;
  padding: 20px 22px 16px;
  background: #fbfdff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--ink-2);
  border-radius: 14px;
}
.rv2 .rv-duo > li:nth-child(2) {
  border-top-color: var(--brand);
}
.rv2 .rv-duo > li > strong {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink);
}
.rv2 .rv-duo > li ul {
  list-style: none;
  padding: 0;
  margin: 0 !important;
}
.rv2 .rv-duo > li ul > li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
}
.rv2 .rv-duo > li ul > li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--blue);
}
.rv2 .rv-duo > li:nth-child(2) ul > li::before {
  background: var(--brand);
}

/* ============================================================================
   NUMBERED DOC ROWS (business documents)
   ============================================================================ */
.rv2 .rv-docrow {
  counter-reset: rvd;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 20px 0 6px !important;
}
.rv2 .rv-docrow > li {
  counter-increment: rvd;
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 22px 20px 20px;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.rv2 .rv-docrow > li::before {
  content: counter(rvd, decimal-leading-zero);
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
  background: linear-gradient(135deg, var(--ink-2) 0%, var(--ink) 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  border-radius: 9px;
}

/* ============================================================================
   POINT GRID (considerations / destinations)
   ============================================================================ */
.rv2 .rv-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  padding: 0;
  margin: 20px 0 0 !important;
}
.rv2 .rv-points > li {
  min-width: 0;
  margin: 0;
  padding: 18px 20px;
  background: #fbfdff;
  border: 1px solid var(--line);
  border-radius: 12px;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}
.rv2 .rv-points > li:hover {
  border-color: rgba(10, 88, 194, 0.35);
  box-shadow: var(--shadow-1);
  transform: translateY(-2px);
}
.rv2 .rv-points > li strong {
  color: var(--ink);
}
/* single-column variant for long destination descriptions */
.rv2 .rv-points--single {
  grid-template-columns: minmax(0, 1fr);
}

/* ============================================================================
   NOTE CALLOUT (paragraphs starting with a note)
   ============================================================================ */
.rv2 .rv-note {
  margin-top: 20px;
  background: linear-gradient(180deg, #f7fafd, #f2f6fa);
  border: 1px solid var(--line);
  border-left: 4px solid var(--blue);
  border-radius: 0 12px 12px 0;
  padding: 18px 22px;
}
.rv2 .rv-note p,
.rv2 p.rv-note {
  margin-bottom: 0 !important;
}
.rv2 p.rv-note {
  margin-top: 20px;
}
.rv2 .rv-note--warn {
  border-left-color: var(--brand);
}
.rv2 .rv-note strong {
  color: var(--ink);
}

/* ============================================================================
   FAQ — card accordion
   ============================================================================ */
.rv2 .rd-faq .rd-chapter-content {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.rv2 .rd-faq .rd-chapter-faq-item {
  margin: 0;
  padding: 0;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.rv2 .rd-faq .rd-chapter-faq-item::before {
  content: none;
}
.rv2 .rd-faq .rd-chapter-faq-item:last-child {
  border-bottom: none;
}
.rv2 .rd-faq .accordion_t {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}
.rv2 .rd-faq .accordion_t b {
  font-weight: 700;
}
.rv2 .rd-faq .accordion_t:hover {
  background: #f7fafd;
}
.rv2 .rd-faq .accordion_t.active_t {
  box-shadow: inset 3px 0 0 var(--brand);
  background: #f7fafd;
}
.rv2 .rd-faq .accordion_t::after {
  content: "+";
  position: static;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin: 0;
  float: none;
  color: var(--ink);
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  background: #eef3f8;
  border-radius: 50%;
  transform: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.rv2 .rd-faq .accordion_t.active_t::after {
  content: "\2212";
  background: var(--brand);
  color: #fff;
}
.rv2 .rd-faq .accordion_t:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 3px;
}
.rv2 .rd-faq .panel_t {
  max-height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0 22px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  line-height: 1.75;
  transition: max-height 0.28s ease-out;
}
.rv2 .rd-faq .panel_t p {
  margin: 0 0 20px !important;
  font-size: 16px;
  color: var(--txt);
}

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width: 1100px) {
  .rv2 .rv-intro {
    gap: 32px;
  }
  .rv2 .rv-split {
    gap: 14px 32px;
  }
}

@media (max-width: 991.98px) {
  .rv2 .rv-hero {
    padding: 0;
  }
  .rv2 .rv-hero__inner {
    padding: 34px 0 42px;
  }
  .rv2 .rv-main {
    padding: 36px 0 60px;
  }
  .rv2 .rv-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .rv2 .rv-intro .rv-media {
    order: initial;
  }
  .rv2 .rv-intro .rv-media::before {
    left: 16px;
    right: 16px;
  }
  .rv2 .rv-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .rv2 .rv-split--media-left .rv-split__media,
  .rv2 .rv-split--media-right .rv-split__media {
    order: initial;
  }
  .rv2 .rv-split__media .wrapped-image,
  .rv2 .rv-split__media .cv-main-wrapper {
    max-width: 520px;
  }
  .rv2 .services {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .rv2 .rv-hsteps {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  .rv2 .rd-chapter {
    padding: 30px 26px 32px;
  }
  .rv2 .rd-chapter::before {
    left: 26px;
  }
}

@media (max-width: 767.98px) {
  .rv2 {
    font-size: 16px;
  }
  .rv2 .rv-hero__inner::before,
  .rv2 .rv-hero__inner::after {
    display: none;
  }
  .rv2 .rv-chipgrid,
  .rv2 .rv-duo,
  .rv2 .rv-docrow,
  .rv2 .rv-points {
    grid-template-columns: minmax(0, 1fr);
  }
  .rv2 .rd-chapter {
    padding: 26px 20px 28px;
    margin-bottom: 24px;
  }
  .rv2 .services-card {
    padding: 22px 20px !important;
  }
}

@media (max-width: 575.98px) {
  .rv2 .rv-hero__inner {
    padding: 30px 0 36px;
  }
  .rv2 .rv-hero h1 {
    font-size: 1.85rem;
  }
  .rv2 .rv-hero .rv-title-bar {
    width: min(180px, 60%);
  }
  .rv2 .rv-main {
    padding: 30px 0 52px;
  }
  .rv2 .rv-intro {
    gap: 22px;
  }
  .rv2 .cta-btn {
    margin-top: 20px;
    display: flex;
  }
  .rv2 .banner-hero-btn {
    width: 100%;
    justify-content: center;
  }
  .rv2 .rd-faq .accordion_t {
    font-size: 15.5px;
    padding: 18px 16px;
    gap: 12px;
  }
  .rv2 .rd-faq .panel_t {
    padding: 0 16px;
  }
  .rv2 .rd-faq .panel_t p {
    font-size: 15.5px;
  }
  .rv2 .rv-speeds > li {
    padding: 16px 18px;
  }
  .rv2 .rv-steps > li {
    padding-left: 54px;
  }
  .rv2 .rv-steps > li::before {
    width: 38px;
    height: 38px;
  }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rv2 *,
  .rv2 *::before,
  .rv2 *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ============================================================================
   VC — COST PAGE · FEE CONSOLE / LEDGER SYSTEM
   (applies to <article class="rd-page rd-fees rv2">)
   ============================================================================ */

/* ---- VC main column ---- */
.rv2 .vc-main {
  padding-bottom: 6px;
}

/* ---- VC hero · navy receipt band ---- */
.rv2 .vc-hero {
  position: relative;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 18px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0 2px, transparent 2px 30px),
    linear-gradient(132deg, #0d2d47 0%, #092032 48%, #0c3355 100%);
  box-shadow: var(--shadow-2);
}
.rv2 .vc-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--brand) 0%, var(--blue) 100%);
}
.rv2 .vc-hero__inner {
  position: relative;
  padding: 44px 18px 52px;
  text-align: center;
}
.rv2 .vc-hero__inner::before {
  content: "$";
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-56%);
  font-size: clamp(96px, 13vw, 165px);
  font-weight: 900;
  line-height: 1;
  color: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}
.rv2 .vc-hero .breadcrumb {
  background: transparent;
  margin: 0 0 20px;
}
.rv2 .vc-hero .breadcrumb ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.rv2 .vc-hero .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.rv2 .vc-hero .breadcrumb-item + .breadcrumb-item::before {
  content: "";
  width: 5px;
  height: 5px;
  margin: 0;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
}
.rv2 .vc-hero .breadcrumb a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none;
}
.rv2 .vc-hero .breadcrumb a:hover,
.rv2 .vc-hero .breadcrumb a:focus {
  color: #fff;
}
.rv2 .vc-hero .breadcrumb .flaticon-home {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
}
.rv2 .vc-hero__title {
  position: relative;
  margin: 0 0 14px;
  font-size: clamp(1.8rem, 3.6vw, 2.65rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.16;
  color: #fff;
}
.rv2 .vc-hero__title::after {
  content: "";
  display: block;
  width: min(210px, 55%);
  height: 4px;
  margin: 20px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--brand), var(--blue));
}

/* ---- VC intro · copy / framed image split ---- */
.rv2 .vc-intro {
  position: relative;
  margin-bottom: 30px;
  padding: 36px 40px 40px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
}
.rv2 .vc-intro::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 40px;
  width: 60px;
  height: 4px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--brand), var(--blue));
}
.rv2 .vc-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 42px;
  align-items: center;
}
.rv2 .vc-intro__copy > p {
  font-size: 16px;
}
.rv2 .vc-intro__copy .cta-btn {
  margin: 24px 0 0;
}
.rv2 .vc-intro__media {
  position: relative;
  min-width: 0;
}
.rv2 .vc-intro__media::before {
  content: "";
  position: absolute;
  top: 20px;
  right: -14px;
  bottom: -14px;
  left: 20px;
  border: 2px dashed var(--line-2);
  border-radius: 16px;
  pointer-events: none;
}
.rv2 .vc-intro__media .wrapped-image {
  position: relative;
  display: block;
  float: none;
  width: auto;
  margin: 0;
}
.rv2 .vc-intro__media .img-design {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  margin: 0 auto;
  border-radius: 14px;
  box-shadow: var(--shadow-2);
}

/* ---- VC console · interactive fee tool ---- */
.rv2 .vc-tool-copy {
  max-width: 62ch;
}
.rv2 .vc-console {
  position: relative;
  display: grid;
  grid-template-columns: minmax(270px, 0.85fr) minmax(0, 2.15fr);
  gap: 22px;
  padding: 26px;
  border-radius: 16px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 30px),
    linear-gradient(132deg, #0e2c44 0%, #092032 55%, #0b3659 100%);
  box-shadow: var(--shadow-2);
}
.rv2 .vc-console > .row {
  position: relative;
  margin: 0;
}
.rv2 .vc-console__control {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}
.rv2 .vc-console__row {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-items: center;
  text-align: center;
}
.rv2 .vc-console__output {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.rv2 .vc-console__control .col-md-12,
.rv2 .vc-console__output .col-md-12 {
  padding: 0;
}
.rv2 .vc-console__control h3 {
  margin: 0 0 16px;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}
.rv2 .vc-console__control select {
  width: 100%;
  min-height: 56px;
  margin: 0 0 4px;
  padding: 13px 16px;
  background: #fff;
  color: var(--ink);
  border: 0;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  box-shadow: 0 10px 26px rgba(2, 15, 28, 0.38);
  cursor: pointer;
}
.rv2 .vc-console__control select:focus,
.rv2 .vc-console__control select:focus-visible {
  outline: 3px solid rgba(246, 34, 23, 0.55);
  outline-offset: 2px;
}
.rv2 .vc-console__row .col-md-12 img {
  display: block;
  margin: 10px auto;
}
.rv2 .vc-console__output .table-container {
  margin: 0;
  padding: 20px;
  background: #fff;
  border: 1px solid #d7e0ea;
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(2, 15, 28, 0.35);
}
.rv2 .vc-console__output #visa_fee_heading {
  margin: 0 0 16px;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--ink);
}
.rv2 .vc-console__output .table {
  margin-bottom: 0;
  color: var(--body);
}
.rv2 .vc-console__output .table thead th {
  padding: 13px 14px;
  background: #0d2c46;
  border: 1px solid #17405f;
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.rv2 .vc-console__output .table tbody td {
  padding: 13px 14px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--txt);
  font-size: 14.5px;
}
.rv2 .vc-console__output .table tbody tr:nth-child(even) td {
  background: #f6f9fc;
}
.rv2 .vc-console__output .table tbody tr:hover td {
  background: #eef4fb;
}

/* ---- VC tiers · processing options ---- */
.rv2 .vc-tiers__kicker {
  display: inline-block;
  margin: 0 0 22px;
  padding: 8px 16px;
  background: var(--blue-soft);
  border: 1px solid #cfdff6;
  border-radius: 999px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.rv2 .vc-tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.rv2 .vc-tier {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 28px 24px 24px;
  overflow: hidden;
  background: #fbfdff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.rv2 .vc-tier::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--blue), #6ea3e8);
}
.rv2 .vc-tier__name {
  margin: 2px 0 10px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.rv2 .vc-tier__name em {
  color: var(--blue);
}
.rv2 .vc-tier__k {
  margin: 0;
  padding-top: 12px;
  border-top: 1px dashed var(--line);
  color: #7d90a5;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.rv2 .vc-tier__v {
  margin: 4px 0 10px;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.rv2 .vc-tier__v:last-child {
  margin-bottom: 0;
}
.rv2 .vc-tier--up {
  background: linear-gradient(165deg, #10314c 0%, #092032 100%);
  border-color: #1d4468;
  box-shadow: var(--shadow-2);
  transform: translateY(-8px);
}
.rv2 .vc-tier--up::before {
  background: linear-gradient(90deg, var(--brand), var(--blue));
}
.rv2 .vc-tier--up .vc-tier__name {
  color: #fff;
}
.rv2 .vc-tier--up .vc-tier__name em {
  color: #ffb3ae;
}
.rv2 .vc-tier--up .vc-tier__k {
  color: rgba(255, 255, 255, 0.55);
  border-color: rgba(255, 255, 255, 0.2);
}
.rv2 .vc-tier--up .vc-tier__v {
  color: #fff;
}

/* ---- VC ledger · fee component rows ---- */
.rv2 .vc-ledger {
  counter-reset: vcfee;
  margin-top: 26px;
  margin-bottom: 6px;
  border-top: 1px solid var(--line);
}
.rv2 .vc-ledger .purpose-item {
  counter-increment: vcfee;
  display: grid;
  grid-template-columns: 44px 52px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 26px 10px;
  background: none;
  border: 0;
  border-bottom: 1px dashed var(--line-2);
  border-radius: 0;
  box-shadow: none;
  transition: background 0.2s ease;
}
.rv2 .vc-ledger .purpose-item:hover {
  background: #f7fafd;
}
.rv2 .vc-ledger .purpose-item::before {
  content: counter(vcfee, decimal-leading-zero);
  font-size: 20px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: #b6c6d8;
  transition: color 0.2s ease;
}
.rv2 .vc-ledger .purpose-item:hover::before {
  color: var(--brand);
}
.rv2 .vc-ledger .icon-wrapper {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  background: linear-gradient(135deg, #123b50, #0d2c46);
  color: #fff;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 16px rgba(9, 32, 50, 0.18);
}
.rv2 .vc-ledger .purpose-text h3 {
  margin: 0 0 4px;
  font-size: 18.5px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--ink);
}
.rv2 .vc-ledger .purpose-text p {
  margin: 0;
  font-size: 15.5px;
}

/* ---- VC pay · payment method tiles ---- */
.rv2 .vc-paylist {
  list-style: none;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.rv2 .vc-paylist li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 20px 20px 20px 56px;
  margin-bottom: 0;
  min-width: 0;
  background: var(--blue-soft);
  border: 1px solid #d3e2f7;
  border-radius: 14px;
}
.rv2 .vc-paylist li::before {
  content: "\2713";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.rv2 .vc-paylist li strong {
  color: var(--ink);
}
.rv2 .vc-paynote {
  margin: 18px 0 0;
  padding: 14px 18px;
  background: #fff7f6;
  border: 1px dashed #f3c8c4;
  border-left: 4px solid var(--brand);
  border-radius: 10px;
  font-size: 15px;
}

/* ---- VC justify · fee breakdown split ---- */
.rv2 .vc-justify .rd-chapter-content {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
.rv2 .vc-justify__list {
  min-width: 0;
}
.rv2 .vc-justify ol {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  counter-reset: vcj;
}
.rv2 .vc-justify ol li {
  counter-increment: vcj;
  position: relative;
  padding: 16px 18px 16px 58px;
  margin-bottom: 14px;
  background: #f8fafd;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.rv2 .vc-justify ol li:last-child {
  margin-bottom: 0;
}
.rv2 .vc-justify ol li::before {
  content: counter(vcj, decimal-leading-zero);
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--ink);
  color: #fff;
  font-size: 13.5px;
  font-weight: 800;
}
.rv2 .vc-justify__side {
  position: relative;
  overflow: hidden;
  padding: 26px 24px 28px;
  background: linear-gradient(160deg, #10314c 0%, #092032 100%);
  border-radius: 14px;
  box-shadow: var(--shadow-2);
}
.rv2 .vc-justify__side::before {
  content: "\201C";
  position: absolute;
  top: -26px;
  left: 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 110px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.08);
}
.rv2 .vc-justify__side h3 {
  position: relative;
  margin: 0 0 12px;
  font-size: 17.5px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
.rv2 .vc-justify__side p {
  position: relative;
  margin: 0;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.78);
}
.rv2 .vc-justify__side strong {
  color: #fff;
}

/* ---- VC flow · payment steps ---- */
.rv2 .vc-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  counter-reset: vcflow;
}
.rv2 .vc-flow::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 72px;
  border-top: 2px dashed #c3d2e2;
  z-index: 0;
}
.rv2 .vc-flow .services-card {
  position: relative;
  z-index: 1;
  counter-increment: vcflow;
  margin: 0;
  padding: 42px 22px 26px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rv2 .vc-flow .services-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-2);
}
.rv2 .vc-flow .services-card::after {
  content: counter(vcflow, decimal-leading-zero);
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 34px;
  height: 24px;
  padding: 0 10px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.rv2 .vc-flow .services-icon {
  margin: 0 auto 16px;
}
.rv2 .vc-flow .services-title {
  margin: 2px 0 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: var(--ink);
}
.rv2 .vc-flow .services-card p {
  margin: 0;
  font-size: 15px;
}

/* ---- VC risk · delay factor tiles ---- */
.rv2 .vc-risk {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  counter-reset: vcrisk;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
}
.rv2 .vc-risk li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  margin: 0;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.rv2 .vc-risk li::before {
  content: "\2715";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: #fdeceb;
  color: var(--brand);
  font-size: 15px;
  font-weight: 800;
}
.rv2 .vc-risk li:last-child {
  grid-column: 1 / -1;
}
.rv2 .vc-risk li strong {
  color: var(--ink);
}

/* ---- VC notice · refund policy ---- */
.rv2 .vc-notice {
  overflow: hidden;
  background: #fff8f7;
  border-color: #f6d2ce;
  box-shadow: 0 6px 22px rgba(246, 34, 23, 0.07);
}
.rv2 .vc-notice::before {
  background: var(--brand);
}
.rv2 .vc-notice .rd-chapter-content {
  display: flex;
  align-items: center;
  gap: 20px;
}
.rv2 .vc-notice .rd-chapter-content::before {
  content: "!";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(246, 34, 23, 0.1);
  color: var(--brand);
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
}
.rv2 .vc-notice .rd-chapter-content p {
  margin: 0;
  color: #8a3b36;
}

/* ---- VC bento · why choose us ---- */
.rv2 .vc-bento {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin: 0;
}
.rv2 .vc-bento .service-card {
  position: relative;
  margin: 0;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  text-align: left;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.rv2 .vc-bento .service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(9, 32, 50, 0.25);
  box-shadow: var(--shadow-2);
}
.rv2 .vc-bento .service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--brand), var(--blue));
  opacity: 0;
  transition: opacity 0.25s ease;
}
.rv2 .vc-bento .service-card:hover::before {
  opacity: 1;
}
.rv2 .vc-bento .service-icon {
  width: 58px;
  height: 58px;
  margin: 0 0 16px;
  border-radius: 14px;
  background: var(--ink);
  color: #fff;
  font-size: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 18px rgba(9, 32, 50, 0.22);
}
.rv2 .vc-bento .service-title {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.rv2 .vc-bento .service-card p {
  margin: 0;
  font-size: 15px;
}

/* ---- VC faq · per-item cards, ghost counters, blue accents ---- */
.rv2 .vc-faq .rd-chapter-content {
  counter-reset: vcfaq;
  min-width: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.rv2 .vc-faq .rd-chapter-faq-item {
  position: relative;
  margin: 0 0 14px;
  padding: 2px 6px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.rv2 .vc-faq .rd-chapter-faq-item:last-child {
  margin-bottom: 0;
}
.rv2 .vc-faq .rd-chapter-faq-item:hover {
  border-color: var(--line-2);
}
.rv2 .vc-faq .rd-chapter-faq-item:has(.accordion_t.active_t) {
  border-color: rgba(10, 88, 194, 0.55);
  box-shadow: 0 10px 26px rgba(9, 32, 50, 0.1);
}
.rv2 .vc-faq .accordion_t {
  border-radius: 12px;
}
.rv2 .vc-faq .accordion_t::before {
  content: counter(vcfaq);
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 9px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.rv2 .vc-faq .accordion_t::after {
  content: "+";
  width: 34px;
  height: 34px;
  margin: 0;
  color: var(--blue);
  font-size: 20px;
  font-weight: 600;
  background: var(--blue-soft);
  border-radius: 9px;
}
.rv2 .vc-faq .accordion_t.active_t {
  box-shadow: inset 3px 0 0 var(--blue);
  background: #f4f8fe;
}
.rv2 .vc-faq .accordion_t.active_t::after {
  content: "\2212";
  background: var(--brand);
  color: #fff;
}
.rv2 .vc-faq .panel_t {
  padding: 16px 22px 20px;
  border-top: 1px dashed var(--line);
}

/* ============================================================================
   VC — RESPONSIVE
   ============================================================================ */
@media (max-width: 1100px) {
  .rv2 .vc-intro__grid {
    gap: 32px;
  }
}

@media (max-width: 991.98px) {
  .rv2 .vc-intro {
    padding: 30px 26px 32px;
  }
  .rv2 .vc-intro__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .rv2 .vc-intro__media::before {
    inset: 14px -8px -8px 14px;
  }
  .rv2 .vc-console {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 22px 18px;
  }
  .rv2 .vc-console__control,
  .rv2 .vc-console__row,
  .rv2 .vc-console__output {
    grid-column: auto;
    grid-row: auto;
  }
  .rv2 .vc-console__control {
    align-self: start;
    max-width: 520px;
  }
  .rv2 .vc-tiers {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .rv2 .vc-tier--up {
    transform: none;
    order: -1;
  }
  .rv2 .vc-justify .rd-chapter-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .rv2 .vc-flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .rv2 .vc-flow::before {
    display: none;
  }
  .rv2 .vc-flow .services-card {
    padding: 36px 20px 24px;
  }
  .rv2 .vc-risk {
    grid-template-columns: minmax(0, 1fr);
  }
  .rv2 .vc-risk li:last-child {
    grid-column: auto;
  }
  .rv2 .vc-bento .service-card {
    padding: 24px 20px;
  }
}

@media (max-width: 767.98px) {
  .rv2 .vc-hero__inner {
    padding: 34px 14px 40px;
  }
  .rv2 .vc-hero__inner::before {
    font-size: 84px;
    right: 2%;
  }
  .rv2 .vc-hero .breadcrumb ul {
    gap: 8px;
  }
  .rv2 .vc-hero .breadcrumb-item {
    font-size: 11.5px;
  }
  .rv2 .vc-intro {
    padding: 24px 18px 26px;
  }
  .rv2 .vc-intro__media::before {
    display: none;
  }
  .rv2 .vc-console {
    padding: 18px 14px;
  }
  .rv2 .vc-console__output .table-container {
    padding: 14px 12px;
  }
  .rv2 .vc-ledger .purpose-item {
    grid-template-columns: 30px 44px minmax(0, 1fr);
    gap: 12px;
    padding: 22px 6px;
  }
  .rv2 .vc-ledger .purpose-item::before {
    font-size: 17px;
  }
  .rv2 .vc-ledger .icon-wrapper {
    width: 44px;
    height: 44px;
    font-size: 20px;
    border-radius: 10px;
  }
  .rv2 .vc-paylist {
    grid-template-columns: minmax(0, 1fr);
  }
  .rv2 .vc-justify ol li {
    padding: 14px 14px 14px 54px;
  }
  .rv2 .vc-notice .rd-chapter-content {
    flex-wrap: wrap;
    gap: 14px;
  }
  .rv2 .vc-bento {
    gap: 14px;
  }
  .rv2 .vc-bento .service-icon {
    width: 50px;
    height: 50px;
    font-size: 22px;
  }
  .rv2 .vc-faq .rd-chapter-faq-item {
    padding: 0;
  }
  .rv2 .vc-faq .accordion_t {
    padding: 16px 14px;
    gap: 12px;
    font-size: 15.5px;
  }
  .rv2 .vc-faq .accordion_t::before,
  .rv2 .vc-faq .accordion_t::after {
    width: 30px;
    height: 30px;
    min-width: 30px;
    font-size: 17px;
  }
  .rv2 .vc-faq .panel_t {
    padding: 14px 16px 16px;
  }
}


/* ============================================================================
    STUDENT VISA — "Campus / Notebook" theme  (page: indonesia-student-visa.php)
    Blue-dominant academic skin, distinct from the navy tourist hero and the
    navy "receipt" cost page. All rules scoped under <article .rv2.sv>.
    ============================================================================ */

/* ---------- Hero: blue ruler-lined band --------------------------------- */
.rv2.sv .sv-hero{
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,0.06) 0px, rgba(255,255,255,0.06) 1px, rgba(255,255,255,0) 1px, rgba(255,255,255,0) 36px),
    radial-gradient(82% 150% at 92% -8%, rgba(246,34,23,0.20) 0%, rgba(246,34,23,0) 52%),
    linear-gradient(118deg, #06213f 0%, #0b3a6d 52%, #0a58c2 100%);
  border-bottom: 3px solid rgba(246,34,23,0.85);
}
.rv2.sv .sv-hero::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.14);
  width: 420px; height: 420px;
  right: -150px; bottom: -220px;
  box-shadow: 0 0 0 34px rgba(255,255,255,0.03);
  pointer-events: none;
}
.rv2.sv .sv-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 22px 52px;
}
.rv2.sv .sv-hero .breadcrumb{
  margin: 0 0 20px;
  font-size: 13.5px;
}
.rv2.sv .sv-hero .breadcrumb a{
  color: rgba(255,255,255,0.78);
  font-weight: 500;
}
.rv2.sv .sv-hero .breadcrumb a:hover{ color: #fff; }
.rv2.sv .sv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A";
  padding: 0 10px;
  color: rgba(255,255,255,0.45);
}
.rv2.sv .sv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{
  padding-left: 0;
  color: rgba(255,255,255,0.95);
}
.rv2.sv .sv-hero__title{
  margin: 0;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.6vw, 52px);
  letter-spacing: -0.4px;
  padding: 0 0 16px;
  width: fit-content;
  max-width: 940px;
}
.rv2.sv .sv-hero__title::after{
  content: "";
  display: block;
  width: 88px; height: 5px;
  margin-top: 14px;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--brand) 0%, rgba(246,34,23,0) 100%);
}

/* ---------- Intro: copy + media split ------------------------------------ */
.rv2.sv .sv-intro{
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 30px;
  align-items: stretch;
  margin: -30px 0 26px;
  position: relative;
  z-index: 2;
}
.rv2.sv .sv-intro__copy,
.rv2.sv .sv-intro__media{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
}
.rv2.sv .sv-intro__copy{
  padding: 28px 28px 24px;
  border-top: 4px solid var(--blue);
}
.rv2.sv .sv-intro__copy > p{ margin: 0 0 16px; }
.rv2.sv .sv-intro__copy > p:last-of-type{ margin-bottom: 22px; }
.rv2.sv .sv-intro__copy .cta-btn{ text-align: left; }
.rv2.sv .sv-intro__media{
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(60% 60% at 100% 0%, rgba(10,88,194,0.10) 0%, rgba(10,88,194,0) 60%),
    #fff;
}
.rv2.sv .sv-intro__media::before{
  content: "";
  position: absolute;
  top: 16px; left: 16px;
  width: 40px; height: 6px;
  border-radius: 3px;
  background: var(--brand);
}
.rv2.sv .sv-intro__media img,
.rv2.sv .sv-intro__media picture{
  max-width: 100%;
  border-radius: 10px;
}

/* ---------- Chapters: left accent rail ----------------------------------- */
.rv2.sv .sv-chapters{ }
.rv2.sv .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px;
  margin: 18px 0;
  border-left: 4px solid var(--blue);
}
.rv2.sv .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.sv .rd-chapter > h2 i::after{
  content: none !important;
  display: none !important;
}
.rv2.sv .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 60px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--blue) 0%, var(--brand) 100%) !important;
}
.rv2.sv .rd-chapter > h2 > i{
  margin-right: 10px;
  color: var(--blue);
  font-size: 1.02em;
  vertical-align: -3px;
}
.rv2.sv .rd-chapter .rd-chapter-content{ padding-top: 6px; }
.rv2.sv .rd-chapter .rd-chapter-content p{ font-size: 16px; }
.rv2.sv .rd-chapter .rd-chapter-content ul{
  padding-left: 22px;
}
.rv2.sv .rd-chapter .rd-chapter-content li{
  margin-bottom: 9px;
  padding-left: 4px;
}
.rv2.sv .rd-chapter .rd-chapter-content li::marker{
  color: var(--brand);
}
.rv2.sv .rd-chapter .rd-chapter-content center > .wrapped-image{ max-width: 420px; }
.rv2.sv .rd-chapter .rd-chapter-content center img{
  border-radius: 10px;
  border: 1px solid var(--line);
}

/* ---------- Process stages: vertical timeline ---------------------------- */
.rv2.sv .student-process-stages{
  position: relative;
  display: block;
  margin-top: 10px;
  padding-left: 0;
}
.rv2.sv .student-process-stages::before{
  content: "";
  position: absolute;
  left: 38px;
  top: 10px; bottom: 10px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--blue) 0%, var(--blue) 60%, rgba(10,88,194,0.15) 100%);
}
.rv2.sv .student-process-stage{
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 22px 24px;
  margin: 0 0 18px 80px;
}
.rv2.sv .student-process-stage:last-child{ margin-bottom: 0; }
/* numbered node on the timeline */
.rv2.sv .student-process-stage::before{
  content: "";
  position: absolute;
  left: -48px;
  top: 26px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 5px rgba(246,34,23,0.16);
  z-index: 1;
}
.rv2.sv .student-process-stage-heading{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.rv2.sv .student-process-stage-number{
  flex: 0 0 auto;
  min-width: 46px; height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(150deg, #0a58c2 0%, #0b3a6d 100%);
  color: #fff;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 0.5px;
  box-shadow: var(--shadow-1);
}
.rv2.sv .student-process-stage-heading h3{
  margin: 0;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.3;
}
.rv2.sv .student-process-stage ul{
  margin: 0; padding-left: 20px;
}
.rv2.sv .student-process-stage li{
  margin-bottom: 8px;
}
.rv2.sv .student-process-stage li::marker{ color: var(--brand); }

/* ---------- FAQ: compact accordion --------------------------------------- */
.rv2.sv .rd-chapter.rd-faq .rd-chapter-content{
  max-width: 920px;
}
.rv2.sv .rd-chapter.rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.sv .rd-chapter.rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 20px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  font-size: 16.5px;
}
.rv2.sv .rd-chapter.rd-faq .accordion_t b{
  font-weight: 640;
  flex: 1 1 auto;
}
.rv2.sv .rd-chapter.rd-faq .accordion_t::after{
  content: "\2212";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  color: #fff;
  background: var(--blue);
  transition: transform 0.25s ease, background 0.25s ease;
}
.rv2.sv .rd-chapter.rd-faq .accordion_t::before{
  content: none;
}
.rv2.sv .rd-chapter.rd-faq .accordion_t.active_t::after{
  content: "+";
  transform: none;
  background: var(--brand);
}
.rv2.sv .rd-chapter.rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 20px;
  background: #fbfdff;
  color: var(--txt);
}
.rv2.sv .rd-chapter.rd-faq .panel_t p{ margin: 0 0 4px; }
.rv2.sv .rd-chapter.rd-faq .panel_t.open,
.rv2.sv .rd-chapter.rd-faq .accordion_t.active_t + .panel_t{
  max-height: 600px;
  padding: 18px 20px;
}

/* ---------- Responsive ---------------------------------------------------- */
@media (max-width: 900px){
  .rv2.sv .sv-intro{
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: -18px;
  }
  .rv2.sv .sv-intro__media{ padding: 14px; }
}
@media (max-width: 600px){
  .rv2.sv .sv-hero__inner{ padding: 30px 18px 40px; }
  .rv2.sv .sv-intro__copy{ padding: 22px 20px; }
  .rv2.sv .rd-chapter{ padding: 20px 18px; }
  .rv2.sv .student-process-stages{ padding-left: 0; }
  .rv2.sv .student-process-stages::before{ left: 19px; }
  .rv2.sv .student-process-stage{ padding: 18px 16px; margin-left: 44px; }
  .rv2.sv .student-process-stage::before{ left: -30px; }
  .rv2.sv .student-process-stage-heading{ gap: 10px; }
  .rv2.sv .student-process-stage-number{ min-width: 40px; height: 40px; font-size: 16px; }
  .rv2.sv .rd-chapter.rd-faq .accordion_t{ padding: 15px 14px; font-size: 15.5px; }
}


/* ============================================================================
    WORK VISA — "Career Dossier / Strata" theme  (page: indonesia-work-visa.php)
    Dark slate strata hero with a red diagonal, top-strip chapter cards with a
    corner "stamp", numbered step lists, and a dossier-style FAQ.
    Scoped under <article .rv2.wv>. All content unchanged; layout + skin only.
    ============================================================================ */

/* ---------- Hero: slate strata + red diagonal ---------------------------- */
.rv2.wv .wv-hero{
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 2px, rgba(255,255,255,0) 2px, rgba(255,255,255,0) 28px),
    linear-gradient(118deg, #0f1f2e 0%, #14324a 54%, #0c3f63 100%);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.rv2.wv .wv-hero::before{
  content: "";
  position: absolute;
  top: -30%; right: 6%;
  width: 40%; height: 170%;
  background: linear-gradient(180deg, rgba(246,34,23,0.30) 0%, rgba(246,34,23,0.02) 70%);
  transform: rotate(15deg);
  filter: blur(3px);
  pointer-events: none;
}
.rv2.wv .wv-hero::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--brand) 100%);
  pointer-events: none;
}
.rv2.wv .wv-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 22px 50px;
}
.rv2.wv .wv-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.wv .wv-hero .breadcrumb a{ color: rgba(255,255,255,0.78); font-weight: 500; }
.rv2.wv .wv-hero .breadcrumb a:hover{ color: #fff; }
.rv2.wv .wv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(255,255,255,0.45);
}
.rv2.wv .wv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: rgba(255,255,255,0.95); }
.rv2.wv .wv-hero__title{
  position: relative;
  margin: 0;
  max-width: 820px;
  padding-left: 24px;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.6vw, 52px);
  letter-spacing: -0.4px;
}
.rv2.wv .wv-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 7px; border-radius: 4px;
  background: linear-gradient(180deg, var(--brand) 0%, var(--blue) 100%);
}

/* ---------- Intro: copy + framed media ----------------------------------- */
.rv2.wv .wv-intro{
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 28px;
  align-items: stretch;
  margin: -18px 0 24px;
  position: relative;
  z-index: 2;
}
.rv2.wv .wv-intro__copy,
.rv2.wv .wv-intro__media{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
}
.rv2.wv .wv-intro__copy{ padding: 28px 28px 24px; }
.rv2.wv .wv-intro__copy > p{ margin: 0 0 16px; }
.rv2.wv .wv-intro__copy .cta-btn{ margin: 20px 0 22px; }
/* "reasons" list -> 2-col highlight cards */
.rv2.wv .wv-intro__copy ul{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 6px 0 18px;
  padding-left: 0;
  list-style: none;
}
.rv2.wv .wv-intro__copy ul li{
  background: #f6f9fd;
  border: 1px solid var(--line);
  border-left: 3px solid var(--brand);
  border-radius: 10px;
  padding: 12px 14px;
}
.rv2.wv .wv-intro__copy ul li strong{ color: var(--ink); display: inline; margin-right: 2px; }
.rv2.wv .wv-intro__media{
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv2.wv .wv-intro__media::after{
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px solid rgba(10,88,194,0.22);
  border-radius: 12px;
  pointer-events: none;
}
.rv2.wv .wv-intro__media img,
.rv2.wv .wv-intro__media picture{ width: 100%; }
.rv2.wv .wv-intro__media img{ border-radius: 9px; display: block; }

/* ---------- Chapters: top strip + corner stamp --------------------------- */
.rv2.wv .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--blue);
  border-radius: 12px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
}
.rv2.wv .rd-chapter::before{
  content: "";
  position: absolute;
  top: -1px; right: 20px;
  width: 40px; height: 26px;
  background: linear-gradient(135deg, var(--brand) 0%, rgba(246,34,23,0.4) 100%);
  clip-path: polygon(0 0, 100% 0, 0 100%);
  opacity: 0.9;
}
.rv2.wv .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.wv .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 56px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--blue) 0%, var(--brand) 100%) !important;
}
.rv2.wv .rd-chapter > h2 > i{ margin-right: 9px; color: var(--blue); }
.rv2.wv .rd-chapter .rd-chapter-content > p{ font-size: 16px; }
.rv2.wv .rd-chapter .rd-chapter-content ul,
.rv2.wv .rd-chapter .rd-chapter-content ol{ padding-left: 22px; }
.rv2.wv .rd-chapter .rd-chapter-content li{ margin-bottom: 9px; }
.rv2.wv .rd-chapter .rd-chapter-content center img{ border-radius: 10px; border: 1px solid var(--line); }
.rv2.wv .rd-chapter .rd-chapter-content center .wrapped-image{ max-width: 440px; }

/* visa-type "comparison" chapters: ITAS / KITAP cards */
.rv2.wv .rd-chapter.rd-comparison ul,
.rv2.wv .rd-chapter.rd-comparison ol{
  padding-left: 0; list-style: none; margin: 12px 0; display: grid; gap: 14px;
}
.rv2.wv .rd-chapter.rd-comparison li{
  background: #f6f9fd;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 16px 18px;
}
.rv2.wv .rd-chapter.rd-comparison li strong{ color: var(--ink); font-size: 16.5px; }
.rv2.wv .rd-chapter.rd-comparison li p{ margin: 8px 0 0; }

/* step lists (key considerations + joint responsibility): numbered */
.rv2.wv .rd-chapter.rd-steps ul{
  padding-left: 0; list-style: none; margin: 12px 0; counter-reset: wvstep;
}
.rv2.wv .rd-chapter.rd-steps ul > li{
  counter-increment: wvstep;
  position: relative;
  padding-left: 54px;
  margin-bottom: 16px;
}
.rv2.wv .rd-chapter.rd-steps ul > li::before{
  content: counter(wvstep, decimal-leading-zero);
  position: absolute;
  left: 0; top: 0;
  min-width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 11px;
  background: linear-gradient(150deg, #0a58c2 0%, #0c3a5f 100%);
  color: #fff; font-weight: 750; font-size: 15px;
}

/* ---------- FAQ: dossier brief ------------------------------------------- */
.rv2.wv .rd-chapter.rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.wv .rd-chapter.rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.wv .rd-chapter.rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  font-size: 16.5px;
  position: relative;
  padding-left: 44px;
}
.rv2.wv .rd-chapter.rd-faq .accordion_t b{ font-weight: 640; }
.rv2.wv .rd-chapter.rd-faq .accordion_t::before{
  content: "";
  position: absolute;
  left: 18px; top: 50%;
  width: 6px; height: 22px;
  margin-top: -11px;
  border-radius: 3px;
  background: var(--line-2);
}
.rv2.wv .rd-chapter.rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px;
  background: var(--line-2);
}
.rv2.wv .rd-chapter.rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #fbfdff;
  color: var(--txt);
}
.rv2.wv .rd-chapter.rd-faq .panel_t p{ margin: 0 0 4px; }
/* open-state feedback keyed to the JS-driven inline maxHeight (real state),
   not the initial active_t class which is pre-set on every button here. */
.rv2.wv .rd-chapter.rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::before{ background: var(--blue); }
.rv2.wv .rd-chapter.rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: var(--brand);
}

/* ---------- Responsive ---------------------------------------------------- */
@media (max-width: 900px){
  .rv2.wv .wv-intro{ grid-template-columns: 1fr; gap: 16px; margin-top: -14px; }
  .rv2.wv .wv-intro__copy ul{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rv2.wv .wv-hero__inner{ padding: 30px 18px 40px; }
  .rv2.wv .wv-hero__title{ padding-left: 18px; }
  .rv2.wv .wv-intro__copy{ padding: 22px 18px; }
  .rv2.wv .rd-chapter{ padding: 20px 18px; }
  .rv2.wv .rd-chapter.rd-steps ul > li{ padding-left: 48px; }
  .rv2.wv .rd-chapter.rd-steps ul > li::before{ min-width: 34px; height: 34px; }
  .rv2.wv .rd-chapter.rd-faq .accordion_t{ padding: 15px 14px 15px 40px; font-size: 15.5px; }
}


/* ============================================================================
    RETIREMENT VISA — "Sunset / Beach Retreat" theme (page: -retirement-visa.php)
    Warm golden-hour hero with a soft sun disc + horizon, postcard-style intro
    card, coral/amber chapter accents, checkmark detail lists, and a warm FAQ.
    Distinct from the blue student page, slate work page, and navy hero pages.
    Scoped under <article .rv2.rt>. Layout + skin only; content unchanged.
    ============================================================================ */
.rv2.rt{
  --sun: #F2A64B;
  --coral: #E2703C;
  --water: #0E4B60;
  --sand: #FDF6EC;
}

/* ---------- Hero: golden-hour over calm water ---------------------------- */
.rv2.rt .rt-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(90px 90px at 75% 40%, #FFF4E0 0%, rgba(255,214,150,0.60) 45%, rgba(255,214,150,0) 72%),
    radial-gradient(60% 90% at 75% 44%, rgba(242,166,75,0.50) 0%, rgba(242,166,75,0) 58%),
    linear-gradient(178deg, #0c4359 0%, #14607a 42%, #2a7d8c 62%, #d98144 100%);
}
.rv2.rt .rt-hero::before{
  /* horizon shimmer */
  content: "";
  position: absolute;
  left: 0; right: 0; top: 62%;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,240,214,0.85) 60%, rgba(255,255,255,0) 100%);
  pointer-events: none;
}
.rv2.rt .rt-hero::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, var(--coral) 0%, var(--sun) 100%);
  pointer-events: none;
}
.rv2.rt .rt-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 56px;
}
.rv2.rt .rt-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.rt .rt-hero .breadcrumb a{ color: rgba(255,255,255,0.85); font-weight: 500; }
.rv2.rt .rt-hero .breadcrumb a:hover{ color: #fff; }
.rv2.rt .rt-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(255,255,255,0.55);
}
.rv2.rt .rt-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.rt .rt-hero__title{
  position: relative;
  margin: 0;
  max-width: 860px;
  width: fit-content;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.6vw, 52px);
  letter-spacing: -0.4px;
}
.rv2.rt .rt-hero__title::after{
  content: "";
  display: block;
  width: 74px; height: 5px;
  margin-top: 14px;
  border-radius: 3px;
  background: linear-gradient(90deg, #FFD39A 0%, var(--coral) 100%);
}

/* ---------- Intro: postcard split ---------------------------------------- */
.rv2.rt .rt-intro{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 28px;
  align-items: stretch;
  margin: -18px 0 24px;
  position: relative;
  z-index: 2;
}
.rv2.rt .rt-intro__copy,
.rv2.rt .rt-intro__media{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-2);
}
.rv2.rt .rt-intro__copy{
  padding: 32px 32px 28px;
  border-top: 4px solid var(--coral);
  background: linear-gradient(180deg, #ffffff 0%, var(--sand) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rv2.rt .rt-intro__copy > p{ margin: 0; font-size: 17px; line-height: 1.8; }
.rv2.rt .rt-intro__media{
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv2.rt .rt-intro__media::before{
  /* postcard tape */
  content: "";
  position: absolute;
  top: -11px; left: 50%;
  transform: translateX(-50%) rotate(-2deg);
  width: 128px; height: 26px;
  background: rgba(242,166,75,0.5);
  border-radius: 3px;
  box-shadow: 0 2px 6px rgba(9,32,50,0.12);
  z-index: 2;
}
.rv2.rt .rt-intro__media img,
.rv2.rt .rt-intro__media picture{ width: 100%; }
.rv2.rt .rt-intro__media img{ border-radius: 10px; display: block; }

/* ---------- Chapters: coral top accent ----------------------------------- */
.rv2.rt .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 28px 28px 24px;
  margin: 18px 0;
}
.rv2.rt .rd-chapter::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background: linear-gradient(90deg, var(--coral) 0%, var(--sun) 100%);
}
.rv2.rt .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.rt .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 58px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--sun) 0%, var(--coral) 100%) !important;
}
.rv2.rt .rd-chapter > h2 > i{ margin-right: 9px; color: var(--coral); }
.rv2.rt .rd-chapter .rd-chapter-content > p{ font-size: 16px; }

/* checkmark detail lists (reading / checklist / briefs) */
.rv2.rt .rd-chapter.rd-reading ul,
.rv2.rt .rd-chapter.rd-checklist ul{
  padding-left: 0; list-style: none;
}
.rv2.rt .rd-chapter.rd-reading ul li,
.rv2.rt .rd-chapter.rd-checklist ul li{
  position: relative;
  padding-left: 30px;
  margin-bottom: 10px;
}
.rv2.rt .rd-chapter.rd-reading ul li::before,
.rv2.rt .rd-chapter.rd-checklist ul li::before{
  content: "\2714";
  position: absolute;
  left: 0; top: 1px;
  color: var(--coral);
  font-weight: 700;
}

/* application process: highlighted step headers + sub-lists */
.rv2.rt .rd-chapter.rd-steps p{ margin-bottom: 8px; }
.rv2.rt .rd-chapter.rd-steps p > strong{
  display: inline-block;
  margin: 16px 0 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff6ee 0%, #fdeede 100%);
  border: 1px solid rgba(226,112,60,0.25);
  border-left: 4px solid var(--coral);
  color: var(--ink);
  font-size: 16px;
  font-weight: 700;
}
.rv2.rt .rd-chapter.rd-steps ul{ padding-left: 24px; margin: 0 0 6px; }
.rv2.rt .rd-chapter.rd-steps ul li{ margin-bottom: 7px; }
.rv2.rt .rd-chapter.rd-steps ul li::marker{ color: var(--coral); }

/* ---------- FAQ: warm compact -------------------------------------------- */
.rv2.rt .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.rt .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.rt .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 17px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  font-size: 16.5px;
}
.rv2.rt .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.rt .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px;
  background: #E7DACB;
}
.rv2.rt .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #FDF8F1;
  color: var(--txt);
}
.rv2.rt .rd-faq .panel_t p{ margin: 0 0 4px; }
.rv2.rt .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: var(--coral);
}

/* ---------- Responsive ---------------------------------------------------- */
@media (max-width: 900px){
  .rv2.rt .rt-intro{ grid-template-columns: 1fr; gap: 16px; margin-top: -14px; }
}
@media (max-width: 600px){
  .rv2.rt .rt-hero__inner{ padding: 30px 18px 40px; }
  .rv2.rt .rt-intro__copy{ padding: 22px 20px; }
  .rv2.rt .rd-chapter{ padding: 20px 18px; }
  .rv2.rt .rd-chapter.rd-steps p > strong{ font-size: 15px; }
  .rv2.rt .rd-faq .accordion_t{ padding: 15px 14px; font-size: 15.5px; }
}


/* ============================================================================
    DIGITAL NOMAD VISA — "Tropical Coworker / Waypoint" theme
    (page: indonesia-digital-nomad-visa.php)
    Deep-lagoon teal + emerald + gold. Sonar-node hero, boarding-pass "visa
    ticket" cards for the two options, route-line process steps, and a teal FAQ.
    Distinct from navy (tourist), navy-receipt (cost), blue campus (student),
    slate/dossier (work), and warm-sunset (retirement). Scoped under .rv2.dn.
    ============================================================================ */
.rv2.dn{
  --dn-a: #0A5E57;
  --dn-b: #10847A;
  --dn-c: #1FBF9C;
  --dn-gold: #F6A821;
}

/* ---------- Hero: deep lagoon + sonar nodes -------------------------------- */
.rv2.dn .dn-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 34%, rgba(246,168,33,0.28) 0px, rgba(246,168,33,0.28) 6px, rgba(246,168,33,0) 7px),
    radial-gradient(circle at 66% 62%, rgba(31,191,156,0.30) 0px, rgba(31,191,156,0.30) 4px, rgba(31,191,156,0) 5px),
    radial-gradient(circle at 47% 40%, rgba(255,255,255,0.12) 0px, rgba(255,255,255,0.12) 3px, rgba(255,255,255,0) 4px),
    repeating-radial-gradient(circle at 84% 34%, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 16px, rgba(255,255,255,0.06) 16px, rgba(255,255,255,0.06) 17px, rgba(255,255,255,0) 17px, rgba(255,255,255,0) 34px),
    linear-gradient(125deg, #063038 0%, #0A5E57 54%, #10847A 100%);
  border-bottom: 3px solid rgba(246,168,33,0.85);
}
/* dotted "route" trail + a gold waypoint pin */
.rv2.dn .dn-hero::before{
  content: "";
  position: absolute;
  left: 4%; right: 4%; top: 68%;
  height: 0;
  border-top: 2px dashed rgba(255,255,255,0.28);
  pointer-events: none;
}
.rv2.dn .dn-hero::after{
  content: "";
  position: absolute;
  left: 6%; top: 68%;
  width: 14px; height: 14px;
  margin-top: -7px;
  border-radius: 50%;
  background: var(--dn-gold);
  box-shadow: 0 0 0 5px rgba(246,168,33,0.22);
  pointer-events: none;
}
.rv2.dn .dn-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 60px;
}
.rv2.dn .dn-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.dn .dn-hero .breadcrumb a{ color: rgba(255,255,255,0.82); font-weight: 500; }
.rv2.dn .dn-hero .breadcrumb a:hover{ color: #fff; }
.rv2.dn .dn-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(255,255,255,0.5);
}
.rv2.dn .dn-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.dn .dn-hero__title{
  position: relative;
  margin: 0;
  max-width: 860px;
  width: fit-content;
  padding-left: 26px;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.6vw, 52px);
  letter-spacing: -0.4px;
}
.rv2.dn .dn-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 6px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--dn-gold) 0%, var(--dn-c) 100%);
}

/* ---------- Intro: copy + framed media ------------------------------------- */
.rv2.dn .dn-intro{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  align-items: stretch;
  margin: -18px 0 24px;
  position: relative;
  z-index: 2;
}
.rv2.dn .dn-intro__copy,
.rv2.dn .dn-intro__media{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--shadow-1);
}
.rv2.dn .dn-intro__copy{
  padding: 30px 30px 26px;
  border-top: 4px solid var(--dn-b);
  background: linear-gradient(180deg, #ffffff 0%, #eefaf6 100%);
}
.rv2.dn .dn-intro__copy > p{ margin: 0 0 18px; }
.rv2.dn .dn-intro__copy .cta-btn{ text-align: left; margin: 0; }
.rv2.dn .dn-intro__media{
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(60% 60% at 100% 0%, rgba(31,191,156,0.14) 0%, rgba(31,191,156,0) 60%),
    #fff;
}
/* compass / location chip on the image corner */
.rv2.dn .dn-intro__media::before{
  content: "\2316";
  position: absolute;
  top: 14px; left: 14px;
  width: 34px; height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #fff;
  background: var(--dn-b);
  box-shadow: var(--shadow-1);
  z-index: 2;
}
.rv2.dn .dn-intro__media img,
.rv2.dn .dn-intro__media picture{ max-width: 100%; }
.rv2.dn .dn-intro__media img{ border-radius: 10px; }

/* ---------- Chapters: teal left rail + node dot ---------------------------- */
.rv2.dn .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  border-left: 4px solid var(--dn-b);
}
.rv2.dn .rd-chapter::before{
  content: "";
  position: absolute;
  left: -9px; top: 30px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--dn-gold);
  box-shadow: 0 0 0 4px rgba(246,168,33,0.18);
}
.rv2.dn .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.dn .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 58px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--dn-gold) 0%, var(--dn-b) 100%) !important;
}
.rv2.dn .rd-chapter > h2 > i{ margin-right: 9px; color: var(--dn-b); }
.rv2.dn .rd-chapter .rd-chapter-content > p{ font-size: 16px; }
.rv2.dn .rd-chapter .rd-chapter-content ul{ padding-left: 22px; }
.rv2.dn .rd-chapter .rd-chapter-content li{ margin-bottom: 9px; }
.rv2.dn .rd-chapter .rd-chapter-content li::marker{ color: var(--dn-b); }

/* ---------- Visa options: boarding-pass tickets ---------------------------- */
.rv2.dn .rd-presentation-comparison .rd-chapter-content > ul{
  padding-left: 0; list-style: none; margin: 0 0 14px;
}
.rv2.dn .rd-presentation-comparison .rd-chapter-content > ul:last-child{ margin-bottom: 0; }
.rv2.dn .rd-presentation-comparison .rd-chapter-content li{
  position: relative;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-1);
}
.rv2.dn .rd-presentation-comparison .rd-chapter-content li strong{
  display: block;
  padding: 14px 18px;
  background: linear-gradient(120deg, var(--dn-a) 0%, var(--dn-b) 100%);
  color: #fff;
  font-size: 16.5px;
  font-weight: 700;
}
.rv2.dn .rd-presentation-comparison .rd-chapter-content li p{
  margin: 0;
  padding: 14px 18px 16px;
  background: #f3faf7;
  border-top: 2px dashed rgba(14,94,87,0.35);
}
/* a subtle left "stub" notch on the ticket body */
.rv2.dn .rd-presentation-comparison .rd-chapter-content li p::before{
  content: "\2709 \00B7";
  display: inline-block;
  margin-right: 8px;
  color: var(--dn-b);
  font-weight: 700;
}

/* ---------- "Perks / drawbacks" label badges -------------------------------- */
.rv2.dn .rd-chapter .rd-chapter-content p > strong:only-child{
  display: inline-block;
  margin: 18px 0 10px;
  padding: 7px 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #eafff8 0%, #e4f7f1 100%);
  border: 1px solid rgba(16,132,122,0.35);
  color: var(--dn-a);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

/* ---------- Process steps: h3 sub-headers + route markers ------------------- */
.rv2.dn .rd-steps .rd-chapter-content h3{
  margin: 20px 0 10px;
  padding-left: 14px;
  border-left: 4px solid var(--dn-gold);
  color: var(--dn-a);
  font-size: 17.5px;
  line-height: 1.3;
}
.rv2.dn .rd-steps .rd-chapter-content h3:first-of-type{ margin-top: 6px; }
.rv2.dn .rd-steps .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0 0 4px;
}
.rv2.dn .rd-steps .rd-chapter-content ul > li{
  position: relative;
  padding-left: 30px;
  margin-bottom: 9px;
}
.rv2.dn .rd-steps .rd-chapter-content ul > li::before{
  content: "";
  position: absolute;
  left: 2px; top: 6px;
  width: 11px; height: 11px;
  border-radius: 50%;
  background: #eafaf5;
  border: 2px solid var(--dn-c);
}
.rv2.dn .rd-steps .rd-chapter-content p > strong{
  color: var(--dn-a);
}

/* ---------- FAQ: teal compact accordion ------------------------------------ */
.rv2.dn .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.dn .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.dn .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  font-size: 16.5px;
}
.rv2.dn .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.dn .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px;
  background: var(--dn-b);
}
.rv2.dn .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: var(--dn-gold);
}
.rv2.dn .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #f3faf7;
  color: var(--txt);
}
.rv2.dn .rd-faq .panel_t p{ margin: 0 0 4px; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 900px){
  .rv2.dn .dn-intro{ grid-template-columns: 1fr; gap: 16px; margin-top: -14px; }
  .rv2.dn .dn-intro__copy{ padding: 24px 20px; }
}
@media (max-width: 600px){
  .rv2.dn .dn-hero__inner{ padding: 30px 18px 44px; }
  .rv2.dn .dn-hero__title{ padding-left: 18px; }
  .rv2.dn .rd-chapter{ padding: 20px 18px; }
  .rv2.dn .rd-steps .rd-chapter-content ul > li{ padding-left: 26px; }
  .rv2.dn .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    MEDICAL TREATMENT eVisa — "Clinical Care / Wellness" theme
    (page: indonesia-medical-treatment-evisa.php)
    The ONE light hero (white→mint) among the dark ones: a soft medical-cross
    watermark, brand-red cross accents, sage-green clinical cards, cross-mark
    lists, numbered clinical steps, a clean validity table, and a calm FAQ.
    Scoped under .rv2.mt. Content + zoom-widget JS unchanged.
    ============================================================================ */
.rv2.mt{
  --mt-ink: #0b2b33;
  --mt-green: #0F8A6A;
  --mt-green-2: #0a6b52;
  --mt-mint: #E9F7F1;
  --mt-red: #F62217;
  --mt-line: #DCEAE6;
}

/* ---------- Hero: bright clinical ------------------------------------------------ */
.rv2.mt .mt-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(90% 130% at 85% 40%, rgba(15,138,106,0.10) 0%, rgba(15,138,106,0) 55%),
    linear-gradient(178deg, #ffffff 0%, #EFF8F4 100%);
  border-bottom: 3px solid var(--mt-red);
}
/* soft medical-cross watermark (two intersecting bars) */
.rv2.mt .mt-hero::before{
  content: "";
  position: absolute;
  right: 7%; top: 50%;
  width: 230px; height: 230px;
  transform: translateY(-50%);
  border-radius: 26px;
  background:
    linear-gradient(90deg,  transparent 36%, rgba(15,138,106,0.12) 36%, rgba(15,138,106,0.12) 64%, transparent 64%),
    linear-gradient(180deg, transparent 36%, rgba(15,138,106,0.12) 36%, rgba(15,138,106,0.12) 64%, transparent 64%);
  pointer-events: none;
}
.rv2.mt .mt-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 22px 50px;
}
.rv2.mt .mt-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.mt .mt-hero .breadcrumb a{ color: var(--mt-ink); opacity: 0.66; font-weight: 500; }
.rv2.mt .mt-hero .breadcrumb a:hover{ opacity: 1; color: var(--mt-red); }
.rv2.mt .mt-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: var(--mt-green);
}
.rv2.mt .mt-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: var(--mt-ink); }
.rv2.mt .mt-hero__title{
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  color: var(--mt-ink);
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.6vw, 52px);
  letter-spacing: -0.4px;
}
.rv2.mt .mt-hero__title::before{
  content: "+";
  flex: 0 0 auto;
  width: 46px; height: 46px;
  border-radius: 13px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--mt-red) 0%, #C91D15 100%);
  color: #fff;
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  box-shadow: var(--shadow-1);
}

/* ---------- Intro: centered clinical card ------------------------------------- */
.rv2.mt .mt-intro{
  position: relative;
  z-index: 2;
  max-width: 920px;
  margin: -18px auto 24px;
  padding: 30px 34px 28px;
  background: #fff;
  border: 1px solid var(--mt-line);
  border-top: 4px solid var(--mt-red);
  border-radius: 16px;
  box-shadow: var(--shadow-1);
  text-align: center;
}
.rv2.mt .mt-intro > p{ margin: 0 auto 18px; font-size: 16.5px; line-height: 1.78; max-width: 720px; }
.rv2.mt .mt-intro .cta-btn{ display: flex; justify-content: center; margin: 0; }

/* ---------- Chapters: sage top accent ----------------------------------------- */
.rv2.mt .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--mt-line);
  border-top: 4px solid var(--mt-green);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
}
.rv2.mt .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--mt-ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.mt .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 58px !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--mt-green) 0%, var(--mt-red) 100%) !important;
}
.rv2.mt .rd-chapter > h2 > i{ margin-right: 9px; color: var(--mt-green); }
.rv2.mt .rd-chapter .rd-chapter-content > p{ font-size: 16px; }
.rv2.mt .rd-chapter .rd-chapter-content h3{ color: var(--mt-ink); }

/* zoom-widget frame (functionality preserved) */
.rv2.mt .cv-main-wrapper{
  background: #fff;
  border: 1px solid var(--mt-line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  overflow: hidden;
  max-width: 480px;
  margin: 8px auto 14px;
}
.rv2.mt .cv-image-box{ padding: 10px 10px 0; }
.rv2.mt .cv-zoom-icon{ color: var(--mt-green); }
.rv2.mt .rd-chapter-content > ul{ padding-left: 22px; }
.rv2.mt .rd-chapter-content > ul > li{ margin-bottom: 9px; }

/* ---------- Facilities: two clinical cards + cross chips ----------------------- */
.rv2.mt .rd-presentation-columns .rd-chapter-content > ul{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  padding-left: 0;
  list-style: none;
}
.rv2.mt .rd-presentation-columns .rd-chapter-content > ul > li{
  background: #fff;
  border: 1px solid var(--mt-line);
  border-radius: 12px;
  padding: 16px 16px 14px;
  box-shadow: var(--shadow-1);
}
.rv2.mt .rd-presentation-columns .rd-chapter-content > ul > li > strong{
  display: block;
  margin-bottom: 10px;
  padding-bottom: 9px;
  border-bottom: 2px solid var(--mt-mint);
  color: var(--mt-ink);
  font-size: 16.5px;
}
.rv2.mt .rd-presentation-columns .rd-chapter-content > ul > li > ul{
  padding-left: 0;
  list-style: none;
  margin: 0;
}
.rv2.mt .rd-presentation-columns .rd-chapter-content > ul ul li{
  position: relative;
  padding-left: 22px;
  margin-bottom: 7px;
}
.rv2.mt .rd-presentation-columns .rd-chapter-content > ul ul li::before{
  content: "+";
  position: absolute;
  left: 0; top: 1px;
  color: var(--mt-green);
  font-weight: 800;
}

/* ---------- Checklist: green "+" cross badges ---------------------------------- */
.rv2.mt .rd-checklist .rd-chapter-content ul{ padding-left: 0; list-style: none; }
.rv2.mt .rd-checklist .rd-chapter-content ul li{
  position: relative;
  padding-left: 34px;
  margin-bottom: 11px;
}
.rv2.mt .rd-checklist .rd-chapter-content ul li::before{
  content: "+";
  position: absolute;
  left: 0; top: 0;
  width: 22px; height: 22px;
  border-radius: 6px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--mt-mint);
  color: var(--mt-green);
  font-weight: 800;
  font-size: 16px;
}

/* ---------- Timeline steps: numbered clinical --------------------------------- */
.rv2.mt .rd-presentation-timeline ol{ padding-left: 0; list-style: none; counter-reset: mtstep; }
.rv2.mt .rd-presentation-timeline ol > li{
  counter-increment: mtstep;
  position: relative;
  padding-left: 58px;
  margin-bottom: 18px;
}
.rv2.mt .rd-presentation-timeline ol > li:last-child{ margin-bottom: 0; }
.rv2.mt .rd-presentation-timeline ol > li::before{
  content: counter(mtstep, decimal-leading-zero);
  position: absolute;
  left: 0; top: 0;
  min-width: 40px; height: 40px;
  border-radius: 11px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--mt-green) 0%, var(--mt-green-2) 100%);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
}
.rv2.mt .rd-presentation-timeline ol > li strong{ color: var(--mt-ink); }

/* ---------- Services trio + validity table ------------------------------------ */
.rv2.mt .services{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 14px 0 18px;
}
.rv2.mt .services-card{
  background: #fff;
  border: 1px solid var(--mt-line);
  border-top: 3px solid var(--mt-green);
  border-radius: 12px;
  padding: 18px 16px;
  box-shadow: var(--shadow-1);
}
.rv2.mt .services-icon{
  width: 50px; height: 50px;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--mt-mint);
  color: var(--mt-green);
  font-size: 22px;
  margin-bottom: 12px;
}
.rv2.mt .services-title{ color: var(--mt-ink); margin-bottom: 8px; font-size: 17px; }
.rv2.mt .services-card p{ font-size: 15px; }
.rv2.mt .services-card p strong{ color: var(--mt-green); font-size: 17px; }

.rv2.mt .table-responsive{ margin: 6px 0 14px; }
.rv2.mt .rd-chapter-content table.table-bordered{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--mt-line);
  border-radius: 12px;
  overflow: hidden;
}
.rv2.mt .rd-chapter-content table.table-bordered td{
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mt-line) !important;
  background: #fff !important;
  font-size: 15.5px;
}
.rv2.mt .rd-chapter-content table.table-bordered tr:first-child td{
  background: var(--mt-green) !important;
  color: #fff;
  font-weight: 700;
}
.rv2.mt .rd-chapter-content table.table-bordered tr:nth-child(even) td{ background: #F3FBF8 !important; }
.rv2.mt .rd-chapter-content table.table-bordered td p{ margin: 0; font-size: 15.5px; }

/* ---------- Benefits list: green cross bullets --------------------------------- */
.rv2.mt .rd-presentation-brief .rd-chapter-content > ul{ padding-left: 0; list-style: none; }
.rv2.mt .rd-presentation-brief .rd-chapter-content > ul li{
  position: relative;
  padding-left: 30px;
  margin-bottom: 9px;
}
.rv2.mt .rd-presentation-brief .rd-chapter-content > ul li::before{
  content: "+";
  position: absolute;
  left: 0; top: 1px;
  color: var(--mt-red);
  font-weight: 800;
}

/* ---------- FAQ: red/green toggle ---------------------------------------------- */
.rv2.mt .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.mt .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--mt-line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.mt .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--mt-ink);
  font-size: 16.5px;
}
.rv2.mt .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.mt .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px;
  background: var(--mt-green);
}
.rv2.mt .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: var(--mt-red);
}
.rv2.mt .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #F3FBF8;
  color: var(--txt);
}
.rv2.mt .rd-faq .panel_t p{ margin: 0 0 4px; }

/* ---------- Responsive ---------------------------------------------------------- */
@media (max-width: 900px){
  .rv2.mt .rd-presentation-columns .rd-chapter-content > ul{ grid-template-columns: 1fr; }
  .rv2.mt .services{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rv2.mt .mt-hero__inner{ padding: 30px 18px 40px; }
  .rv2.mt .mt-hero__title::before{ width: 40px; height: 40px; font-size: 28px; }
  .rv2.mt .mt-intro{ padding: 24px 20px; }
  .rv2.mt .rd-chapter{ padding: 20px 18px; }
  .rv2.mt .rd-presentation-timeline ol > li{ padding-left: 50px; }
  .rv2.mt .rd-presentation-timeline ol > li::before{ min-width: 36px; height: 36px; }
  .rv2.mt .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    BALI e-Visa FOR INDIAN CITIZENS — "Temple & Saffron" theme
    (page: bali-visa-for-indian-citizen.php)
    Deep wine-maroons + saffron/gold + warm cream. Distinct from every
    prior palette (navy, navy receipt, blue, slate, sunset, teal, clinical):
    tiered-pagoda hero silhouette, gold "roof" underlines, gold step-tabs,
    saffron ticket cards, and a maroon/saffron FAQ. Scoped under .rv2.bh.
    Visibility of all links/text/images + accordion JS left untouched.
    ============================================================================ */
.rv2.bh{
  --bh-maroon: #4A1114;
  --bh-maroon2: #6E1A1E;
  --bh-deep: #2E0B0D;
  --bh-saffron: #E8A020;
  --bh-gold: #F2B736;
  --bh-gold-soft: #FBEFD2;
  --bh-cream: #FFFDF8;
  --bh-ink: #2C1416;
  --bh-line: #ECDFCF;
}

/* ---------- Hero: deep maroon + tiered pagoda silhouette + gold sun -------- */
.rv2.bh .bh-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(58% 42% at 76% 30%, rgba(242,183,54,0.30) 0%, rgba(242,183,54,0) 60%),
    radial-gradient(circle at 90% 12%, rgba(232,160,32,0.18) 0%, rgba(232,160,32,0) 40%),
    linear-gradient(158deg, #2E0B0D 0%, #4A1114 52%, #6E1A1E 100%);
  border-bottom: 3px solid var(--bh-gold);
}
/* tiered pagoda (meru) silhouette, bottom-right, soft gold */
.rv2.bh .bh-hero::before{
  content: "";
  position: absolute;
  right: 5%; bottom: 0;
  width: 240px; height: 210px;
  background: linear-gradient(180deg, rgba(242,183,54,0.24) 0%, rgba(242,183,54,0.05) 100%);
  clip-path: polygon(
    50% 0%, 46% 10%, 38% 12%, 45% 16%, 45% 24%, 35% 26%,
    44% 30%, 44% 40%, 33% 42%, 43% 46%, 43% 58%, 31% 60%,
    42% 64%, 42% 80%, 28% 82%, 41% 86%, 41% 100%, 59% 100%,
    59% 86%, 72% 82%, 58% 80%, 58% 64%, 69% 60%, 57% 58%,
    57% 46%, 67% 42%, 56% 40%, 56% 30%, 66% 26%, 55% 24%,
    55% 16%, 62% 12%, 54% 10%
  );
  pointer-events: none;
}
/* gold sun disc */
.rv2.bh .bh-hero::after{
  content: "";
  position: absolute;
  right: 25%; top: 15%;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #FBD98A 0%, #F2B736 62%, #E8A020 100%);
  box-shadow: 0 0 42px 8px rgba(242,183,54,0.45);
  pointer-events: none;
}
.rv2.bh .bh-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 60px;
}
.rv2.bh .bh-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.bh .bh-hero .breadcrumb a{ color: rgba(251,239,210,0.85); font-weight: 500; }
.rv2.bh .bh-hero .breadcrumb a:hover{ color: #fff; }
.rv2.bh .bh-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(242,183,54,0.7);
}
.rv2.bh .bh-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #FBEFD2; }
.rv2.bh .bh-hero__title{
  margin: 0;
  max-width: 920px;
  width: fit-content;
  padding-left: 24px;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.4px;
}
.rv2.bh .bh-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 6px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--bh-gold) 0%, var(--bh-maroon2) 100%);
}

/* ---------- Intro: copy + framed media (temple corner) --------------------- */
.rv2.bh .bh-intro{
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 26px;
  align-items: stretch;
  margin: -18px 0 22px;
  position: relative;
  z-index: 2;
}
.rv2.bh .bh-intro__copy,
.rv2.bh .bh-intro__media{
  background: var(--bh-cream);
  border: 1px solid var(--bh-line);
  border-radius: 16px;
  box-shadow: var(--shadow-1);
}
.rv2.bh .bh-intro__copy{
  padding: 30px 30px 26px;
  border-top: 4px solid var(--bh-saffron);
  background: linear-gradient(180deg, #FFFDF8 0%, #FBF2E1 100%);
}
.rv2.bh .bh-intro__copy > p{ margin: 0 0 16px; font-size: 16px; line-height: 1.75; color: var(--bh-ink); }
.rv2.bh .bh-intro__copy .cta-btn{ text-align: left; margin: 6px 0 0; }
.rv2.bh .bh-intro__media{
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background:
    radial-gradient(60% 55% at 100% 0%, rgba(232,160,32,0.20) 0%, rgba(232,160,32,0) 60%),
    var(--bh-cream);
}
.rv2.bh .bh-intro__media::before{
  content: "";
  position: absolute;
  left: 0; top: 0;
  width: 74px; height: 40px;
  background: linear-gradient(135deg, var(--bh-gold), var(--bh-saffron));
  clip-path: polygon(0 0, 0 100%, 20% 100%, 20% 66%, 34% 66%, 34% 34%, 48% 34%, 48% 12%, 62% 12%, 62% 0);
  opacity: 0.9;
  z-index: 2;
}
.rv2.bh .bh-intro__media img,
.rv2.bh .bh-intro__media picture{ max-width: 100%; }
.rv2.bh .bh-intro__media img{ border-radius: 10px; }

/* ---------- Chapters: cream cards + saffron roof-rail + corner notch -------- */
.rv2.bh .rd-chapter{
  position: relative;
  background: var(--bh-cream);
  border: 1px solid var(--bh-line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px 32px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.bh .rd-chapter::before{
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 6px;
  background: linear-gradient(180deg, var(--bh-gold) 0%, var(--bh-saffron) 45%, var(--bh-maroon2) 100%);
}
.rv2.bh .rd-chapter::after{
  content: "";
  position: absolute;
  right: 0; top: 0;
  width: 88px; height: 22px;
  background: linear-gradient(180deg, rgba(232,160,32,0.22), transparent);
  clip-path: polygon(0 100%, 8% 40%, 20% 100%, 32% 40%, 44% 100%, 56% 40%, 68% 100%, 80% 40%, 92% 100%, 100% 46%);
  pointer-events: none;
}
.rv2.bh .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--bh-maroon) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.bh .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 70px !important;
  height: 10px !important;
  background: linear-gradient(90deg, var(--bh-gold) 0%, var(--bh-maroon2) 100%) !important;
  clip-path: polygon(0 100%, 5% 0, 95% 0, 100% 100%) !important;
}
.rv2.bh .rd-chapter > h2 > i{ margin-right: 9px; color: var(--bh-saffron); }
.rv2.bh .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--bh-ink); }
.rv2.bh .rd-chapter .rd-chapter-content > h3{ color: var(--bh-maroon); }
.rv2.bh .rd-chapter .rd-chapter-content p > strong{ color: var(--bh-maroon); }
/* a lone strong as a "section heading" -> saffron badge */
.rv2.bh .rd-chapter .rd-chapter-content p > strong:only-child{
  display: inline-block;
  margin: 18px 0 8px;
  padding: 7px 15px;
  border-radius: 999px;
  background: linear-gradient(90deg, #FBEFD2 0%, #F5E2B8 100%);
  border: 1px solid rgba(232,160,32,0.4);
  color: var(--bh-maroon);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

/* ---------- Generic bullets ------------------------------------------------- */
.rv2.bh .rd-chapter .rd-chapter-content ul{ padding-left: 20px; }
.rv2.bh .rd-chapter .rd-chapter-content ul > li{ margin-bottom: 9px; }
.rv2.bh .rd-chapter .rd-chapter-content li::marker{ color: var(--bh-maroon2); }

/* ordered lists -> gold temple number badges (checklist / reasons / media) */
.rv2.bh .rd-chapter .rd-chapter-content ol{ padding-left: 0; list-style: none; counter-reset: bhol; }
.rv2.bh .rd-chapter .rd-chapter-content ol > li{
  counter-increment: bhol;
  position: relative;
  padding-left: 46px;
  margin-bottom: 13px;
}
.rv2.bh .rd-chapter .rd-chapter-content ol > li:last-child{ margin-bottom: 0; }
.rv2.bh .rd-chapter .rd-chapter-content ol > li::before{
  content: counter(bhol);
  position: absolute;
  left: 0; top: 2px;
  min-width: 30px; height: 30px;
  border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, #E8A020 0%, #F2B736 100%);
  color: var(--bh-maroon);
  font-weight: 800;
  font-size: 14px;
  box-shadow: 0 3px 8px rgba(232,160,32,0.30);
}
.rv2.bh .rd-chapter .rd-chapter-content ol > li strong{ color: var(--bh-maroon); }
/* nested sub-lists under an ol item -> saffron diamond dots */
.rv2.bh .rd-chapter .rd-chapter-content ol > li ul{ padding-left: 0; list-style: none; margin: 8px 0 0; }
.rv2.bh .rd-chapter .rd-chapter-content ol > li ul > li{ position: relative; padding-left: 20px; margin-bottom: 6px; }
.rv2.bh .rd-chapter .rd-chapter-content ol > li ul > li::before{
  content: "";
  position: absolute; left: 0; top: 8px;
  width: 8px; height: 8px;
  transform: rotate(45deg);
  border-radius: 2px;
  background: var(--bh-saffron);
}

/* ---------- Visa types: saffron ticket cards (presentation-comparison) ----- */
.rv2.bh .rd-presentation-comparison .rd-chapter-content > ul{ padding-left: 0; list-style: none; margin: 0 0 14px; }
.rv2.bh .rd-presentation-comparison .rd-chapter-content li{
  background: #fff;
  border: 1px solid var(--bh-line);
  border-left: 4px solid var(--bh-saffron);
  border-radius: 12px;
  overflow: hidden;
  padding: 12px 16px 14px;
  margin-bottom: 12px;
  box-shadow: var(--shadow-1);
}
.rv2.bh .rd-presentation-comparison .rd-chapter-content li:last-child{ margin-bottom: 0; }
.rv2.bh .rd-presentation-comparison .rd-chapter-content li > strong{
  display: block;
  margin: -12px -16px 10px;
  padding: 11px 16px;
  background: linear-gradient(120deg, var(--bh-maroon2) 0%, var(--bh-maroon) 100%);
  color: #FBEFD2;
  font-size: 16px;
  font-weight: 700;
}
.rv2.bh .rd-presentation-comparison .rd-chapter-content li > strong::before{
  content: "\1F70C ";
  font-size: 14px;
  opacity: 0.85;
  margin-right: 2px;
}

/* ---------- Process steps: saffron "step tag" chips (presentation-timeline) */
.rv2.bh .rd-presentation-timeline .rd-chapter-content > ul{ padding-left: 0; list-style: none; margin: 0 0 12px; }
.rv2.bh .rd-presentation-timeline .rd-chapter-content > ul > li{
  display: inline-block;
  padding: 8px 18px 8px 20px;
  margin: 0 0 2px;
  background: linear-gradient(120deg, var(--bh-maroon) 0%, var(--bh-maroon2) 100%);
  color: #FBEFD2;
  border-left: 5px solid var(--bh-gold);
  border-radius: 4px 999px 999px 4px;
  box-shadow: var(--shadow-1);
}
.rv2.bh .rd-presentation-timeline .rd-chapter-content > ul > li > strong{ color: #FBEFD2; font-weight: 700; }

/* ---------- Cost table: saffron header overrides inline #f2f2f2 ----------- */
.rv2.bh .rd-chapter .table-responsive{ margin: 10px 0 14px; overflow-x: auto; }
.rv2.bh .rd-chapter .table-responsive table{
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin-bottom: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  border: 1px solid var(--bh-line) !important;
  border-radius: 12px;
  overflow: hidden;
}
.rv2.bh .rd-chapter .table-responsive table thead th{
  background: linear-gradient(120deg, var(--bh-maroon) 0%, var(--bh-maroon2) 100%) !important;
  color: #FBEFD2 !important;
  padding: 14px 16px !important;
  border: 0 !important;
  text-align: left !important;
  font-weight: 700 !important;
  font-size: 15.5px;
}
.rv2.bh .rd-chapter .table-responsive table thead th:first-child{ border-top-left-radius: 12px; }
.rv2.bh .rd-chapter .table-responsive table thead th:last-child{ border-top-right-radius: 12px; }
.rv2.bh .rd-chapter .table-responsive table tbody td{
  background: #fff !important;
  padding: 13px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bh-line) !important;
  font-size: 15px !important;
  line-height: 1.6;
  color: var(--bh-ink);
  vertical-align: top;
  text-align: left !important;
}
.rv2.bh .rd-chapter .table-responsive table tbody tr:nth-child(even) td{ background: #FBF3E3 !important; }
.rv2.bh .rd-chapter .table-responsive table tbody tr:last-child td{ border-bottom: 0 !important; }
.rv2.bh .rd-chapter .table-responsive table td p{ margin: 0; font-size: 15px; }

/* ---------- FAQ: maroon/saffron toggle ------------------------------------- */
.rv2.bh .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.bh .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--bh-line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.bh .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--bh-ink);
  font-size: 16.5px;
}
.rv2.bh .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.bh .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #FBEFD2; font-size: 20px;
  background: linear-gradient(150deg, #6E1A1E 0%, #4A1114 100%);
  clip-path: polygon(0 100%, 0 24%, 20% 60%, 50% 6%, 80% 60%, 100% 24%, 100% 100%);
}
.rv2.bh .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--bh-saffron) 0%, #E8A020 100%);
  color: #2E0B0D;
}
.rv2.bh .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #FBF3E3;
  color: var(--txt);
}
.rv2.bh .rd-faq .panel_t p{ margin: 0 0 4px; font-size: 15.5px; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 900px){
  .rv2.bh .bh-intro{ grid-template-columns: 1fr; gap: 16px; margin-top: -14px; }
  .rv2.bh .bh-intro__copy{ padding: 24px 20px; }
}
@media (max-width: 600px){
  .rv2.bh .bh-hero__inner{ padding: 30px 18px 44px; }
  .rv2.bh .bh-hero__title{ padding-left: 16px; }
  .rv2.bh .bh-hero::before{ width: 150px; height: 130px; right: 2%; }
  .rv2.bh .bh-hero::after{ width: 34px; height: 34px; }
  .rv2.bh .rd-chapter{ padding: 20px 18px 18px 24px; }
  .rv2.bh .rd-chapter .rd-chapter-content ol > li{ padding-left: 40px; }
  .rv2.bh .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    INDOONESIA E-VISA FOR SOUTH AFRICANS — "Highveld Blue & Veld Gold" theme
    (page: indonesia-evisa-for-south-africa.php)
    Rich cobalt/indigo + veld-gold + springbok-green + a national-flag stripe
    ribbon and chevron motifs (the flag's "Y"). Distinct from the plain blue
    campus (student) via multi-accent palette + flag ribbon + chevron cuts.
    Scoped under .rv2.sa. Content order + all links/JS untouched.
    ============================================================================ */
.rv2.sa{
  --sa-blue: #1E56A0;
  --sa-blue2: #123C7A;
  --sa-blue3: #0E2D5C;
  --sa-veld: #F2B23E;
  --sa-veld2: #E89B26;
  --sa-green: #1E8049;
  --sa-red: #E23636;
  --sa-ink: #16233A;
  --sa-line: #E2E8F2;
  --sa-cream: #F7FAFE;
}

/* ---------- Hero: cobalt sky + gold sun + light rays ----------------------- */
.rv2.sa .sa-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(56% 60% at 82% 22%, rgba(242,178,62,0.34) 0%, rgba(242,178,62,0) 55%),
    repeating-linear-gradient(115deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 38px, rgba(255,255,255,0.04) 38px, rgba(255,255,255,0.04) 40px),
    linear-gradient(160deg, #0E2D5C 0%, #123C7A 46%, #1E56A0 100%);
  border-bottom: 4px solid transparent;
  border-image: linear-gradient(90deg, #1E8049, #F2B23E, #16233A, #E23636, #1E56A0) 1;
}
/* gold sun disc */
.rv2.sa .sa-hero::before{
  content: "";
  position: absolute;
  right: 11%; top: 18%;
  width: 58px; height: 58px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #FBD98A 0%, #F2B23E 60%, #E89B26 100%);
  box-shadow: 0 0 46px 10px rgba(242,178,62,0.40);
  pointer-events: none;
}
/* faint chevron "ridge" at the base (Highveld horizon) */
.rv2.sa .sa-hero::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 34px;
  background:
    linear-gradient(135deg, transparent 49%, rgba(255,255,255,0.06) 50%) left/60px 100% repeat-x,
    linear-gradient(225deg, transparent 49%, rgba(255,255,255,0.06) 50%) left/60px 100% repeat-x;
  pointer-events: none;
}
.rv2.sa .sa-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 58px;
}
/* the national-flag stripe ribbon (decorative marker) */
.rv2.sa .sa-flag{
  width: 96px; height: 13px;
  border-radius: 3px;
  margin-bottom: 18px;
  background: linear-gradient(90deg, #1E8049 0 20%, #F2B23E 20% 40%, #16233A 40% 60%, #E23636 60% 80%, #1E56A0 80% 100%);
  box-shadow: 0 1px 5px rgba(0,0,0,0.28);
}
.rv2.sa .sa-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.sa .sa-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.sa .sa-hero .breadcrumb a:hover{ color: #fff; }
.rv2.sa .sa-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(242,178,62,0.75);
}
.rv2.sa .sa-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.sa .sa-hero__title{
  margin: 0;
  max-width: 960px;
  width: fit-content;
  padding-left: 22px;
  position: relative;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.4px;
}
.rv2.sa .sa-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 4px; bottom: 4px;
  width: 7px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, var(--sa-veld) 0%, var(--sa-blue) 100%);
  clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
}

/* ---------- Chapters: cobalt top rule + veld accent + chevron ---------------- */
.rv2.sa .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--sa-line);
  border-top: 5px solid var(--sa-blue);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.sa .rd-chapter::before{
  content: "";
  position: absolute;
  right: -30px; top: -30px;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(242,178,62,0.10) 0%, rgba(242,178,62,0) 70%);
  pointer-events: none;
}
.rv2.sa .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--sa-ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.sa .rd-chapter > h2::after{
  margin-top: 10px !important;
  width: 66px !important;
  height: 8px !important;
  background: linear-gradient(90deg, var(--sa-veld2) 0%, var(--sa-blue) 100%) !important;
  clip-path: polygon(0 0, 100% 0, 86% 100%, 8% 100%) !important;
}
.rv2.sa .rd-chapter > h2 > i{ margin-right: 9px; color: var(--sa-blue); }
.rv2.sa .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--sa-ink); }
.rv2.sa .rd-chapter .rd-chapter-content p > strong{ color: var(--sa-blue2); }
/* a lone strong as a "heading line" -> chevron chip */
.rv2.sa .rd-chapter .rd-chapter-content p > strong:only-child{
  display: inline-block;
  margin: 18px 0 8px;
  padding: 7px 16px;
  background: linear-gradient(90deg, #EAF1FB 0%, #DCE8F8 100%);
  color: var(--sa-blue2);
  font-size: 15px;
  font-weight: 700;
  clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
  border-left: 3px solid var(--sa-veld);
}

/* chevron bullets for generic lists */
.rv2.sa .rd-chapter .rd-chapter-content ul{ padding-left: 20px; margin: 0 0 14px; }
.rv2.sa .rd-chapter .rd-chapter-content ul > li{ margin-bottom: 10px; }
.rv2.sa .rd-chapter .rd-chapter-content li{ position: relative; }
.rv2.sa .rd-chapter .rd-chapter-content ul > li::marker{ content: ""; }
.rv2.sa .rd-chapter .rd-chapter-content ul > li{ list-style: none; padding-left: 22px; }
.rv2.sa .rd-chapter .rd-chapter-content ul > li::before{
  content: "";
  position: absolute; left: 2px; top: 7px;
  width: 9px; height: 9px;
  border-left: 2px solid var(--sa-veld);
  border-bottom: 2px solid var(--sa-green);
  transform: rotate(-45deg);
}
.rv2.sa .rd-chapter .rd-chapter-content li strong{ color: var(--sa-blue2); }

/* ordered lists -> cobalt chevron number badges */
.rv2.sa .rd-chapter .rd-chapter-content ol{ padding-left: 0; list-style: none; counter-reset: srol; }
.rv2.sa .rd-chapter .rd-chapter-content ol > li{
  counter-increment: srol;
  position: relative;
  padding-left: 50px;
  margin-bottom: 13px;
}
.rv2.sa .rd-chapter .rd-chapter-content ol > li::before{
  content: counter(srol);
  position: absolute; left: 0; top: 1px;
  min-width: 34px; height: 34px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--sa-blue2) 0%, var(--sa-blue3) 100%);
  color: #FBD98A;
  font-weight: 800;
  font-size: 15px;
  clip-path: polygon(0 0, 100% 12%, 100% 100%, 0 88%);
  border-radius: 3px;
  box-shadow: 0 4px 10px rgba(18,60,122,0.28);
}
.rv2.sa .rd-chapter .rd-chapter-content ol > li strong{ color: var(--sa-blue2); }

/* ---------- Lead / brief chapter: highlighted + framed banner -------------- */
.rv2.sa .rd-presentation-brief{
  border-top: 5px solid var(--sa-veld);
  background: linear-gradient(180deg, #FBFDFF 0%, #F1F6FD 100%);
}
.rv2.sa .rd-presentation-brief .rd-chapter-content center{
  max-width: 720px;
  margin: 8px auto 0;
  display: block;
  text-align: center;
}
.rv2.sa .rd-presentation-brief .rd-chapter-content img{
  max-width: 100%;
  width: 100%;
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  border: 1px solid var(--sa-line);
}
.rv2.sa .rd-presentation-brief .cta-btn{ margin: 6px 0 4px; }

/* ---------- Checklist columns: springbok-green check chips ----------------- */
.rv2.sa .rd-presentation-columns .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.sa .rd-presentation-columns .rd-chapter-content ul > li{
  position: static;
  padding-left: 34px;
  background: #fff;
  border: 1px solid var(--sa-line);
  border-radius: 11px;
  padding: 12px 14px 12px 40px;
  margin-bottom: 0;
}
.rv2.sa .rd-presentation-columns .rd-chapter-content ul > li::before{
  content: "\2713";
  left: 12px;
  top: 12px;
  width: 22px; height: 22px;
  border: 0;
  transform: none;
  border-radius: 6px;
  background: rgba(30,128,73,0.12);
  color: var(--sa-green);
  font-weight: 800;
  font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Timeline steps: h3 chevrons + flag tab -------------------------- */
.rv2.sa .rd-presentation-timeline .rd-chapter-content h3{
  position: relative;
  margin: 22px 0 10px;
  padding-left: 16px;
  border-left: 5px solid var(--sa-veld);
  color: var(--sa-blue2);
  font-size: 18px;
  font-weight: 750;
}
.rv2.sa .rd-presentation-timeline .rd-chapter-content h3::before{
  content: "";
  position: absolute;
  left: -3px; top: 50%;
  width: 12px; height: 12px;
  margin-top: -6px;
  background: var(--sa-blue);
  clip-path: polygon(0 50%, 60% 0, 100% 50%, 60% 100%);
}
.rv2.sa .rd-presentation-timeline .rd-chapter-content ul{ margin-bottom: 6px; }

/* ---------- Comparison / processing options: two-flag tabs ------------------ */
.rv2.sa .rd-comparison .rd-chapter-content ul{
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  padding-left: 0; list-style: none; margin: 0 0 6px;
}
.rv2.sa .rd-comparison .rd-chapter-content ul > li{
  position: static;
  padding-left: 0;
  background: #fff;
  border: 1px solid var(--sa-line);
  border-top: 4px solid var(--sa-green);
  border-radius: 11px;
  padding: 14px 14px 12px;
  margin-bottom: 0;
}
.rv2.sa .rd-comparison .rd-chapter-content ul > li:nth-child(2){ border-top-color: var(--sa-veld); }
.rv2.sa .rd-comparison .rd-chapter-content ul > li:nth-child(3){ border-top-color: var(--sa-red); }
.rv2.sa .rd-comparison .rd-chapter-content ul > li::before{ display: none; }
.rv2.sa .rd-comparison .rd-chapter-content ul > li strong{ display: block; margin-bottom: 6px; color: var(--sa-blue2); }

/* ---------- Problems list (rd-steps ul): amber-flagged rows ----------------- */
.rv2.sa .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul{ padding-left: 0; list-style: none; }
.rv2.sa .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul > li{
  position: relative;
  padding-left: 26px;
  padding-right: 6px;
  border-left: 3px solid var(--sa-veld);
  background: linear-gradient(90deg, rgba(242,178,62,0.07), transparent 60%);
  border-radius: 0 8px 8px 0;
  padding-bottom: 6px;
  margin-bottom: 10px;
}
.rv2.sa .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul > li::before{ display: none; }
.rv2.sa .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul > li strong{ color: var(--sa-blue2); }

/* ---------- FAQ: cobalt/green chevron toggle -------------------------------- */
.rv2.sa .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.sa .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--sa-line);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.sa .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--sa-ink);
  font-size: 16.5px;
}
.rv2.sa .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.sa .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px;
  background: linear-gradient(150deg, var(--sa-blue) 0%, var(--sa-blue3) 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.rv2.sa .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--sa-green) 0%, #14603A 100%);
}
.rv2.sa .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #F1F6FD;
  color: var(--sa-ink);
}
.rv2.sa .rd-faq .panel_t p{ margin: 0 0 4px; font-size: 15.5px; }

/* ---------- Responsive ------------------------------------------------------ */
@media (max-width: 900px){
  .rv2.sa .rd-presentation-columns .rd-chapter-content ul{ grid-template-columns: 1fr; }
  .rv2.sa .rd-comparison .rd-chapter-content ul{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rv2.sa .sa-hero__inner{ padding: 30px 18px 44px; }
  .rv2.sa .sa-hero__title{ padding-left: 16px; }
  .rv2.sa .sa-hero::before{ width: 42px; height: 42px; }
  .rv2.sa .rd-chapter{ padding: 20px 18px 18px; }
  .rv2.sa .rd-chapter .rd-chapter-content ol > li{ padding-left: 44px; }
  .rv2.sa .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    INDONESIA E-VISA FOR UK CITIZENS — "Union / Regal British" theme
    (page: indonesia-evisa-for-united-kingdom.php)
    Royal navy + flag crimson + heraldic gold. Saltire-cross hero with a crown
    crest, double-rule headings, gold "shield" bullets, gold-tab h3 sections,
    and a crimson toggle FAQ. Distinct from plain blue campus (student) via the
    crimson+gold heraldic palette + crest/saltire motifs. Scoped under .rv2.uk.
    Content order + all links/JS untouched.
    ============================================================================ */
.rv2.uk{
  --uk-navy: #16264F;
  --uk-navy2: #0E1A3A;
  --uk-crimson: #D11A2A;
  --uk-red2: #A80F1E;
  --uk-gold: #F2C14E;
  --uk-gold2: #E0A92E;
  --uk-ink: #14203F;
  --uk-line: #E3E7F0;
  --uk-paper: #FBFCFF;
}

/* ---------- Hero: royal navy + saltire cross + gold rule -------------------- */
.rv2.uk .uk-hero{
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,0) 48%, rgba(255,255,255,0.10) 48%, rgba(255,255,255,0.10) 52%, rgba(255,255,255,0) 52%),
    linear-gradient(45deg, rgba(255,255,255,0) 48%, rgba(242,193,78,0.16) 48%, rgba(242,193,78,0.16) 52%, rgba(255,255,255,0) 52%),
    radial-gradient(70% 90% at 88% 20%, rgba(209,26,42,0.22) 0%, rgba(209,26,42,0) 55%),
    linear-gradient(163deg, #0E1A3A 0%, #16264F 54%, #22365f 100%);
  border-bottom: 3px solid var(--uk-gold);
}
.rv2.uk .uk-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 58px;
}
.rv2.uk .uk-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.uk .uk-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.uk .uk-hero .breadcrumb a:hover{ color: #fff; }
.rv2.uk .uk-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(242,193,78,0.75);
}
.rv2.uk .uk-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
/* crown crest chip */
.rv2.uk .uk-crest{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px; height: 46px;
  margin-bottom: 12px;
  border-radius: 12px;
  background: radial-gradient(circle at 40% 30%, rgba(242,193,78,0.35), rgba(242,193,78,0.05));
  border: 1px solid rgba(242,193,78,0.6);
  color: var(--uk-gold);
  font-size: 30px;
  line-height: 1;
  box-shadow: 0 4px 14px rgba(0,0,0,0.28);
}
.rv2.uk .uk-hero__title{
  margin: 0;
  max-width: 960px;
  width: fit-content;
  padding-left: 22px;
  position: relative;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.3px;
}
.rv2.uk .uk-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 6px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--uk-gold) 0%, var(--uk-crimson) 100%);
}

/* ---------- Intro: regal copy card + framed media (gold corner) ------------ */
.rv2.uk .uk-intro{
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 26px;
  align-items: stretch;
  margin: -18px 0 22px;
  position: relative;
  z-index: 2;
}
.rv2.uk .uk-intro__copy,
.rv2.uk .uk-intro__media{
  background: var(--uk-paper);
  border: 1px solid var(--uk-line);
  border-radius: 16px;
  box-shadow: var(--shadow-1);
}
.rv2.uk .uk-intro__copy{
  padding: 30px 30px 26px;
  border-top: 4px solid var(--uk-crimson);
  background: linear-gradient(180deg, #FDFEFF 0%, #EFF3FB 100%);
}
.rv2.uk .uk-intro__copy > p{ margin: 0 0 16px; font-size: 16px; line-height: 1.75; color: var(--uk-ink); }
.rv2.uk .uk-intro__copy .cta-btn{ text-align: left; margin: 6px 0 0; }
.rv2.uk .uk-intro__media{
  position: relative;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background:
    radial-gradient(60% 55% at 100% 0%, rgba(209,26,42,0.12) 0%, rgba(209,26,42,0) 60%),
    var(--uk-paper);
}
.rv2.uk .uk-intro__media::before{
  content: "";
  position: absolute;
  left: 0; top: 0;
  width: 70px; height: 38px;
  background: linear-gradient(135deg, var(--uk-cream, #F2C14E), var(--uk-gold2));
  clip-path: polygon(0 0, 0 100%, 24% 100%, 24% 66%, 38% 66%, 38% 34%, 54% 34%, 54% 12%, 100% 12%, 100% 0);
  opacity: 0.85;
  z-index: 2;
}
.rv2.uk .uk-intro__media img,
.rv2.uk .uk-intro__media picture{ max-width: 100%; }
.rv2.uk .uk-intro__media img{ width: 100%; border-radius: 10px; }

/* ---------- Chapters: royal navy top + crimson accent + double-rule --------- */
.rv2.uk .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--uk-line);
  border-top: 5px solid var(--uk-navy);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.uk .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--uk-navy) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 2px !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* double rule: gold primary + crimson thin underline (regal) */
.rv2.uk .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 100% !important;
  height: 6px !important;
  background:
    linear-gradient(90deg, var(--uk-gold) 0%, var(--uk-gold2) 40%, rgba(226,170,46,0) 100%) top/66px 3px no-repeat,
    linear-gradient(90deg, var(--uk-crimson) 0%, rgba(209,26,42,0) 62%) bottom/110px 2px no-repeat !important;
}
.rv2.uk .rd-chapter > h2 > i{ margin-right: 9px; color: var(--uk-crimson); }
.rv2.uk .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--uk-ink); }
.rv2.uk .rd-chapter .rd-chapter-content h3{
  margin: 22px 0 10px;
  padding-left: 15px;
  border-left: 4px solid var(--uk-gold);
  color: var(--uk-navy);
  font-size: 17.5px;
  font-weight: 740;
}
.rv2.uk .rd-chapter .rd-chapter-content h3:first-of-type{ margin-top: 8px; }
.rv2.uk .rd-chapter .rd-chapter-content p > strong{ color: var(--uk-navy); }
/* a lone strong heading -> gold ribbon chip */
.rv2.uk .rd-chapter .rd-chapter-content p > strong:only-child{
  display: inline-block;
  margin: 18px 0 8px;
  padding: 7px 16px;
  background: linear-gradient(90deg, #FFF6E0 0%, #FBEcc6 100%);
  border: 1px solid rgba(224,169,46,0.4);
  color: var(--uk-navy);
  font-size: 15px;
  font-weight: 700;
}

/* ---------- Lists: gold "shield" bullets ------------------------------------ */
.rv2.uk .rd-chapter .rd-chapter-content ul{ padding-left: 20px; margin: 0 0 14px; }
.rv2.uk .rd-chapter .rd-chapter-content ul > li{ margin-bottom: 10px; position: relative; list-style: none; padding-left: 24px; }
.rv2.uk .rd-chapter .rd-chapter-content ul > li::before{
  content: "";
  position: absolute; left: 0; top: 3px;
  width: 15px; height: 17px;
  background: linear-gradient(160deg, var(--uk-gold) 0%, var(--uk-gold2) 100%);
  clip-path: polygon(0 0, 100% 0, 100% 58%, 50% 100%, 0 58%);
  box-shadow: 0 1px 3px rgba(168,15,30,0.25);
}
.rv2.uk .rd-chapter .rd-chapter-content ul > li strong{ color: var(--uk-navy); }

/* ordered lists -> navy number shields */
.rv2.uk .rd-chapter .rd-chapter-content ol{ padding-left: 0; list-style: none; counter-reset: ukol; }
.rv2.uk .rd-chapter .rd-chapter-content ol > li{
  counter-increment: ukol;
  position: relative;
  padding-left: 48px;
  margin-bottom: 13px;
}
.rv2.uk .rd-chapter .rd-chapter-content ol > li::before{
  content: counter(ukol);
  position: absolute; left: 0; top: 0;
  min-width: 32px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, var(--uk-navy) 0%, var(--uk-navy2) 100%);
  color: var(--uk-gold);
  font-weight: 800;
  font-size: 15px;
  clip-path: polygon(0 0, 100% 0, 100% 56%, 50% 100%, 0 56%);
}

/* ---------- Comparison (visa types): gold-tab cards under each h3 ---------- */
.rv2.uk .rd-presentation-comparison .rd-chapter-content h3{
  font-size: 16.5px;
  color: var(--uk-navy);
  background: linear-gradient(90deg, rgba(242,193,78,0.18), rgba(242,193,78,0.02));
  border: 1px solid rgba(224,169,46,0.35);
  border-radius: 8px;
  padding: 10px 14px 10px 15px;
  margin: 20px 0 10px;
}
.rv2.uk .rd-presentation-comparison .rd-chapter-content h3:first-of-type{ margin-top: 8px; }
.rv2.uk .rd-presentation-comparison .rd-chapter-content ul > li{
  background: var(--uk-paper);
  border: 1px solid var(--uk-line);
  border-radius: 10px;
  padding: 13px 15px 13px 24px;
  margin-bottom: 11px;
}
.rv2.uk .rd-presentation-comparison .rd-chapter-content ul > li:last-child{ margin-bottom: 0; }
.rv2.uk .rd-presentation-comparison .rd-chapter-content ul > li::before{ left: 0; background: linear-gradient(160deg, var(--uk-crimson), var(--uk-red2)); box-shadow: 0 1px 3px rgba(14,26,58,0.25); }
.rv2.uk .rd-presentation-comparison .rd-chapter-content ul > li > strong{ color: var(--uk-crimson); }

/* ---------- Checklist columns: crimson check chips (2-col grid) ------------ */
.rv2.uk .rd-presentation-columns .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.uk .rd-presentation-columns .rd-chapter-content ul > li{
  padding: 12px 14px 12px 40px;
  background: var(--uk-paper);
  border: 1px solid var(--uk-line);
  border-radius: 11px;
  margin-bottom: 0;
}
.rv2.uk .rd-presentation-columns .rd-chapter-content ul > li::before{
  content: "\2713";
  left: 11px; top: 12px;
  width: 22px; height: 22px;
  clip-path: none;
  background: rgba(209,26,42,0.12);
  border-radius: 6px;
  color: var(--uk-crimson);
  font-weight: 800;
  font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
}
/* a framed picture sitting inside a checklist chapter (minors doc) */
.rv2.uk .rd-chapter .rd-chapter-content center{ margin: 6px 0 12px; text-align: center; }
.rv2.uk .rd-chapter .rd-chapter-content img{ max-width: 100%; border-radius: 12px; box-shadow: var(--shadow-1); border: 1px solid var(--uk-line); }

/* ---------- Steps h3 sections + note ribbon -------------------------------- */
.rv2.uk .rd-steps .rd-chapter-content h3{
  font-size: 18px;
  color: var(--uk-navy);
}
.rv2.uk .rd-steps .rd-chapter-content h3::before{
  content: "";
  display: inline-block;
  width: 22px; height: 4px;
  margin-right: 8px;
  vertical-align: middle;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--uk-crimson), var(--uk-gold));
}
.rv2.uk .rd-steps .rd-chapter-content p > strong:only-child{
  color: var(--uk-crimson);
}

/* ---------- media / things-to-do lists: crimson star badges ---------------- */
.rv2.uk .rd-presentation-media .rd-chapter-content ol > li::before{
  content: "\2726";
  min-width: 32px; height: 34px;
  background: linear-gradient(160deg, var(--uk-crimson), var(--uk-red2));
  color: #fff;
  font-weight: 700;
  clip-path: polygon(50% 0, 100% 38%, 81% 100%, 19% 100%, 0 38%);
}

/* ---------- FAQ: navy -> crimson toggle ------------------------------------ */
.rv2.uk .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.uk .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--uk-line);
  border-left: 4px solid var(--uk-gold);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.uk .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--uk-ink);
  font-size: 16.5px;
}
.rv2.uk .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.uk .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 9px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-size: 20px;
  background: linear-gradient(150deg, var(--uk-navy) 0%, var(--uk-navy2) 100%);
}
.rv2.uk .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--uk-crimson) 0%, var(--uk-red2) 100%);
}
.rv2.uk .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #F5F7FC;
  color: var(--uk-ink);
}
.rv2.uk .rd-faq .panel_t p{ margin: 0 0 4px; font-size: 15.5px; }

/* ---------- Responsive ------------------------------------------------------ */
@media (max-width: 900px){
  .rv2.uk .uk-intro{ grid-template-columns: 1fr; gap: 16px; margin-top: -14px; }
  .rv2.uk .uk-intro__copy{ padding: 24px 20px; }
  .rv2.uk .rd-presentation-columns .rd-chapter-content ul{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rv2.uk .uk-hero__inner{ padding: 30px 18px 44px; }
  .rv2.uk .uk-hero__title{ padding-left: 16px; }
  .rv2.uk .uk-crest{ width: 40px; height: 40px; font-size: 26px; }
  .rv2.uk .rd-chapter{ padding: 20px 18px 18px; }
  .rv2.uk .rd-chapter .rd-chapter-content ol > li{ padding-left: 42px; }
  .rv2.uk .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    INDONESIA E-VISA FOR US CITIZENS — "Star / Air-Mail" theme
    (page: indonesia-evisa-for-us-citizens.php)
    Bold navy + flag red + star gold. A starfield dot-grid hero with a large
    5-point star burst, 4-point sparkle bullets, star number shields, and a
    red/gold star-toggled FAQ. Distinct from SA (cobalt + flag ribbon + chevron
    bullets) and UK (royal navy + saltire + crest + double-rule): the motif
    here is STARS / starbursts / starfield, with a bolder flag red.
    Scoped under .rv2.us. Content order + all links/JS left untouched.
    ============================================================================ */
.rv2.us{
  --us-navy: #1A2E5C;
  --us-navy2: #0F1E42;
  --us-navy3: #0A1530;
  --us-red: #D62828;
  --us-red2: #A81D1D;
  --us-gold: #F4B41A;
  --us-gold2: #E09E12;
  --us-ink: #16223B;
  --us-line: #E4E8F2;
  --us-paper: #FBFCFF;
}

/* ---------- Hero: navy starfield + big star burst + red glow -------------- */
.rv2.us .us-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(60% 60% at 12% 8%, rgba(214,40,40,0.20) 0%, rgba(214,40,40,0) 55%),
    radial-gradient(circle at 88% 18%, rgba(244,180,26,0.18) 0%, rgba(244,180,26,0) 46%),
    radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,0.55) 0, rgba(255,255,255,0) 60%),
    radial-gradient(2px 2px at 38% 66%, rgba(255,255,255,0.40) 0, rgba(255,255,255,0) 60%),
    radial-gradient(2px 2px at 60% 40%, rgba(255,255,255,0.5) 0, rgba(255,255,255,0) 60%),
    radial-gradient(1px 1px at 74% 74%, rgba(255,255,255,0.5) 0, rgba(255,255,255,0) 60%),
    radial-gradient(1px 1px at 84% 52%, rgba(255,255,255,0.4) 0, rgba(255,255,255,0) 60%),
    linear-gradient(158deg, #0A1530 0%, #1A2E5C 52%, #24407a 100%);
  border-bottom: 3px solid var(--us-gold);
}
/* big 5-point star burst, bottom-right, soft red-gold */
.rv2.us .us-hero::before{
  content: "\2605";
  position: absolute;
  right: -18px; bottom: -30px;
  font-size: 220px;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 2px rgba(244,180,26,0.22);
  text-stroke: 2px rgba(244,180,26,0.22);
  pointer-events: none;
}
/* small solid star accent, top-right */
.rv2.us .us-hero::after{
  content: "\2605";
  position: absolute;
  right: 9%; top: 22%;
  font-size: 30px;
  color: var(--us-gold);
  text-shadow: 0 0 26px rgba(244,180,26,0.6);
  pointer-events: none;
}
.rv2.us .us-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 58px;
}
/* star crest chip (5-point star) */
.rv2.us .us-crest{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px; height: 52px;
  margin-bottom: 14px;
  color: var(--us-navy2);
  font-size: 40px;
  line-height: 1;
  background: radial-gradient(circle at 40% 34%, #FBD98A 0%, var(--us-gold) 58%, var(--us-gold2) 100%);
  clip-path: polygon(50% 2%, 61% 36%, 98% 38%, 68% 59%, 79% 93%, 50% 72%, 21% 93%, 32% 59%, 2% 38%, 39% 36%);
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.32));
}
.rv2.us .us-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.us .us-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.us .us-hero .breadcrumb a:hover{ color: #fff; }
.rv2.us .us-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(244,180,26,0.8);
}
.rv2.us .us-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.us .us-hero__title{
  margin: 0;
  max-width: 940px;
  width: fit-content;
  padding-left: 22px;
  position: relative;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.3px;
}
.rv2.us .us-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 6px;
  border-radius: 0 4px 4px 0;
  background: linear-gradient(180deg, var(--us-red) 0%, var(--us-gold) 100%);
}

/* ---------- Standalone lead banner: framed with a red gold-star corner ----- */
.rv2.us .rd-page section > .container > center{
  display: block;
  width: 100%;
  margin: -6px 0 20px;
}
.rv2.us .rd-page section > .container > center picture,
.rv2.us .rd-page section > .container > center .wrapped-image{
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--us-line);
  background:
    radial-gradient(60% 60% at 100% 0%, rgba(214,40,40,0.12) 0%, rgba(214,40,40,0) 60%),
    radial-gradient(40% 55% at 0% 100%, rgba(244,180,26,0.12) 0%, rgba(244,180,26,0) 60%),
    var(--us-paper);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.rv2.us .rd-page section > .container > center picture::after{
  content: "\2605";
  position: absolute;
  right: 22px; top: 14px;
  font-size: 26px;
  color: var(--us-gold);
  text-shadow: 0 2px 8px rgba(10,21,48,0.5);
}
.rv2.us .rd-page section > .container > center img{
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}

/* ---------- Lead chapter (presentation-open): highlighted card ------------- */
.rv2.us .rd-presentation-open{
  border-top: 5px solid var(--us-red);
  background: linear-gradient(180deg, #FFF7F6 0%, var(--us-paper) 100%);
}
.rv2.us .rd-presentation-open .cta-btn{ margin: 8px 0 2px; }
.rv2.us .rd-presentation-open .cta-btn .banner-hero-btn{
  display: inline-block;
  padding: 11px 24px;
  border-radius: 10px;
  font-weight: 700;
  background: linear-gradient(120deg, var(--us-red) 0%, var(--us-red2) 100%);
  color: #fff;
  box-shadow: 0 8px 18px rgba(214,40,40,0.28);
}

/* ---------- Chapters: white cards + navy top rule + star corner ----------- */
.rv2.us .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--us-line);
  border-top: 5px solid var(--us-navy);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.us .rd-chapter::after{
  content: "\2605";
  position: absolute;
  right: 14px; top: 8px;
  font-size: 22px;
  color: rgba(244,180,26,0.5);
  pointer-events: none;
}
.rv2.us .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--us-navy) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.us .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 60px !important;
  height: 9px !important;
  background: linear-gradient(90deg, var(--us-red) 0%, var(--us-gold) 100%) !important;
  clip-path: polygon(0 100%, 8% 0, 20% 60%, 35% 0, 50% 60%, 65% 0, 80% 60%, 92% 0, 100% 100%) !important;
}
.rv2.us .rd-chapter > h2 > i{ margin-right: 9px; color: var(--us-red); }
.rv2.us .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--us-ink); margin: 0 0 12px; }
.rv2.us .rd-chapter .rd-chapter-content > h3{ color: var(--us-navy); }
/* a lone strong as a "heading line" (Visa Fees/Validity/Pros/Cons/VOA/eVisa) */
.rv2.us .rd-chapter .rd-chapter-content p > strong:only-child{
  display: inline-block;
  margin: 16px 0 8px;
  padding: 7px 15px 7px 20px;
  background: linear-gradient(90deg, #1A2E5C 0%, #24407a 100%);
  color: #FCEBB6;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.2px;
  clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
  border-left: 3px solid var(--us-gold);
}
.rv2.us .rd-chapter .rd-chapter-content p > strong:only-child + br{ display: none; }

/* a strong opening a paragraph (heading-ish) -> red lead emphasis */
.rv2.us .rd-chapter .rd-chapter-content p > strong{ color: var(--us-navy); }
.rv2.us .rd-chapter .rd-chapter-content li > strong{ color: var(--us-navy); }

/* ---------- Generic bullets: red 4-point sparkle -------------------------- */
.rv2.us .rd-chapter .rd-chapter-content ul{ padding-left: 20px; margin: 0 0 14px; }
.rv2.us .rd-chapter .rd-chapter-content ul > li{ margin-bottom: 10px; position: relative; list-style: none; padding-left: 24px; }
.rv2.us .rd-chapter .rd-chapter-content ul > li::before{
  content: "\2726";
  position: absolute; left: 0; top: 1px;
  width: 16px; height: 16px;
  font-size: 13px;
  line-height: 16px;
  text-align: center;
  color: var(--us-red);
}
.rv2.us .rd-chapter .rd-chapter-content li{ position: relative; }

/* ordered lists -> navy star number shields (requirements / steps) */
.rv2.us .rd-chapter .rd-chapter-content ol{ padding-left: 0; list-style: none; counter-reset: usol; margin: 0; }
.rv2.us .rd-chapter .rd-chapter-content ol > li{
  counter-increment: usol;
  position: relative;
  padding-left: 48px;
  margin-bottom: 14px;
}
.rv2.us .rd-chapter .rd-chapter-content ol > li:last-child{ margin-bottom: 0; }
.rv2.us .rd-chapter .rd-chapter-content ol > li::before{
  content: counter(usol);
  position: absolute; left: 0; top: 0;
  min-width: 32px; height: 32px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(160deg, var(--us-navy) 0%, var(--us-navy2) 100%);
  color: var(--us-gold);
  font-weight: 800;
  font-size: 15px;
  clip-path: polygon(50% 0, 61% 33%, 97% 33%, 68% 55%, 79% 92%, 50% 70%, 21% 92%, 32% 55%, 3% 33%, 39% 33%);
}
.rv2.us .rd-chapter .rd-chapter-content ol > li > strong{ color: var(--us-navy); }
/* nested sub-lists under an ol item -> gold sparkle dots */
.rv2.us .rd-chapter .rd-chapter-content ol > li ul{ padding-left: 0; list-style: none; margin: 8px 0 0; }
.rv2.us .rd-chapter .rd-chapter-content ol > li ul > li{ position: relative; padding-left: 20px; margin-bottom: 7px; }
.rv2.us .rd-chapter .rd-chapter-content ol > li ul > li::before{
  content: "\2726";
  font-size: 11px;
  left: 0; top: 2px;
  color: var(--us-gold2);
}

/* ---------- Steps (how to apply + fees/validity/processing) --------------- */
.rv2.us .rd-steps .rd-chapter-content li::before{ content: "\2192"; color: var(--us-red); font-size: 14px; }
.rv2.us .rd-steps .rd-chapter-content p > strong{ color: var(--us-red); font-weight: 700; }

/* ---------- Comparison (VOA vs eVisa): red/navy heading rows -------------- */
.rv2.us .rd-presentation-comparison .rd-chapter-content p > strong:only-child{
  clip-path: none;
  background: none;
  color: #fff;
  padding: 8px 14px 8px 20px;
  background: linear-gradient(90deg, var(--us-navy) 0%, #24407a 100%);
  border-left: 4px solid var(--us-red);
}
.rv2.us .rd-presentation-comparison .rd-chapter-content ul > li::before{ content: "\2726"; }

/* ---------- Brief (embassy) contact card ---------------------------------- */
.rv2.us .rd-presentation-brief .rd-chapter-content p{
  display: flex;
  align-items: baseline;
  gap: 10px;
  background: var(--us-paper);
  border: 1px solid var(--us-line);
  border-left: 4px solid var(--us-gold);
  border-radius: 9px;
  padding: 10px 14px;
  margin: 0 0 10px;
}
.rv2.us .rd-presentation-brief .rd-chapter-content p > strong{ color: var(--us-navy); flex: 0 0 auto; min-width: 92px; }
.rv2.us .rd-presentation-brief .rd-chapter-content p:last-child{ margin-bottom: 0; }

/* ---------- FAQ: navy -> red star toggle ---------------------------------- */
.rv2.us .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.us .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--us-line);
  border-left: 4px solid var(--us-gold);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.us .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--us-ink);
  font-size: 16.5px;
}
.rv2.us .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.us .rd-faq .accordion_t::after{
  content: "\2605";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px;
  color: #FCEBB6;
  background: linear-gradient(150deg, var(--us-navy) 0%, var(--us-navy2) 100%);
  clip-path: polygon(50% 0, 61% 33%, 97% 33%, 68% 55%, 79% 92%, 50% 70%, 21% 92%, 32% 55%, 3% 33%, 39% 33%);
}
.rv2.us .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  color: #fff;
  background: linear-gradient(150deg, var(--us-red) 0%, var(--us-red2) 100%);
}
.rv2.us .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: #F6F8FD;
  color: var(--us-ink);
}
.rv2.us .rd-faq .panel_t p{ margin: 14px 0 16px; font-size: 15.5px; line-height: 1.7; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 900px){
  .rv2.us .rd-chapter{ padding: 22px 20px 20px; }
  .rd-presentation-brief .rd-chapter-content p{ flex-direction: column; align-items: flex-start; gap: 3px; }
}
@media (max-width: 600px){
  .rv2.us .us-hero__inner{ padding: 30px 18px 44px; }
  .rv2.us .us-hero__title{ padding-left: 16px; }
  .rv2.us .us-hero::before{ font-size: 130px; right: -22px; }
  .rv2.us .us-hero::after{ font-size: 20px; }
  .rv2.us .rd-chapter .rd-chapter-content ol > li{ padding-left: 40px; }
  .rv2.us .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    INDONESIA BUSINESS E-VISA FOR US CITIZENS — "Boardroom / Ledger" theme
    (page: indonesia-business-visa-for-us-citizens.php)
    Deep pine green + antique brass + ivory paper. A ledger-line hero with a
    CSS briefcase, brass number plates, green check squares, brass step tabs,
    and a ledger FAQ. Distinct from slate (work), teal/emerald (nomad) and
    saffron (bali) by the pine/brass corporate-finance palette + ledger rules
    + briefcase motif. Scoped under .rv2.bv. Content order + links/JS untouched.
    ============================================================================ */
.rv2.bv{
  --bv-pine: #143B2E;
  --bv-pine2: #0D2A20;
  --bv-pine3: #0A2018;
  --bv-brass: #C6A24B;
  --bv-brass2: #A8842A;
  --bv-brass-soft: #F3ECCF;
  --bv-ivory: #FBF9F2;
  --bv-ink: #1B2A22;
  --bv-line: #E4E1D4;
}

/* ---------- Hero: pine + ledger rules + brass glow + briefcase ------------- */
.rv2.bv .bv-hero{
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(0deg, rgba(198,162,75,0) 0px, rgba(198,162,75,0) 25px, rgba(198,162,75,0.05) 25px, rgba(198,162,75,0.05) 26px),
    radial-gradient(58% 70% at 88% 26%, rgba(198,162,75,0.24) 0%, rgba(198,162,75,0) 55%),
    radial-gradient(50% 60% at 6% 96%, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0) 60%),
    linear-gradient(160deg, #0A2018 0%, #143B2E 52%, #1C4A3A 100%);
  border-bottom: 3px solid var(--bv-brass);
}
.rv2.bv .bv-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 58px;
}
/* CSS briefcase crest */
.rv2.bv .bv-briefcase{
  position: relative;
  width: 66px; height: 50px;
  margin-bottom: 16px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.34));
}
.rv2.bv .bv-briefcase__body{
  position: absolute; left: 0; bottom: 0;
  width: 66px; height: 34px;
  border-radius: 5px 5px 7px 7px;
  background: linear-gradient(180deg, #C6A24B 0%, #A8842A 100%);
  border: 1px solid rgba(10,32,24,0.35);
}
.rv2.bv .bv-briefcase__latch{
  position: absolute; left: 28px; bottom: 15px;
  width: 12px; height: 20px;
  border-radius: 3px;
  background: linear-gradient(180deg, #F3ECCF, #C6A24B);
  box-shadow: 0 0 0 2px rgba(10,32,24,0.25);
}
.rv2.bv .bv-briefcase__handle{
  position: absolute; left: 20px; top: 2px;
  width: 28px; height: 16px;
  border: 4px solid #C6A24B;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
}
.rv2.bv .bv-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.bv .bv-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.bv .bv-hero .breadcrumb a:hover{ color: #fff; }
.rv2.bv .bv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(198,162,75,0.8);
}
.rv2.bv .bv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.bv .bv-hero__title{
  margin: 0;
  max-width: 940px;
  width: fit-content;
  padding-left: 22px;
  position: relative;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.3px;
}
.rv2.bv .bv-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 6px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--bv-brass) 0%, var(--bv-brass2) 100%);
}

/* ---------- Standalone banner image: ivory ledger frame ------------------- */
.rv2.bv section > .container > picture.wrapped-image{
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 780px;
  margin: 4px 0 6px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--bv-line);
  background:
    repeating-linear-gradient(0deg, transparent 0 22px, rgba(198,162,75,0.05) 22px 23px),
    var(--bv-ivory);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}
.rv2.bv section > .container > picture.wrapped-image img{
  width: 100%; height: auto; border-radius: 8px; display: block;
}

/* ---------- Lead chapter (first reading, holds CTA): highlighted ledger --- */
.rv2.bv .rd-page section .rd-chapter:first-of-type{
  border-top: 5px solid var(--bv-brass);
  background: linear-gradient(180deg, var(--bv-ivory) 0%, #F5F0E3 100%);
}
.rv2.bv .rd-page section .rd-chapter:first-of-type .cta-btn{ margin: 8px 0 2px; }
.rv2.bv .rd-page section .rd-chapter:first-of-type .cta-btn .banner-hero-btn{
  display: inline-block;
  padding: 11px 24px;
  border-radius: 9px;
  font-weight: 700;
  color: var(--bv-pine3);
  background: linear-gradient(120deg, #F3ECCF 0%, var(--bv-brass) 100%);
  box-shadow: 0 8px 18px rgba(168,132,42,0.30);
}

/* ---------- Chapters: ivory cards + pine top rule + ledger corner --------- */
.rv2.bv .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--bv-line);
  border-top: 5px solid var(--bv-pine);
  border-radius: 12px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.bv .rd-chapter::after{
  content: "";
  position: absolute;
  right: 12px; top: 12px;
  width: 22px; height: 22px;
  border-top: 3px solid var(--bv-brass);
  border-right: 3px solid var(--bv-brass);
  opacity: 0.7;
  pointer-events: none;
}
.rv2.bv .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--bv-pine) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.bv .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 78px !important;
  height: 10px !important;
  background:
    linear-gradient(90deg, var(--bv-brass), var(--bv-brass2)) top/64px 2px no-repeat,
    linear-gradient(90deg, var(--bv-pine), rgba(20,59,46,0)) center/90px 2px no-repeat,
    linear-gradient(90deg, var(--bv-brass), rgba(198,162,75,0)) bottom/40px 2px no-repeat !important;
}
.rv2.bv .rd-chapter > h2 > i{ margin-right: 9px; color: var(--bv-brass2); }
.rv2.bv .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--bv-ink); margin: 0 0 12px; }
.rv2.bv .rd-chapter .rd-chapter-content > h3{ color: var(--bv-pine); }
/* lone-strong heading line -> pine plate with brass rail */
.rv2.bv .rd-chapter .rd-chapter-content p > strong:only-child{
  display: inline-block;
  margin: 16px 0 8px;
  padding: 7px 15px 7px 20px;
  background: linear-gradient(90deg, #143B2E 0%, #1F4A3A 100%);
  color: var(--bv-brass-soft);
  font-size: 15px;
  font-weight: 700;
  border-left: 3px solid var(--bv-brass);
  border-radius: 0 6px 6px 0;
}

/* ---------- Generic bullets: brass ledger dash ---------------------------- */
.rv2.bv .rd-chapter .rd-chapter-content ul{ padding-left: 20px; margin: 0 0 14px; }
.rv2.bv .rd-chapter .rd-chapter-content ul > li{ margin-bottom: 10px; position: relative; list-style: none; padding-left: 24px; }
.rv2.bv .rd-chapter .rd-chapter-content ul > li::before{
  content: "";
  position: absolute; left: 2px; top: 8px;
  width: 14px; height: 3px;
  border-radius: 2px;
  background: var(--bv-brass);
}
.rv2.bv .rd-chapter .rd-chapter-content li > strong{ color: var(--bv-pine); }

/* ordered lists -> brass "ledger number" plates (visa types, extension) ---- */
.rv2.bv .rd-chapter .rd-chapter-content ol{ padding-left: 0; list-style: none; counter-reset: bv; margin: 0; }
.rv2.bv .rd-chapter .rd-chapter-content ol > li{
  counter-increment: bv;
  position: relative;
  padding-left: 48px;
  margin-bottom: 13px;
}
.rv2.bv .rd-chapter .rd-chapter-content ol > li::before{
  content: counter(bv);
  position: absolute; left: 0; top: 1px;
  min-width: 32px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(150deg, var(--bv-brass) 0%, var(--bv-brass2) 100%);
  color: var(--bv-pine3);
  font-weight: 800;
  font-size: 15px;
  border-radius: 4px;
  border: 1px solid rgba(10,32,24,0.25);
  box-shadow: 0 3px 8px rgba(168,132,42,0.30);
}
.rv2.bv .rd-chapter .rd-chapter-content ol > li > strong{ color: var(--bv-pine); }

/* ---------- Steps (apply / processing): brass tab cards ------------------- */
.rv2.bv .rd-steps .rd-chapter-content p > strong{ color: var(--bv-pine); font-weight: 700; }
/* "Step N:" lead emphasis stays bold pine; keep arrow bullet */
.rv2.bv .rd-steps .rd-chapter-content ul > li::before{
  width: 18px; height: 8px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 6px 50%);
  background: var(--bv-brass2);
  top: 7px;
}

/* ---------- Comparison (visa types & fees) cards --------------------------- */
.rv2.bv .rd-comparison .rd-chapter-content ul{ padding-left: 0; list-style: none; }
.rv2.bv .rd-comparison .rd-chapter-content ul > li{
  position: relative;
  list-style: none;
  padding: 12px 14px 12px 40px;
  margin-bottom: 11px;
  background: var(--bv-ivory);
  border: 1px solid var(--bv-line);
  border-left: 4px solid var(--bv-brass);
  border-radius: 11px;
}
.rv2.bv .rd-comparison .rd-chapter-content ul > li::before{ display: none; }
.rv2.bv .rd-comparison .rd-chapter-content ul > li > strong{ color: var(--bv-pine); }

/* ---------- Brief (embassy contacts): ledger rows ------------------------- */
.rv2.bv .rd-presentation-brief .rd-chapter-content p > strong:only-child{
  background: linear-gradient(90deg, #F3ECCF 0%, #E9DDB6 100%);
  color: var(--bv-pine);
  border-left-color: var(--bv-brass);
}
.rv2.bv .rd-presentation-brief .rd-chapter-content ul{
  margin: 0 0 16px; padding-left: 0; list-style: none;
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.rv2.bv .rd-presentation-brief .rd-chapter-content ul > li{
  position: relative;
  padding: 10px 12px 10px 36px;
  background: var(--bv-ivory);
  border: 1px solid var(--bv-line);
  border-radius: 10px;
  margin-bottom: 0;
}
.rv2.bv .rd-presentation-brief .rd-chapter-content ul > li::before{
  content: "";
  left: 12px; top: 15px;
  width: 12px; height: 12px;
  border: 2px solid var(--bv-brass);
  border-radius: 3px;
  background: #fff;
}
.rv2.bv .rd-presentation-brief .rd-chapter-content ul > li > strong{ color: var(--bv-pine); }

/* ---------- Checklist (requirements): green check squares (2-col) --------- */
.rv2.bv .rd-checklist .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.bv .rd-checklist .rd-chapter-content ul > li{
  position: relative;
  padding: 12px 14px 12px 42px;
  margin-bottom: 0;
  background: var(--bv-ivory);
  border: 1px solid var(--bv-line);
  border-radius: 11px;
}
.rv2.bv .rd-checklist .rd-chapter-content ul > li::before{
  content: "\2713";
  left: 12px; top: 11px;
  width: 24px; height: 24px;
  border-radius: 6px;
  background: var(--bv-pine);
  color: var(--bv-brass-soft);
  font-weight: 800; font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
}
.rv2.bv .rd-checklist .rd-chapter-content ul > li > strong{ color: var(--bv-pine); }

/* ---------- Columns (activities): brass-ledger grid (2-col) --------------- */
.rv2.bv .rd-presentation-columns .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.bv .rd-presentation-columns .rd-chapter-content ul > li{
  position: relative;
  padding: 12px 14px 12px 30px;
  margin-bottom: 0;
  background: #fff;
  border: 1px solid var(--bv-line);
  border-left: 4px solid var(--bv-brass);
  border-radius: 10px;
}
.rv2.bv .rd-presentation-columns .rd-chapter-content ul > li::before{ display: none; }
.rv2.bv .rd-presentation-columns .rd-chapter-content ul > li > strong{ color: var(--bv-pine); }

/* ---------- FAQ: pine / brass toggle -------------------------------------- */
.rv2.bv .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.bv .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--bv-line);
  border-left: 4px solid var(--bv-brass);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.bv .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--bv-ink);
  font-size: 16.5px;
}
.rv2.bv .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.bv .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--bv-brass-soft); font-size: 20px;
  background: linear-gradient(150deg, var(--bv-pine) 0%, var(--bv-pine2) 100%);
  border: 1px solid rgba(198,162,75,0.4);
}
.rv2.bv .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--bv-brass) 0%, var(--bv-brass2) 100%);
  color: var(--bv-pine3);
}
.rv2.bv .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: var(--bv-ivory);
  color: var(--bv-ink);
}
.rv2.bv .rd-faq .panel_t p{ margin: 14px 0 16px; font-size: 15.5px; line-height: 1.7; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 900px){
  .rv2.bv .rd-checklist .rd-chapter-content ul{ grid-template-columns: 1fr; }
  .rv2.bv .rd-presentation-columns .rd-chapter-content ul{ grid-template-columns: 1fr; }
  .rv2.bv .rd-presentation-brief .rd-chapter-content ul{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rv2.bv .bv-hero__inner{ padding: 30px 18px 44px; }
  .rv2.bv .bv-hero__title{ padding-left: 16px; }
  .rv2.bv .bv-briefcase{ width: 54px; height: 42px; }
  .rv2.bv .bv-briefcase__body{ width: 54px; }
  .rv2.bv .rd-chapter{ padding: 20px 18px 18px; }
  .rv2.bv .rd-chapter .rd-chapter-content ol > li{ padding-left: 42px; }
  .rv2.bv .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
}


/* ============================================================================
    INDONESIA GOVERNMENT BUSINESS eVisa — "State Seal & Parchment" theme
    (page: indonesia-government-business-visa.php)
    Deep aubergine/plum + seal-gold + parchment cream. A CSS "official seal"
    (concentric ring + star) hero, parchment cards with a seal-star h2 rule,
    gold "seal badge" step tiles for the 4 .services-card grid, a framed
    visa-sample canvas widget, and a plum/wax FAQ. Distinct from pine (business)
    and royal navy (UK): aubergine/plum hue + official-seal motif.
    Scoped under .rv2.gv. Canvas/zoom JS + services markup + links untouched.
    ============================================================================ */
.rv2.gv{
  --gv-plum: #4A2036;
  --gv-plum2: #371726;
  --gv-plum3: #27101C;
  --gv-gold: #D8B24A;
  --gv-gold2: #BE9733;
  --gv-parch: #FBF6EC;
  --gv-wax: #B23A3A;
  --gv-ink: #2A1C22;
  --gv-line: #E7DDCB;
}

/* ---------- Hero: aubergine + seal + gold glow + ruled lines -------------- */
.rv2.gv .gv-hero{
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(0deg, rgba(216,178,74,0) 0px, rgba(216,178,74,0) 24px, rgba(216,178,74,0.045) 24px, rgba(216,178,74,0.045) 25px),
    radial-gradient(52% 68% at 84% 24%, rgba(216,178,74,0.22) 0%, rgba(216,178,74,0) 56%),
    radial-gradient(46% 55% at 10% 92%, rgba(178,58,58,0.16) 0%, rgba(178,58,58,0) 60%),
    linear-gradient(160deg, #27101C 0%, #4A2036 54%, #5A2C46 100%);
  border-bottom: 3px solid var(--gv-gold);
}
.rv2.gv .gv-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 58px;
}
/* CSS official seal: gold outer ring + inner ring + 5-pt star */
.rv2.gv .gv-seal{
  position: relative;
  display: inline-block;
  width: 66px; height: 66px;
  margin-bottom: 16px;
  border-radius: 50%;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,0.34));
}
.rv2.gv .gv-seal__ring{
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 2px solid var(--gv-gold);
  box-shadow: inset 0 0 0 3px #4A2036, inset 0 0 0 5px rgba(216,178,74,0.55);
  background:
    repeating-conic-gradient(from 0deg, rgba(216,178,74,0.35) 0deg 6deg, transparent 6deg 30deg);
}
.rv2.gv .gv-seal__star{
  position: absolute; inset: 0;
}
.rv2.gv .gv-seal__star::before{
  content: "\2605";
  position: absolute; inset: 0;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--gv-gold);
  font-size: 30px;
  text-shadow: 0 0 16px rgba(216,178,74,0.5);
}
.rv2.gv .gv-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.gv .gv-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.gv .gv-hero .breadcrumb a:hover{ color: #fff; }
.rv2.gv .gv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(216,178,74,0.8);
}
.rv2.gv .gv-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.gv .gv-hero__title{
  margin: 0;
  max-width: 940px;
  width: fit-content;
  padding-left: 22px;
  position: relative;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.3px;
}
.rv2.gv .gv-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 6px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--gv-gold) 0%, var(--gv-wax) 100%);
}

/* ---------- Intro (container p + cta before first chapter): briefing strip */
.rv2.gv main section > .container > p{
  font-size: 17px;
  line-height: 1.75;
  color: var(--gv-ink);
  max-width: 860px;
  background: linear-gradient(180deg, var(--gv-parch) 0%, #F3EAD8 100%);
  border: 1px solid var(--gv-line);
  border-left: 4px solid var(--gv-gold);
  border-radius: 0 12px 12px 0;
  padding: 18px 22px;
  margin: -6px 0 14px;
  position: relative;
  z-index: 2;
}
.rv2.gv main section > .container > p > strong{ color: var(--gv-plum); }
.rv2.gv main section > .container > .cta-btn{ margin: 0 0 4px; }
.rv2.gv main section > .container > .cta-btn .banner-hero-btn{
  display: inline-block;
  padding: 11px 24px;
  border-radius: 9px;
  font-weight: 700;
  color: var(--gv-plum3);
  background: linear-gradient(120deg, #F1E4C4 0%, var(--gv-gold) 100%);
  box-shadow: 0 8px 18px rgba(178,58,58,0.24);
}

/* ---------- Chapters: parchment cards + plum rule + seal corner ----------- */
.rv2.gv .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--gv-line);
  border-top: 5px solid var(--gv-plum);
  border-radius: 13px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.gv .rd-chapter::after{
  content: "\2605";
  position: absolute;
  right: 14px; top: 10px;
  font-size: 22px;
  color: rgba(216,178,74,0.5);
  pointer-events: none;
}
.rv2.gv .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--gv-plum) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.gv .rd-chapter > h2::after{
  margin-top: 9px !important;
  display: inline-block !important;
  width: 132px !important;
  height: 9px !important;
  background:
    linear-gradient(90deg, var(--gv-gold), var(--gv-gold2)) top/66px 3px no-repeat,
    radial-gradient(circle, var(--gv-plum) 46%, rgba(74,32,54,0) 50%) center/132px 9px no-repeat !important;
}
.rv2.gv .rd-chapter > h2 > i{ margin-right: 9px; color: var(--gv-gold2); }
.rv2.gv .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--gv-ink); margin: 0 0 12px; }
.rv2.gv .rd-chapter .rd-chapter-content > h3{ color: var(--gv-plum); }
.rv2.gv .rd-chapter .rd-chapter-content p > strong{ color: var(--gv-plum); }

/* ---------- Framed visa-sample canvas widget (keep zoom JS intact) -------- */
.rv2.gv .cv-main-wrapper{
  max-width: 460px;
  margin: 0 auto 18px !important;
  background: var(--gv-parch);
  border: 1px solid var(--gv-line);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 12px 14px;
  position: relative;
}
.rv2.gv .cv-main-wrapper::before{
  content: "SPECIMEN";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%) rotate(-22deg);
  font-size: 46px;
  font-weight: 800;
  letter-spacing: 6px;
  color: rgba(74,32,54,0.06);
  pointer-events: none;
  z-index: 1;
}
.rv2.gv .cv-image,
.rv2.gv .cv-picture img{ max-width: 100%; height: auto; }
.rv2.gv .cv-zoom-icon{ color: var(--gv-plum); }

/* ---------- Comparison (visa types): sealed cards with gold header -------- */
.rv2.gv .rd-presentation-comparison .rd-chapter-content ul{ padding-left: 0; list-style: none; margin: 0 0 8px; }
.rv2.gv .rd-presentation-comparison .rd-chapter-content ul > li{
  position: relative;
  list-style: none;
  margin-bottom: 12px;
  background: #fff;
  border: 1px solid var(--gv-line);
  border-left: 5px solid var(--gv-gold);
  border-radius: 11px;
  padding: 13px 16px 15px 44px;
}
.rv2.gv .rd-presentation-comparison .rd-chapter-content ul > li::before{
  content: "\1F3DB";
  position: absolute; left: 12px; top: 12px;
  font-size: 20px;
  filter: saturate(0.4);
}
.rv2.gv .rd-presentation-comparison .rd-chapter-content ul > li strong{ color: var(--gv-plum); }

/* ---------- Checklist (documents): gold seal-check squares (2-col) -------- */
.rv2.gv .rd-checklist .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0 0 14px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.gv .rd-checklist .rd-chapter-content ul > li{
  position: relative;
  padding: 12px 14px 12px 44px;
  margin-bottom: 0;
  background: var(--gv-parch);
  border: 1px solid var(--gv-line);
  border-radius: 11px;
}
.rv2.gv .rd-checklist .rd-chapter-content ul > li::before{
  content: "\2713";
  left: 12px; top: 11px;
  width: 24px; height: 24px;
  border-radius: 50%;
  border: 2px solid var(--gv-gold);
  background: var(--gv-plum);
  color: var(--gv-parch);
  font-weight: 800; font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
}
.rv2.gv .rd-checklist .rd-chapter-content ul > li strong{ color: var(--gv-plum); }
.rv2.gv .rd-checklist .rd-chapter-content a{ color: var(--gv-wax); font-weight: 600; }

/* ---------- Services grid (4 .services-card): seal-badge tiles ------------ */
.rv2.gv .rd-presentation-timeline .services{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 4px 0 8px;
}
.rv2.gv .rd-presentation-timeline .services-card{
  position: relative;
  background: #fff;
  border: 1px solid var(--gv-line);
  border-radius: 12px;
  padding: 22px 18px 18px 18px;
  margin: 0;
  box-shadow: 0 4px 12px rgba(42,28,34,0.10);
}
.rv2.gv .rd-presentation-timeline .services-card:hover{
  transform: translateY(-3px);
  border-color: var(--gv-gold);
}
.rv2.gv .rd-presentation-timeline .services-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: 12px;
  color: var(--gv-parch);
  font-size: 20px;
  background: linear-gradient(150deg, var(--gv-plum) 0%, var(--gv-plum2) 100%);
  border: 2px solid var(--gv-gold);
  box-shadow: 0 4px 10px rgba(42,28,34,0.25);
}
.rv2.gv .rd-presentation-timeline .services-title{
  color: var(--gv-plum);
  font-size: 17px;
  margin: 0 0 8px;
}
.rv2.gv .rd-presentation-timeline .services-card p{ font-size: 15px; line-height: 1.6; color: var(--gv-ink); margin: 0; }
.rv2.gv .rd-presentation-timeline .services-card p a{ color: var(--gv-wax); font-weight: 600; }

/* ---------- Steps (processing time): gold-ledger rows ---------------------- */
.rv2.gv .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul{ padding-left: 0; list-style: none; }
.rv2.gv .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul > li{
  position: relative;
  margin-bottom: 9px;
  padding: 10px 14px 10px 18px;
  background: var(--gv-parch);
  border: 1px solid var(--gv-line);
  border-left: 4px solid var(--gv-gold);
  border-radius: 9px;
}
.rv2.gv .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content ul > li strong{ color: var(--gv-plum); }

/* ---------- FAQ: plum -> wax toggle --------------------------------------- */
.rv2.gv .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.gv .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--gv-line);
  border-left: 4px solid var(--gv-gold);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.gv .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--gv-ink);
  font-size: 16.5px;
}
.rv2.gv .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.gv .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--gv-parch); font-size: 20px;
  background: linear-gradient(150deg, var(--gv-plum) 0%, var(--gv-plum2) 100%);
  border: 1px solid rgba(216,178,74,0.5);
}
.rv2.gv .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--gv-gold) 0%, var(--gv-gold2) 100%);
  color: var(--gv-plum3);
}
.rv2.gv .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: var(--gv-parch);
  color: var(--gv-ink);
}
.rv2.gv .rd-faq .panel_t p{ margin: 14px 0 16px; font-size: 15.5px; line-height: 1.7; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 720px){
  .rv2.gv .rd-presentation-timeline .services{ grid-template-columns: 1fr; }
  .rv2.gv .rd-checklist .rd-chapter-content ul{ grid-template-columns: 1fr; }
}
@media (max-width: 600px){
  .rv2.gv .gv-hero__inner{ padding: 30px 18px 44px; }
  .rv2.gv .gv-hero__title{ padding-left: 16px; }
  .rv2.gv .gv-seal{ width: 54px; height: 54px; }
  .rv2.gv .rd-chapter{ padding: 20px 18px 18px; }
  .rv2.gv .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
  .rv2.gv .cv-main-wrapper::before{ font-size: 30px; letter-spacing: 3px; }
}


/* ============================================================================
    INDONESIA FILMING eVisa — "Film Slate / Stage" theme
    (page: indonesia-filming-visa.php)
    Charcoal stage-dark + clapperboard amber + REC red. A clapperboard-crest
    hero with a blinking REC dot + timecode, amber "play" bullets, timecode
    step plates (01/02/03/04), a charcoal/amber spec table, amber stage-light
    processing tiles, a red "no-shot" prohibited list, and a charcoal→amber
    slate-clip FAQ. Distinct from aubergine (gov), pine (business-US) and
    everything prior: charcoal + amber + REC/timecode motif.
    Scoped under .rv2.fl. Canvas/zoom JS + table + links untouched.
    ============================================================================ */
.rv2.fl{
  --fl-char: #17191F;
  --fl-char2: #22252E;
  --fl-char3: #0F1014;
  --fl-amber: #F5A623;
  --fl-amber2: #D98A10;
  --fl-cream: #FDF9F0;
  --fl-red: #F62217;
  --fl-ink: #20232B;
  --fl-line: #E5E1D6;
}

/* ---------- Hero: charcoal stage + clapper stripes + REC glow -------------- */
.rv2.fl .fl-hero{
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0) 0 34px, rgba(245,166,35,0.05) 34px 36px),
    radial-gradient(60% 70% at 86% 20%, rgba(245,166,35,0.20) 0%, rgba(245,166,35,0) 55%),
    radial-gradient(50% 55% at 8% 95%, rgba(246,34,23,0.14) 0%, rgba(246,34,23,0) 60%),
    linear-gradient(160deg, #0F1014 0%, #17191F 50%, #242833 100%);
  border-bottom: 3px solid var(--fl-amber);
}
/* right-edge film strip with sprocket holes */
.rv2.fl .fl-hero::after{
  content: "";
  position: absolute;
  top: 0; bottom: 0; right: 0;
  width: 22px;
  background:
    repeating-linear-gradient(0deg, rgba(245,166,35,0.25) 0 8px, rgba(255,255,255,0.06) 8px 14px),
    rgba(15,16,20,0.85);
  border-left: 1px solid rgba(245,166,35,0.35);
  pointer-events: none;
}
.rv2.fl .fl-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 42px 22px 58px;
}
/* CSS clapperboard crest: striped top bar + body with REC dot + timecode */
.rv2.fl .fl-slate{
  position: relative;
  width: 96px; height: 66px;
  margin-bottom: 18px;
  filter: drop-shadow(0 5px 14px rgba(0,0,0,0.45));
}
.rv2.fl .fl-slate__strip{
  position: absolute; left: 0; top: 0;
  width: 96px; height: 18px;
  border-radius: 5px 5px 0 0;
  background:
    repeating-linear-gradient(135deg, #FDF9F0 0 7px, #17191F 7px 14px);
  border: 1px solid rgba(245,166,35,0.5);
  border-bottom: 0;
}
.rv2.fl .fl-slate__body{
  position: absolute; left: 0; top: 18px;
  width: 96px; height: 48px;
  border-radius: 0 0 6px 6px;
  background: linear-gradient(160deg, #22252E 0%, #17191F 100%);
  border: 1px solid rgba(245,166,35,0.5);
  border-top: 0;
  color: var(--fl-amber);
  font-family: Consolas, "SF Mono", monospace;
  font-size: 11px;
  letter-spacing: 1.5px;
  padding: 5px 7px 0;
  display: block;
  line-height: 1;
}
.rv2.fl .fl-slate__rec{
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--fl-red);
  box-shadow: 0 0 8px rgba(246,34,23,0.9);
  margin-right: 5px;
  vertical-align: 1px;
  animation: flrec 1.6s ease-in-out infinite;
}
@keyframes flrec{ 0%,100%{ opacity: 1; } 50%{ opacity: 0.25; } }
.rv2.fl .fl-slate__code{
  color: var(--fl-amber);
  margin-left: 4px;
}
.rv2.fl .fl-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.fl .fl-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.fl .fl-hero .breadcrumb a:hover{ color: #fff; }
.rv2.fl .fl-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(245,166,35,0.8);
}
.rv2.fl .fl-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.fl .fl-hero__title{
  margin: 0;
  max-width: 940px;
  width: fit-content;
  padding-left: 22px;
  position: relative;
  color: #fff;
  font-weight: 760;
  line-height: 1.14;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.3px;
}
.rv2.fl .fl-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 8px; bottom: 8px;
  width: 6px;
  border-radius: 4px;
  background:
    linear-gradient(180deg, var(--fl-amber) 0 33%, var(--fl-red) 33% 66%, var(--fl-amber) 66% 100%);
}

/* ---------- Intro (container p + cta before first chapter): brief strip --- */
.rv2.fl main section > .container > p{
  font-size: 17px;
  line-height: 1.75;
  color: var(--fl-ink);
  max-width: 880px;
  background: linear-gradient(180deg, var(--fl-cream) 0%, #F7EFE0 100%);
  border: 1px solid var(--fl-line);
  border-left: 4px solid var(--fl-amber);
  border-radius: 0 12px 12px 0;
  padding: 16px 22px;
  margin: -6px 0 10px;
  position: relative;
  z-index: 2;
}
.rv2.fl main section > .container > p > strong{ color: var(--fl-char); }
.rv2.fl main section > .container > .cta-btn{ margin: 0 0 4px; }
.rv2.fl main section > .container > .cta-btn .banner-hero-btn{
  display: inline-block;
  padding: 11px 24px;
  border-radius: 9px;
  font-weight: 700;
  color: var(--fl-cream);
  background: linear-gradient(120deg, var(--fl-amber) 0%, var(--fl-amber2) 100%);
  box-shadow: 0 8px 18px rgba(246,34,23,0.28);
}

/* ---------- Chapters: slate cards + char top rule + amber corner ---------- */
.rv2.fl .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--fl-line);
  border-top: 5px solid var(--fl-char);
  border-radius: 13px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
.rv2.fl .rd-chapter::after{
  content: "";
  position: absolute;
  right: 12px; top: 12px;
  width: 26px; height: 12px;
  background: repeating-linear-gradient(135deg, var(--fl-amber) 0 3px, var(--fl-char) 3px 6px);
  opacity: 0.75;
  border-radius: 2px;
  pointer-events: none;
}
.rv2.fl .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--fl-char) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.26 !important;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.rv2.fl .rd-chapter > h2::after{
  margin-top: 9px !important;
  width: 104px !important;
  height: 9px !important;
  background: repeating-linear-gradient(135deg, #17191F 0 6px, #F5A623 6px 12px) !important;
  border-radius: 2px;
}
.rv2.fl .rd-chapter > h2 > i{ margin-right: 9px; color: var(--fl-amber2); }
.rv2.fl .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.72; color: var(--fl-ink); margin: 0 0 12px; }
.rv2.fl .rd-chapter .rd-chapter-content > h3{ color: var(--fl-char); }
.rv2.fl .rd-chapter .rd-chapter-content p > strong{ color: var(--fl-char); }
.rv2.fl .rd-chapter .rd-chapter-content a{ color: var(--fl-amber2); font-weight: 600; }

/* ---------- Framed visa-sample canvas widget (keep zoom JS intact) -------- */
.rv2.fl .cv-main-wrapper{
  max-width: 460px;
  margin: 0 auto 18px !important;
  background: var(--fl-cream);
  border: 1px solid var(--fl-line);
  border-top: 5px solid var(--fl-char);
  border-radius: 14px;
  box-shadow: var(--shadow-1);
  padding: 12px 14px;
  position: relative;
}
.rv2.fl .cv-main-wrapper::before{
  content: "TAKE 01";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%) rotate(-22deg);
  font-size: 44px;
  font-weight: 800;
  letter-spacing: 6px;
  color: rgba(23,25,31,0.06);
  pointer-events: none;
  z-index: 1;
}
.rv2.fl .cv-image,
.rv2.fl .cv-picture img{ max-width: 100%; height: auto; }
.rv2.fl .cv-zoom-icon{ color: var(--fl-char); }
/* amber REC badge top-right of the widget */
.rv2.fl .cv-main-wrapper::after{
  content: "\25CF REC";
  position: absolute;
  left: 14px; top: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: rgba(246,34,23,0.85);
  pointer-events: none;
}

/* ---------- Generic bullets: amber "play" frames --------------------------- */
.rv2.fl .rd-reading .rd-chapter-content ul{ padding-left: 20px; margin: 0 0 14px; }
.rv2.fl .rd-reading .rd-chapter-content ul > li{ margin-bottom: 10px; position: relative; list-style: none; padding-left: 28px; }
.rv2.fl .rd-reading .rd-chapter-content ul > li::before{
  content: "\25B6";
  position: absolute; left: 0; top: 1px;
  font-size: 11px;
  color: var(--fl-amber);
  -webkit-text-stroke: 0.5px var(--fl-amber2);
}
.rv2.fl .rd-reading .rd-chapter-content ul > li > strong{ color: var(--fl-char); }

/* ---------- Steps (timeline): timecode plates 01..04 ----------------------- */
.rv2.fl .rd-steps .rd-chapter-content ol{ padding-left: 0; list-style: none; counter-reset: fl; margin: 0 0 8px; }
.rv2.fl .rd-steps .rd-chapter-content ol > li{
  counter-increment: fl;
  position: relative;
  padding: 6px 0 6px 56px;
  margin-bottom: 12px;
}
.rv2.fl .rd-steps .rd-chapter-content ol > li::before{
  content: "0" counter(fl);
  position: absolute; left: 0; top: 6px;
  min-width: 42px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: Consolas, "SF Mono", monospace;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 1px;
  color: var(--fl-cream);
  background:
    repeating-linear-gradient(135deg, rgba(245,166,35,0.35) 0 5px, rgba(245,166,35,0) 5px 10px),
    linear-gradient(160deg, #22252E 0%, #0F1014 100%);
  border: 1px solid rgba(245,166,35,0.55);
  border-radius: 6px;
}
.rv2.fl .rd-steps .rd-chapter-content ol > li > strong{ color: var(--fl-char); }
/* the NOTE line reads as a red "cut" warning chip */
.rv2.fl .rd-steps .rd-chapter-content p > strong:first-child:only-child,
.rv2.fl .rd-steps .rd-chapter-content p > strong:first-child{
  color: var(--fl-red);
  font-weight: 700;
}

/* ---------- Comparison table (categories): slate/amber spec sheet -------- */
.rv2.fl .rd-presentation-comparison .table-responsive{
  border: 1px solid var(--fl-line);
  border-radius: 12px;
  overflow: auto;
  margin: 10px 0 16px;
}
.rv2.fl .rd-presentation-comparison .table{
  --bs-table-bg: transparent;
  margin-bottom: 0;
  border-radius: 12px;
}
.rv2.fl .rd-presentation-comparison .table > tbody > tr > td{
  background: #fff !important;
  border-bottom-color: var(--fl-line) !important;
  padding: 13px 16px;
  vertical-align: top;
}
.rv2.fl .rd-presentation-comparison .table > tbody > tr:nth-child(even) > td{
  background: var(--fl-cream) !important;
}
.rv2.fl .rd-presentation-comparison .table > tbody > tr:first-child > td{
  background: linear-gradient(160deg, #17191F 0%, #22252E 100%) !important;
  color: var(--fl-amber) !important;
  border-bottom: 2px solid var(--fl-amber) !important;
}
.rv2.fl .rd-presentation-comparison .table > tbody > tr:first-child > td p > strong{
  color: var(--fl-amber) !important;
  font-size: 15.5px;
  letter-spacing: 0.4px;
}
.rv2.fl .rd-presentation-comparison .table td p{ margin: 0; font-size: 15.5px; }
.rv2.fl .rd-presentation-comparison .table td p > strong:not(:only-child){ color: var(--fl-char); }

/* ---------- Checklist (Documentation): amber frame-checks (2-col) --------- */
.rv2.fl .rd-presentation-comparison .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 10px 0 14px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.fl .rd-presentation-comparison .rd-chapter-content ul > li{
  position: relative;
  padding: 12px 14px 12px 44px;
  margin-bottom: 0;
  background: var(--fl-cream);
  border: 1px solid var(--fl-line);
  border-radius: 11px;
}
.rv2.fl .rd-presentation-comparison .rd-chapter-content ul > li::before{
  content: "\2713";
  left: 12px; top: 11px;
  width: 24px; height: 24px;
  border-radius: 6px;
  background: linear-gradient(150deg, #22252E 0%, #0F1014 100%);
  border: 1px solid rgba(245,166,35,0.55);
  color: var(--fl-amber);
  font-weight: 800; font-size: 15px;
  display: inline-flex; align-items: center; justify-content: center;
}
.rv2.fl .rd-presentation-comparison .rd-chapter-content ul > li > strong{ color: var(--fl-char); }

/* ---------- Processing-time stage tiles ------------------------------------ */
.rv2.fl .proc-time-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px;
  margin: 16px 0 10px !important;
}
.rv2.fl .proc-time-card{
  position: relative;
  text-align: center;
  padding: 22px 16px 20px;
  background: #fff;
  border: 1px solid var(--fl-line);
  border-top: 4px solid var(--fl-amber);
  border-radius: 13px;
  box-shadow: 0 4px 12px rgba(23,25,31,0.08);
}
.rv2.fl .proc-time-card::before{
  content: "";
  position: absolute;
  left: 14px; top: 14px;
  width: 16px; height: 8px;
  background: repeating-linear-gradient(135deg, #17191F 0 3px, #F5A623 3px 6px);
  border-radius: 2px;
  opacity: 0.8;
}
.rv2.fl .proc-time-icon{ color: var(--fl-amber2) !important; font-size: 28px; }
.rv2.fl .proc-time-label{
  color: var(--fl-char) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-top: 6px;
}
.rv2.fl .proc-time-value{ color: var(--fl-ink) !important; font-size: 15.5px; font-weight: 600; }

/* ---------- Prohibited list: red "no-shot" markers ------------------------ */
.rv2.fl .rd-reading.rd-chapter:not(.rd-presentation-open):not(.rd-presentation-comparison) .rd-chapter-content ul{
  padding-left: 0;
  list-style: none;
  margin: 0 0 14px;
}
.rv2.fl .rd-reading.rd-chapter:not(.rd-presentation-open):not(.rd-presentation-comparison) .rd-chapter-content ul > li{
  position: relative;
  list-style: none;
  padding: 11px 14px 11px 44px;
  margin-bottom: 10px;
  background: #FBEFEE;
  border: 1px solid #F3D9D6;
  border-left: 4px solid var(--fl-red);
  border-radius: 10px;
}
.rv2.fl .rd-reading.rd-chapter:not(.rd-presentation-open):not(.rd-presentation-comparison) .rd-chapter-content ul > li::before{
  content: "\2715";
  left: 13px; top: 10px;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--fl-red);
  color: var(--fl-red);
  font-weight: 800; font-size: 13px;
  display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Fees (plain reading steps): amber-ledger rows ----------------- */
.rv2.fl .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content p{
  background: var(--fl-cream);
  border: 1px solid var(--fl-line);
  border-left: 4px solid var(--fl-amber);
  border-radius: 9px;
  padding: 13px 16px;
  margin: 0 0 10px;
}
.rv2.fl .rd-steps:not(.rd-presentation-timeline) .rd-chapter-content p a{ color: var(--fl-amber2); font-weight: 700; }

/* ---------- FAQ: charcoal -> amber slate-clip ------------------------------ */
.rv2.fl .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.fl .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--fl-line);
  border-left: 4px solid var(--fl-amber);
  border-radius: 12px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.fl .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--fl-ink);
  font-size: 16.5px;
}
.rv2.fl .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.fl .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 7px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--fl-cream); font-size: 20px;
  background: linear-gradient(160deg, #22252E 0%, #0F1014 100%);
  border: 1px solid rgba(245,166,35,0.5);
}
.rv2.fl .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--fl-amber) 0%, var(--fl-amber2) 100%);
  color: var(--fl-char3);
}
.rv2.fl .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: var(--fl-cream);
  color: var(--fl-ink);
}
.rv2.fl .rd-faq .panel_t p{ margin: 14px 0 16px; font-size: 15.5px; line-height: 1.7; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 720px){
  .rv2.fl .proc-time-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  .rv2.fl .rd-presentation-comparison .rd-chapter-content ul{ grid-template-columns: 1fr; }
}
@media (max-width: 520px){
  .rv2.fl .proc-time-grid{ grid-template-columns: 1fr !important; }
}
@media (max-width: 600px){
  .rv2.fl .fl-hero__inner{ padding: 30px 18px 44px; }
  .rv2.fl .fl-hero__title{ padding-left: 16px; }
  .rv2.fl .fl-hero::after{ width: 14px; }
  .rv2.fl .rd-chapter{ padding: 20px 18px 18px; }
  .rv2.fl .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
  .rv2.fl .rd-steps .rd-chapter-content ol > li{ padding-left: 0; padding-top: 40px; }
  .rv2.fl .rd-steps .rd-chapter-content ol > li::before{ position: static; display: inline-block; margin-bottom: 8px; }
}


/* ============================================================================
    INDONESIA JOURNALIST eVISA — "Newsprint / Front Page" theme
    (page: indonesia-journalist-evisa.php)
    Ink black-brown + kraft/manila + press red. A serif editorial hero with a
    CSS red "PRESS" rubber stamp, halftone dot texture and double masthead
    rules; pilcrow (¶) bullets; double-rule h2 underlines; a kraft "EXCLUSIVE"
    framed press-photo canvas widget; spec rows for validity; kraft check
    boxes for documents; ink-titled apply-step cards; a red "!" rules list;
    and an ink/kraft FAQ. Distinct from brass (business), saffron (bali),
    aubergine (gov), slate (film): motif = newsprint, halftone, serif.
    Scoped under .rv2.jn. Canvas/zoom JS + links left untouched.
    ============================================================================ */
.rv2.jn{
  --jn-ink: #1A1D24;
  --jn-ink2: #242833;
  --jn-ink3: #111319;
  --jn-kraft: #C89F5A;
  --jn-kraft2: #A87F3C;
  --jn-kraft-soft: #F3E8D3;
  --jn-press: #F62217;
  --jn-press2: #C4150C;
  --jn-paper: #FBF8F1;
  --jn-inkbody: #2C2F36;
  --jn-line: #E4DECF;
}

/* ---------- Hero: ink masthead + halftone + PRESS stamp ------------------- */
.rv2.jn .jn-hero{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle, rgba(252,252,252,0.10) 1px, rgba(0,0,0,0) 1.6px) 0 0/11px 11px,
    radial-gradient(56% 66% at 86% 24%, rgba(200,159,90,0.22) 0%, rgba(200,159,90,0) 55%),
    radial-gradient(46% 55% at 8% 96%, rgba(246,34,23,0.16) 0%, rgba(246,34,23,0) 60%),
    linear-gradient(160deg, #111319 0%, #1A1D24 55%, #242833 100%);
  border-bottom: 3px solid var(--jn-ink);
  box-shadow: inset 0 -9px 0 rgba(246,34,23,0.9), inset 0 -12px 0 rgba(200,159,90,0.95);
}
.rv2.jn .jn-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 46px 22px 64px;
}
/* CSS red rubber stamp with PRESS word */
.rv2.jn .jn-press{
  position: relative;
  display: inline-block;
  width: 84px; height: 84px;
  margin-bottom: 18px;
  border-radius: 50%;
  border: 3px solid var(--jn-press);
  box-shadow: inset 0 0 0 3px transparent, inset 0 0 0 6px var(--jn-press);
  color: var(--jn-press);
  filter: drop-shadow(0 3px 10px rgba(246,34,23,0.35));
  transform: rotate(-8deg);
}
.rv2.jn .jn-press::before{
  content: "PRESS";
  position: absolute; inset: 0;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 2.5px;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--jn-press);
}
.rv2.jn .jn-press::after{
  content: "";
  position: absolute;
  left: 12px; right: 12px; top: 50%;
  height: 2px;
  background: var(--jn-press);
  transform: translateY(-50%) rotate(-4deg);
  opacity: 0.8;
}
.rv2.jn .jn-hero .breadcrumb{ margin: 0 0 20px; font-size: 13.5px; }
.rv2.jn .jn-hero .breadcrumb a{ color: rgba(255,255,255,0.86); font-weight: 500; }
.rv2.jn .jn-hero .breadcrumb a:hover{ color: #fff; }
.rv2.jn .jn-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(200,159,90,0.8);
}
.rv2.jn .jn-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: #fff; }
.rv2.jn .jn-hero__title{
  margin: 0;
  max-width: 940px;
  width: fit-content;
  padding-left: 24px;
  position: relative;
  color: #fff;
  font-weight: 780;
  line-height: 1.12;
  font-size: clamp(30px, 4.4vw, 52px);
  letter-spacing: -0.2px;
  font-family: Georgia, "Times New Roman", serif;
}
.rv2.jn .jn-hero__title::before{
  content: "";
  position: absolute;
  left: 0; top: 12px; bottom: 12px;
  width: 8px;
  background: linear-gradient(180deg, var(--jn-press) 0%, var(--jn-kraft) 100%);
}

/* ---------- Briefing strip (intro p + CTA before first chapter) ----------- */
.rv2.jn main section > .container > p{
  font-size: 17px;
  line-height: 1.75;
  color: var(--jn-inkbody);
  max-width: 880px;
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-top: 3px solid var(--jn-ink);
  border-left: 3px solid var(--jn-ink);
  border-radius: 0 0 12px 0;
  padding: 18px 22px;
  margin: -6px 0 12px;
  position: relative;
  z-index: 2;
}
.rv2.jn main section > .container > p > strong{ color: var(--jn-ink); }
.rv2.jn main section > .container > .cta-btn{ margin: 0 0 4px; }
.rv2.jn main section > .container > .cta-btn .banner-hero-btn{
  display: inline-block;
  padding: 12px 26px;
  border-radius: 0;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(120deg, var(--jn-press) 0%, var(--jn-press2) 100%);
  box-shadow: 0 8px 18px rgba(200,159,90,0.30);
}

/* ---------- Chapters: newsprint cards + double masthead rule -------------- */
.rv2.jn .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--jn-line);
  border-top: 5px solid var(--jn-ink);
  border-radius: 4px;
  box-shadow: var(--shadow-1);
  padding: 26px 28px 24px;
  margin: 18px 0;
  overflow: hidden;
}
/* pilcrow watermark corner */
.rv2.jn .rd-chapter::after{
  content: "\B6";
  position: absolute;
  right: 12px; top: 2px;
  font-size: 46px;
  line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
  color: rgba(26,29,36,0.07);
  pointer-events: none;
}
.rv2.jn .rd-chapter > h2{
  margin-top: 0 !important;
  color: var(--jn-ink) !important;
  font-size: clamp(22px, 2.1vw, 29px) !important;
  line-height: 1.22 !important;
  padding-bottom: 12px !important;
  background: none !important;
  background-image: none !important;
  border-bottom: 0 !important;
  border-top: 3px solid var(--jn-ink) !important;
  box-shadow: none !important;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  letter-spacing: 0.2px;
}
.rv2.jn .rd-chapter > h2::after{
  margin-top: 4px !important;
  display: block !important;
  width: 100% !important;
  max-width: 420px !important;
  height: 4px !important;
  background:
    linear-gradient(90deg, var(--jn-ink) 0 46px, transparent 46px) top/46px 3px no-repeat,
    linear-gradient(90deg, var(--jn-ink) 0 100%) bottom/100% 1px no-repeat !important;
}
.rv2.jn .rd-chapter > h2 > i{ margin-right: 9px; color: var(--jn-press); }
.rv2.jn .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.74; color: var(--jn-inkbody); margin: 0 0 12px; }
.rv2.jn .rd-chapter .rd-chapter-content > h3{ color: var(--jn-ink); }
.rv2.jn .rd-chapter .rd-chapter-content p > strong{ color: var(--jn-ink); }
.rv2.jn .rd-chapter .rd-chapter-content li > strong{ color: var(--jn-ink); }
.rv2.jn .rd-chapter .rd-chapter-content a{ color: var(--jn-ink); font-weight: 600; }
.rv2.jn .rd-chapter .rd-chapter-content a strong{ color: var(--jn-press2); }

/* ---------- Canvas widget: "EXCLUSIVE" press-photo frame ------------------ */
.rv2.jn .cv-main-wrapper{
  position: relative;
  max-width: 460px;
  margin: 0 auto 18px !important;
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-top: 5px solid var(--jn-ink);
  border-radius: 6px;
  box-shadow: 0 12px 26px rgba(26,29,36,0.18);
  padding: 14px 16px;
}
.rv2.jn .cv-main-wrapper::before{
  content: "EXCLUSIVE";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%) rotate(-22deg);
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 6px;
  font-family: Georgia, "Times New Roman", serif;
  color: rgba(246,34,23,0.08);
  pointer-events: none;
  z-index: 1;
}
.rv2.jn .cv-image,
.rv2.jn .cv-picture img{ max-width: 100%; height: auto; }
.rv2.jn .cv-zoom-icon,
.rv2.jn .cv-zoom-icon i{ color: var(--jn-ink) !important; }

/* ---------- Pilcrow bullets (generic) ------------------------------------- */
.rv2.jn .rd-chapter .rd-chapter-content ul{ padding-left: 20px; margin: 0 0 14px; }
.rv2.jn .rd-chapter .rd-chapter-content ul > li{ margin-bottom: 10px; position: relative; list-style: none; padding-left: 26px; }
.rv2.jn .rd-chapter .rd-chapter-content ul > li::before{
  content: "\B6";
  position: absolute; left: 0; top: -1px;
  width: 18px;
  font-size: 17px;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--jn-press);
}

/* ---------- Brief list (who can apply): kraft rail rows ------------------- */
.rv2.jn .rd-presentation-brief .rd-chapter-content ul > li{
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-left: 4px solid var(--jn-kraft);
  border-radius: 3px;
  padding: 10px 14px 10px 30px;
}
.rv2.jn .rd-presentation-brief .rd-chapter-content ul > li::before{
  left: 10px;
  top: 6px;
  font-size: 15px;
  color: var(--jn-kraft2);
}

/* ---------- Comparison (validity): spec rows w/ strong labels -------------- */
.rv2.jn .rd-comparison .rd-chapter-content ul{ padding-left: 0; list-style: none; margin: 0 0 14px; }
.rv2.jn .rd-comparison .rd-chapter-content ul > li{
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 12px 16px;
  margin-bottom: 10px;
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-radius: 4px;
}
.rv2.jn .rd-comparison .rd-chapter-content ul > li::before{
  content: "\B6";
  position: static;
  flex: 0 0 auto;
  width: auto;
  left: auto; top: auto;
  color: var(--jn-press);
}
.rv2.jn .rd-comparison .rd-chapter-content ul > li > strong{ flex: 0 0 auto; min-width: 118px; color: var(--jn-ink); }

/* ---------- Steps (cost options): numbered press chips -------------------- */
.rv2.jn .rd-steps:not(.rd-presentation-brief) .rd-chapter-content ul{ padding-left: 0; list-style: none; counter-reset: jnstep; margin: 0 0 14px; }
.rv2.jn .rd-steps:not(.rd-presentation-brief) .rd-chapter-content ul > li{
  counter-increment: jnstep;
  padding: 11px 14px 11px 50px;
  margin-bottom: 10px;
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-left: 4px solid var(--jn-press);
  border-radius: 4px;
}
.rv2.jn .rd-steps:not(.rd-presentation-brief) .rd-chapter-content ul > li::before{
  content: counter(jnstep, lower-roman);
  position: absolute; left: 12px; top: 10px;
  width: 26px; height: 26px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--jn-paper);
  background: var(--jn-ink);
  border: 2px solid var(--jn-kraft);
}
.rv2.jn .rd-steps:not(.rd-presentation-brief) .rd-chapter-content ul > li > strong{
  color: var(--jn-ink);
  font-family: Georgia, "Times New Roman", serif;
}

/* ---------- Checklist (documents): kraft check boxes (2-col) --------------- */
.rv2.jn .rd-presentation-columns .rd-chapter-content ul{
  padding-left: 0; list-style: none; margin: 0 0 14px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.rv2.jn .rd-presentation-columns .rd-chapter-content ul > li{
  position: relative;
  padding: 12px 14px 12px 46px;
  margin-bottom: 0;
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-radius: 4px;
}
.rv2.jn .rd-presentation-columns .rd-chapter-content ul > li::before{
  content: "\2713";
  left: 12px; top: 11px;
  width: 24px; height: 24px;
  border-radius: 3px;
  border: 2px solid var(--jn-kraft2);
  background: #fff;
  color: var(--jn-kraft2);
  font-weight: 800; font-size: 15px;
  font-family: Georgia, "Times New Roman", serif;
  display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Apply step cards: ink masthead tiles --------------------------- */
.rv2.jn .apply-steps-grid{
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px !important;
  margin: 14px 0 6px !important;
}
.rv2.jn .apply-step-card{
  position: relative !important;
  background: #fff !important;
  border: 1px solid var(--jn-line) !important;
  border-top: 4px solid var(--jn-ink) !important;
  border-radius: 4px !important;
  padding: 18px 18px 16px !important;
  box-shadow: 0 4px 12px rgba(26,29,36,0.08) !important;
}
.rv2.jn .apply-step-card::before{
  content: "";
  position: absolute;
  left: 16px; top: 12px;
  width: 22px; height: 4px;
  background: repeating-linear-gradient(90deg, var(--jn-press) 0 4px, transparent 4px 8px);
  opacity: 0.85;
}
.rv2.jn .apply-step-title{
  color: var(--jn-ink) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 17px !important;
  margin: 0 0 8px !important;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.rv2.jn .apply-step-title i{ color: var(--jn-press); margin-right: 8px; }
.rv2.jn .apply-step-card p{ font-size: 15px; line-height: 1.62; color: var(--jn-inkbody); margin: 0; }
.rv2.jn .apply-step-card p b{ color: var(--jn-ink); }

/* ---------- Open (important rules): red "!" press markers ----------------- */
.rv2.jn .rd-presentation-open .rd-chapter-content ul > li{
  background: #FDF5F4;
  border: 1px solid #F3D9D6;
  border-left: 4px solid var(--jn-press);
  border-radius: 4px;
  padding: 11px 14px 11px 46px;
}
.rv2.jn .rd-presentation-open .rd-chapter-content ul > li::before{
  content: "!";
  left: 14px; top: 8px;
  width: 24px; height: 24px;
  border-radius: 50%;
  border: 2px solid var(--jn-press);
  background: #fff;
  color: var(--jn-press);
  font-weight: 800; font-size: 15px;
  font-family: Georgia, "Times New Roman", serif;
  display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Plain reading (extension): pull-quote treatment --------------- */
.rv2.jn .rd-reading:not(.rd-presentation-open):not(.rd-presentation-brief) .rd-chapter-content p{
  background: var(--jn-paper);
  border: 1px solid var(--jn-line);
  border-left: 4px solid var(--jn-kraft);
  border-radius: 0 6px 6px 0;
  padding: 13px 16px;
  margin: 0 0 12px;
}
.rv2.jn .rd-reading:not(.rd-presentation-open):not(.rd-presentation-brief) .rd-chapter-content p:last-child{
  border-left-color: var(--jn-press);
  margin-bottom: 0;
}

/* ---------- FAQ: ink / kraft press toggle ---------------------------------- */
.rv2.jn .rd-faq .rd-chapter-content{ max-width: 940px; }
.rv2.jn .rd-faq .rd-chapter-faq-item{
  border: 1px solid var(--jn-line);
  border-left: 4px solid var(--jn-ink);
  border-radius: 4px;
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}
.rv2.jn .rd-faq .accordion_t{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--jn-inkbody);
  font-size: 16.5px;
}
.rv2.jn .rd-faq .accordion_t b{ flex: 1 1 auto; font-weight: 640; }
.rv2.jn .rd-faq .accordion_t::after{
  content: "+";
  flex: 0 0 auto;
  width: 30px; height: 30px;
  border-radius: 3px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--jn-kraft-soft); font-size: 20px;
  background: linear-gradient(160deg, var(--jn-ink2) 0%, var(--jn-ink) 100%);
  border: 2px solid var(--jn-kraft);
}
.rv2.jn .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2212";
  background: linear-gradient(150deg, var(--jn-press) 0%, var(--jn-press2) 100%);
  color: #fff;
}
.rv2.jn .rd-faq .panel_t{
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease;
  padding: 0 18px;
  background: var(--jn-paper);
  color: var(--jn-inkbody);
}
.rv2.jn .rd-faq .panel_t p{ margin: 14px 0 16px; font-size: 15.5px; line-height: 1.7; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 900px){
  .rv2.jn .rd-presentation-columns .rd-chapter-content ul{ grid-template-columns: 1fr; }
  .rv2.jn .apply-steps-grid{ grid-template-columns: 1fr !important; }
}
@media (max-width: 600px){
  .rv2.jn .jn-hero__inner{ padding: 34px 18px 48px; }
  .rv2.jn .jn-hero__title{ padding-left: 16px; }
  .rv2.jn .jn-press{ width: 70px; height: 70px; }
  .rv2.jn .jn-press::before{ font-size: 14px; letter-spacing: 2px; }
  .rv2.jn .rd-chapter{ padding: 20px 18px 18px; }
  .rv2.jn .rd-faq .accordion_t{ padding: 14px 14px; font-size: 15.5px; }
  .rv2.jn .rd-comparison .rd-chapter-content ul > li{ flex-direction: column; gap: 2px; }
  .rv2.jn .cv-main-wrapper::before{ font-size: 28px; letter-spacing: 3px; }
}


/* ============================================================================
    INDONESIA eVISA REQUIREMENTS — "Case File / Dossier" theme
    (page: indonesia-visa-requirements.php · scope: .rv2.vr)
    Coffee-ink dark + rust/oxide + manila paper. A binder-spine hole column,
    a manila-folder crest with a rotated "DOSSIER" stamp, index-tab dashes,
    a dashed "CASE FILE" monospace plate, FILE 01/02/... chips on every h2,
    a manila briefing card with a punched binder edge, a rust LOG-framed
    video plate, stamp-checked 2-col checklists, a rust "ledger"
    table (table-bordered/striped restyled), manila FILE-COPY-stamped
    specimen cards, and a float-mounted sample widget (canvas/zoom JS
    left fully intact). Distinct from all 16 prior pages: rust + manila
    + folder/binder motif + monospace file chips.
    ============================================================================ */
.rv2.vr{
  --vr-ink: #2A1B12;
  --vr-ink2: #1D120C;
  --vr-inkbody: #3B2B1F;
  --vr-rust: #B0532B;
  --vr-rust2: #8C3E1D;
  --vr-rust-soft: #F3E3D2;
  --vr-paper: #FAF3E4;
  --vr-paper2: #F0E2C6;
  --vr-cream: #FFFBF2;
  --vr-line: #E2D3B4;
  --vr-red: #F62217;
  counter-reset: vrfile 0;
  /* Neutralize Bootstrap 5's own `.vr` element utility (display:inline-block;
     width:1px; background-color:currentColor; opacity:.25) which this page
     class collides with. (0,2,0) here beats (0,1,0) for every property. */
  display: block;
  align-self: auto;
  width: 100%;
  min-height: 0;
  background-color: transparent;
  opacity: 1;
}

/* ---------- Hero: coffee-ink manila folder spine + ledger dots ----------- */
.rv2.vr .vr-hero{
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(180deg, rgba(250,243,228,0.045) 0 1px, rgba(250,243,228,0) 1px 34px),
    radial-gradient(circle, rgba(250,243,228,0.09) 1px, rgba(0,0,0,0) 1.8px) 0 0/18px 18px,
    radial-gradient(52% 62% at 86% 22%, rgba(176,83,43,0.30) 0%, rgba(176,83,43,0) 60%),
    linear-gradient(160deg, #1D120C 0%, #2A1B12 55%, #3B2415 100%);
  border-bottom: 4px solid var(--vr-rust);
}
/* index-tab dashes along the very top edge */
.rv2.vr .vr-hero::after{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 9px;
  background: repeating-linear-gradient(90deg,
    rgba(176,83,43,0.85) 0 42px, rgba(0,0,0,0) 42px 58px,
    rgba(240,226,198,0.5) 58px 100px, rgba(0,0,0,0) 100px 118px);
  opacity: 0.6;
  pointer-events: none;
}
/* binder-hole spine down the left edge */
.rv2.vr .vr-hero::before{
  content: "";
  position: absolute;
  left: 16px; top: 16%; bottom: 16%;
  width: 12px;
  background-image: radial-gradient(circle, rgba(255,251,242,0.28) 4.5px, rgba(0,0,0,0) 5.5px);
  background-size: 12px 92px;
  background-repeat: repeat-y;
  pointer-events: none;
}
.rv2.vr .vr-hero__inner{
  position: relative;
  z-index: 1;
  max-width: 1180px;
  margin: 0 auto;
  padding: 44px 22px 54px 46px;
}
.rv2.vr .vr-hero .breadcrumb{ margin: 0 0 18px; font-size: 13.5px; }
.rv2.vr .vr-hero .breadcrumb a{ color: rgba(255,251,242,0.85); font-weight: 500; }
.rv2.vr .vr-hero .breadcrumb a:hover{ color: #fff; }
.rv2.vr .vr-hero .breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  content: "\203A"; padding: 0 10px; color: rgba(176,83,43,0.9);
}
.rv2.vr .vr-hero .breadcrumb .breadcrumb-item + .breadcrumb-item{ padding-left: 0; color: var(--vr-cream); }
.rv2.vr .vr-hero__title{
  margin: 0;
  max-width: 920px;
  width: fit-content;
  color: #fff;
  font-weight: 800;
  line-height: 1.12;
  font-size: clamp(30px, 4.4vw, 50px);
  letter-spacing: -0.2px;
}
.rv2.vr .vr-hero__caseno{
  display: inline-block;
  margin-top: 18px;
  font-family: Consolas, "SF Mono", monospace;
  font-size: 11.5px;
  letter-spacing: 2.5px;
  color: rgba(255,251,242,0.72);
  border: 1px dashed rgba(250,243,228,0.4);
  border-radius: 4px;
  padding: 6px 12px;
}
/* manila-folder crest: folder base + tab + rotated DOSSIER stamp */
.rv2.vr .vr-folder{
  position: relative;
  width: 112px; height: 76px;
  margin-bottom: 22px;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,0.4));
}
.rv2.vr .vr-folder::before{
  content: "";
  position: absolute; inset: 0;
  border-radius: 0 0 9px 9px;
  background: linear-gradient(165deg, #F6EACC 0%, #EAD7AE 100%);
  border: 1px solid rgba(42,27,18,0.35);
}
.rv2.vr .vr-folder__tab{
  position: absolute;
  display: block;
  left: 0; top: -11px;
  width: 46px; height: 13px;
  border-radius: 7px 7px 0 0;
  background: linear-gradient(165deg, #F6EACC, #E8D3A8);
  border: 1px solid rgba(42,27,18,0.35);
  border-bottom: 0;
}
.rv2.vr .vr-folder__mark{
  position: absolute;
  inset: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Consolas, "SF Mono", monospace;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 3.5px;
  color: var(--vr-rust);
  border: 2.5px solid rgba(176,83,43,0.85);
  border-radius: 5px;
  transform: rotate(-6deg);
  opacity: 0.92;
}

/* ---------- Briefing card: manila sheet + punched binder edge ------------ */
.rv2.vr .visa-content-wrapper{
  position: relative;
  background: var(--vr-paper);
  border: 1px solid var(--vr-line);
  border-radius: 14px;
  padding: 20px 24px 20px 44px;
  margin: 10px 0 26px;
  gap: 22px;
  box-shadow: 0 6px 18px rgba(42,27,18,0.07);
}
.rv2.vr .visa-content-wrapper::before{
  content: "";
  position: absolute;
  left: 16px; top: 16px; bottom: 16px;
  width: 10px;
  background-image: radial-gradient(circle, var(--vr-line) 0 3.5px, rgba(0,0,0,0) 4px);
  background-size: 10px 96px;
  background-repeat: repeat-y;
}
.rv2.vr .visa-text{ flex: 1 1 auto; min-width: 0; }
.rv2.vr .visa-text > p{ font-size: 16.5px; line-height: 1.72; color: var(--vr-inkbody); margin-bottom: 0.9rem; }
.rv2.vr .visa-text > p > strong{ color: var(--vr-ink); }
.rv2.vr .visa-text .cta-btn{ margin-top: 14px !important; margin-bottom: 0 !important; }
.rv2.vr .visa-text .banner-hero-btn{
  display: inline-block;
  background: linear-gradient(120deg, var(--vr-rust), var(--vr-rust2)) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 7px !important;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(176,83,43,0.30);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.rv2.vr .visa-text .banner-hero-btn:hover{
  background: linear-gradient(120deg, #C25E31, #7E381A) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(176,83,43,0.38);
}

/* ---------- Video plate: rust-framed "LOG" monitor ------------------------ */
.rv2.vr .video-container-main{
  position: relative;
  flex: 0 1 560px;
  min-width: 0;
  max-width: 640px;
  border: 2px solid var(--vr-rust) !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(42,27,18,0.18);
  background: var(--vr-ink2);
}
.rv2.vr .video-container-main::before{
  content: "\25CF LOG";
  position: absolute;
  top: 8px; left: 10px;
  font-family: Consolas, "SF Mono", monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--vr-paper);
  background: rgba(42,27,18,0.75);
  border: 1px solid rgba(176,83,43,0.7);
  border-radius: 3px;
  padding: 4px 7px;
  z-index: 2;
  pointer-events: none;
}
.rv2.vr .video-container-main iframe{ display: block; width: 100%; height: 100%; }

/* ---------- Chapters: file cards with a folder tab + FILE 0N plate ------- */
.rv2.vr .rd-chapter{
  position: relative;
  background: #fff;
  border: 1px solid var(--vr-line);
  border-top: 4px solid var(--vr-ink);
  border-radius: 12px;
  box-shadow: 0 5px 16px rgba(42,27,18,0.07);
  padding: 26px 28px 24px;
  margin: 24px 0;
}
.rv2.vr .rd-chapter::before{ /* folder tab on the top edge */
  content: "";
  position: absolute;
  top: -12px; left: 24px;
  width: 58px; height: 14px;
  background: var(--vr-paper2);
  border: 1px solid var(--vr-line);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}
.rv2.vr .rd-chapter > h2{
  counter-increment: vrfile;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  color: var(--vr-ink) !important;
  font-size: clamp(21px, 2vw, 27px) !important;
  line-height: 1.25 !important;
  font-weight: 800;
  padding-bottom: 0 !important;
  background: none !important;
  background-image: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.rv2.vr .rd-chapter > h2::before{ /* FILE 0N plate */
  content: "FILE " counter(vrfile, decimal-leading-zero);
  display: inline-flex;
  align-items: center;
  font-family: Consolas, "SF Mono", monospace;
  font-size: 10.5px;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 1.5px;
  color: var(--vr-cream);
  background: var(--vr-rust);
  border: 1px solid var(--vr-rust2);
  border-radius: 4px;
  padding: 4px 8px;
  margin-right: 10px;
  vertical-align: 3px;
}
.rv2.vr .rd-chapter > h2::after{
  display: block !important;
  width: 96px !important;
  height: 8px !important;
  margin-top: 12px !important;
  background: repeating-linear-gradient(90deg, var(--vr-rust) 0 10px, var(--vr-paper2) 10px 16px) !important;
  border-radius: 2px;
  content: "" !important;
}
.rv2.vr .rd-chapter .rd-chapter-content > p{ font-size: 16px; line-height: 1.74; color: var(--vr-inkbody); margin-bottom: 12px; }
.rv2.vr .rd-chapter .rd-chapter-content > h3{ color: var(--vr-ink); font-size: 18.5px; margin-top: 22px; margin-bottom: 10px; }
.rv2.vr .rd-chapter .rd-chapter-content > h4{ color: var(--vr-ink); margin-top: 18px; margin-bottom: 8px; }
.rv2.vr .rd-chapter .rd-chapter-content p > strong{ color: var(--vr-ink); }
.rv2.vr .rd-chapter .rd-chapter-content li > strong{ color: var(--vr-ink); }
.rv2.vr .rd-chapter a{ color: var(--vr-rust2); font-weight: 600; }
.rv2.vr .rd-chapter a strong{ color: var(--vr-rust2); }
/* labeled notice paragraphs (strong first) read as red-tab file slips */
.rv2.vr .rd-chapter .rd-chapter-content > p:has(> strong:first-child){
  background: var(--vr-rust-soft);
  border: 1px solid #EAD3BF;
  border-left: 4px solid var(--vr-rust);
  border-radius: 0 9px 9px 0;
  padding: 11px 15px;
  margin-bottom: 14px;
}
.rv2.vr .rd-chapter .rd-chapter-content > p:has(> strong:first-child) > strong{ color: var(--vr-rust2); }

/* ---------- Checklists: stamped 2-col ledger rows ------------------------ */
.rv2.vr .rd-checklist .rd-chapter-content > ul{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  list-style: none !important;
  margin: 12px 0 10px !important;
}
.rv2.vr .rd-checklist .rd-chapter-content > ul > li{
  position: relative;
  background: var(--vr-paper);
  border: 1px solid var(--vr-line);
  border-left: 4px solid var(--vr-rust);
  border-radius: 9px;
  padding: 12px 14px 12px 48px !important;
  margin: 0 !important;
  list-style: none !important;
}
.rv2.vr .rd-checklist .rd-chapter-content > ul > li::before{
  content: "\2713" !important;
  position: absolute !important;
  left: 12px !important; top: 12px !important;
  width: 25px !important; height: 25px !important;
  border: 2px solid var(--vr-rust) !important;
  border-radius: 6px !important;
  background: var(--vr-cream) !important;
  color: var(--vr-rust2) !important;
  font-size: 14px !important;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
/* rows that already carry a font-awesome check icon: recolor icon, drop the CSS box */
.rv2.vr .rd-checklist .rd-chapter-content > ul > li:has(> .fa-check-square)::before{
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border-width: 0 !important;
}
.rv2.vr .rd-checklist .rd-chapter-content > ul > li:has(> .fa-check-square){
  padding-left: 14px !important;
}
.rv2.vr .rd-checklist .rd-chapter-content > ul > li .fa-check-square{
  color: var(--vr-rust2) !important;
  font-size: 15px !important;
}

/* ---------- Ledger table (table-bordered + table-striped restyled) ------- */
.rv2.vr .rd-checklist .table-responsive{
  border: 1px solid var(--vr-line);
  border-radius: 12px;
  overflow: auto;
  margin: 14px 0 6px;
  background: var(--vr-cream);
}
.rv2.vr .rd-checklist .table{ margin-bottom: 0; --bs-table-bg: transparent; }
.rv2.vr .rd-checklist .table-bordered{ border-color: var(--vr-line) !important; }
.rv2.vr .rd-checklist .table > tbody > tr > td{
  background: var(--vr-cream) !important;
  border-color: var(--vr-line) !important;
  padding: 12px 14px !important;
  vertical-align: top;
}
.rv2.vr .rd-checklist .table > tbody > tr:nth-child(even) > td{ background: var(--vr-paper) !important; }
.rv2.vr .rd-checklist .table > tbody > tr:first-child > td{
  background: linear-gradient(160deg, #1D120C 0%, #3B2415 100%) !important;
  color: var(--vr-cream) !important;
  border-bottom: 2px solid var(--vr-rust) !important;
}
.rv2.vr .rd-checklist .table > tbody > tr:first-child > td p,
.rv2.vr .rd-checklist .table > tbody > tr:first-child > td p > strong{
  color: var(--vr-cream) !important;
  font-size: 14.5px;
  letter-spacing: 0.8px;
}
.rv2.vr .rd-checklist .table > tbody > tr + tr > td:first-child p{
  color: var(--vr-ink);
  font-weight: 650;
  font-size: 15px;
}
.rv2.vr .rd-checklist .table td p{ margin: 0 0 4px; font-size: 15.5px; line-height: 1.6; }
.rv2.vr .rd-checklist .table td p:last-child{ margin-bottom: 0; }
.rv2.vr .rd-checklist .table td ul{ margin: 6px 0 0; padding-left: 18px; }
.rv2.vr .rd-checklist .table td ul li{ margin-bottom: 4px; color: var(--vr-inkbody); }
.rv2.vr .rd-checklist .table td ul li::marker{ color: var(--vr-rust); }

/* ---------- Specimen cards (visa-card): manila files + FILE COPY stamp --- */
.rv2.vr .visa-container{ margin-bottom: 10px; }
.rv2.vr .visa-card{
  position: relative;
  background: var(--vr-cream) !important;
  border: 1px solid var(--vr-line) !important;
  border-top: 4px solid var(--vr-rust) !important;
  border-radius: 10px !important;
  box-shadow: 0 6px 16px rgba(42,27,18,0.08) !important;
  padding: 18px 18px 16px !important;
}
.rv2.vr .visa-card::before{ /* punched file hole */
  content: "";
  position: absolute;
  top: -9px; left: 26px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--vr-ink2);
  border: 3px solid var(--vr-paper2);
  box-shadow: 0 0 0 1px var(--vr-line);
}
.rv2.vr .visa-card::after{ /* FILE COPY corner stamp */
  content: "FILE COPY";
  position: absolute;
  top: 10px; right: 12px;
  font-family: Consolas, "SF Mono", monospace;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 2px;
  color: rgba(176,83,43,0.55);
  border: 2px solid rgba(176,83,43,0.45);
  border-radius: 3px;
  padding: 3px 6px;
  transform: rotate(6deg);
  pointer-events: none;
}
.rv2.vr .visa-card h3,
.rv2.vr .visa-card h4{ color: var(--vr-ink); font-size: 17px; line-height: 1.35; margin-top: 0; }
.rv2.vr .visa-card p{ font-size: 15px; line-height: 1.65; color: var(--vr-inkbody); }
.rv2.vr .visa-card ul{ margin: 6px 0 4px; padding-left: 18px; }
.rv2.vr .visa-card ul li{ color: var(--vr-inkbody); }
.rv2.vr .visa-card ul li::marker{ color: var(--vr-rust); }
.rv2.vr .visa-card img{ border: 1px solid var(--vr-line); border-radius: 5px; box-shadow: 0 4px 10px rgba(42,27,18,0.10); }

/* ---------- Sample widget (canvas/zoom): FILE COPY float mount ----------- */
.rv2.vr .cv-main-wrapper{
  position: relative;
  max-width: 560px !important;
  float: right !important;
  margin: 8px 0 18px 20px !important;
  background: var(--vr-cream);
  border: 1px solid var(--vr-line);
  border-top: 5px solid var(--vr-ink);
  border-radius: 12px;
  box-shadow: 0 10px 22px rgba(42,27,18,0.14);
  padding: 12px 14px 10px;
}
.rv2.vr .cv-main-wrapper > *{ position: relative; z-index: 1; }
.rv2.vr .cv-main-wrapper::before{
  content: "FILE COPY";
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%,-50%) rotate(-20deg);
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 6px;
  font-family: Consolas, "SF Mono", monospace;
  color: rgba(176,83,43,0.08);
  pointer-events: none;
  z-index: 0;
}
.rv2.vr .cv-image,
.rv2.vr .cv-picture img{ max-width: 100%; height: auto; }
.rv2.vr .cv-zoom-icon,
.rv2.vr .cv-zoom-icon i{ color: var(--vr-ink) !important; }

/* ---------- Responsive ----------------------------------------------------- */
@media (max-width: 900px){
  .rv2.vr .cv-main-wrapper{ float: none !important; margin: 10px auto !important; max-width: 100% !important; }
  .rv2.vr .video-container-main{ flex-basis: 100%; max-width: 100%; }
}
@media (max-width: 760px){
  .rv2.vr .rd-checklist .rd-chapter-content > ul{ grid-template-columns: 1fr !important; }
  .rv2.vr .visa-content-wrapper{ padding: 16px 16px 16px 36px; }
}
@media (max-width: 600px){
  .rv2.vr .vr-hero__inner{ padding: 30px 16px 42px 40px; }
  .rv2.vr .vr-folder{ transform: scale(0.85); transform-origin: top left; margin-bottom: 26px; }
  .rv2.vr .rd-chapter{ padding: 20px 16px 18px; }
  .rv2.vr .rd-chapter::before{ left: 14px; }
  .rv2.vr .rd-chapter > h2::before{ vertical-align: 2px; }
}
/* ============================================================================
    INDONESIA eVISA PHOTO REQUIREMENTS — "Darkroom / Contact Sheet" theme
    (page: indonesia-visa-photo-requirements.php · scope: .rv2.pht)
    Emulsion-cream body, deep green-black hero with a lens ring, viewfinder
    corner brackets, a safety-light lamp dot, an mm ruler strip, a white
    contact-mat for the reference photo ("IN FOCUS" reticle tag), olive
    developer-green accents, FRM 01.. chips on h2, framed-tick checklist
    squares, and a dark developer-tray FAQ. Distinct from all 17 prior
    pages: olive/developer green + emulsion cream + lens/viewfinder motif.
    ============================================================================ */
.rv2.pht{
  --pht-ink: #10150F;
  --pht-ink2: #182016;
  --pht-dev: #7FA32E;
  --pht-dev2: #5E7A1E;
  --pht-dev-soft: #EEF0D8;
  --pht-paper: #F4F2E6;
  --pht-cream: #FBFAF1;
  --pht-line: #DAD5BF;
  --pht-body: #262E21;
  --pht-red: #F62217;
  background:
    radial-gradient(circle, rgba(16,21,15,0.028) 1px, rgba(0,0,0,0) 1.5px) 0 0/22px 22px,
    linear-gradient(180deg, #F4F2E6 0%, #F7F5EB 300px, #F4F2E6 100%);
  color: var(--pht-body);
  min-height: 100vh;
  counter-reset: phtfrm 0;
}

/* ---------- Hero: darkroom lens + viewfinder brackets + mm ruler ---------- */
.rv2.pht .pht-hero{
  position: relative;
  overflow: hidden;
  padding: 40px 0 44px;
  background:
    radial-gradient(circle, rgba(244,242,230,0.05) 1px, rgba(0,0,0,0) 1.6px) 0 0/16px 16px,
    radial-gradient(58% 95% at 84% 46%, rgba(127,163,46,0.20) 0%, rgba(127,163,46,0) 62%),
    linear-gradient(152deg, #10150F 0%, #151F16 58%, #1E2A1C 100%);
  border-bottom: 5px solid var(--pht-dev);
}
/* big lens ring */
.rv2.pht .pht-lens{
  position: absolute;
  top: 50%;
  right: -150px;
  transform: translateY(-50%);
  width: 430px;
  height: 430px;
  border-radius: 50%;
  border: 2px solid rgba(127,163,46,0.55);
  background: repeating-radial-gradient(circle at 50% 50%, rgba(244,242,230,0.09) 0 2px, rgba(0,0,0,0) 2px 28px);
  box-shadow: inset 0 0 70px rgba(0,0,0,0.55), 0 0 0 26px rgba(244,242,230,0.028);
}
/* viewfinder corner brackets */
.rv2.pht .pht-bracket{
  position: absolute;
  width: 26px;
  height: 26px;
  border: 3px solid rgba(127,163,46,0.85);
}
.rv2.pht .pbt-tl{ top: 20px; left: 24px; border-right: 0; border-bottom: 0; }
.rv2.pht .pbt-tr{ top: 20px; right: 24px; border-left: 0; border-bottom: 0; }
.rv2.pht .pbt-br{ bottom: 26px; right: 24px; border-left: 0; border-top: 0; }
/* safety light lamp */
.rv2.pht .pht-lamp{
  position: absolute;
  top: 24px;
  right: 66px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #D6432E;
  box-shadow: 0 0 0 5px rgba(214,67,46,0.16), 0 0 20px rgba(214,67,46,0.9);
}
.rv2.pht .pht-hero__inner{
  position: relative;
  padding: 26px 24px 6px;
}
.rv2.pht .pht-hero .breadcrumb{
  margin-bottom: 16px;
}
.rv2.pht .pht-hero .breadcrumb a{
  color: rgba(244,242,230,0.78);
  text-decoration: none;
  font-weight: 500;
}
.rv2.pht .pht-hero .breadcrumb a:hover{ color: #CFE09B; }
.rv2.pht .pht-hero .breadcrumb li{
  color: rgba(244,242,230,0.62);
}
.rv2.pht .pht-hero .breadcrumb li + li::before{
  content: "\203A";
  padding: 0 10px;
  color: rgba(127,163,46,0.8);
}
.rv2.pht .pht-hero__title{
  color: #FBFAF1;
  font-weight: 700;
  font-size: clamp(26px, 4vw, 36px);
  line-height: 1.22;
  max-width: 780px;
}
/* spec chips */
.rv2.pht .pht-hero__specs{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.rv2.pht .pht-chip{
  font-family: "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  padding: 6px 12px;
  border: 1px dashed rgba(127,163,46,0.7);
  border-radius: 4px;
  color: #C9D895;
  background: rgba(127,163,46,0.10);
  text-transform: uppercase;
}
/* mm ruler strip along the bottom */
.rv2.pht .pht-ruler{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 18px;
  border-top: 1px solid rgba(127,163,46,0.5);
  background:
    repeating-linear-gradient(90deg, rgba(244,242,230,0.16) 0 1px, rgba(0,0,0,0) 1px 12px),
    repeating-linear-gradient(90deg, rgba(244,242,230,0.42) 0 1px, rgba(0,0,0,0) 1px 72px) bottom / 100% 10px no-repeat;
}

/* ---------- Contact-mat stage for the reference photo ---------- */
.rv2.pht .pht-stage{
  position: relative;
  max-width: 900px;
  margin: 30px auto 10px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--pht-line);
  box-shadow: 0 20px 44px rgba(16,21,15,0.16), 0 2px 8px rgba(16,21,15,0.08);
}
.rv2.pht .pht-tick{
  position: absolute;
  width: 22px;
  height: 22px;
  border: 3px solid var(--pht-dev);
}
.rv2.pht .pt-a{ top: 7px; left: 7px; border-right: 0; border-bottom: 0; }
.rv2.pht .pt-b{ top: 7px; right: 7px; border-left: 0; border-bottom: 0; }
.rv2.pht .pt-c{ bottom: 7px; left: 7px; border-right: 0; border-top: 0; }
.rv2.pht .pt-d{ bottom: 7px; right: 7px; border-left: 0; border-top: 0; }
.rv2.pht .pht-stage center{ display: block; margin: 0; }
/* image-custom.css pins .wrapped-image to float:right; width:486px; max-width:50%
   — override all three for the contact-mat context */
.rv2.pht .pht-stage .wrapped-image{ margin: 0; display: block; float: none; width: 100%; max-width: 100%; }
.rv2.pht .pht-stage img{
  display: block;
  width: 100%;
  height: auto;
  max-height: 640px;
  object-fit: cover;
  border: 1px solid #E4E1CE;
}
.rv2.pht .pht-tag{
  position: absolute;
  left: 18px;
  top: 28px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--pht-ink2);
  background: rgba(238,240,216,0.92);
  border: 2px solid var(--pht-dev);
  padding: 6px 12px;
  box-shadow: 0 6px 14px rgba(16,21,15,0.18);
}
.rv2.pht .pht-tag i{ color: var(--pht-dev2); font-size: 14px; }

/* ---------- Intro copy + CTA (variant A: direct children of .container) ---- */
.rv2.pht .container > p{
  color: var(--pht-body);
  line-height: 1.85;
  margin-bottom: 14px;
}
.rv2.pht .container > .cta-btn{
  margin: 26px 0 36px;
}
.rv2.pht .container > .cta-btn .banner-hero-btn{
  background: linear-gradient(120deg, #86A834 0%, #5E7A1E 100%) !important;
  color: #0F1410 !important;
  border: none !important;
  border-radius: 10px;
  padding: 15px 32px !important;
  box-shadow: 0 14px 30px rgba(94,122,30,0.32);
}
.rv2.pht .container > .cta-btn .banner-hero-btn::after{
  color: #0F1410;
}
.rv2.pht .container > .cta-btn .banner-hero-btn:hover{
  background: linear-gradient(120deg, #6E8A26 0%, #4C6216 100%) !important;
  transform: translateY(-1px);
}

/* ---------- Chapters: white frames with an olive film edge --------------- */
.rv2.pht .rd-chapter{
  position: relative;
  counter-increment: phtfrm 1;
  background: #fff;
  margin: 0 0 28px;
  padding: 30px 34px 28px 42px;
  border: 1px solid var(--pht-line);
  border-left: 5px solid var(--pht-dev);
  box-shadow: 0 12px 28px rgba(16,21,15,0.09);
}
/* viewfinder corner mark top-right */
.rv2.pht .rd-chapter::before{
  content: "";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 18px;
  height: 18px;
  border-top: 3px solid rgba(127,163,46,0.55);
  border-right: 3px solid rgba(127,163,46,0.55);
}
.rv2.pht .rd-chapter > h2{
  margin: 0 0 18px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  color: var(--pht-ink2);
  font-size: 23px;
  line-height: 1.3;
}
.rv2.pht .rd-chapter > h2::before{
  content: "FRM " counter(phtfrm, decimal-leading-zero);
  font-family: "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  color: #FBFAF1;
  background: linear-gradient(120deg, #86A834 0%, #5E7A1E 100%);
  padding: 6px 12px;
  border-radius: 4px;
  box-shadow: 0 4px 10px rgba(94,122,30,0.35);
}
.rv2.pht .rd-chapter > h2 i{
  color: var(--pht-dev2);
  background: var(--pht-dev-soft);
  border: 1px solid #C6CFA0;
  border-radius: 9px;
  padding: 4px 8px;
  font-size: 18px !important;
}
.rv2.pht .rd-chapter > h2 .flaticon-conversation{
  font-size: 22px !important;
}
.rv2.pht .rd-chapter p{
  color: var(--pht-body);
  line-height: 1.85;
  margin-bottom: 14px;
}
.rv2.pht .rd-chapter p strong{ color: var(--pht-ink); font-weight: 700; }
.rv2.pht .rd-chapter ul{
  list-style: none;
  padding-left: 2px;
  margin: 6px 0 10px;
}
.rv2.pht .rd-chapter ul > li{
  position: relative;
  padding-left: 36px;
  margin-bottom: 12px;
  line-height: 1.75;
}
/* framed-tick marker */
.rv2.pht .rd-chapter ul > li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 15px;
  height: 15px;
  border: 2px solid var(--pht-dev);
  background: rgba(127,163,46,0.10);
}
.rv2.pht .rd-chapter ul > li::after{
  content: "";
  position: absolute;
  left: 5px;
  top: 10px;
  width: 6px;
  height: 3px;
  border-left: 2.5px solid var(--pht-dev2);
  border-bottom: 2.5px solid var(--pht-dev2);
  transform: rotate(-45deg);
}

/* ---------- FAQ: dark developer tray -------------------------------------- */
.rv2.pht .rd-faq{
  background:
    radial-gradient(circle, rgba(244,242,230,0.045) 1px, rgba(0,0,0,0) 1.5px) 0 0/18px 18px,
    linear-gradient(160deg, #141B12 0%, #0F150E 100%);
  border-color: #2C3824;
}
.rv2.pht .rd-faq::before{
  border-color: rgba(127,163,46,0.7);
}
.rv2.pht .rd-faq > h2{ color: #F3F1E5; }
.rv2.pht .rd-faq > h2 i{
  color: #CFE09B;
  background: rgba(127,163,46,0.18);
  border-color: rgba(127,163,46,0.5);
}
.rv2.pht .rd-faq .rd-chapter-faq-item{
  margin-bottom: 10px;
}
.rv2.pht .rd-faq .accordion_t{
  width: 100%;
  text-align: left;
  background: rgba(255,255,255,0.035);
  border: 1px solid #2E3A26;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  color: #E9EDDD;
  padding: 16px 52px 16px 18px;
  font-size: 15.5px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.rv2.pht .rd-faq .accordion_t b{ font-weight: 700; color: #F3F1E5; }
.rv2.pht .rd-faq .accordion_t::after{
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: 400;
  color: #B9CC7E;
}
.rv2.pht .rd-faq .accordion_t:hover{
  background: rgba(127,163,46,0.10);
}
/* open-state: panel carries inline max-height style, i.e. matches [style] */
.rv2.pht .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"]){
  background: rgba(127,163,46,0.16);
  border-color: rgba(127,163,46,0.55);
  color: #fff;
}
.rv2.pht .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2013";
  color: #E4EDC2;
}
.rv2.pht .rd-faq .panel_t{
  overflow: hidden;
  margin: 0 10px 6px;
}
.rv2.pht .rd-faq .panel_t p{
  color: #D5DCC6;
  line-height: 1.8;
}
.rv2.pht .rd-faq .panel_t ul{
  margin: 8px 0 10px 4px;
}
.rv2.pht .rd-faq .panel_t ul > li{
  position: relative;
  padding-left: 30px;
  margin-bottom: 9px;
  color: #D5DCC6;
}
.rv2.pht .rd-faq .panel_t ul > li::before{
  border-color: #8FA551;
  background: rgba(143,165,81,0.14);
  top: 5px;
}
.rv2.pht .rd-faq .panel_t ul > li::after{
  border-color: #CFE09B;
  left: 5px;
  top: 9px;
}

/* ---------- responsive ------------------------------------------------------ */
@media (max-width: 991px){
  .rv2.pht .pht-lens{ width: 320px; height: 320px; right: -110px; }
  .rv2.pht .rd-chapter{ padding: 26px 24px 24px 30px; }
}
@media (max-width: 600px){
  .rv2.pht .pht-hero{ padding: 30px 0 38px; }
  .rv2.pht .pht-lens{ width: 220px; height: 220px; right: -80px; opacity: 0.8; }
  .rv2.pht .pht-lamp{ right: 20px; top: 20px; }
  .rv2.pht .pbt-tr, .rv2.pht .pbt-br{ right: 14px; }
  .rv2.pht .rd-chapter{ padding: 22px 18px 20px 24px; }
  .rv2.pht .rd-chapter > h2{ font-size: 19px; gap: 9px; }
  .rv2.pht .pht-chip{ font-size: 11px; letter-spacing: 1.5px; }
  .rv2.pht .pht-tag{ font-size: 11px; }
}

/* ============================================================================
    INDONESIA eVISA APPLICATION PROCESS — "Boarding Pass / Departure Board"
    theme (page: indonesia-e-visa-application-process.php · scope: .rv2.ap)
    Deep petrol-teal board band with split-flap ticks, punched perforation
    tear-line, a two-panel "ticket pair" intro (text stub + video screen),
    a numbered route timeline (01–08) for the steps chapter, a bordered
    specimen card for the sample eVisa widget (zoom JS intact), tier rows
    for processing times, monospace chips, and a dark teal FAQ tray.
    Distinct from all 17 prior pages: petrol teal + coral + ticket/board
    motif + route nodes.
    ============================================================================ */
.rv2.ap{
  --ap-deep: #0B2F3A;
  --ap-deep2: #10404F;
  --ap-teal: #0E6B7A;
  --ap-teal2: #0A4C59;
  --ap-aqua: #D7ECF0;
  --ap-coral: #E8542F;
  --ap-coral2: #C43E1E;
  --ap-paper: #F5FAFA;
  --ap-cream: #FBFDFD;
  --ap-ink: #10303C;
  --ap-body: #2E4A54;
  --ap-line: #CFE2E6;
  --ap-line2: #B9D6DB;
  background:
    repeating-linear-gradient(115deg, rgba(14,107,122,0.025) 0 2px, rgba(0,0,0,0) 2px 26px),
    radial-gradient(circle, rgba(16,48,60,0.03) 1px, rgba(0,0,0,0) 1.5px) 0 0/22px 22px,
    linear-gradient(180deg, #F2F8F8 0%, #F7FBFB 320px, #F2F8F8 100%);
  color: var(--ap-body);
  min-height: 100vh;
}
.rv2.ap strong{ color: var(--ap-ink); }

/* ---------- Hero: departure board band ----------------------------------- */
.rv2.ap .ap-hero{
  position: relative;
  overflow: hidden;
  padding: 40px 0 34px;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,0.032) 0 1px, rgba(0,0,0,0) 1px 7px),
    radial-gradient(70% 130% at 88% 10%, rgba(232,84,47,0.16) 0%, rgba(232,84,47,0) 55%),
    linear-gradient(150deg, #0B2F3A 0%, #0E3A48 55%, #124655 100%);
  border-bottom: 1px solid rgba(0,0,0,0.4);
}
/* split-flap tick strip */
.rv2.ap .ap-flaps{
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 7px;
  background: repeating-linear-gradient(90deg, rgba(215,236,240,0.28) 0 26px, rgba(0,0,0,0.35) 26px 28px);
}
/* floating board tags */
.rv2.ap .ap-tag{
  position: absolute;
  font-family: "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 2.5px;
  padding: 6px 12px;
  border-radius: 4px;
}
.rv2.ap .ap-tag-1{
  top: 26px; left: 44%;
  color: rgba(215,236,240,0.75);
  border: 1px solid rgba(215,236,240,0.35);
  background: rgba(255,255,255,0.04);
}
.rv2.ap .ap-tag-2{
  top: 74px; left: 58%;
  color: rgba(255,214,198,0.85);
  border: 1px dashed rgba(232,84,47,0.55);
  background: rgba(232,84,47,0.10);
}
.rv2.ap .ap-hero__inner{
  position: relative;
  padding: 24px 24px 4px;
}
.rv2.ap .ap-hero .breadcrumb{ margin-bottom: 16px; }
.rv2.ap .ap-hero .breadcrumb a{
  color: rgba(215,236,240,0.78) !important;
  text-decoration: none;
  font-weight: 500;
}
.rv2.ap .ap-hero .breadcrumb a:hover{ color: #9FD6DE !important; }
.rv2.ap .ap-hero .breadcrumb li{ color: rgba(215,236,240,0.6) !important; }
.rv2.ap .ap-hero .breadcrumb li + li::before{
  content: "\203A";
  padding: 0 10px;
  color: rgba(232,84,47,0.85);
}
.rv2.ap .ap-hero__title{
  color: #FBFDFD;
  font-weight: 700;
  font-size: clamp(26px, 4vw, 36px);
  line-height: 1.22;
  max-width: 780px;
}
/* route chips */
.rv2.ap .ap-hero__chips{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.rv2.ap .ap-chip{
  font-family: "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  padding: 6px 12px;
  border: 1px dashed rgba(232,84,47,0.6);
  border-radius: 4px;
  color: #FFCDBB;
  background: rgba(232,84,47,0.12);
  text-transform: uppercase;
}
/* perforation tear-line at the bottom of the band */
.rv2.ap .ap-boardline{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 15px;
  background:
    radial-gradient(circle 7px at 24px 100%, rgba(245,250,250,0.20) 98%, transparent 100%) 0 0/48px 15px repeat-x,
    linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.12));
  border-top: 2px dashed rgba(215,236,240,0.35);
}

/* ---------- Intro: two-panel ticket pair ---------------------------------- */
.rv2.ap .visa-content-wrapper{
  display: flex;
  align-items: stretch;
  gap: 0;
  margin: 30px 0 8px;
  border-radius: 16px;
  background: transparent;
  padding: 0;
}
.rv2.ap .visa-text{
  position: relative;
  flex: 1;
  background: var(--ap-cream);
  border: 1px solid var(--ap-line);
  border-right: 0;
  border-radius: 16px 0 0 16px;
  padding: 30px 34px 30px 32px;
  box-shadow: 0 14px 32px rgba(11,47,58,0.10);
}
/* punched perforation edge */
.rv2.ap .visa-text::after{
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  right: 0;
  width: 2px;
  background: repeating-linear-gradient(180deg, var(--ap-line2) 0 9px, rgba(0,0,0,0) 9px 18px);
}
.rv2.ap .visa-text::before{
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--ap-paper);
  border: 1px solid var(--ap-line);
  z-index: 2;
}
.rv2.ap .visa-text p{
  color: var(--ap-body);
  line-height: 1.85;
}
.rv2.ap .cta-btn{ margin: 22px 0 4px; }
.rv2.ap .visa-text .banner-hero-btn{
  display: inline-block;
  background: linear-gradient(120deg, #F0633D 0%, #C43E1E 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px;
  padding: 15px 30px !important;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(196,62,30,0.30);
}
.rv2.ap .visa-text .banner-hero-btn:hover{
  background: linear-gradient(120deg, #D84E2B 0%, #A62F12 100%) !important;
  transform: translateY(-1px);
}
/* video screen panel */
.rv2.ap .video-container-main{
  position: relative;
  flex: 0 0 45%;
  max-width: 600px;
  margin: 0;
  margin-left: 0;
  background: #08191F;
  border: 1px solid var(--ap-line);
  border-radius: 0 16px 16px 0;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(11,47,58,0.10);
  aspect-ratio: 16 / 9;
}
.rv2.ap .video-container-main iframe{
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.rv2.ap .video-container-main::after{
  content: "NOW SHOWING";
  position: absolute;
  top: 10px;
  left: 12px;
  font-family: "Courier New", monospace;
  font-size: 10px;
  letter-spacing: 2px;
  color: rgba(215,236,240,0.65);
  background: rgba(8,25,31,0.72);
  border: 1px solid rgba(215,236,240,0.3);
  padding: 4px 9px;
  border-radius: 4px;
  z-index: 3;
}

/* ---------- Steps chapter: route timeline --------------------------------- */
.rv2.ap .rd-chapter{
  position: relative;
  background: var(--ap-cream);
  margin: 0 0 28px;
  padding: 30px 34px 28px;
  border: 1px solid var(--ap-line);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(11,47,58,0.09);
}
.rv2.ap .rd-chapter > h2{
  margin: 0 0 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  color: var(--ap-deep);
  font-size: 23px;
  line-height: 1.3;
}
.rv2.ap .rd-steps > h2{
  position: relative;
  padding-left: 154px;
}
.rv2.ap .rd-steps > h2::before{
  content: "ROUTE 01";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 2px;
  color: #fff;
  background: linear-gradient(120deg, #127688 0%, #0A4C59 100%);
  padding: 7px 12px;
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(10,76,89,0.35);
}
.rv2.ap .rd-steps > h2::after{
  content: "";
  position: absolute;
  left: 154px;
  right: 0;
  top: calc(50% + 10px);
  height: 2px;
  background: linear-gradient(90deg, var(--ap-coral) 0 34px, var(--ap-line2) 34px 100%);
}
/* step nodes on the h3 headings */
.rv2.ap .rd-steps .rd-chapter-content{
  counter-reset: apstep 0;
  position: relative;
  padding-left: 6px;
}
.rv2.ap .rd-steps .rd-chapter-content h3{
  position: relative;
  counter-increment: apstep 1;
  margin: 34px 0 12px;
  padding-left: 64px;
  color: var(--ap-deep);
  font-size: 18.5px;
  font-weight: 700;
}
.rv2.ap .rd-steps .rd-chapter-content > h3:first-of-type{ margin-top: 6px; }
/* connecting track */
.rv2.ap .rd-steps .rd-chapter-content h3::before{
  content: counter(apstep, decimal-leading-zero);
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Courier New", monospace;
  font-size: 13px;
  letter-spacing: 1px;
  color: #fff;
  background: linear-gradient(150deg, #127688 0%, #0A4C59 100%);
  border: 3px solid var(--ap-aqua);
  box-shadow: 0 6px 14px rgba(10,76,89,0.30);
}
.rv2.ap .rd-steps .rd-chapter-content h3::after{
  content: "";
  position: absolute;
  left: 26px;
  top: calc(50% + 22px);
  width: 2px;
  height: 30px;
  background: repeating-linear-gradient(180deg, var(--ap-line2) 0 6px, rgba(0,0,0,0) 6px 11px);
}
/* last step: no dangling track, coral node */
.rv2.ap .rd-steps .rd-chapter-content h3:last-of-type::before{
  background: linear-gradient(150deg, var(--ap-coral) 0%, var(--ap-coral2) 100%);
}
/* paragraphs inside steps */
.rv2.ap .rd-steps .rd-chapter-content p{
  color: var(--ap-body);
  line-height: 1.8;
  margin-bottom: 12px;
  padding-left: 64px;
}
/* visa-tags pills (page inline style uses (0,3,0) on span — beat it) */
.rv2.ap .rd-steps .visa-tags{
  gap: 9px;
  padding-left: 64px;
  margin: 4px 0 14px;
}
.rv2.ap .rd-steps .rd-chapter-content .visa-tags span,
.rv2.ap .rd-steps .rd-chapter-content .visa-tags li{
  background: #EAF4F5;
  border: 1px solid var(--ap-line2);
  border-radius: 6px;
  padding: 7px 13px;
  font-weight: 600;
  color: var(--ap-ink);
}
.rv2.ap .rd-steps .rd-chapter-content .visa-tags i{
  color: var(--ap-teal);
}
.rv2.ap .rd-steps .rd-chapter-content ul.visa-tags{ padding-left: 64px; margin: 4px 0 14px; }
.rv2.ap .rd-steps .rd-chapter-content ul.visa-tags li{ list-style: none; }
/* regular step lists (processing times etc.) */
.rv2.ap .rd-steps .rd-chapter-content ul:not(.visa-tags){
  list-style: none;
  padding-left: 64px;
  margin: 4px 0 14px;
}
.rv2.ap .rd-steps .rd-chapter-content ul:not(.visa-tags) > li{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: #F2F8F8;
  border: 1px solid var(--ap-line);
  border-left: 4px solid var(--ap-teal);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 10px;
  line-height: 1.6;
}
.rv2.ap .rd-steps .rd-chapter-content ul:not(.visa-tags) > li strong{
  color: var(--ap-coral2);
  white-space: nowrap;
}
.rv2.ap .rd-steps .rd-chapter-content a{ color: var(--ap-teal); font-weight: 700; }
.rv2.ap .rd-steps .rd-chapter-content a:hover{ color: var(--ap-coral2); }

/* ---------- Sample eVisa widget (canvas/zoom JS intact) ------------------- */
.rv2.ap .cv-main-wrapper{
  background: var(--ap-cream) !important;
  border: 1px solid var(--ap-line2) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 30px rgba(11,47,58,0.14) !important;
  padding: 14px !important;
  position: relative;
}
.rv2.ap .cv-main-wrapper::before{
  content: "SPECIMEN";
  position: absolute;
  top: 12px;
  left: -12px;
  transform: rotate(-7deg);
  font-family: "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 3px;
  color: #fff;
  background: linear-gradient(120deg, var(--ap-coral) 0%, var(--ap-coral2) 100%);
  padding: 5px 12px;
  border-radius: 4px;
  box-shadow: 0 6px 14px rgba(196,62,30,0.35);
  z-index: 3;
}
.rv2.ap .cv-main-wrapper .cv-image{
  border: 1px solid var(--ap-line);
  background: #fff;
}
.rv2.ap .cv-zoom-icon{
  background: var(--ap-deep) !important;
  border-radius: 6px !important;
}
.rv2.ap .cv-zoom-icon i,
.rv2.ap .cv-zoom-icon .fa{
  color: var(--ap-aqua);
}

/* ---------- FAQ: dark board tray ------------------------------------------ */
.rv2.ap .rd-faq{
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,0.028) 0 1px, rgba(0,0,0,0) 1px 7px),
    linear-gradient(155deg, #0B2F3A 0%, #0E3A48 100%);
  border-color: #1E4E5D;
}
.rv2.ap .rd-faq > h2{
  color: #F2F8F8;
  padding-left: 130px;
}
.rv2.ap .rd-faq > h2 i{
  color: #9FD6DE;
  background: rgba(159,214,222,0.12);
  border: 1px solid rgba(159,214,222,0.4);
  border-radius: 9px;
  padding: 4px 8px;
}
.rv2.ap .rd-faq .rd-chapter-faq-item{ margin-bottom: 10px; }
.rv2.ap .rd-faq .accordion_t{
  width: 100%;
  text-align: left;
  background: rgba(255,255,255,0.035) !important;
  border: 1px solid #275464 !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0;
  color: #D7ECF0;
  padding: 16px 52px 16px 18px;
  font-size: 15.5px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.rv2.ap .rd-faq .accordion_t b{ font-weight: 700; color: #F2F8F8; }
.rv2.ap .rd-faq .accordion_t::after{
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: 400;
  color: #9FD6DE;
}
.rv2.ap .rd-faq .accordion_t:hover{ background: rgba(232,84,47,0.10) !important; }
/* open-state: panel carries inline max-height (JS toggles it) */
.rv2.ap .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"]){
  background: rgba(232,84,47,0.14) !important;
  border-color: rgba(232,84,47,0.55) !important;
  color: #fff !important;
}
.rv2.ap .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2013";
  color: #FFCDBB;
}
.rv2.ap .rd-faq .panel_t{ overflow: hidden; margin: 0 10px 6px; }
.rv2.ap .rd-faq .panel_t p{ color: #C4DAE0; line-height: 1.8; }

/* ---------- responsive ------------------------------------------------------ */
@media (max-width: 991px){
  .rv2.ap .visa-content-wrapper{ flex-direction: column-reverse; gap: 18px; }
  .rv2.ap .visa-text{
    border-radius: 16px;
    border-right: 1px solid var(--ap-line);
    padding: 26px 22px;
  }
  .rv2.ap .visa-text::after, .rv2.ap .visa-text::before{ content: none; }
  .rv2.ap .video-container-main{
    flex: none;
    max-width: none;
    width: 100%;
    border-radius: 16px;
  }
  .rv2.ap .rd-chapter{ padding: 26px 22px 24px; }
  .rv2.ap .rd-steps > h2{ padding-left: 0; }
  .rv2.ap .rd-steps > h2::before{ position: static; transform: none; display: inline-block; margin-bottom: 8px; }
  .rv2.ap .rd-steps > h2::after{ display: none; }
  .rv2.ap .rd-faq > h2{ padding-left: 0; }
  .rv2.ap .tag-hide-m{ display: none; }
  .rv2.ap .ap-tag-1{ left: auto; right: 18%; top: 24px; }
  .rv2.ap .ap-tag-2{ left: auto; right: 8%; top: 70px; }
}
@media (max-width: 600px){
  .rv2.ap .rd-steps .rd-chapter-content h3{
    padding-left: 52px;
    font-size: 16.5px;
    margin: 26px 0 10px;
  }
  .rv2.ap .rd-steps .rd-chapter-content h3::before{
    width: 32px; height: 32px;
    font-size: 12px;
    left: 4px;
  }
  .rv2.ap .rd-steps .rd-chapter-content h3::after{ left: 19px; height: 24px; }
  .rv2.ap .rd-steps .rd-chapter-content p,
  .rv2.ap .rd-steps .visa-tags,
  .rv2.ap .rd-steps .rd-chapter-content ul:not(.visa-tags){ padding-left: 0; }
  .rv2.ap .rd-steps .rd-chapter-content ul:not(.visa-tags) > li{ flex-direction: column; align-items: flex-start; gap: 4px; }
  .rv2.ap .ap-tag-2{ display: none; }
  .rv2.ap .ap-chip{ font-size: 11px; letter-spacing: 1.5px; }
  .rv2.ap .rd-chapter{ padding: 22px 16px 20px; }
}

/* ============================================================================
    ELIGIBLE COUNTRIES — "Rubric Ledger / Eligibility Register" theme
    (page: eligible-countries-for-indonesia-visa.php · scope: .rv2.eg)
    Cool bone-blue ledger paper with fine ruled lines, black ink, rubric
    crimson accents, monospace register tags, flag chips on ruled ledger
    lines, a double-ruled letterhead masthead with a rotated crimson stamp,
    a dog-eared step grid, a rubric-header processing table, and a
    night-ink FAQ tray. Distinct from all 19 prior pages (cool ruled-paper
    + rubric crimson + register/ledger motif).
    ============================================================================ */
.rv2.eg{
  --eg-paper: #F2F5F8;
  --eg-sheet: #FCFDFD;
  --eg-ink: #1A202B;
  --eg-body: #454E5E;
  --eg-soft: #6B7484;
  --eg-line: #C9D3E0;
  --eg-rubric: #B3123F;
  --eg-rubric2: #8E0E31;
  --eg-blue: #1D4F91;
  --eg-blue-soft: #E8EEF7;
  counter-reset: egsec 0;
  background:
    repeating-linear-gradient(180deg, rgba(0,0,0,0) 0 30px, rgba(29,79,145,0.05) 30px 31px),
    linear-gradient(180deg, #EFF3F7 0%, #F4F7FA 420px, #EFF3F7 100%);
  color: var(--eg-body);
  min-height: 100vh;
}
.rv2.eg strong{ color: var(--eg-ink); }

/* ---------- Hero: letterhead masthead ------------------------------------- */
.rv2.eg .eg-letterhead{
  position: relative;
  overflow: hidden;
  padding: 40px 0 30px;
  background:
    radial-gradient(560px 210px at 88% -12%, rgba(29,79,145,0.10), rgba(29,79,145,0) 60%),
    linear-gradient(180deg, #FDFDFC 0%, #F7F9FC 100%);
  border-bottom: 1px solid var(--eg-line);
}
.rv2.eg .eg-letterhead::before{
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 8px;
  background: linear-gradient(90deg, var(--eg-rubric) 0 58%, var(--eg-blue) 58% 100%);
}
.rv2.eg .eg-hero__inner{ position: relative; padding: 14px 6px 0; }
.rv2.eg .eg-micro{
  display: inline-block;
  font-family: "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--eg-blue);
  border: 1px solid var(--eg-line);
  background: #fff;
  padding: 5px 11px;
  border-radius: 4px;
  margin-bottom: 14px;
}
.rv2.eg .eg-letterhead .breadcrumb{ margin-bottom: 16px; }
.rv2.eg .eg-letterhead .breadcrumb a{
  color: #4A5568 !important;
  text-decoration: none;
  font-weight: 500;
}
.rv2.eg .eg-letterhead .breadcrumb a:hover{ color: var(--eg-blue) !important; }
.rv2.eg .eg-letterhead .breadcrumb li{ color: var(--eg-soft) !important; }
.rv2.eg .eg-letterhead .breadcrumb li + li::before{
  content: "\3E";
  padding: 0 10px;
  color: var(--eg-rubric);
}
.rv2.eg .eg-hero__title{
  color: var(--eg-ink);
  font-weight: 800;
  font-size: clamp(24px, 3.4vw, 34px);
  line-height: 1.25;
  max-width: 860px;
  letter-spacing: -0.01em;
}
.rv2.eg .eg-ruledline{
  margin-top: 18px;
  height: 9px;
  background: linear-gradient(180deg, var(--eg-rubric) 0 3px, rgba(0,0,0,0) 3px 5px, var(--eg-line) 5px 7px, rgba(0,0,0,0) 7px 9px);
}
.rv2.eg .eg-stamp{
  position: absolute;
  top: 58px;
  right: 44px;
  transform: rotate(6deg);
  font-family: "Courier New", monospace;
  font-size: 12px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--eg-rubric);
  border: 3px double var(--eg-rubric);
  border-radius: 8px;
  padding: 9px 14px;
  opacity: 0.72;
  background: rgba(255,255,255,0.65);
}

/* ---------- Intro + CTA ----------------------------------------------------- */
.rv2.eg .container > p{ line-height: 1.85; max-width: 920px; }
.rv2.eg .container > h2{
  color: var(--eg-ink);
  display: flex;
  align-items: center;
  gap: 12px;
}
.rv2.eg .container > h2::before{
  content: "";
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background: var(--eg-rubric);
}
.rv2.eg .cta-btn{ margin: 26px 0 8px; }
.rv2.eg .cta-btn .banner-hero-btn{
  display: inline-block;
  background: linear-gradient(120deg, var(--eg-rubric) 0%, var(--eg-rubric2) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px;
  padding: 14px 30px !important;
  font-weight: 700;
  box-shadow: 0 12px 26px rgba(142,14,49,0.28);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rv2.eg .cta-btn .banner-hero-btn:hover{
  background: linear-gradient(120deg, #9D0E33 0%, #740A25 100%) !important;
  transform: translateY(-2px);
}

/* ---------- Ledger sub-headings (list titles) ------------------------------ */
.rv2.eg .col-md-12 > h2{
  color: var(--eg-ink) !important;
  letter-spacing: 0.01em;
  border-bottom: 1px dashed var(--eg-line);
  padding-bottom: 9px;
  margin: 18px 0 14px;
}

/* ---------- Country lists: ruled register lines ---------------------------- */
.rv2.eg .div_lst, .rv2.eg .div_lst1, .rv2.eg .div_lst2{ margin-top: 6px; }
.rv2.eg .sitemap-link{ min-width: 0; }
.rv2.eg .li_cls{ margin-bottom: 0 !important; }
.rv2.eg .li_cls li{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--eg-line);
  background: rgba(255,255,255,0.6);
  line-height: 1.45;
}
.rv2.eg .li_cls li:nth-child(odd){ background: var(--eg-blue-soft); }
.rv2.eg .li_cls li a{
  color: var(--eg-ink) !important;
  text-decoration: none;
  font-weight: 500;
}
.rv2.eg .li_cls li a:hover{ color: var(--eg-rubric) !important; text-decoration: underline; }
.rv2.eg .li_cls .flag{
  margin: 0 2px 0 0;
  border: 1px solid rgba(26,32,43,0.15);
  background-color: #fff;
}
/* fade cue while a list is collapsed (inline .show_less max-height) */
.rv2.eg .div_lst.show_less, .rv2.eg .div_lst1.show_less, .rv2.eg .div_lst2.show_less{ position: relative; }
.rv2.eg .div_lst.show_less::after,
.rv2.eg .div_lst1.show_less::after,
.rv2.eg .div_lst2.show_less::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 46px;
  background: linear-gradient(180deg, rgba(252,253,253,0) 0%, var(--eg-sheet) 90%);
  pointer-events: none;
}
/* See More / See Less ink tabs (inline color needs !important) */
.rv2.eg #spn_more, .rv2.eg #spn_less,
.rv2.eg #spn_more1, .rv2.eg #spn_less1,
.rv2.eg #spn_more2, .rv2.eg #spn_less2{
  color: var(--eg-rubric) !important;
  font-family: "Courier New", monospace;
  font-size: 12.5px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: 2px solid rgba(179,18,63,0.35);
  padding-bottom: 2px;
}
.rv2.eg #spn_more:hover, .rv2.eg #spn_less:hover,
.rv2.eg #spn_more1:hover, .rv2.eg #spn_less1:hover,
.rv2.eg #spn_more2:hover, .rv2.eg #spn_less2:hover{
  color: var(--eg-rubric2) !important;
}

/* ---------- Chapters: bound ledger sheets ---------------------------------- */
.rv2.eg .rd-chapter{
  position: relative;
  background: var(--eg-sheet) !important;
  border: 1px solid var(--eg-line);
  border-radius: 10px;
  margin: 0 0 24px;
  padding: 26px 30px 24px;
  box-shadow: 0 10px 24px rgba(29,79,145,0.06);
  counter-increment: egsec 1;
}
.rv2.eg .rd-chapter > h2{
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--eg-ink);
  margin: 0 0 18px;
}
.rv2.eg .rd-chapter > h2::before{
  content: counter(egsec, decimal-leading-zero);
  flex: 0 0 auto;
  font-family: "Courier New", monospace;
  font-size: 13px;
  letter-spacing: 1.5px;
  color: #fff;
  background: linear-gradient(135deg, var(--eg-blue) 0%, #16407A 100%);
  padding: 6px 10px;
  border-radius: 5px;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,0.25);
}
.rv2.eg .rd-chapter-content p{ color: var(--eg-body); line-height: 1.8; }

/* entry-rows (single-item advantage lists) */
.rv2.eg .rd-reading .rd-chapter-content ul:not(.li_cls) > li{
  position: relative;
  margin-bottom: 9px;
  padding: 11px 14px;
  background: var(--eg-blue-soft) !important;
  border-left: 3px solid var(--eg-rubric);
  border-radius: 0 7px 7px 0;
  line-height: 1.7;
}

/* step cards: dog-eared index cards */
.rv2.eg .process-grid{ margin: 10px 0 4px; }
.rv2.eg .step-card{
  background: #fff !important;
  border: 1px solid var(--eg-line) !important;
  border-top: 4px solid var(--eg-rubric) !important;
  border-radius: 10px !important;
  padding: 18px 20px !important;
  box-shadow: 0 10px 22px rgba(26,32,43,0.08) !important;
  position: relative;
}
.rv2.eg .step-card::after{
  content: "";
  position: absolute;
  top: 0; right: 0;
  width: 26px; height: 26px;
  background: linear-gradient(135deg, rgba(0,0,0,0) 49%, var(--eg-blue-soft) 50%);
}
.rv2.eg .step-card h3{
  color: var(--eg-ink);
  font-size: 17px !important;
  font-weight: 700;
  margin: 0 0 10px;
  line-height: 1.35;
  padding-right: 44px;
}
.rv2.eg .step-card p{ color: var(--eg-body); font-size: 14.5px !important; line-height: 1.72; }

/* processing table: rubric header row */
.rv2.eg .table-responsive{
  border: 1px solid var(--eg-line);
  border-radius: 10px;
  overflow: auto;
  background: #fff;
}
.rv2.eg .table > tbody > tr > td,
.rv2.eg .table > tbody > tr > th{
  border-bottom: 1px solid var(--eg-line) !important;
  padding: 12px 14px !important;
  background-color: transparent !important;
}
.rv2.eg .table > tbody > tr:first-child td,
.rv2.eg .table > tbody > tr:first-child th{
  background: var(--eg-blue-soft) !important;
}
.rv2.eg .table > tbody > tr:first-child p strong{
  color: var(--eg-ink);
  letter-spacing: 0.02em;
}
.rv2.eg .table > tbody > tr:nth-child(even) td{
  background: rgba(232,238,247,0.45) !important;
}
.rv2.eg .table td ul{ list-style: none; padding: 0; margin: 0; }
.rv2.eg .table td li strong{ color: var(--eg-rubric) !important; }

/* ---------- FAQ: night-ink tray --------------------------------------------- */
.rv2.eg .rd-faq{
  background: #151B26 !important;
  border-color: #2A3547 !important;
  box-shadow: 0 14px 30px rgba(21,27,38,0.22) !important;
}
.rv2.eg .rd-faq > h2{ color: #F2F5F8; }
.rv2.eg .rd-faq > h2::before{
  background: linear-gradient(135deg, var(--eg-rubric) 0%, var(--eg-rubric2) 100%);
}
.rv2.eg .rd-faq .rd-chapter-faq-item{
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: 4px;
}
.rv2.eg .rd-faq .rd-chapter-faq-item:last-child{ border-bottom: 0; }
.rv2.eg .rd-faq .accordion_t{
  background: rgba(255,255,255,0.04) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.10) !important;
  border-radius: 0 !important;
  color: #D8E0EC !important;
  padding: 17px 14px !important;
  font-weight: 600;
  font-size: 15.5px;
}
.rv2.eg .rd-faq .accordion_t b{ font-weight: 700; color: #EDF1F7; }
.rv2.eg .rd-faq .accordion_t::after{ color: #8FB0E0; }
.rv2.eg .rd-faq .accordion_t:hover{ background: rgba(179,18,63,0.16) !important; }
/* open-state: panel carries inline max-height (JS toggles it) */
.rv2.eg .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"]){
  background: rgba(179,18,63,0.22) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 var(--eg-rubric) !important;
}
.rv2.eg .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"]) b{ color: #fff; }
.rv2.eg .rd-faq .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2013";
  color: #F2A8BC;
}
.rv2.eg .rd-faq .panel_t p{ color: #AEB9CC !important; line-height: 1.8; }

/* ---------- responsive ------------------------------------------------------- */
@media (max-width: 991px){
  .rv2.eg .eg-stamp{ display: none; }
  .rv2.eg .rd-chapter{ padding: 22px 20px 20px; }
}
@media (max-width: 600px){
  .rv2.eg .li_cls li{ padding: 7px 8px; }
  .rv2.eg .step-card{ padding: 16px 16px !important; }
  .rv2.eg .rd-chapter{ padding: 20px 16px 18px; }
}

/* ============================================================================
    DIFFERENT TYPES OF INDONESIAN VISAS — “Classification Dossier” theme
    (page: different-types-of-indonesian-visas.php · scope: .rv2.vp, body-level)
    Warm papyrus archive paper with a moss-green rubber-stamp accent and
    antique brass rules: a stamped “FILE REF” hero, folder-tab visa files
    (h3 tabs + spec tables), a pinstriped specimen box for the sample eVisa
    image, a letterboxed projector stage for the video, and a dark umber
    dossier tray for the FAQ. Distinct from all 20 prior pages (warm
    papyrus + moss stamp + brass, folder/dossier motif).
    body-level scoping: this page has no wrapping <article>.
    ============================================================================ */
.rv2.vp{
  --vp-paper: #F3EDDF;
  --vp-sheet: #FBF8F0;
  --vp-ink: #241D14;
  --vp-body: #4B4232;
  --vp-soft: #756A56;
  --vp-line: #D8CDB6;
  --vp-moss: #2F5A34;
  --vp-brass: #A9802F;
  --vp-brass-soft: #F2E9D2;
  counter-reset: vpfile 0;
  background:
    radial-gradient(1200px 420px at 50% -8%, rgba(169,128,47,0.10), rgba(169,128,47,0) 62%),
    linear-gradient(180deg, #F0E9D8 0%, #F5EFDF 340px, #F0E9D8 100%);
  color: var(--vp-body);
  min-height: 100vh;
}
.rv2.vp strong{ color: var(--vp-ink); }

/* ---------- Hero: stamped file cover -------------------------------------- */
.rv2.vp .vp-cover{
  position: relative;
  overflow: hidden;
  padding: 42px 0 34px;
  background:
    radial-gradient(620px 240px at 12% 0%, rgba(47,90,52,0.10), rgba(47,90,52,0) 60%),
    linear-gradient(180deg, #FCF9F1 0%, #F4EEE0 100%);
  border-bottom: 1px solid var(--vp-line);
}
.rv2.vp .vp-cover::before{
  content: "";
  position: absolute;
  top: 24px; left: 0;
  width: 100%; height: 12px;
  background:
    linear-gradient(180deg, var(--vp-brass) 0 2px, rgba(0,0,0,0) 2px 8px, var(--vp-brass) 8px 9px, rgba(0,0,0,0) 9px 12px);
  opacity: 0.55;
}
.rv2.vp .vp-cover::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(90deg, rgba(36,29,20,0.028) 0 1px, rgba(0,0,0,0) 1px 9px);
  pointer-events: none;
}
.rv2.vp .vp-filemeta{
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  font-family: "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--vp-soft);
}
.rv2.vp .vp-filemeta .chip{
  border: 1px solid var(--vp-line);
  background: var(--vp-sheet);
  padding: 6px 12px;
  border-radius: 3px;
  box-shadow: inset 0 1px 2px rgba(36,29,20,0.08);
}
.rv2.vp .vp-filemeta .chip b{ color: var(--vp-moss); font-weight: 700; letter-spacing: 1px; }
.rv2.vp .vp-title{
  text-align: center;
  color: var(--vp-ink);
  font-weight: 800;
  font-size: clamp(26px, 3.6vw, 38px);
  line-height: 1.2;
  max-width: 900px;
  margin: 0 auto 14px;
  letter-spacing: -0.01em;
  text-shadow: 0 1px 0 rgba(255,255,255,0.8);
}
.rv2.vp .vp-breadcrumb{
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.rv2.vp .vp-breadcrumb .breadcrumb{ display: block; }
.rv2.vp .vp-breadcrumb .breadcrumb a{
  color: var(--vp-soft) !important;
  text-decoration: none;
  font-weight: 500;
  font-size: 13.5px;
}
.rv2.vp .vp-breadcrumb .breadcrumb a:hover{ color: var(--vp-moss) !important; }
.rv2.vp .vp-breadcrumb .breadcrumb li{
  color: var(--vp-soft) !important;
  font-size: 13.5px;
}
.rv2.vp .vp-breadcrumb .breadcrumb li + li::before{
  content: "\00BB";
  padding: 0 9px;
  color: var(--vp-brass);
}
.rv2.vp .vp-underline{
  width: 210px;
  height: 10px;
  margin: 0 auto;
  background:
    linear-gradient(180deg, var(--vp-moss) 0 3px, rgba(0,0,0,0) 3px 6px, var(--vp-brass) 6px 7px, rgba(0,0,0,0) 7px 10px);
  opacity: 0.75;
}
.rv2.vp .vp-stamp{
  position: absolute;
  top: 16px;
  right: 4.5%;
  transform: rotate(7deg);
  font-family: "Courier New", monospace;
  font-size: 11.5px;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--vp-moss);
  border: 3px double var(--vp-moss);
  border-radius: 6px;
  padding: 8px 13px;
  opacity: 0.62;
  background: rgba(255,255,255,0.45);
  mix-blend-mode: multiply;
}

/* ---------- Intro + CTA (inside .container) -------------------------------- */
.rv2.vp .visa-content-wrapper .visa-text p{
  font-size: 16.5px;
  line-height: 1.8;
}
.rv2.vp .cta-btn{ margin-top: 18px; }
.rv2.vp .cta-btn .banner-hero-btn{
  display: inline-block;
  background: linear-gradient(135deg, var(--vp-moss) 0%, #234726 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(36,29,20,0.35) !important;
  border-radius: 7px;
  padding: 14px 30px !important;
  font-weight: 700;
  letter-spacing: 0.3px;
  box-shadow: 0 10px 22px rgba(47,90,52,0.30), inset 0 1px 0 rgba(255,255,255,0.25);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.rv2.vp .cta-btn .banner-hero-btn:hover{
  background: linear-gradient(135deg, #27492B 0%, #1B3620 100%) !important;
  transform: translateY(-2px);
}

/* ---------- Projector stage for the video ---------------------------------- */
.rv2.vp .video-container-main{
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 10px;
}
.rv2.vp .video-container-main iframe{
  border: 8px solid var(--vp-brass-soft) !important;
  outline: 1px solid var(--vp-line);
  border-radius: 6px;
  box-shadow: 0 18px 40px rgba(36,29,20,0.28);
}

/* ---------- Specimen box: sample eVisa image ------------------------------- */
.rv2.vp .cv-main-wrapper{
  float: none;
  width: 100%;
  max-width: 560px;
  margin: 0 auto 34px;
  background:
    repeating-linear-gradient(45deg, rgba(169,128,47,0.05) 0 6px, rgba(0,0,0,0) 6px 12px),
    var(--vp-sheet);
  border: 1px solid var(--vp-line);
  outline: 4px double rgba(169,128,47,0.5);
  outline-offset: -10px;
  border-radius: 10px;
  box-shadow: 0 22px 44px rgba(36,29,20,0.20);
  padding: 22px 20px 18px;
  position: relative;
}
.rv2.vp .cv-main-wrapper::after{
  content: "SPECIMEN";
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%) rotate(-4deg);
  font-family: "Courier New", monospace;
  font-size: 10.5px;
  letter-spacing: 4px;
  color: rgba(47,90,52,0.55);
  border: 2px double rgba(47,90,52,0.55);
  border-radius: 4px;
  padding: 4px 10px;
  background: rgba(255,255,255,0.6);
  pointer-events: none;
}
.rv2.vp .cv-main-wrapper .cv-zoom-icon{
  background: rgba(47,90,52,0.85);
  border-radius: 6px;
}

/* ---------- Section heading: Types of Indonesia eVisa ---------------------- */
/* The "Types of Indonesia eVisa" heading — folder index band */
.rv2.vp .vp-indexhead{
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 44px 0 26px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  color: #E9DFC6;
  background:
    linear-gradient(180deg, #33513A 0%, #2F5A34 55%, #27492B 100%);
  padding: 16px 22px;
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 12px 24px rgba(47,90,52,0.25);
  position: relative;
  overflow: hidden;
}
.rv2.vp .vp-indexhead::before{
  content: "FILE INDEX";
  flex: 0 0 auto;
  font-family: "Courier New", monospace;
  font-size: 10.5px;
  letter-spacing: 3px;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.30);
  color: #F3ECD9;
  padding: 5px 10px;
  border-radius: 4px;
}
.rv2.vp .vp-indexhead::after{
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,0.05) 0 2px, rgba(0,0,0,0) 2px 22px);
  pointer-events: none;
}

/* ---------- Visa files: folder-tab cards ----------------------------------- */
.rv2.vp .c1-visa-section{
  position: relative;
  background: var(--vp-sheet);
  border: 1px solid var(--vp-line);
  border-radius: 10px;
  margin: 0 0 30px;
  padding: 26px 30px 28px;
  box-shadow: 0 14px 30px rgba(36,29,20,0.10);
  counter-increment: vpfile 1;
}
.rv2.vp .c1-visa-section::before{
  content: "FILE " counter(vpfile, decimal-leading-zero);
  position: absolute;
  top: -15px;
  left: 26px;
  font-family: "Courier New", monospace;
  font-size: 11px;
  letter-spacing: 2.5px;
  color: var(--vp-brass);
  background: var(--vp-brass-soft);
  border: 1px solid var(--vp-line);
  border-bottom: 0;
  padding: 6px 12px 5px;
  border-radius: 7px 7px 0 0;
}
.rv2.vp .c1-visa-section h3{
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  color: var(--vp-ink);
  background: linear-gradient(180deg, #3A5C3F 0%, #2F5A34 100%);
  color: #F1E9D3;
  padding: 10px 22px;
  border-radius: 8px 8px 0 0;
  margin: -8px 0 18px;
  letter-spacing: 0.02em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.20), 0 6px 14px rgba(47,90,52,0.22);
}
.rv2.vp .c1-visa-section h4{
  font-family: "Courier New", monospace;
  font-size: 12.5px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--vp-brass);
  margin: 18px 0 10px;
}
.rv2.vp .c1-visa-uses li,
.rv2.vp .c1-visa-section ul li{
  padding: 6px 10px;
  background: var(--vp-brass-soft);
  border-left: 3px solid var(--vp-brass);
  border-radius: 0 6px 6px 0;
  margin-bottom: 6px;
}
.rv2.vp .c1-visa-media img{
  border: 6px solid #fff;
  outline: 1px solid var(--vp-line);
  border-radius: 6px;
  box-shadow: 0 14px 28px rgba(36,29,20,0.22);
}
/* spec tables inside files */
.rv2.vp .c1-visa-table{
  border: 1px solid var(--vp-line);
  border-radius: 8px;
  overflow: auto;
  background: #fff;
}
.rv2.vp .c1-visa-table .table{
  background: #fff !important;
  border: none !important;
}
.rv2.vp .c1-visa-table .table > tbody > tr > td,
.rv2.vp .c1-visa-table .table > tbody > tr > th{
  padding: 11px 14px !important;
  border-bottom: 1px solid var(--vp-line) !important;
  background-color: transparent !important;
}
.rv2.vp .c1-visa-table .table > tbody > tr:first-child td,
.rv2.vp .c1-visa-table .table > tbody > tr:first-child th{
  background: var(--vp-brass-soft) !important;
  font-family: "Courier New", monospace;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 12.5px;
  color: var(--vp-ink);
  border-top: 3px solid var(--vp-moss) !important;
}
.rv2.vp .c1-visa-table .table > tbody > tr:nth-child(even) td{
  background: rgba(242,233,210,0.40) !important;
}
.rv2.vp .c1-visa-table .table td p{
  font-size: 14.5px;
}

/* ---------- FAQ: umber dossier tray ---------------------------------------- */
.rv2.vp .vp-faq-tray{
  background: #20261E;
  color: #E8E3D3;
  border-radius: 12px;
  padding: 30px 34px 26px;
  margin: 12px 0 40px;
  box-shadow: 0 18px 38px rgba(32,38,30,0.35), inset 0 1px 0 rgba(255,255,255,0.08);
  border: 1px solid #38402F;
  position: relative;
  overflow: hidden;
}
.rv2.vp .vp-faq-tray h2{
  color: #F1ECDC;
  font-family: Georgia, "Times New Roman", serif;
  margin-bottom: 20px;
}
.rv2.vp .vp-faq-tray h2::before{
  content: "";
  display: inline-block;
  width: 34px;
  height: 4px;
  background: var(--vp-brass);
  border-radius: 2px;
  margin-right: 12px;
  vertical-align: middle;
}
.rv2.vp .vp-faq-tray .accordion_t{
  background: rgba(255,255,255,0.05) !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  color: #D8D2BE !important;
  padding: 16px 14px !important;
  border-radius: 8px;
  font-size: 15.5px;
}
.rv2.vp .vp-faq-tray .accordion_t b{ color: #EFEADB; font-weight: 700; }
.rv2.vp .vp-faq-tray .accordion_t::after{ color: #CBB35E; }
.rv2.vp .vp-faq-tray .accordion_t:hover{ background: rgba(169,128,47,0.14) !important; }
/* open-state: panel carries inline max-height (JS toggles it) */
.rv2.vp .vp-faq-tray .accordion_t:has(+ .panel_t[style*="max-height"]){
  background: rgba(169,128,47,0.20) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 var(--vp-brass) !important;
}
.rv2.vp .vp-faq-tray .accordion_t:has(+ .panel_t[style*="max-height"]) b{ color: #fff; }
.rv2.vp .vp-faq-tray .accordion_t:has(+ .panel_t[style*="max-height"])::after{
  content: "\2013";
  color: #F1ECDC;
}
.rv2.vp .vp-faq-tray .panel_t{ padding: 6px 14px 14px 20px; }
.rv2.vp .vp-faq-tray .panel_t p{
  color: #D8D2BE !important;
  line-height: 1.8;
}
.rv2.vp .vp-faq-tray .panel_t a{ color: #E9C87A !important; font-weight: 600; }

/* ---------- responsive ------------------------------------------------------- */
@media (max-width: 991px){
  .rv2.vp .vp-stamp{ display: none; }
  .rv2.vp .c1-visa-section{ padding: 24px 20px 24px; }
  .rv2.vp .vp-faq-tray{ padding: 26px 22px 22px; }
}
@media (max-width: 600px){
  .rv2.vp .c1-visa-section{ padding: 22px 16px 20px; }
  .rv2.vp .c1-visa-section::before{ left: 18px; }
  .rv2.vp .vp-indexhead{ font-size: 19px; padding: 14px 16px; }
}


/* ============================================================
   RV2 · CS — CONSULATE · "Diplomatic Letterhead + Wax Seal"
   vellum paper / officer-green ink / wax-seal vermilion / gild
   body-scoped (no <article> on this page)
   ============================================================ */
.rv2.cs{
  --cs-vellum:#F6F2E9;
  --cs-paper:#FCFAF4;
  --cs-ink:#20242E;
  --cs-body:#454B57;
  --cs-rule:#D7D2C4;
  --cs-green:#1F5140;
  --cs-green-deep:#173D30;
  --cs-green-soft:#E4EBE5;
  --cs-seal:#B23A2E;
  --cs-gild:#A98B4E;
  background:linear-gradient(180deg, #EFE9DA 0%, var(--cs-vellum) 260px, var(--cs-vellum) 100%) !important;
  background-attachment:scroll !important;
  color:var(--cs-body) !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  letter-spacing:.01em;
}
.rv2.cs body, .rv2.cs > section, .rv2.cs .container{ color:var(--cs-body); }

/* ---------- links ---------- */
.rv2.cs a{ color:var(--cs-green) !important; text-decoration:none; }
.rv2.cs a:hover{ color:var(--cs-seal) !important; text-decoration:underline; }

/* ---------- HERO: letterhead cover ---------- */
.rv2.cs .cs-cover{
  position:relative;
  background:
    repeating-linear-gradient(135deg, rgba(169,139,78,.04) 0 2px, rgba(169,139,78,0) 2px 9px),
    var(--cs-paper) !important;
  border-bottom:1px solid var(--cs-rule) !important;
  box-shadow:0 1px 0 rgba(32,36,46,.05), 0 14px 28px rgba(32,36,46,.07);
  padding:34px 20px 26px !important;
  margin-bottom:34px !important;
  overflow:hidden;
}
.rv2.cs .cs-cover::before{
  content:"";
  position:absolute; inset:0;
  border:1px solid rgba(169,139,78,.42);
  margin:7px;
  pointer-events:none;
  background:none;
}
.rv2.cs .cs-eyebrow{
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--cs-gild); font-weight:700;
  display:block; text-align:center; margin-bottom:10px;
}
.rv2.cs .cs-seal{ position:absolute; top:22px; right:34px; opacity:.95; }
.rv2.cs .cs-seal svg{ display:block; filter:drop-shadow(0 2px 3px rgba(178,58,46,.25)); }
.rv2.cs .cs-breadcrumb .breadcrumb{ margin-bottom:0 !important; }
.rv2.cs .cs-breadcrumb .breadcrumb-item{
  font-size:12.5px; color:#6E6A5C !important; letter-spacing:.02em;
}
.rv2.cs .cs-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:var(--cs-gild) !important; }
.rv2.cs .cs-breadcrumb .breadcrumb-item a{ color:var(--cs-green) !important; }
.rv2.cs .cs-cover h1{
  font-family:Georgia, 'Times New Roman', serif !important;
  font-size:clamp(26px, 3.6vw, 40px) !important;
  line-height:1.16 !important;
  color:var(--cs-ink) !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:6px auto 14px !important;
  max-width:860px;
  letter-spacing:.004em;
}
.rv2.cs .cs-rule{
  height:3px; width:220px; margin:0 auto;
  background:linear-gradient(90deg, rgba(169,139,78,0) 0%, var(--cs-gild) 18%, var(--cs-seal) 50%, var(--cs-gild) 82%, rgba(169,139,78,0) 100%);
}

/* ---------- main dossier card ---------- */
.rv2.cs .col-md-8.brd_r{
  background:var(--cs-paper) !important;
  border:1px solid var(--cs-rule) !important;
  border-top:3px solid var(--cs-gild) !important;
  border-radius:4px;
  box-shadow:0 10px 24px rgba(32,36,46,.09) !important;
  padding:22px 24px !important;
  margin-bottom:30px !important;
}
.rv2.cs .col-md-8.brd_r::-webkit-details-marker{ display:none; }
.rv2.cs .col-md-8.brd_r aside p{
  font-size:14px; line-height:1.75 !important; color:var(--cs-body) !important;
  border-left:3px solid var(--cs-green);
  padding-left:12px; margin:0;
}
.rv2.cs .col-md-8.brd_r table{ width:100%; border-collapse:collapse !important; margin:8px 0; }
.rv2.cs .col-md-8.brd_r table td{
  padding:9px 10px !important;
  border-bottom:1px solid rgba(215,210,196,.8) !important;
  vertical-align:top !important;
  font-size:13.5px !important; color:var(--cs-body) !important;
}
.rv2.cs .col-md-8.brd_r table tr:last-child td{ border-bottom:none !important; }
.rv2.cs .col-md-8.brd_r table td strong{
  color:var(--cs-green) !important; font-size:12px !important;
  letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
}
/* map frame */
.rv2.cs .map.detail_map{
  background:var(--cs-paper) !important;
  border:1px solid var(--cs-rule) !important;
  box-shadow:0 0 0 5px var(--cs-paper), 0 0 0 6px rgba(169,139,78,.55) !important;
  padding:8px !important; border-radius:3px;
  margin:6px 0 14px;
}
.rv2.cs .map.detail_map .if_map{ border:none !important; display:block; width:100%; border-radius:2px; }
/* hours / mission paragraphs */
.rv2.cs .col-md-8.brd_r p{ font-size:13.5px !important; line-height:1.75; margin-bottom:8px; }
.rv2.cs .col-md-8.brd_r p b{ color:var(--cs-ink) !important; }

/* ---------- folio blocks (block_div) ---------- */
.rv2.cs .block_div{
  background:var(--cs-paper) !important;
  border:1px solid var(--cs-rule) !important;
  border-radius:4px;
  box-shadow:0 6px 16px rgba(32,36,46,.06);
  margin-bottom:18px !important;
  overflow:hidden;
}
.rv2.cs .col-md-8.brd_r .block_div{ border-top:3px solid var(--cs-green) !important; }
.rv2.cs .collaps_heading{
  font-size:14.5px !important; font-weight:700 !important;
  color:var(--cs-green) !important;
  border-bottom:1px solid rgba(169,139,78,.4) !important;
  background:linear-gradient(180deg, var(--cs-green-soft) 0%, rgba(228,235,229,0) 100%) !important;
  padding:10px 14px !important;
  margin:0 !important; line-height:1.55;
}
.rv2.cs .collaps_heading b{ color:var(--cs-ink) !important; }
@media (max-width: 768px){
  .rv2.cs .collaps_heading{ cursor:pointer; }
}
.rv2.cs .collapsible_p{ padding:13px 15px !important; margin:0; }
.rv2.cs .collapsible_p p{ font-size:13.5px !important; line-height:1.72; color:var(--cs-body) !important; margin-bottom:8px; }
.rv2.cs .collapsible_p i{ font-style:italic; color:#7A7566; font-size:12.5px !important; }

/* consular services ledger list */
.rv2.cs .li_cls{ list-style:none !important; margin:6px 0 !important; padding:0 !important; }
.rv2.cs .li_cls li{
  position:relative;
  padding:7px 12px 7px 26px !important;
  margin-bottom:5px;
  background:rgba(228,235,229,.55) !important;
  border-left:3px solid var(--cs-green) !important;
  font-size:13px !important; color:var(--cs-body) !important;
}
.rv2.cs .li_cls li::before{
  content:"\25A0"; position:absolute; left:10px; top:7px;
  color:var(--cs-gild); font-size:9px;
}

/* ---------- section bands (inline #516171 h2s) ---------- */
.rv2.cs h2{
  background:var(--cs-green) !important;
  color:#F4F1E6 !important;
  font-size:15px !important;
  letter-spacing:.14em; text-transform:uppercase;
  font-family:Georgia, 'Times New Roman', serif !important;
  padding:10px 14px !important;
  margin:0 0 12px !important;
  border-left:4px solid var(--cs-seal) !important;
  border-radius:2px;
  text-align:left;
}
/* latest comments list */
.rv2.cs #lc{ padding:12px 2px; }
.rv2.cs #lc .media{ border-bottom:1px dashed rgba(215,210,196,.9); padding:10px 0; }
.rv2.cs #lc .media-heading, .rv2.cs #lc h4{ color:var(--cs-ink) !important; font-weight:700; font-size:14px !important; }
.rv2.cs #lc p{ font-size:13px !important; color:var(--cs-body) !important; }

/* ---------- comment form ---------- */
.rv2.cs #act_frm{
  background:var(--cs-paper) !important;
  border:1px solid var(--cs-rule) !important;
  padding:18px 16px !important;
  border-radius:3px;
}
.rv2.cs #act_frm label{
  font-size:12px !important; font-weight:700; color:var(--cs-green) !important;
  text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:5px;
}
.rv2.cs #act_frm textarea.form-control,
.rv2.cs #act_frm input[type="text"]{
  width:100% !important;
  background:#fff !important;
  border:1px solid #C9C2B0 !important;
  border-radius:2px !important;
  font-size:13.5px !important; color:var(--cs-ink) !important;
  padding:8px 10px !important;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.rv2.cs #act_frm textarea.form-control:focus,
.rv2.cs #act_frm input[type="text"]:focus{
  border-color:var(--cs-green) !important;
  box-shadow:0 0 0 3px rgba(31,81,64,.14) !important;
  outline:none !important;
}
.rv2.cs .capta_div_img{
  display:flex !important; align-items:center; gap:9px; margin-top:2px;
  background:#fff !important; border:1px dashed #C9C2B0 !important;
  padding:6px 8px; border-radius:2px; width:max-content;
}
.rv2.cs .capta_div_img .captcha_refresh_1{
  color:var(--cs-green) !important; font-size:19px !important; cursor:pointer;
}
.rv2.cs .capta_div_img .captcha_refresh_1:hover{ color:var(--cs-seal); }
.rv2.cs .capta_div{ display:flex !important; align-items:center; margin-top:2px; }
.rv2.cs #captcha_img_1{ border-radius:2px; box-shadow:0 0 0 2px rgba(169,139,78,.28); }
.rv2.cs #chk_1{
  width:100% !important; background:#fff !important;
  border:1px solid #C9C2B0 !important; border-radius:2px !important;
  font-size:13.5px !important; padding:8px 10px !important;
}
.rv2.cs .capta_div #chk_1:focus{ border-color:var(--cs-green) !important; }
/* submit (prod .btn-brand red -> officer green) */
.rv2.cs #comment_section.btn{
  background-color:var(--cs-green) !important;
  background-image:none !important;
  color:#F7F4EA !important;
  border:1px solid var(--cs-green-deep) !important;
  font-size:13px !important; letter-spacing:.14em; text-transform:uppercase !important;
  font-weight:700; border-radius:2px !important;
  padding:10px 26px !important;
  box-shadow:0 2px 6px rgba(23,61,48,.35) !important;
}
.rv2.cs #comment_section.btn:hover{ background-color:var(--cs-green-deep) !important; }

/* ---------- other representations ---------- */
.rv2.cs .cls1{
  background:var(--cs-paper) !important;
  border:1px solid var(--cs-rule) !important;
  border-left:3px solid var(--cs-gild) !important;
  border-radius:2px !important;
  padding:10px 12px !important;
  margin-bottom:10px !important;
  box-shadow:0 3px 9px rgba(32,36,46,.06);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.rv2.cs .cls1:hover{ border-color:var(--cs-green) !important; box-shadow:0 6px 14px rgba(31,81,64,.14); }
.rv2.cs .ToprollCtrl p{ margin-bottom:6px !important; font-size:13px !important; color:var(--cs-body) !important; line-height:1.6; }
.rv2.cs .ToprollCtrl{ font-size:13px; }

/* ---------- edit modal (kept functional; light reskin) ---------- */
.rv2.cs .modalof .modal-content_of{ border-radius:3px !important; }
.rv2.cs .modalof label{ font-size:12px !important; font-weight:700; color:var(--cs-green); text-transform:uppercase; letter-spacing:.06em; }
.rv2.cs .modalof [contenteditable]{
  border:1px solid #C9C2B0 !important; border-radius:2px; background:#fff;
  font-size:13px !important; color:var(--cs-ink);
}
.rv2.cs #updateemb{ background:var(--cs-green) !important; border-color:var(--cs-green-deep) !important; }
.rv2.cs #cancel{ background:var(--cs-seal) !important; }

/* ---------- mobile ---------- */
@media (max-width: 768px){
  .rv2.cs .cs-cover{ padding:26px 14px 20px !important; }
  .rv2.cs .cs-seal{ position:static; margin:0 auto 12px; width:max-content; }
  .rv2.cs .cs-seal svg{ width:84px; height:84px; }
  .rv2.cs .col-md-8.brd_r{ padding:16px 14px !important; }
  .rv2.cs h2{ font-size:13.5px !important; letter-spacing:.1em; }
  .rv2.cs .map.detail_map{ box-shadow:0 0 0 4px var(--cs-paper), 0 0 0 5px rgba(169,139,78,.5) !important; }
}


/* ============================================================
   RV2 · EMB — EMBASSY · "Diplomatic Plate & Flag"
   cool porcelain / gunmetal slate / flag crimson / silver line
   body-scoped (no <article> on this page)
   ============================================================ */
.rv2.emb{
  --emb-porcelain:#EFF2F6;
  --emb-plate:#FFFFFF;
  --emb-tint:#F5F7FA;
  --emb-ink:#232C3E;
  --emb-body:#49566D;
  --emb-slate:#35455F;
  --emb-slate-deep:#27354D;
  --emb-flagred:#CE2429;
  --emb-flagdark:#A81D22;
  --emb-line:#CBD4E0;
  --emb-steel:#5F6E88;
  background:
    repeating-linear-gradient(0deg, rgba(95,110,136,.035) 0 1px, rgba(95,110,136,0) 1px 96px),
    linear-gradient(180deg, #E6EBF1 0%, var(--emb-porcelain) 300px, var(--emb-porcelain) 100%) !important;
  background-attachment:scroll !important;
  color:var(--emb-body) !important;
  font-family:"Segoe UI", Verdana, Arial, sans-serif !important;
}
.rv2.emb body, .rv2.emb > section, .rv2.emb .container{ color:var(--emb-body); }

/* ---------- links ---------- */
.rv2.emb a{ color:var(--emb-slate) !important; text-decoration:none; }
.rv2.emb a:hover{ color:var(--emb-flagred) !important; text-decoration:underline; }

/* ---------- HERO: diplomatic plate ---------- */
.rv2.emb .emb-cover{
  position:relative;
  background:var(--emb-plate) !important;
  border-bottom:1px solid var(--emb-line) !important;
  box-shadow:0 1px 0 rgba(35,44,62,.06), 0 12px 26px rgba(35,44,62,.08);
  padding:30px 20px 26px !important;
  margin-bottom:34px !important;
  overflow:hidden;
}
.rv2.emb .emb-cover::before{
  content:"";
  position:absolute; inset:0;
  border:1px solid var(--emb-line);
  margin:6px;
  pointer-events:none;
  background:none;
}
.rv2.emb .emb-cover::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:4px;
  background:linear-gradient(90deg, var(--emb-flagred) 0%, var(--emb-flagred) 34%, #F2F4F8 34%, #F2F4F8 66%, var(--emb-slate) 66%) !important;
}
.rv2.emb .emb-flag{ position:absolute; top:20px; left:34px; }
.rv2.emb .emb-flag svg{ display:block; filter:drop-shadow(0 2px 3px rgba(35,44,62,.22)); }
.rv2.emb .emb-eyebrow{
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--emb-steel); font-weight:600;
  display:block; text-align:center; margin-bottom:10px;
}
.rv2.emb .emb-breadcrumb .breadcrumb{ margin-bottom:0 !important; }
.rv2.emb .emb-breadcrumb .breadcrumb-item{
  font-size:12.5px; color:var(--emb-steel) !important; letter-spacing:.02em;
}
.rv2.emb .emb-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:#93A1B8 !important; }
.rv2.emb .emb-breadcrumb .breadcrumb-item a{ color:var(--emb-slate) !important; }
.rv2.emb .emb-breadcrumb .breadcrumb-item a:hover{ color:var(--emb-flagred) !important; }
.rv2.emb .emb-cover h1{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:clamp(26px, 3.6vw, 40px) !important;
  line-height:1.16 !important;
  color:var(--emb-ink) !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:6px auto 14px !important;
  max-width:860px;
}
.rv2.emb .emb-rule{
  height:3px; width:220px; margin:0 auto;
  background:linear-gradient(90deg, rgba(43,69,95,0) 0%, var(--emb-slate) 16%, var(--emb-flagred) 50%, var(--emb-slate) 84%, rgba(43,69,95,0) 100%);
}

/* ---------- main plate card ---------- */
.rv2.emb .col-md-8.brd_r{
  background:var(--emb-plate) !important;
  border:1px solid var(--emb-line) !important;
  border-top:5px solid var(--emb-flagred) !important;
  border-radius:2px;
  box-shadow:0 10px 24px rgba(35,44,62,.09) !important;
  padding:22px 24px !important;
  margin-bottom:30px !important;
}
.rv2.emb .col-md-8.brd_r aside p{
  font-size:14px; line-height:1.75 !important; color:var(--emb-body) !important;
  border-left:3px solid var(--emb-slate);
  padding-left:12px; margin:0;
}
.rv2.emb .col-md-8.brd_r table{ width:100%; border-collapse:collapse !important; margin:8px 0; }
.rv2.emb .col-md-8.brd_r table td{
  padding:9px 10px !important;
  border-bottom:1px solid rgba(203,212,224,.85) !important;
  vertical-align:top !important;
  font-size:13.5px !important; color:var(--emb-body) !important;
}
.rv2.emb .col-md-8.brd_r table tr:last-child td{ border-bottom:none !important; }
.rv2.emb .col-md-8.brd_r table td strong{
  color:var(--emb-slate) !important; font-size:12px !important;
  letter-spacing:.08em; text-transform:uppercase; white-space:nowrap;
}
/* map frame: gunmetal double frame */
.rv2.emb .map.detail_map{
  background:var(--emb-plate) !important;
  border:1px solid var(--emb-slate) !important;
  box-shadow:0 0 0 5px var(--emb-plate), 0 0 0 6px rgba(53,69,95,.5) !important;
  padding:8px !important; border-radius:2px;
  margin:6px 0 14px;
}
.rv2.emb .map.detail_map .if_map{ border:none !important; display:block; width:100%; border-radius:1px; }
/* hours / mission paragraphs */
.rv2.emb .col-md-8.brd_r p{ font-size:13.5px !important; line-height:1.75; margin-bottom:8px; }
.rv2.emb .col-md-8.brd_r p b{ color:var(--emb-ink) !important; }

/* ---------- folio blocks (block_div) ---------- */
.rv2.emb .block_div{
  background:var(--emb-tint) !important;
  border:1px solid var(--emb-line) !important;
  border-radius:2px;
  box-shadow:0 5px 14px rgba(35,44,62,.06);
  margin-bottom:18px !important;
  overflow:hidden;
}
.rv2.emb .col-md-8.brd_r .block_div{ border-top:3px solid var(--emb-slate) !important; background:var(--emb-plate) !important; }
.rv2.emb .collaps_heading,
.rv2.emb .granted_visa_type{
  font-size:14.5px !important; font-weight:700 !important;
  color:var(--emb-slate) !important;
  border-bottom:1px solid var(--emb-line) !important;
  border-left:4px solid var(--emb-flagred) !important;
  background:linear-gradient(180deg, #F5F7FA 0%, rgba(245,247,250,0) 130%) !important;
  padding:10px 14px !important;
  margin:0 !important; line-height:1.55;
}
.rv2.emb .collaps_heading b, .rv2.emb .granted_visa_type b{ color:var(--emb-ink) !important; }
.rv2.emb .granted_visa_type{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  letter-spacing:.04em;
}
@media (max-width: 768px){
  .rv2.emb .collaps_heading{ cursor:pointer; }
  .rv2.emb .granted_visa_type{ cursor:pointer; }
}
.rv2.emb .collapsible_p{ padding:13px 15px !important; margin:0; }
.rv2.emb .collapsible_p p{ font-size:13.5px !important; line-height:1.72; color:var(--emb-body) !important; margin-bottom:8px; }
.rv2.emb .collapsible_p i{ font-style:italic; color:#7B8598; font-size:12.5px !important; }

/* service & visa lists */
.rv2.emb .list-ul, .rv2.emb .list1-ul{ list-style:none !important; padding:0 !important; margin:8px 0 !important; }
.rv2.emb .list-ul li, .rv2.emb .list1-ul li{
  position:relative;
  padding:7px 12px 7px 26px !important;
  margin-bottom:5px !important;
  background:rgba(245,247,250,.85) !important;
  border-left:3px solid var(--emb-slate) !important;
  font-size:13px !important; color:var(--emb-body) !important;
}
.rv2.emb .list-ul li::before, .rv2.emb .list1-ul li::before{
  content:"\25C6"; position:absolute; left:10px; top:8px;
  color:var(--emb-flagred); font-size:9px;
}
.rv2.emb .list1-ul li b{ color:var(--emb-ink) !important; }
.rv2.emb ul:not(.list-ul):not(.list1-ul) > li{ padding:3px 0; color:var(--emb-body); }

/* ---------- section bands (inline #516171 h2s) ---------- */
.rv2.emb h2{
  background:var(--emb-slate) !important;
  color:#EDF1F6 !important;
  font-size:14px !important;
  letter-spacing:.16em; text-transform:uppercase;
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  padding:10px 14px !important;
  margin:0 0 12px !important;
  border-left:4px solid var(--emb-flagred) !important;
  border-radius:2px;
  text-align:left !important;
}
/* latest comments list */
.rv2.emb #lc{ background:var(--emb-plate) !important; border:1px solid var(--emb-line); border-top:3px solid var(--emb-slate); padding:12px 2px; border-radius:2px; }
.rv2.emb #lc .media{ border-bottom:1px dashed rgba(203,212,224,.9); padding:10px 0; }
.rv2.emb #lc .media-heading, .rv2.emb #lc h4{ color:var(--emb-ink) !important; font-weight:700; font-size:14px !important; }
.rv2.emb #lc p{ font-size:13px !important; color:var(--emb-body) !important; }
.rv2.emb #lc .flaticon-profile{ color:var(--emb-steel); }

/* ---------- comment form ---------- */
.rv2.emb #act_frm{
  background:var(--emb-plate) !important;
  border:1px solid var(--emb-line) !important;
  padding:18px 16px !important;
  border-radius:2px;
}
.rv2.emb #act_frm label{
  font-size:12px !important; font-weight:700; color:var(--emb-slate) !important;
  text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:5px;
}
.rv2.emb #act_frm textarea.form-control,
.rv2.emb #act_frm input[type="text"]{
  width:100% !important;
  background:var(--emb-tint) !important;
  border:1px solid #C4CEDA !important;
  border-radius:2px !important;
  font-size:13.5px !important; color:var(--emb-ink) !important;
  padding:8px 10px !important;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.rv2.emb #act_frm textarea.form-control:focus,
.rv2.emb #act_frm input[type="text"]:focus{
  border-color:var(--emb-flagred) !important;
  box-shadow:0 0 0 3px rgba(206,36,41,.12) !important;
  outline:none !important;
  background:#fff !important;
}
.rv2.emb .capta_div_img{
  display:flex !important; align-items:center; gap:9px; margin-top:2px;
  background:var(--emb-tint) !important; border:1px dashed #C4CEDA !important;
  padding:6px 8px; border-radius:2px; width:max-content;
}
.rv2.emb .capta_div_img .captcha_refresh_1{
  color:var(--emb-slate) !important; font-size:19px !important; cursor:pointer;
}
.rv2.emb .capta_div_img .captcha_refresh_1:hover{ color:var(--emb-flagred); }
.rv2.emb .capta_div{ display:flex !important; align-items:center; margin-top:2px; }
.rv2.emb #captcha_img_1{ border-radius:2px; box-shadow:0 0 0 2px rgba(53,69,95,.25); }
.rv2.emb .capta_div #chk_1:focus{ border-color:var(--emb-flagred) !important; }
/* submit: flag crimson */
.rv2.emb #comment_section.btn{
  background-color:var(--emb-flagred) !important;
  background-image:none !important;
  color:#fff !important;
  border:1px solid var(--emb-flagdark) !important;
  font-size:13px !important; letter-spacing:.14em; text-transform:uppercase !important;
  font-weight:700; border-radius:2px !important;
  padding:10px 26px !important;
  box-shadow:0 2px 6px rgba(40,44,62,.3) !important;
}
.rv2.emb #comment_section.btn:hover{ background-color:var(--emb-flagdark) !important; }
/* success line */
.rv2.emb #succ{ font-weight:700; }

/* ---------- other representations ---------- */
.rv2.emb .cls1{
  background:var(--emb-plate) !important;
  border:1px solid var(--emb-line) !important;
  border-left:3px solid var(--emb-steel) !important;
  border-radius:2px !important;
  padding:10px 12px !important;
  margin-bottom:10px !important;
  box-shadow:0 3px 9px rgba(35,44,62,.06);
  transition:border-color .18s ease, box-shadow .18s ease;
}
.rv2.emb .cls1:hover{ border-color:var(--emb-flagred) !important; box-shadow:0 6px 14px rgba(206,36,41,.14); }
.rv2.emb .cls1 a{ color:var(--emb-slate) !important; }
.rv2.emb .ToprollCtrl p{ margin-bottom:6px !important; font-size:13px !important; color:var(--emb-body) !important; line-height:1.6; }
.rv2.emb .ToprollCtrl{ font-size:13px; }

/* ---------- dividers ---------- */
.rv2.emb hr{ border-color:var(--emb-line) !important; opacity:1 !important; }

/* ---------- edit modal (kept functional; light reskin) ---------- */
.rv2.emb .modalof .modal-content_of{ border-radius:3px !important; }
.rv2.emb .modalof label{ font-size:12px !important; font-weight:700; color:var(--emb-slate); text-transform:uppercase; letter-spacing:.06em; }
.rv2.emb .modalof [contenteditable]{
  border:1px solid #C4CEDA !important; border-radius:2px; background:var(--emb-tint);
  font-size:13px !important; color:var(--emb-ink);
}
.rv2.emb #updateemb{ background:var(--emb-slate) !important; border-color:var(--emb-slate-deep) !important; }
.rv2.emb #cancel{ background:var(--emb-flagred) !important; }

/* ---------- mobile ---------- */
@media (max-width: 768px){
  .rv2.emb .emb-cover{ padding:24px 14px 20px !important; }
  .rv2.emb .emb-flag{ position:static; margin:0 auto 12px; width:max-content; }
  .rv2.emb .emb-flag svg{ width:72px; height:45px; }
  .rv2.emb .col-md-8.brd_r{ padding:16px 14px !important; }
  .rv2.emb h2{ font-size:13px !important; letter-spacing:.1em; }
  .rv2.emb .map.detail_map{ box-shadow:0 0 0 4px var(--emb-plate), 0 0 0 5px rgba(53,69,95,.5) !important; }
}


/* ============================================================
   RV2 · CUS — CONTACT US · "Concierge Desk / Airmail Dispatch"
   airmail red / airmail blue / ink / paper · postmark + airmail stripe
   body-scoped (page has <article> but no theme conflicts there)
   ============================================================ */
.rv2.cus{
  --cus-red:#D22730;
  --cus-red-dark:#B01E27;
  --cus-blue:#1D4F9E;
  --cus-blue-dark:#153B77;
  --cus-ink:#1B2431;
  --cus-body:#3E4A5A;
  --cus-line:#D9DFE8;
  --cus-line-strong:#B9C4D4;
  --cus-paper:#F2F4F7;
  --cus-card:#FFFFFF;
  --is-primary:#1D4F9E;
  --is-primary-dark:#153B77;
  --is-text:#1B2431;
  --is-muted:#3E4A5A;
  --is-border:#D9DFE8;
  --is-border-strong:#B9C4D4;
  --is-bg-soft:#F2F4F7;
  --is-danger:#D22730;
  --is-shadow:0 1px 3px rgba(27,36,49,.10),0 1px 2px rgba(27,36,49,.05);
  --is-shadow-md:0 6px 20px rgba(27,36,49,.10);
  background:
    repeating-linear-gradient(45deg, rgba(29,79,158,.026) 0 2px, rgba(29,79,158,0) 2px 42px),
    linear-gradient(180deg,#E8EDF4 0%, var(--cus-paper) 280px, var(--cus-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--cus-body) !important;
  font-family:"Segoe UI", Tahoma, Verdana, Arial, sans-serif !important;
}

/* ---------- links ---------- */
.rv2.cus a{ color:var(--cus-blue) !important; text-decoration:none; }
.rv2.cus a:hover{ color:var(--cus-red) !important; text-decoration:underline; }

/* ---------- HERO: airmail plate + postmark ---------- */
.rv2.cus .cus-cover{
  position:relative;
  background:var(--cus-card) !important;
  border:1px solid var(--cus-line) !important;
  border-radius:3px;
  box-shadow:0 1px 0 rgba(27,36,49,.05), 0 14px 28px rgba(27,36,49,.09);
  padding:32px 24px 30px !important;
  margin-bottom:34px !important;
  overflow:hidden;
}
.rv2.cus .cus-cover::before{
  content:"";
  position:absolute; inset:0;
  border:1px solid var(--cus-line);
  margin:6px;
  pointer-events:none;
  background:none;
}
.rv2.cus .cus-cover::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:5px;
  background:repeating-linear-gradient(45deg, var(--cus-red) 0 14px, #FBFCFE 14px 28px, var(--cus-blue) 28px 42px, #FBFCFE 42px 56px) !important;
}
.rv2.cus .cus-postmark{ position:absolute; top:20px; right:28px; }
.rv2.cus .cus-postmark svg{ display:block; filter:drop-shadow(0 2px 3px rgba(27,36,49,.18)); }
.rv2.cus .cus-eyebrow{
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--cus-blue) !important; font-weight:700;
  display:block; text-align:center; margin-bottom:10px;
}
.rv2.cus .cus-breadcrumb .breadcrumb{ margin-bottom:0 !important; }
.rv2.cus .cus-breadcrumb .breadcrumb-item{
  font-size:12.5px; color:var(--cus-body) !important; letter-spacing:.02em;
}
.rv2.cus .cus-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:#9AA7BC !important; }
.rv2.cus .cus-breadcrumb .breadcrumb-item a{ color:var(--cus-blue) !important; }
.rv2.cus .cus-breadcrumb .breadcrumb-item a:hover{ color:var(--cus-red) !important; }
.rv2.cus .cus-cover h1{
  font-family:"Trebuchet MS", "Segoe UI", Verdana, sans-serif !important;
  font-size:clamp(26px, 3.6vw, 40px) !important;
  line-height:1.15 !important;
  color:var(--cus-ink) !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:6px auto 10px !important;
  max-width:860px;
}
.rv2.cus .cus-cover .is-intro{
  color:var(--cus-body) !important;
  text-align:center !important;
  max-width:680px !important;
  margin:0 auto 14px !important;
  line-height:1.66 !important;
  font-size:14.5px !important;
}
.rv2.cus .cus-rule{
  height:3px; width:240px; margin:0 auto;
  background:linear-gradient(90deg, rgba(27,36,49,0) 0%, var(--cus-blue) 30%, var(--cus-red) 70%, rgba(27,36,49,0) 100%);
}

/* ---------- left column ---------- */
.rv2.cus .is-wrap{ padding:20px 0 30px !important; }
.rv2.cus .is-grid{ align-items:start !important; }
.rv2.cus .is-grid > div > p{
  font-size:14px !important; line-height:1.72 !important;
  color:var(--cus-body) !important;
  border-left:3px solid var(--cus-blue);
  padding-left:12px; margin:0 0 16px !important;
}
/* apply-online CTA: airmail blue */
.rv2.cus .is-apply-btn{
  border:1px solid var(--cus-blue-dark) !important;
  background:var(--cus-blue) !important;
  border-radius:3px !important;
  box-shadow:0 2px 10px rgba(29,79,158,.28) !important;
  padding:9px 16px !important;
  letter-spacing:.02em;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.rv2.cus .is-apply-btn i{ color:#fff !important; }
.rv2.cus .is-apply-btn:hover{
  background:var(--cus-blue-dark) !important;
  border-color:var(--cus-ink) !important;
  box-shadow:0 4px 14px rgba(29,79,158,.36) !important;
  text-decoration:none !important;
}
/* eVisa links list */
.rv2.cus .is-links{ margin-top:10px !important; border-top:0 !important; }
.rv2.cus .is-link-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:6px 14px !important;
  padding:11px 10px !important;
  border:0 !important;
  border-bottom:1px solid var(--cus-line) !important;
  background:transparent !important;
}
.rv2.cus .is-link-item:last-child{ border-bottom:0 !important; }
.rv2.cus .is-link-item > span{
  color:var(--cus-body) !important;
  font-size:13px !important; line-height:1.5 !important; margin:0 !important;
}
.rv2.cus .is-link-cta{
  color:var(--cus-blue) !important;
  font-weight:700 !important;
  text-align:right !important;
  white-space:nowrap !important;
  border-bottom:2px solid var(--cus-blue) !important;
  padding-bottom:1px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.rv2.cus .is-link-cta::before{
  border-right-color:var(--cus-red) !important;
  border-bottom-color:var(--cus-red) !important;
}
.rv2.cus .is-link-cta:hover{
  color:var(--cus-red) !important;
  border-bottom-color:var(--cus-red) !important;
  text-decoration:none !important;
}
.rv2.cus .is-link-cta:hover::before{
  border-right-color:var(--cus-red-dark) !important;
  border-bottom-color:var(--cus-red-dark) !important;
}

/* ---------- form card: airmail bar ---------- */
.rv2.cus .is-form-card{
  position:relative !important;
  background:var(--cus-card) !important;
  border:1px solid var(--cus-line) !important;
  border-radius:3px !important;
  box-shadow:0 10px 26px rgba(27,36,49,.10) !important;
  overflow:hidden !important;
  margin-bottom:10px !important;
}
.rv2.cus .is-form-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:6px; z-index:2;
  background:repeating-linear-gradient(45deg, var(--cus-red) 0 14px, #FBFCFE 14px 28px, var(--cus-blue) 28px 42px, #FBFCFE 42px 56px) !important;
}
.rv2.cus .is-form-head{
  padding:26px 22px 14px !important;
  border-bottom:1px solid var(--cus-line) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, #F7F9FC 0%, rgba(247,249,252,0) 150%) !important;
  text-align:center !important;
}
.rv2.cus .is-form-head h2{
  font-family:"Trebuchet MS", "Segoe UI", Verdana, sans-serif !important;
  font-size:21px !important;
  letter-spacing:.02em;
  color:var(--cus-ink) !important;
  margin:0 0 4px !important;
}
.rv2.cus .is-form-head p{
  color:var(--cus-body) !important;
  font-size:13px !important;
  margin:0 !important;
  line-height:1.5 !important;
}
.rv2.cus .is-form-body{ padding:22px 24px 26px !important; }
.rv2.cus .is-form-card .form-control{
  background:#fff !important;
  border:1px solid var(--cus-line-strong) !important;
  border-radius:3px !important;
  color:var(--cus-ink) !important;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.rv2.cus .is-form-card .form-control::placeholder{ color:#8E9AAB !important; }
.rv2.cus .is-form-card .form-control:focus{
  border-color:var(--cus-blue) !important;
  box-shadow:0 0 0 3px rgba(29,79,158,.13) !important;
  outline:none !important;
  background:#fff !important;
}
.rv2.cus .is-form-card textarea.form-control{ min-height:105px !important; resize:none !important; }
/* field errors */
.rv2.cus .field-error{ border:1px solid var(--cus-red) !important; box-shadow:none !important; }
.rv2.cus .field-error-message{ color:var(--cus-red) !important; font-weight:600; }
.rv2.cus .iti.field-error-wrapper input.form-control,
.rv2.cus .iti.field-error-wrapper .iti__tel-input{ border-color:var(--cus-red) !important; }
/* intl-tel wrapper keeps its block layout */
.rv2.cus .iti{ display:block !important; width:100%; }
/* success banner (keep green) */
.rv2.cus #message_successful{
  background:#19922533 !important;
  color:#176C2B !important;
  border:1px solid #B7E0C0 !important;
  border-radius:3px !important;
}
/* submit: airmail red */
.rv2.cus #contact_of{
  background:var(--cus-red) !important;
  border:2px solid var(--cus-red-dark) !important;
  border-radius:3px !important;
  color:#fff !important;
  box-shadow:0 3px 10px rgba(210,39,48,.30) !important;
  letter-spacing:.08em; text-transform:uppercase !important;
  font-weight:700 !important;
  font-size:13px !important;
  padding:11px 26px !important;
  height:46px !important;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.rv2.cus #contact_of:hover{
  background:var(--cus-red-dark) !important;
  border-color:var(--cus-ink) !important;
  box-shadow:0 5px 14px rgba(210,39,48,.38) !important;
}
.rv2.cus #contact_of .btn-label i{ color:#fff !important; }
.rv2.cus #contact_of .btn-spinner{ width:16px !important; height:16px !important; vertical-align:middle; }

/* ---------- dividers ---------- */
.rv2.cus hr{ border-color:var(--cus-line) !important; opacity:1 !important; }

/* ---------- mobile ---------- */
@media (max-width: 768px){
  .rv2.cus .cus-cover{ padding:26px 16px 26px !important; }
  .rv2.cus .cus-postmark{ position:static; display:block; margin:0 auto 12px; }
  .rv2.cus .cus-postmark svg{ width:96px; height:96px; }
  .rv2.cus .is-link-item{ grid-template-columns:1fr !important; }
  .rv2.cus .is-link-cta{ text-align:left !important; white-space:normal !important; }
  .rv2.cus #contact_of{ width:100% !important; }
}


/* ============================================================
   RV2 · PV — PRIVACY POLICY · "Ledger of Records"
   cool paper / slate ink / bronze + indigo stamp · ledger entries
   body-scoped (no <article>; content in bare .container)
   note: page h2s carry inline style="font-size:20px!important;
   font-weight:bold" => font-size/weight are author-locked
   ============================================================ */
.rv2.pv{
  --pv-paper:#F3F5F2;
  --pv-card:#FCFDFA;
  --pv-ink:#1F2733;
  --pv-body:#3C4654;
  --pv-slate:#2F3A4A;
  --pv-bronze:#8C6A2F;
  --pv-bronze-dark:#6F5222;
  --pv-indigo:#2B3A8F;
  --pv-line:#D8DCD6;
  --pv-line-strong:#ACB3A8;
  --pv-tint:#EAEEE8;
  counter-reset:pv-sec;
  background:
    repeating-linear-gradient(0deg, rgba(47,58,74,.03) 0 1px, rgba(47,58,74,0) 1px 88px),
    linear-gradient(180deg, #E9ECE7 0%, var(--pv-paper) 300px, var(--pv-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--pv-body) !important;
  font-family:Georgia, "Times New Roman", serif !important;
}

/* ---------- links ---------- */
.rv2.pv a{ color:var(--pv-slate) !important; text-decoration:none; }
.rv2.pv a:hover{ color:var(--pv-bronze) !important; text-decoration:underline; }

/* ---------- HERO: registry plate ---------- */
.rv2.pv .pv-cover{
  position:relative;
  background:var(--pv-card) !important;
  border:1px solid var(--pv-line-strong) !important;
  border-radius:2px;
  box-shadow:0 1px 0 rgba(31,39,51,.05), 0 14px 28px rgba(31,39,51,.09);
  padding:30px 22px 26px !important;
  margin-bottom:34px !important;
  overflow:hidden;
}
.rv2.pv .pv-cover::before{
  content:"";
  position:absolute; inset:0;
  border:1px solid var(--pv-line);
  margin:6px;
  pointer-events:none;
  background:none;
}
.rv2.pv .pv-cover::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:5px;
  background:linear-gradient(90deg, var(--pv-bronze) 0%, var(--pv-bronze) 46%, #E7E2D8 46%, #E7E2D8 54%, var(--pv-indigo) 54%) !important;
}
.rv2.pv .pv-stamp{ position:absolute; top:20px; right:30px; }
.rv2.pv .pv-stamp svg{ display:block; filter:drop-shadow(0 2px 3px rgba(31,39,51,.18)); }
.rv2.pv .pv-eyebrow{
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--pv-bronze) !important; font-weight:700;
  display:block; text-align:center; margin-bottom:10px;
  font-family:"Franklin Gothic Medium","Franklin Gothic Book","Trebuchet MS",sans-serif;
}
.rv2.pv .pv-breadcrumb .breadcrumb{ margin-bottom:0 !important; }
.rv2.pv .pv-breadcrumb .breadcrumb-item{
  font-size:12.5px; color:var(--pv-body) !important; letter-spacing:.02em;
  font-family:"Franklin Gothic Book","Trebuchet MS",sans-serif;
}
.rv2.pv .pv-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:#98A094 !important; }
.rv2.pv .pv-breadcrumb .breadcrumb-item a{ color:var(--pv-slate) !important; }
.rv2.pv .pv-breadcrumb .breadcrumb-item a:hover{ color:var(--pv-bronze) !important; }
.rv2.pv .pv-cover h1{
  font-family:"Franklin Gothic Medium","Franklin Gothic Book","Trebuchet MS",sans-serif !important;
  font-size:clamp(26px, 3.6vw, 40px) !important;
  line-height:1.16 !important;
  color:var(--pv-ink) !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:6px auto 14px !important;
  max-width:860px;
  letter-spacing:.03em;
}
.rv2.pv .pv-rule{
  height:3px; width:240px; margin:0 auto;
  background:linear-gradient(90deg, rgba(31,39,51,0) 0%, var(--pv-indigo) 30%, var(--pv-bronze) 70%, rgba(31,39,51,0) 100%);
}

/* ---------- the ledger card ---------- */
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12{
  background:var(--pv-card) !important;
  border:1px solid var(--pv-line) !important;
  border-top:5px solid var(--pv-bronze) !important;
  border-radius:2px;
  box-shadow:0 10px 24px rgba(31,39,51,.08) !important;
  padding:26px 28px !important;
  margin-bottom:34px !important;
}
/* opening paragraphs */
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 > p{
  font-size:15px !important;
  line-height:1.8 !important;
  color:var(--pv-body) !important;
  margin:0 0 14px !important;
}
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 > p:first-child{
  border-left:3px solid var(--pv-indigo);
  padding-left:14px;
  font-size:15.5px !important;
}
/* ledger-entry section heads (author-locked: 20px / bold) */
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 h2{
  counter-increment:pv-sec;
  position:relative;
  color:var(--pv-slate) !important;
  font-family:"Franklin Gothic Medium","Franklin Gothic Book","Trebuchet MS",sans-serif !important;
  letter-spacing:.055em !important;
  text-transform:uppercase;
  border-left:4px solid var(--pv-bronze) !important;
  background:linear-gradient(90deg, rgba(140,106,47,.09) 0%, rgba(140,106,47,0) 72%) !important;
  padding:9px 14px 9px 12px !important;
  margin:28px 0 10px !important;
  border-radius:2px;
}
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 h2::before{
  content:counter(pv-sec, decimal-leading-zero);
  display:inline-block;
  min-width:28px; text-align:center;
  margin-right:11px;
  background:var(--pv-slate);
  color:#F3F5F2;
  font-size:11.5px;
  letter-spacing:.1em;
  padding:2.5px 5px;
  border-radius:2px;
  vertical-align:middle;
  font-family:"Franklin Gothic Book","Trebuchet MS",sans-serif;
}
/* body copy under each entry */
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 h2 + p{
  padding-left:0;
}
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 b,
.rv2.pv .pv-cover ~ .container > .row > .col-lg-12 strong{ color:var(--pv-ink) !important; }

/* ---------- message banner (defined on page) ---------- */
.rv2.pv #message_successful{
  border-radius:2px !important;
  border:1px solid #B7E0C0 !important;
}

/* ---------- mobile ---------- */
@media (max-width: 768px){
  .rv2.pv .pv-cover{ padding:24px 14px 22px !important; }
  .rv2.pv .pv-stamp{ position:static; display:block; margin:0 auto 12px; }
  .rv2.pv .pv-stamp svg{ width:104px; height:88px; }
  .rv2.pv .pv-cover ~ .container > .row > .col-lg-12{ padding:18px 16px !important; }
}


/* ============================================================
   RV2 · FC — TERMS & CONDITIONS · "Contract Folio / Clause Book"
   ivory paper / ink / ink-blue / oxblood seal · § clause chips
   body-scoped; content in bare .container (footer = container-fluid)
   note: some page h2s carry inline style="font-size:20px!important;
   font-weight:bold" => font-size/weight are author-locked there
   ============================================================ */
.rv2.fc{
  --fc-paper:#F5F1E8;
  --fc-card:#FDFBF6;
  --fc-ink:#25313D;
  --fc-body:#3B4552;
  --fc-blue:#274A73;
  --fc-blue-dark:#1C3553;
  --fc-ox:#7E2A3B;
  --fc-ox-dark:#611E2C;
  --fc-line:#DAD2C0;
  --fc-line-strong:#B9AE97;
  counter-reset:fc-cl;
  background:
    repeating-linear-gradient(90deg, rgba(39,74,115,.022) 0 1px, rgba(39,74,115,0) 1px 74px),
    linear-gradient(180deg, #ECE6D9 0%, var(--fc-paper) 300px, var(--fc-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--fc-body) !important;
  font-family:Cambria, "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
}

/* ---------- links ---------- */
.rv2.fc a{ color:var(--fc-ox) !important; text-decoration:none; }
.rv2.fc a:hover{ color:var(--fc-blue) !important; text-decoration:underline; }

/* ---------- HERO: folio plate ---------- */
.rv2.fc .fc-cover{
  position:relative;
  background:var(--fc-card) !important;
  border:1px solid var(--fc-line-strong) !important;
  outline:1px solid var(--fc-line);
  outline-offset:-5px;
  border-radius:0;
  box-shadow:0 1px 0 rgba(37,49,61,.05), 0 14px 28px rgba(37,49,61,.09);
  padding:34px 22px 26px !important;
  margin-bottom:36px !important;
  overflow:hidden;
}
.rv2.fc .fc-cover::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0; width:7px;
  background:repeating-linear-gradient(180deg, var(--fc-ox) 0 6px, var(--fc-card) 6px 12px, var(--fc-blue) 12px 18px, var(--fc-card) 18px 24px) !important;
  opacity:.85;
}
.rv2.fc .fc-cover::after{
  content:"";
  position:absolute; left:7px; right:0; bottom:0; height:4px;
  background:
    linear-gradient(90deg, var(--fc-ox) 0 46%, transparent 46%),
    linear-gradient(90deg, transparent 0 54%, var(--fc-blue) 54%) !important;
}
.rv2.fc .fc-foliotab{
  position:absolute; top:-1px; left:36px;
  background:var(--fc-ox) !important;
  color:#F8F4E9 !important;
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;
  font-size:10.5px; letter-spacing:.28em; text-transform:uppercase;
  font-weight:700;
  padding:5px 14px 4px;
  border-right:1px solid var(--fc-line-strong);
}
.rv2.fc .fc-eyebrow{
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--fc-blue) !important; font-weight:700;
  display:block; text-align:center; margin:8px 0 10px;
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;
}
.rv2.fc .fc-breadcrumb .breadcrumb{ margin-bottom:0 !important; }
.rv2.fc .fc-breadcrumb .breadcrumb-item{
  font-size:12.5px; color:var(--fc-body) !important; letter-spacing:.02em;
}
.rv2.fc .fc-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:#9AA0A6 !important; }
.rv2.fc .fc-breadcrumb .breadcrumb-item a{ color:var(--fc-blue) !important; }
.rv2.fc .fc-breadcrumb .breadcrumb-item a:hover{ color:var(--fc-ox) !important; }
.rv2.fc .fc-cover h1{
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif !important;
  font-size:clamp(26px, 3.6vw, 40px) !important;
  line-height:1.18 !important;
  color:var(--fc-ink) !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:6px auto 16px !important;
  max-width:860px;
  letter-spacing:.02em;
}
/* double rule (like a formal contract divider) */
.rv2.fc .fc-rule{
  width:230px; margin:0 auto; padding:3px 0;
  border-top:2px solid var(--fc-ox) !important;
  border-bottom:2px solid var(--fc-blue) !important;
  background:transparent !important;
}

/* ---------- the folio card ---------- */
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12{
  position:relative;
  background:var(--fc-card) !important;
  border:1px solid var(--fc-line) !important;
  border-top:3px solid var(--fc-ox) !important;
  box-shadow:0 10px 24px rgba(37,49,61,.08) !important;
  padding:30px 30px !important;
  margin-bottom:36px !important;
}
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12::before{
  content:"";
  position:absolute; left:26px; right:26px; top:14px;
  border-top:1px solid var(--fc-line);
  pointer-events:none;
}
/* clause-entry section heads (author-locked: 20px / bold where locked) */
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 h2{
  counter-increment:fc-cl;
  position:relative;
  color:var(--fc-ink) !important;
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif !important;
  letter-spacing:.01em;
  text-transform:none;
  border-left:0 !important;
  border-bottom:1px solid var(--fc-line) !important;
  border-image:none !important;
  background-color:transparent !important;
  background-image:linear-gradient(90deg, var(--fc-ox) 0 52px, rgba(126,42,59,0) 52px 56px, var(--fc-blue) 56px 78px, rgba(39,74,115,0) 78px 100%) !important;
  background-repeat:no-repeat !important;
  background-position:left bottom !important;
  background-size:100% 2px !important;
  box-shadow:inset 3px 0 0 var(--fc-ox) !important;
  padding:10px 14px 12px 14px !important;
  margin:30px 0 12px !important;
}
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 h2::before{
  content:"\00A7\00A0" counter(fc-cl);
  display:inline-block;
  margin-right:11px;
  background:var(--fc-ox);
  color:#F8F4E9;
  font-size:11.5px;
  letter-spacing:.08em;
  padding:2.5px 7px;
  vertical-align:middle;
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif;
}
/* sub-entries (h3) */
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 h3{
  color:var(--fc-blue) !important;
  font-family:"Palatino Linotype","Book Antiqua",Georgia,serif !important;
  font-size:16.5px !important;
  letter-spacing:.02em;
  padding-left:12px !important;
  border-left:3px solid var(--fc-line-strong) !important;
  margin:20px 0 8px !important;
}
/* body copy */
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 p{
  font-size:15px !important;
  line-height:1.78 !important;
  color:var(--fc-body) !important;
  margin:0 0 13px !important;
}
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 > p:first-child{
  border-left:3px solid var(--fc-ox);
  padding-left:14px;
  font-size:15.5px !important;
}
/* lists */
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 ul,
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 ol{
  margin:0 0 13px !important;
  padding-left:26px !important;
}
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 li{
  font-size:14.5px !important;
  line-height:1.7 !important;
  color:var(--fc-body) !important;
  margin-bottom:5px !important;
}
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 li::marker{ color:var(--fc-ox); }
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 b,
.rv2.fc .fc-cover ~ .container > .row > .col-lg-12 strong{ color:var(--fc-ink) !important; }

/* ---------- message banner (defined on page) ---------- */
.rv2.fc #message_successful{
  border:1px solid #B7E0C0 !important;
}

/* ---------- mobile ---------- */
@media (max-width: 768px){
  .rv2.fc .fc-foliotab{ position:static; display:block; width:max-content; margin:0 auto 8px; border-right:0; }
  .rv2.fc .fc-cover::before{ width:5px; }
  .rv2.fc .fc-cover::after{ left:5px; }
  .rv2.fc .fc-cover ~ .container > .row > .col-lg-12{ padding:20px 16px !important; }
}


/* ============================================================
   RV2 · ST — VISA STATUS · "Transit Control / Tracking Board"
   steel paper / board charcoal / split-flap amber / signal green
   body-scoped; article.rd-page.rd-status; token redefines +
   !important overrides for hardcoded #0056b3 / #9dafd1 / #ca1309
   ============================================================ */
.rv2.st{
  --st-paper:#EEF0EE;
  --st-card:#FFFFFF;
  --st-board:#272F39;
  --st-board2:#1B222A;
  --st-amber:#DD8F2B;
  --st-amber-dark:#B06E14;
  --st-green:#1E7A46;
  --st-green-dark:#145832;
  --st-ink:#232A33;
  --st-body:#414C58;
  --st-line:#D6DCDC;
  --st-line-strong:#ABB4B6;
  --st-danger:#C23A2B;
  --is-primary:#1E7A46;
  --is-primary-dark:#145832;
  --is-text:#232A33;
  --is-muted:#414C58;
  --is-border:#D6DCDC;
  --is-border-strong:#ABB4B6;
  --is-bg-soft:#F1F3F0;
  --is-danger:#C23A2B;
  --is-success:#1E7A46;
  --is-shadow:0 1px 3px rgba(35,42,51,.08),0 1px 2px rgba(35,42,51,.05);
  --is-shadow-md:0 6px 20px rgba(35,42,51,.10);
  background:
    repeating-linear-gradient(90deg, rgba(39,47,57,.02) 0 2px, rgba(39,47,57,0) 2px 46px),
    linear-gradient(180deg, #E3E7E3 0%, var(--st-paper) 280px, var(--st-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--st-body) !important;
  font-family:"Segoe UI", Tahoma, Verdana, Arial, sans-serif !important;
}

/* ---------- links ---------- */
.rv2.st a{ color:var(--st-green) !important; text-decoration:none; }
.rv2.st a:hover{ color:var(--st-amber-dark) !important; text-decoration:underline; }

/* ---------- HERO: board plate ---------- */
.rv2.st .st-cover{
  position:relative;
  background:var(--st-card) !important;
  border:1px solid var(--st-line-strong) !important;
  border-radius:3px;
  box-shadow:0 1px 0 rgba(35,42,51,.05), 0 14px 28px rgba(35,42,51,.09);
  padding:30px 24px 34px !important;
  margin-bottom:34px !important;
  overflow:hidden;
}
.rv2.st .st-cover::before{
  content:"";
  position:absolute; top:0; bottom:0; left:0; width:9px;
  background:linear-gradient(180deg, var(--st-board) 0 58%, var(--st-amber) 58% 80%, var(--st-green) 80% 100%) !important;
}
.rv2.st .st-lamp{
  position:absolute; top:15px; right:17px;
  width:11px; height:11px; border-radius:50%;
  background:var(--st-green);
  box-shadow:0 0 0 3px rgba(30,122,70,.18), 0 0 0 7px rgba(30,122,70,.07);
}
.rv2.st .st-eyebrow{
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--st-board) !important; font-weight:700;
  display:block; text-align:center; margin-bottom:10px;
  font-family:Verdana, Geneva, Tahoma, sans-serif;
}
.rv2.st .st-breadcrumb .breadcrumb{ margin-bottom:0 !important; }
.rv2.st .st-breadcrumb .breadcrumb-item{
  font-size:12.5px; color:var(--st-body) !important; letter-spacing:.02em;
}
.rv2.st .st-breadcrumb .breadcrumb-item + .breadcrumb-item::before{ color:#9AA6A6 !important; }
.rv2.st .st-breadcrumb .breadcrumb-item a{ color:var(--st-green) !important; }
.rv2.st .st-breadcrumb .breadcrumb-item a:hover{ color:var(--st-amber-dark) !important; }
.rv2.st .st-cover h1{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:clamp(24px, 3.4vw, 38px) !important;
  line-height:1.18 !important;
  color:var(--st-ink) !important;
  font-weight:700 !important;
  text-align:center !important;
  margin:6px auto 10px !important;
  max-width:880px;
  letter-spacing:.04em;
}
.rv2.st .st-cover .is-intro{
  color:var(--st-body) !important;
  text-align:center !important;
  max-width:640px !important;
  margin:0 auto 12px !important;
  line-height:1.66 !important;
  font-size:14.5px !important;
}
/* split-flap strip */
.rv2.st .st-flap{
  height:14px; width:100%; margin-top:8px; border-radius:2px;
  background:
    linear-gradient(90deg, var(--st-amber) 0 30px, rgba(221,143,43,0) 30px),
    repeating-linear-gradient(90deg, var(--st-board) 0 30px, var(--st-line-strong) 30px 32px) !important;
}

/* ---------- left column ---------- */
.rv2.st .is-wrap{ padding:20px 0 30px !important; }
.rv2.st .is-grid{ align-items:start !important; }
.rv2.st .is-grid > div > p{
  font-size:14px !important; line-height:1.72 !important;
  color:var(--st-body) !important;
  border-left:3px solid var(--st-green);
  padding-left:12px; margin:0 0 16px !important;
}
/* apply-again CTA: signal green */
.rv2.st .is-apply-btn{
  border:1px solid var(--st-green-dark) !important;
  background:var(--st-green) !important;
  border-radius:3px !important;
  box-shadow:0 2px 10px rgba(30,122,70,.28) !important;
  padding:9px 16px !important;
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.rv2.st .is-apply-btn i{ color:#fff !important; }
.rv2.st .is-apply-btn:hover{
  background:var(--st-green-dark) !important;
  border-color:var(--st-board) !important;
  box-shadow:0 4px 14px rgba(30,122,70,.36) !important;
  text-decoration:none !important;
}
/* eVisa links list */
.rv2.st .is-links{ margin-top:10px !important; border-top:0 !important; }
.rv2.st .is-link-item{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:6px 14px !important;
  padding:11px 10px !important;
  border:0 !important;
  border-bottom:1px solid var(--st-line) !important;
  background:transparent !important;
}
.rv2.st .is-link-item:last-child{ border-bottom:0 !important; }
.rv2.st .is-link-item > span{
  color:var(--st-body) !important;
  font-size:13px !important; line-height:1.5 !important; margin:0 !important;
}
.rv2.st .is-link-cta{
  color:var(--st-green) !important;
  font-weight:700 !important;
  text-align:right !important;
  white-space:nowrap !important;
  border-bottom:2px solid var(--st-green) !important;
  padding-bottom:1px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.rv2.st .is-link-cta::before{
  border-right-color:var(--st-amber) !important;
  border-bottom-color:var(--st-amber) !important;
}
.rv2.st .is-link-cta:hover{
  color:var(--st-amber-dark) !important;
  border-bottom-color:var(--st-amber) !important;
  text-decoration:none !important;
}
.rv2.st .is-link-cta:hover::before{
  border-right-color:var(--st-amber-dark) !important;
  border-bottom-color:var(--st-amber-dark) !important;
}

/* ---------- form card: split-flap bar + perforation ---------- */
.rv2.st .is-form-card{
  position:relative !important;
  background:var(--st-card) !important;
  border:1px solid var(--st-line) !important;
  border-radius:3px !important;
  box-shadow:0 10px 26px rgba(35,42,51,.10) !important;
  overflow:hidden !important;
  margin-bottom:10px !important;
}
.rv2.st .is-form-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:10px; z-index:2;
  background:
    linear-gradient(90deg, var(--st-green) 0 24px, rgba(30,122,70,0) 24px),
    repeating-linear-gradient(90deg, var(--st-board) 0 24px, var(--st-board2) 24px 26px) !important;
}
.rv2.st .is-form-head{
  padding:24px 22px 12px !important;
  border-bottom:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg, #F3F5F2 0%, rgba(243,245,242,0) 150%) !important;
  text-align:center !important;
}
.rv2.st .is-form-head h2{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:15px !important;
  letter-spacing:.14em; text-transform:uppercase !important;
  color:var(--st-ink) !important;
  margin:0 0 2px !important;
}
.rv2.st .is-form-body{
  padding:16px 24px 24px !important;
  border-top:2px dashed var(--st-line-strong) !important;
}
.rv2.st .is-msg-top{ font-size:13px !important; font-weight:700; line-height:1.5; }
.rv2.st .is-field label{
  font-size:13px !important; font-weight:700 !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--st-body) !important;
  margin-bottom:5px !important;
}
.rv2.st .is-field .text-danger{ color:var(--st-amber-dark) !important; }
.rv2.st .is-form-card .form-control{
  background:#fff !important;
  border:2px solid var(--st-line-strong) !important;
  border-radius:3px !important;
  color:var(--st-ink) !important;
  box-shadow:none !important;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.rv2.st .is-form-card .form-control::placeholder{ color:#8E9A9C !important; }
.rv2.st .is-form-card .form-control:focus{
  border-color:var(--st-green) !important;
  box-shadow:0 0 0 3px rgba(30,122,70,.13) !important;
  outline:none !important;
  background:#fff !important;
}
.rv2.st .is-form-card .form-control.input-error{ border-color:var(--st-danger) !important; box-shadow:0 0 0 3px rgba(194,58,43,.12) !important; }
/* captcha row */
.rv2.st .is-captcha-row{ gap:10px !important; }
.rv2.st #captcha_img{
  border:2px solid var(--st-line-strong) !important;
  border-radius:3px !important;
  background:#F3F5F2 !important;
  box-shadow:inset 0 0 0 2px #fff !important;
}
.rv2.st .captcha_refresh{ color:var(--st-board) !important; }
.rv2.st .captcha_refresh:hover{ background:rgba(221,143,43,.14) !important; color:var(--st-amber-dark) !important; }
/* submit: board button charcoal + amber type */
.rv2.st .btn-status-submit{
  background:var(--st-board) !important;
  border:2px solid var(--st-amber) !important;
  border-radius:3px !important;
  color:var(--st-amber) !important;
  box-shadow:0 3px 10px rgba(27,34,42,.30) !important;
  letter-spacing:.1em; text-transform:uppercase !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-weight:700 !important;
  font-size:12.5px !important;
  padding:11px 24px !important;
  height:46px !important;
  transition:background .18s ease, color .18s ease, box-shadow .18s ease;
}
.rv2.st .btn-status-submit:hover{
  background:var(--st-board2) !important;
  border-color:var(--st-amber-dark) !important;
  color:#F2B84B !important;
  box-shadow:0 5px 14px rgba(27,34,42,.38) !important;
}
.rv2.st .btn-status-submit:disabled{ opacity:.7 !important; }
.rv2.st .btn-status-submit .btn-spinner{ width:16px !important; height:16px !important; vertical-align:middle; }
.rv2.st .btn-status-submit .btn-label{ color:inherit !important; }

/* ---------- newsletter card ---------- */
.rv2.st .newsletter-grid{ margin-top:26px !important; }
.rv2.st .newsletter-card{
  background:var(--st-card) !important;
  border:1px solid var(--st-line) !important;
  border-left:5px solid var(--st-amber) !important;
  border-radius:3px !important;
  box-shadow:0 8px 22px rgba(35,42,51,.08) !important;
  padding:18px 20px !important;
}
.rv2.st .newsletter-icon{
  background:rgba(30,122,70,.12) !important;
  color:var(--st-green) !important;
  border-radius:3px !important;
}
.rv2.st .newsletter-text h4{ font-size:15px !important; color:var(--st-ink) !important; }
.rv2.st .newsletter-text p{ font-size:13px !important; color:var(--st-body) !important; }
.rv2.st .newsletter-input{
  border:2px solid var(--st-line-strong) !important;
  border-right:0 !important;
  border-radius:3px 0 0 3px !important;
  background:#fff !important;
  color:var(--st-ink) !important;
}
.rv2.st .newsletter-input:focus{ border-color:var(--st-green) !important; }
.rv2.st .newsletter-input.input-error,
.rv2.st .newsletter-input.invalid-input{ border-color:var(--st-danger) !important; }
.rv2.st .newsletter-submit{
  background:var(--st-green) !important;
  border:2px solid var(--st-green-dark) !important;
  border-radius:0 3px 3px 0 !important;
  color:#fff !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  letter-spacing:.08em; text-transform:uppercase;
  font-size:12px !important;
  min-width:124px !important;
  box-shadow:none !important;
}
.rv2.st .newsletter-submit:hover{ background:var(--st-green-dark) !important; }
.rv2.st .newsletter-submit:disabled{ opacity:.7 !important; }

/* ---------- result panels (board cards w/ status rails) ---------- */
.rv2.st #bottom_div_up,
.rv2.st #bottom_div_down_up,
.rv2.st #bottom_div_close,
.rv2.st #bottom_div_reject,
.rv2.st #bottom_div{
  background:var(--st-card) !important;
  border:1px solid var(--st-line) !important;
  border-radius:3px !important;
  box-shadow:0 8px 22px rgba(35,42,51,.08) !important;
  padding:24px !important;
  margin-top:26px !important;
}
.rv2.st #bottom_div_up{ border-left:6px solid var(--st-green) !important; }
.rv2.st #bottom_div_down_up{ border-left:6px solid var(--st-amber) !important; }
.rv2.st #bottom_div_close{ border-left:6px solid var(--st-board) !important; }
.rv2.st #bottom_div_reject{ border-left:6px solid var(--st-danger) !important; }
.rv2.st #bottom_div{ border-left:6px solid var(--st-green) !important; }
.rv2.st #bottom_div h1,
.rv2.st #bottom_div_down_up h1,
.rv2.st #bottom_div_reject h1,
.rv2.st #bottom_div_up h2{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  color:var(--st-ink) !important;
  letter-spacing:.03em;
}
.rv2.st .ev_info,
.rv2.st #bottom_div_up p,
.rv2.st #bottom_div_down_up p,
.rv2.st #bottom_div_reject p,
.rv2.st #bottom_div p,
.rv2.st #bottom_div_close p{ color:var(--st-body) !important; font-size:14.5px !important; line-height:1.7 !important; }
/* manifest grid with dotted leaders */
.rv2.st .is-result-grid{
  background:#F5F6F3 !important;
  border:1px solid var(--st-line) !important;
  border-radius:3px !important;
  padding:8px 18px !important;
  margin:18px 0 !important;
}
.rv2.st .is-detail{
  border-bottom:1px dashed var(--st-line-strong) !important;
  padding:9px 0 !important;
}
.rv2.st .is-detail:nth-last-child(-n+2){ border-bottom:0 !important; }
.rv2.st .is-detail .lbl{
  color:var(--st-body) !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  font-size:11px !important; letter-spacing:.1em; text-transform:uppercase !important;
}
.rv2.st .is-detail .val{ color:var(--st-ink) !important; font-weight:700 !important; font-size:13.5px !important; }
/* contact buttons */
.rv2.st .contact-text{ color:var(--st-body) !important; font-weight:600 !important; }
.rv2.st .contact-btn{
  background:#F1F3F0 !important;
  color:var(--st-ink) !important;
  border:1.5px solid var(--st-line-strong) !important;
  border-radius:3px !important;
  box-shadow:0 2px 8px rgba(35,42,51,.08) !important;
  padding:8px 16px !important;
}
.rv2.st .contact-btn:hover{ background:var(--st-board) !important; border-color:var(--st-board2) !important; color:#fff !important; }
.rv2.st .contact-btn:hover>span>span:first-child,
.rv2.st .contact-btn:hover .whatsapp_no,
.rv2.st .contact-btn:hover .email-addr,
.rv2.st .contact-btn:hover .chat-time{ color:#E9EDE9 !important; }
.rv2.st .contact-btn i{
  width:38px !important; height:38px !important;
  background:rgba(30,122,70,.12) !important;
  color:var(--st-green) !important;
  border-radius:3px !important;
}
.rv2.st .contact-btn:hover i{ background:rgba(221,143,43,.25) !important; color:var(--st-amber) !important; }
.rv2.st .contact-btn>span>span:first-child{ font-size:14px !important; letter-spacing:.03em; }
/* required info + thank-you */
.rv2.st .required-info{
  background:#F5F6F3 !important;
  border:1px solid var(--st-line) !important;
  border-radius:3px !important;
  padding:14px 16px !important;
  margin-top:22px !important;
}
.rv2.st .required-title{ color:var(--st-ink) !important; font-weight:700 !important; }
.rv2.st .required-desc{ color:var(--st-body) !important; font-size:13px !important; }
.rv2.st .required-list li{ color:var(--st-body) !important; font-size:13px !important; }
.rv2.st .required-list li::before{ color:var(--st-amber-dark) !important; }
.rv2.st .thank-you{
  background:var(--st-board) !important;
  color:var(--st-amber) !important;
  border-top:3px solid var(--st-amber) !important;
  border-radius:3px !important;
  padding:12px 14px !important;
  font-weight:600;
}

/* ---------- mobile ---------- */
@media (max-width: 768px){
  .rv2.st .st-cover{ padding:24px 16px 26px !important; }
  .rv2.st .is-link-item{ grid-template-columns:1fr !important; }
  .rv2.st .is-link-cta{ text-align:left !important; white-space:normal !important; }
  .rv2.st .is-submit-row{ justify-content:stretch !important; }
  .rv2.st .btn-status-submit{ width:100% !important; }
  .rv2.st .newsletter-form{ min-width:0 !important; }
}


/* ============================================================
   RV2 · PS — PAYMENT SUCCESSFUL · "Bank Slip / Cleared Transaction"
   slip white / ledger ink / cleared green / bank teal
   Bahnschrift display · Trebuchet body · Consolas numerals
   ticket perforation + barcode strip + double-rule stamp
   ============================================================ */
.rv2.ps{
  --ps-paper:#F7FAF7;
  --ps-card:#FFFFFF;
  --ps-ink:#16211B;
  --ps-body:#33413A;
  --ps-green:#0F7A50;
  --ps-green-dark:#0A5C3C;
  --ps-teal:#0E6E7E;
  --ps-teal-dark:#0A4F5C;
  --ps-amber:#B87A1E;
  --ps-line:#D8E2DC;
  --ps-line-strong:#AFC2B8;
  --ps-danger:#C0392B;
  background:
    repeating-linear-gradient(180deg, rgba(22,33,27,.032) 0 1px, rgba(22,33,27,0) 1px 30px),
    linear-gradient(180deg, #ECF2EB 0%, var(--ps-paper) 340px, var(--ps-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--ps-body) !important;
  font-family:"Trebuchet MS", "Segoe UI", Tahoma, sans-serif !important;
}

/* ---------- links ---------- */
.rv2.ps a{ color:var(--ps-green) !important; text-decoration:none; }
.rv2.ps a:hover{ color:var(--ps-teal-dark) !important; text-decoration:underline; }

/* ---------- COVER: ticket plate ---------- */
.rv2.ps .ps-cover{
  position:relative;
  max-width:760px;
  margin:28px auto 32px;
  background:var(--ps-card) !important;
  border:2px solid var(--ps-line-strong) !important;
  border-top:6px solid var(--ps-green) !important;
  border-bottom:6px solid var(--ps-teal) !important;
  border-radius:4px;
  box-shadow:0 1px 0 rgba(22,33,27,.06), 0 14px 28px rgba(22,33,27,.10);
  padding:24px 60px 20px;
  text-align:center;
}
.rv2.ps .ps-cover::before{
  content:"";
  position:absolute; top:20px; left:8px; right:8px;
  border-top:1px dashed var(--ps-line-strong);
}
.rv2.ps .ps-stamp{
  position:absolute; top:-15px; right:22px;
  border:3px double var(--ps-green-dark) !important;
  color:var(--ps-green-dark) !important;
  background:var(--ps-card);
  font-family:Bahnschrift, "Trebuchet MS", sans-serif !important;
  font-size:13px; font-weight:700;
  letter-spacing:.34em; text-indent:.34em; text-transform:uppercase;
  padding:5px 12px 4px;
  transform:rotate(-3.5deg);
  box-shadow:0 2px 8px rgba(22,33,27,.14);
}
.rv2.ps .ps-eyebrow{
  font-family:Consolas, "Lucida Console", "Courier New", monospace !important;
  font-size:12px !important;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--ps-ink) !important; font-weight:700;
  margin:6px 0 4px;
}
.rv2.ps .ps-bar{
  display:block;
  height:16px;
  margin-top:14px;
  opacity:.72;
  background:
    repeating-linear-gradient(90deg,
      var(--ps-ink) 0 2px, transparent 2px 5px,
      var(--ps-ink) 5px 8px, transparent 8px 9px,
      var(--ps-ink) 9px 10px, transparent 10px 14px,
      var(--ps-ink) 14px 16px, transparent 16px 17px) !important;
}

/* ---------- receipt card (article) ---------- */
.rv2.ps .main_pmt_div{ text-align:center !important; }
.rv2.ps .my_article{
  position:relative;
  width:100%;
  max-width:840px;
  margin:0 auto;
  background:var(--ps-card) !important;
  border:2px solid var(--ps-line-strong) !important;
  border-radius:4px;
  box-shadow:0 2px 0 var(--ps-line-strong), 0 16px 34px rgba(22,33,27,.12) !important;
  padding:30px 30px 14px !important;
  text-align:center;
}
.rv2.ps .my_article::before{
  content:"";
  position:absolute; left:26px; right:26px; top:18px;
  border-top:1px dashed var(--ps-line-strong);
  pointer-events:none;
}
.rv2.ps .successful_message{
  display:inline-block !important;
  margin:0 0 14px !important;
  background:rgba(15,122,80,.07) !important;
  border:1px dashed var(--ps-line-strong) !important;
  border-radius:4px;
  padding:8px 24px;
}
.rv2.ps .successful_message img{ filter:none !important; }
.rv2.ps .my_article h4{
  font-family:Bahnschrift, "Trebuchet MS", sans-serif !important;
  font-size:clamp(21px, 2.7vw, 29px) !important;
  letter-spacing:.16em; text-indent:.16em; text-transform:uppercase;
  color:var(--ps-green-dark) !important;
  font-weight:700;
  margin:4px 0 12px !important;
  padding-bottom:8px;
  box-shadow:inset 0 -5px 0 rgba(15,122,80,.16);
}
.rv2.ps .my_article p{
  font-size:14.5px !important;
  line-height:1.74 !important;
  color:var(--ps-body) !important;
  margin:0 0 12px !important;
}
.rv2.ps .my_article b,
.rv2.ps .my_article strong{ color:var(--ps-ink) !important; }

/* ---------- contact buttons ---------- */
.rv2.ps .contact-btn i{ margin-right:9px !important; }
.rv2.ps .contact-btn:hover{ opacity:1 !important; }
.rv2.ps .contact-btn .btn{
  border-radius:3px !important;
  font-weight:700 !important;
  letter-spacing:.05em;
  font-size:14.5px !important;
  padding:10px 18px !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.rv2.ps .contact-btn .btn:hover{ transform:translateY(-2px); }
.rv2.ps .btn-success{
  background:var(--ps-green) !important;
  border:2px solid var(--ps-green-dark) !important;
  color:#fff !important;
  box-shadow:0 3px 10px rgba(15,122,80,.25) !important;
}
.rv2.ps .btn-success:hover{ background:var(--ps-green-dark) !important; }
.rv2.ps .btn-primary{
  background:var(--ps-teal) !important;
  border:2px solid var(--ps-teal-dark) !important;
  color:#fff !important;
  box-shadow:0 3px 10px rgba(14,110,126,.25) !important;
}
.rv2.ps .btn-primary:hover{ background:var(--ps-teal-dark) !important; }
.rv2.ps .btn-info{
  background:var(--ps-ink) !important;
  border:2px solid var(--ps-ink) !important;
  color:#fff !important;
  box-shadow:0 3px 10px rgba(22,33,27,.25) !important;
}
.rv2.ps .btn-info:hover{ background:#2A3A31 !important; }

/* ---------- provide-info slip panel ---------- */
.rv2.ps .main-div{
  width:100%;
  max-width:580px;
  background:#EFF5F0 !important;
  border:2px dashed var(--ps-line-strong) !important;
  border-radius:4px !important;
  padding:16px 20px 18px !important;
  margin:18px auto 10px !important;
  text-align:center;
}
.rv2.ps .provide-info p{
  color:var(--ps-ink) !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:.02em;
}
.rv2.ps .iti{
  width:100% !important;
  max-width:450px !important;
  margin:8px auto 4px !important;
}
.rv2.ps #phone{
  width:100% !important;
  max-width:450px;
  height:46px !important;
  border:2px solid var(--ps-line-strong) !important;
  border-radius:3px !important;
  background:#fff !important;
  color:var(--ps-ink) !important;
  font-size:15px;
  padding:8px 12px;
  box-shadow:none !important;
}
.rv2.ps #phone:focus{
  border-color:var(--ps-green) !important;
  box-shadow:0 0 0 3px rgba(15,122,80,.14) !important;
  outline:none !important;
}
.rv2.ps #phone.err,
.rv2.ps .form-control.err{
  border-color:var(--ps-danger) !important;
  box-shadow:0 0 0 3px rgba(194,58,43,.12) !important;
}
.rv2.ps #show_phone{
  color:var(--ps-danger) !important;
  font-size:13px;
  font-weight:600;
  display:block;
  white-space:nowrap;
}
.rv2.ps .pop-info{
  background:#fff !important;
  border:1px solid var(--ps-line) !important;
}
.rv2.ps #whatsapp-check{ accent-color:var(--ps-green) !important; }
.rv2.ps #whatsapp-text{ color:var(--ps-danger) !important; }

/* ---------- submit ---------- */
.rv2.ps .custom-submit-btn{
  background:var(--ps-green-dark) !important;
  border:2px solid var(--ps-ink) !important;
  color:#fff !important;
  font-family:Bahnschrift, "Trebuchet MS", sans-serif !important;
  letter-spacing:.18em; text-indent:.18em;
  text-transform:uppercase;
  font-weight:700 !important;
  font-size:13px !important;
  height:48px !important;
  padding:0 30px !important;
  border-radius:3px !important;
  box-shadow:0 3px 0 rgba(22,33,27,.35), 0 8px 18px rgba(10,92,60,.25) !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.rv2.ps .custom-submit-btn:hover{
  background:var(--ps-green) !important;
  transform:translateY(-2px);
  box-shadow:0 5px 0 rgba(22,33,27,.35), 0 12px 22px rgba(10,92,60,.32) !important;
}
.rv2.ps .custom-submit-btn:disabled{
  opacity:.6 !important;
  cursor:not-allowed;
}

/* ---------- success alert ---------- */
.rv2.ps .contact_message_success{
  background-color:var(--ps-green) !important;
  color:#fff !important;
  border:2px solid var(--ps-green-dark) !important;
  border-radius:3px;
  font-family:Bahnschrift, "Trebuchet MS", sans-serif;
  letter-spacing:.08em;
  padding:12px 22px !important;
  box-shadow:0 6px 18px rgba(15,122,80,.3) !important;
}

/* ---------- mobile ---------- */
@media (max-width: 767.98px){
  .rv2.ps .ps-cover{ margin:20px 12px 24px; padding:26px 16px 16px; }
  .rv2.ps .ps-stamp{ top:-14px; right:10px; font-size:11px; letter-spacing:.26em; }
  .rv2.ps .my_article{ padding:24px 16px 10px !important; }
  .rv2.ps .contact-btn .btn{ width:100% !important; }
  .rv2.ps .custom-submit-btn{ width:100% !important; }
  .rv2.ps .pop-info{ width:100%; }
}


/* ============================================================
   RV2 · CP — COMPLETE PARTIALLY · "Re-entry Control Desk"
   desk slate / paper cards / amber + petrol teal / stamp crimson
   Courier New display · Segoe UI body · scanline desk + LED dots
   ============================================================ */
.rv2.cp{
  --cp-a:#141E26;
  --cp-b:#1C2C36;
  --cp-line:#31454F;
  --cp-paper:#FBF8F1;
  --cp-paper-line:#E7DFCf;
  --cp-ink:#20303A;
  --cp-slate:#A9BCC6;
  --cp-slate-soft:#7E95A1;
  --cp-amber:#E8A13C;
  --cp-amber-dark:#B87A16;
  --cp-teal:#4FB3AA;
  --cp-teal-deep:#157A7E;
  --cp-crimson:#C2455C;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.022) 0 1px, rgba(255,255,255,0) 1px 4px),
    linear-gradient(180deg, var(--cp-a) 0%, var(--cp-b) 420px, #182630 100%) !important;
  background-attachment:scroll !important;
  color:var(--cp-slate) !important;
  font-family:"Segoe UI", "Trebuchet MS", Tahoma, sans-serif !important;
}
.rv2.cp a{ text-decoration:none; }

/* ---------- links (left column on desk) ---------- */
.rv2.cp .partially-success-hide p,
.rv2.cp .partially-success-hide span{ color:var(--cp-slate) !important; }
.rv2.cp .partially-success-hide p{ font-size:15px !important; line-height:1.7 !important; }

/* ---------- apply button ---------- */
.rv2.cp .is-apply-btn{
  background:rgba(232,161,60,.07) !important;
  border:2px solid var(--cp-amber) !important;
  color:var(--cp-amber) !important;
  font-family:"Courier New", Courier, monospace !important;
  font-weight:700 !important;
  letter-spacing:.08em;
  font-size:14.5px !important;
  padding:10px 18px !important;
  border-radius:4px !important;
  box-shadow:0 0 0 1px rgba(232,161,60,.15), 0 6px 16px rgba(0,0,0,.35) !important;
  transition:background .18s ease, color .18s ease, transform .18s ease !important;
}
.rv2.cp .is-apply-btn i{ margin-right:9px !important; }
.rv2.cp .is-apply-btn:hover{
  background:var(--cp-amber) !important;
  color:#152129 !important;
  transform:translateY(-2px);
  text-decoration:none !important;
}

/* ---------- link board ---------- */
.rv2.cp .is-links{ grid-template-columns:1fr 1fr; gap:12px 18px; }
.rv2.cp .is-link-item{
  background:rgba(251,248,241,.035) !important;
  border:1px dashed var(--cp-line) !important;
  border-radius:4px;
  padding:12px 14px !important;
  border-bottom:1px dashed var(--cp-line) !important;
  transition:background .18s ease, border-color .18s ease !important;
}
.rv2.cp .is-link-item:hover{ background:rgba(251,248,241,.07) !important; border-color:var(--cp-slate-soft) !important; }
.rv2.cp .is-link-item>span{ color:var(--cp-slate) !important; font-size:13.5px !important; line-height:1.55 !important; margin-bottom:7px !important; }
.rv2.cp .is-link-cta{
  color:var(--cp-teal) !important;
  font-weight:700 !important;
  font-size:14px !important;
  border-bottom-color:transparent !important;
  padding-bottom:0 !important;
}
.rv2.cp .is-link-cta::before{ border-right-color:var(--cp-teal) !important; border-bottom-color:var(--cp-teal) !important; }
.rv2.cp .is-link-cta:hover{ color:var(--cp-amber) !important; border-bottom-color:transparent !important; text-decoration:none !important; }
.rv2.cp .is-link-cta:hover::before{ border-right-color:var(--cp-amber) !important; border-bottom-color:var(--cp-amber) !important; }

/* ============================================================
   HERO — DESK PLATE
   ============================================================ */
.rv2.cp .cp-desk{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:30px 22px 26px;
  background:
    radial-gradient(120% 190% at 50% -30%, rgba(232,161,60,.10), rgba(232,161,60,0) 55%),
    linear-gradient(180deg, rgba(251,248,241,.05), rgba(251,248,241,.015));
  border-left:1px solid rgba(169,188,198,.18);
  border-right:1px solid rgba(169,188,198,.18);
  text-align:center;
}
.rv2.cp .cp-desk::before{
  content:"";
  position:absolute; left:26px; right:26px; top:0; height:6px;
  background:
    linear-gradient(90deg, var(--cp-amber) 0 33%, var(--cp-crimson) 33% 66%, var(--cp-teal-deep) 66% 100%);
  opacity:.85;
}
.rv2.cp .cp-plate{
  display:inline-block;
  position:relative;
  margin:14px auto 18px;
  padding:10px 34px 12px;
  border:2px solid var(--cp-line);
  border-radius:3px;
  background:rgba(20,30,38,.55);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.35);
}
.rv2.cp .cp-stamp{
  position:absolute; top:-13px; right:-10px;
  transform:rotate(4deg);
  border:3px double var(--cp-crimson) !important;
  color:var(--cp-crimson) !important;
  background:var(--cp-b);
  font-family:"Courier New", Courier, monospace !important;
  font-size:12px; font-weight:700;
  letter-spacing:.3em; text-indent:.3em; text-transform:uppercase;
  padding:4px 10px 3px;
  box-shadow:0 3px 10px rgba(0,0,0,.4);
}
.rv2.cp .cp-eyebrow{
  display:block;
  font-family:"Courier New", Courier, monospace !important;
  font-size:12px !important;
  font-weight:700;
  letter-spacing:.32em; text-indent:.32em; text-transform:uppercase;
  color:var(--cp-amber) !important;
  margin-bottom:2px;
}
.rv2.cp .cp-slits{
  display:block;
  width:120px; height:10px; margin:8px auto 0;
  background:
    repeating-linear-gradient(90deg,
      rgba(169,188,198,.5) 0 2px, transparent 2px 7px,
      rgba(169,188,198,.35) 7px 9px, transparent 9px 15px) !important;
}
/* breadcrumb */
.rv2.cp .cp-crumbHost, .rv2.cp .cp-crumbHost .breadcrumb{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 0 6px !important; }
.rv2.cp .cp-crumbHost .breadcrumb ul{ list-style:none; display:flex; gap:8px; justify-content:center; align-items:center; margin:0 !important; padding:0 !important; font-size:13px; }
.rv2.cp .cp-crumbHost .breadcrumb li{ color:var(--cp-slate-soft) !important; display:flex; align-items:center; gap:8px; }
.rv2.cp .cp-crumbHost .breadcrumb li a{ color:var(--cp-amber) !important; font-weight:600; }
.rv2.cp .cp-crumbHost .breadcrumb li a:hover{ color:#F2C377 !important; text-decoration:underline; }
.rv2.cp .cp-crumbHost .breadcrumb .flaticon-home{ color:var(--cp-amber) !important; }
/* h1 + intro */
.rv2.cp .cp-desk h1{
  font-family:"Courier New", Courier, monospace !important;
  font-size:clamp(19px, 2.9vw, 30px) !important;
  font-weight:700 !important;
  letter-spacing:.06em;
  color:#F4F8F4 !important;
  margin:8px auto 10px !important;
  max-width:820px;
  line-height:1.35;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.rv2.cp .cp-desk h1::after{
  content:"";
  display:block;
  width:150px; height:3px;
  margin:14px auto 0;
  background:linear-gradient(90deg, transparent, var(--cp-amber) 30%, var(--cp-amber) 70%, transparent);
}
.rv2.cp .cp-desk .is-intro{ color:var(--cp-slate) !important; font-size:14px !important; max-width:640px; margin:0 auto 4px !important; line-height:1.65 !important; }
.rv2.cp .cp-desk .is-intro span{ color:var(--cp-slate) !important; }
/* LED strip */
.rv2.cp .cp-led{ display:block; margin-top:16px; }
.rv2.cp .cp-led i{
  display:inline-block; width:9px; height:9px; border-radius:50%;
  margin:0 5px;
  box-shadow:0 0 8px rgba(255,255,255,.15);
}
.rv2.cp .cp-led i:nth-child(1){ background:var(--cp-amber); box-shadow:0 0 10px rgba(232,161,60,.8) !important; }
.rv2.cp .cp-led i:nth-child(2){ background:var(--cp-teal); box-shadow:0 0 10px rgba(79,179,170,.8) !important; }
.rv2.cp .cp-led i:nth-child(3){ background:var(--cp-crimson); box-shadow:0 0 10px rgba(194,69,92,.8) !important; }

/* ============================================================
   FORM CARD
   ============================================================ */
.rv2.cp .is-form-card{
  background:var(--cp-paper) !important;
  border:1px solid var(--cp-paper-line) !important;
  border-top:5px solid var(--cp-amber) !important;
  border-radius:5px !important;
  box-shadow:0 2px 0 rgba(0,0,0,.25), 0 22px 44px rgba(0,0,0,.45) !important;
  overflow:hidden;
}
.rv2.cp .is-form-head{ background:rgba(32,48,58,.04) !important; border-bottom:1px dashed var(--cp-paper-line) !important; padding:14px 18px 12px !important; margin:0 !important; }
.rv2.cp .is-form-head h2{
  font-family:"Courier New", Courier, monospace !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.12em; text-indent:.12em;
  text-transform:uppercase;
  color:var(--cp-ink) !important;
  margin:0 !important;
}
.rv2.cp .is-form-body{ padding:18px 18px 16px !important; color:var(--cp-ink); }
.rv2.cp .is-form-note,
.rv2.cp .is-form-note span{ color:#54697A !important; font-size:13.5px !important; line-height:1.6 !important; }
.rv2.cp .field-group{ margin-bottom:16px !important; }
.rv2.cp .field-group label{
  display:block;
  color:var(--cp-ink) !important;
  font-family:"Courier New", Courier, monospace !important;
  font-size:12.5px !important;
  font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  margin-bottom:7px !important;
}
.rv2.cp .field-group label .text-danger,
.rv2.cp .field-group label [class*="text-danger"]{ color:var(--cp-crimson) !important; }
.rv2.cp .reg_form input[type="text"]{
  background:#fff !important;
  border:2px solid #C9D3D6 !important;
  border-radius:4px !important;
  color:var(--cp-ink) !important;
  font-size:14.5px !important;
  font-family:Consolas, "Lucida Console", monospace !important;
  letter-spacing:.04em;
  height:46px !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease !important;
}
.rv2.cp .reg_form input[type="text"]::placeholder{ color:#93A6AE !important; font-family:inherit !important; letter-spacing:0; }
.rv2.cp .reg_form input[type="text"]:focus{
  border-color:var(--cp-amber) !important;
  box-shadow:0 0 0 3px rgba(232,161,60,.18) !important;
  outline:none !important;
}
.rv2.cp .input-error,
.rv2.cp input.input-error{
  border-color:var(--cp-crimson) !important;
  box-shadow:0 0 0 3px rgba(194,69,92,.14) !important;
}
/* captcha row */
.rv2.cp .captcha-row{ display:flex !important; align-items:flex-end; gap:12px; flex-wrap:wrap; }
.rv2.cp .captcha-group{
  display:inline-flex !important; align-items:center; gap:10px;
  background:#fff !important;
  border:2px solid #C9D3D6 !important;
  border-radius:4px;
  padding:6px 8px 6px 10px;
}
.rv2.cp .captcha-group img{ background:#fff; }
.rv2.cp .captcha_refresh{
  color:var(--cp-teal-deep) !important;
  cursor:pointer;
  font-size:16px !important;
  line-height:1;
  display:inline-block;
  transition:transform .18s ease;
}
.rv2.cp .captcha_refresh:hover{ transform:rotate(120deg); color:var(--cp-amber-dark) !important; }
.rv2.cp .captcha-input-group{ flex:1 1 140px; }
/* status messages */
.rv2.cp #temporary_application_id_2{
  color:var(--cp-amber) !important;
  font-family:"Courier New", Courier, monospace !important;
  font-size:12.5px !important;
  letter-spacing:.06em;
  display:block;
  margin:0 0 10px;
  min-height:16px;
}
.rv2.cp #show_temporary_application_id,
.rv2.cp #show_captcha_id{ color:var(--cp-crimson) !important; font-size:12.5px !important; }

/* submit */
.rv2.cp .is-submit-row{ margin-top:4px; }
.rv2.cp .btn-partially-submit{
  width:100%;
  background:var(--cp-ink) !important;
  border:2px solid var(--cp-amber) !important;
  color:var(--cp-amber) !important;
  font-family:"Courier New", Courier, monospace !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.18em; text-indent:.18em;
  text-transform:uppercase;
  border-radius:4px !important;
  padding:13px 18px !important;
  height:auto !important;
  box-shadow:0 4px 0 rgba(32,48,58,.5), 0 10px 22px rgba(232,161,60,.18) !important;
  transition:background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.rv2.cp .btn-partially-submit .btn-label{ color:inherit !important; }
.rv2.cp .btn-partially-submit:hover,
.rv2.cp .btn-partially-submit:active{
  background:var(--cp-amber) !important;
  color:#152129 !important;
  transform:translateY(-2px);
}
.rv2.cp .btn-partially-submit:disabled{ opacity:.65 !important; cursor:not-allowed; }

/* success alert */
.rv2.cp #bottom_container{ padding:6px 2px 10px; }
.rv2.cp .appli_id_alert{
  background:var(--cp-paper) !important;
  color:var(--cp-ink) !important;
  border:2px solid var(--cp-teal-deep) !important;
  border-radius:4px !important;
  padding:16px 20px !important;
  font-size:15px !important;
  font-weight:600;
  box-shadow:0 12px 28px rgba(0,0,0,.4) !important;
  max-width:720px;
  margin:0 auto;
}
.rv2.cp .appli_id_alert a{ color:var(--cp-teal-deep) !important; font-weight:700; text-decoration:underline; }

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 991.98px){
  .rv2.cp .is-grid{ grid-template-columns:1fr !important; gap:22px !important; }
  .rv2.cp .is-links{ grid-template-columns:1fr !important; }
  .rv2.cp .is-form-card{ max-width:560px; margin:0 auto; width:100%; }
  .rv2.cp .cp-desk{ padding:24px 14px 20px; }
  .rv2.cp .cp-stamp{ top:-12px; right:2px; font-size:11px; }
  .rv2.cp .is-apply-btn{ width:100%; text-align:center; display:block !important; }
}


/* ============================================================
   RV2 · NW — NEWS / BLOGS LISTING · "The Broadsheet"
   newsprint paper · Georgia masthead · ink black / vermillion
   heavy rules · dateline crumb · story tiles · press stamp
   ============================================================ */
.rv2.nw{
  --nw-paper:#FBF9F3;
  --nw-card:#FFFFFF;
  --nw-ink:#141414;
  --nw-slate:#3A4148;
  --nw-fog:#8A8578;
  --nw-vert:#E03A2F;
  --nw-vert-soft:#FBE3E1;
  --nw-rule:#E3DED2;
  --nw-rule-dark:#C9C2B2;
  background:
    repeating-linear-gradient(0deg, rgba(20,20,20,.028) 0 1px, rgba(20,20,20,0) 1px 26px),
    linear-gradient(180deg, #F3EFE4 0%, var(--nw-paper) 300px, var(--nw-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--nw-slate) !important;
  font-family:"Segoe UI", "Trebuchet MS", Tahoma, sans-serif !important;
}

/* ============================================================
   MASTHEAD
   ============================================================ */
.rv2.nw .nw-masthead{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:22px 24px 10px;
  text-align:center;
}
.rv2.nw .nw-rule-top{
  display:block;
  height:5px;
  background:var(--nw-ink) !important;
  border-radius:1px;
}
.rv2.nw .nw-kicker{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:16px auto 4px;
}
.rv2.nw .nw-line-l, .rv2.nw .nw-line-r{
  display:inline-block;
  width:72px; height:0;
  border-top:1px solid var(--nw-rule-dark) !important;
}
.rv2.nw .nw-stamp{
  position:relative;
  border:3px double var(--nw-vert) !important;
  color:var(--nw-vert) !important;
  background:var(--nw-card);
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:11px; font-weight:700;
  letter-spacing:.3em; text-indent:.3em; text-transform:uppercase;
  padding:4px 10px 3px;
  transform:rotate(-2.5deg);
  box-shadow:0 2px 8px rgba(20,20,20,.15);
}
.rv2.nw .nw-eyebrow{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:13px !important;
  font-style:italic;
  color:var(--nw-fog) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.rv2.nw .nw-dotrow i{
  display:inline-block; width:6px; height:6px; margin:0 3px;
  background:var(--nw-ink) !important;
  border-radius:50%;
}
/* dateline breadcrumb */
.rv2.nw .nw-crumbHost, .rv2.nw .nw-crumbHost .breadcrumb{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 !important; }
.rv2.nw .nw-crumbHost .breadcrumb ul{ list-style:none; display:flex; gap:10px; justify-content:center; align-items:center; margin:0 !important; padding:0 !important; }
.rv2.nw .nw-crumbHost .breadcrumb li{
  color:var(--nw-ink) !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:12px !important;
  letter-spacing:.22em; text-transform:uppercase;
  display:flex; align-items:center; gap:8px;
}
.rv2.nw .nw-crumbHost .breadcrumb li+li::before{ content:"—"; color:var(--nw-vert); margin-right:2px; }
.rv2.nw .nw-crumbHost .breadcrumb a{ color:var(--nw-ink) !important; font-weight:700; text-decoration:none; }
.rv2.nw .nw-crumbHost .breadcrumb a:hover{ color:var(--nw-vert) !important; text-decoration:underline; }
.rv2.nw .nw-crumbHost .breadcrumb .flaticon-home{ color:var(--nw-vert) !important; }
/* h1 — broadsheet title */
.rv2.nw .nw-masthead h1{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:clamp(30px, 5vw, 52px) !important;
  font-weight:700 !important;
  letter-spacing:.02em;
  color:var(--nw-ink) !important;
  margin:18px auto 12px !important;
  line-height:1.12;
}
.rv2.nw .nw-rule-under{
  display:block;
  height:0;
  border-top:3px solid var(--nw-ink) !important;
  border-bottom:1px solid var(--nw-ink) !important;
  height:4px;
  background:transparent;
}

/* ============================================================
   STORY TILES
   ============================================================ */
.rv2.nw .news-container{ max-width:1160px !important; }
.rv2.nw .news-grid{ gap:18px !important; padding:8px 0 10px; }
.rv2.nw .news-card{
  background:var(--nw-card) !important;
  border:1px solid var(--nw-rule) !important;
  border-top:4px solid var(--nw-ink) !important;
  border-radius:3px !important;
  box-shadow:0 1px 0 rgba(20,20,20,.05) !important;
  color:var(--nw-slate) !important;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.rv2.nw .news-card:hover{
  color:var(--nw-ink) !important;
  border-color:var(--nw-rule-dark) !important;
  border-top-color:var(--nw-vert) !important;
  box-shadow:0 16px 34px rgba(20,20,20,.12) !important;
  transform:translateY(-3px);
  text-decoration:none !important;
}
.rv2.nw .news-card:focus-visible,
.rv2.nw .news-load:focus-visible{ outline:3px solid var(--nw-vert) !important; outline-offset:4px !important; }
.rv2.nw .news-card h3{
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:18.5px !important;
  font-weight:700 !important;
  line-height:1.42 !important;
  color:var(--nw-ink) !important;
  margin:0 0 12px !important;
}
.rv2.nw .news-card .news-excerpt{
  color:var(--nw-slate) !important;
  font-size:14px !important;
  line-height:1.66 !important;
}
.rv2.nw .news-read{
  color:var(--nw-vert) !important;
  font-weight:700 !important;
  font-size:13.5px !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-top:1px solid var(--nw-rule) !important;
}
.rv2.nw .news-card:hover .news-read{ color:var(--nw-ink) !important; }
.rv2.nw .news-arrow{
  width:30px !important; height:30px !important;
  border-radius:50%;
  background:var(--nw-vert-soft) !important;
  color:var(--nw-vert) !important;
  font-size:16px !important;
  transition:transform .18s ease, background .18s ease;
}
.rv2.nw .news-card:hover .news-arrow{ background:var(--nw-ink) !important; color:#fff !important; transform:translateX(3px); }

/* ============================================================
   LOAD MORE — press slab
   ============================================================ */
.rv2.nw .show_div{ padding-top:26px !important; }
.rv2.nw .news-load{
  background:var(--nw-ink) !important;
  color:#fff !important;
  border:2px solid var(--nw-ink) !important;
  font-family:Georgia, "Times New Roman", serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.22em; text-indent:.22em;
  text-transform:uppercase;
  border-radius:2px !important;
  padding:13px 34px !important;
  box-shadow:0 4px 0 rgba(20,20,20,.4), 0 10px 20px rgba(20,20,20,.18) !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
  cursor:pointer;
}
.rv2.nw .news-load:hover{
  background:var(--nw-vert) !important;
  border-color:var(--nw-vert) !important;
  transform:translateY(-2px);
  box-shadow:0 6px 0 rgba(20,20,20,.4), 0 14px 26px rgba(224,58,47,.28) !important;
}

/* ============================================================
   MOBILE / MOTION
   ============================================================ */
@media (max-width: 991px){
  .rv2.nw .news-grid{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 600px){
  .rv2.nw .news-grid{ grid-template-columns:1fr !important; gap:16px !important; }
  .rv2.nw .news-card{ min-height:0 !important; }
  .rv2.nw .nw-masthead{ padding:18px 14px 6px; }
  .rv2.nw .nw-line-l, .rv2.nw .nw-line-r{ width:34px; }
  .rv2.nw .news-load{ width:100%; }
}
@media (prefers-reduced-motion: reduce){
  .rv2.nw .news-card{ transition:none !important; }
  .rv2.nw .news-card:hover{ transform:none !important; }
}


/* ============================================================
   RV2 · NS — NEWS SLUG / ARTICLE · "The Editor's Proof"
   cool ivory long-form · ultramarine + ochre · Palatino display
   drop cap · column hairlines · marginalia comment box · index
   ============================================================ */
.rv2.ns{
  --ns-paper:#F5F3EC;
  --ns-card:#FFFFFF;
  --ns-ink:#262B31;
  --ns-slate:#48505A;
  --ns-fog:#8C887A;
  --ns-ultra:#1E3A6E;
  --ns-ultra-soft:#E4E9F2;
  --ns-ochre:#AD7A22;
  --ns-ochre-soft:#F4E8CF;
  --ns-rubric:#9C3B2E;
  --ns-line:#DCD7C8;
  --ns-line-dark:#C6BFA9;
  background:
    linear-gradient(90deg, transparent 0 calc(33.33% - 1px), rgba(30,58,110,.05) calc(33.33% - 1px) 33.33%, transparent 33.33% 66.66%, rgba(30,58,110,.05) 66.66% calc(66.66% - 1px), transparent calc(66.66% - 1px) 100%),
    linear-gradient(180deg, #EFEBDF 0%, var(--ns-paper) 260px, var(--ns-paper) 100%) !important;
  background-attachment:scroll !important;
  color:var(--ns-slate) !important;
  font-family:"Segoe UI", "Trebuchet MS", Tahoma, sans-serif !important;
}
.rv2.ns a{ text-decoration:none; }

/* ============================================================
   PROOF-SHEET MASTHEAD
   ============================================================ */
.rv2.ns .ns-proof{
  position:relative;
  max-width:860px;
  margin:0 auto;
  padding:20px 26px 8px;
  text-align:center;
}
.rv2.ns .ns-proofband{
  display:block;
  height:0;
  border-top:1px solid var(--ns-ink) !important;
  border-bottom:1px solid var(--ns-ink) !important;
  height:6px;
}
.rv2.ns .ns-kicker{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin:16px auto 6px;
}
.rv2.ns .ns-hair{
  display:inline-block;
  width:64px; height:0;
  border-top:1px solid var(--ns-line-dark) !important;
}
.rv2.ns .ns-stamp{
  position:relative;
  border:3px double var(--ns-ultra) !important;
  color:var(--ns-ultra) !important;
  background:var(--ns-card);
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:11px; font-weight:700;
  letter-spacing:.3em; text-indent:.3em; text-transform:uppercase;
  padding:4px 10px 3px;
  transform:rotate(2.5deg);
  box-shadow:0 2px 8px rgba(30,58,110,.15);
}
.rv2.ns .ns-eyebrow{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:13px !important;
  font-style:italic;
  color:var(--ns-fog) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
/* breadcrumb */
.rv2.ns .ns-crumbHost, .rv2.ns .ns-crumbHost .breadcrumb{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 !important; }
.rv2.ns .ns-crumbHost .breadcrumb ul{ list-style:none; display:flex; gap:10px; justify-content:center; align-items:center; margin:0 !important; padding:0 !important; flex-wrap:wrap; }
.rv2.ns .ns-crumbHost .breadcrumb li{
  color:var(--ns-slate) !important;
  font-size:12.5px !important;
  letter-spacing:.16em; text-transform:uppercase;
  display:flex; align-items:center; gap:8px;
}
.rv2.ns .ns-crumbHost .breadcrumb li+li::before{ content:"›"; color:var(--ns-ochre); font-weight:700; margin-right:2px; }
.rv2.ns .ns-crumbHost .breadcrumb a{ color:var(--ns-ultra) !important; font-weight:600; }
.rv2.ns .ns-crumbHost .breadcrumb a:hover{ color:var(--ns-ochre) !important; text-decoration:underline; }
.rv2.ns .ns-crumbHost .breadcrumb .flaticon-home{ color:var(--ns-ochre) !important; }
/* h1 — proof headline */
.rv2.ns .ns-proof h1{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:clamp(26px, 4.4vw, 42px) !important;
  font-weight:700 !important;
  line-height:1.22 !important;
  color:var(--ns-ink) !important;
  margin:16px auto 10px !important;
  max-width:760px;
}
.rv2.ns .ns-double{
  display:block;
  width:220px;
  margin:0 auto;
  height:0;
  border-top:3px double var(--ns-line-dark) !important;
}

/* ============================================================
   ARTICLE BODY — long form
   ============================================================ */
.rv2.ns .rd-article .container{ max-width:860px !important; }
.rv2.ns .rd-article .col-lg-8 .d-flex{ display:none !important; }
.rv2.ns .rd-article .col-lg-8 > div:last-of-type > div,
.rv2.ns .rd-article .col-lg-8 .d-flex + div{
  background:var(--ns-card) !important;
  border:1px solid var(--ns-line) !important;
  border-top:4px solid var(--ns-ultra) !important;
  border-radius:3px;
  box-shadow:0 1px 0 rgba(38,43,49,.06), 0 16px 34px rgba(30,58,110,.08) !important;
  padding:34px 38px !important;
  margin-bottom:30px !important;
}
.rv2.ns .rd-article .col-lg-8 .d-flex + div p{
  font-size:16px !important;
  line-height:1.78 !important;
  color:var(--ns-ink) !important;
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
}
.rv2.ns .rd-article .col-lg-8 .d-flex + div > p:first-of-type:first-letter,
.rv2.ns .rd-article .col-lg-8 .d-flex + div p:first-child:first-letter{
  font-size:3.4em;
  font-weight:700;
  float:left;
  line-height:.85;
  padding:3px 8px 0 0;
  color:var(--ns-ultra);
}
.rv2.ns .rd-article .col-lg-8 .d-flex + div a{ color:var(--ns-ultra) !important; text-decoration:underline !important; text-underline-offset:2px; }
.rv2.ns .rd-article .col-lg-8 .d-flex + div a:hover{ color:var(--ns-ochre) !important; }
.rv2.ns .rd-article .col-lg-8 .d-flex + div img{ max-width:100% !important; border-radius:2px; border:1px solid var(--ns-line) !important; }

/* ============================================================
   RELATED — further dispatches
   ============================================================ */
.rv2.ns .rd-article h2.col-md-12{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:20px !important;
  font-weight:700 !important;
  letter-spacing:.02em;
  color:var(--ns-ink) !important;
  padding-bottom:8px;
  border-bottom:2px solid var(--ns-ink) !important;
  margin-bottom:18px !important;
}
.rv2.ns .recnt_n_h{
  background:var(--ns-card) !important;
  border:1px solid var(--ns-line) !important;
  border-left:4px solid var(--ns-ochre) !important;
  border-radius:2px !important;
  box-shadow:none !important;
  padding:14px 16px !important;
  transition:border-left-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.rv2.ns .recnt_n_h:hover{
  border-left-color:var(--ns-ultra) !important;
  box-shadow:0 10px 24px rgba(30,58,110,.14) !important;
  transform:translateX(3px);
}
.rv2.ns .recnt_n_h a{ color:inherit !important; }
.rv2.ns .recnt_n_h h3{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:16.5px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  color:var(--ns-ink) !important;
  margin-bottom:7px !important;
}
.rv2.ns .recnt_n_h p{ color:var(--ns-slate) !important; font-size:13.5px !important; line-height:1.6 !important; margin:0 !important; }

/* ============================================================
   COMMENTS — marginalia
   ============================================================ */
.rv2.ns #page_reply_div{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:19px !important;
  font-weight:700 !important;
  color:var(--ns-ink) !important;
}
.rv2.ns .media{
  background:var(--ns-card) !important;
  border:1px solid var(--ns-line) !important;
  border-radius:2px !important;
  padding:12px 14px !important;
}
.rv2.ns .media h6{ color:var(--ns-ultra) !important; font-weight:700 !important; }
.rv2.ns .media p{ color:var(--ns-ink) !important; font-size:14.5px !important; }
.rv2.ns .comment-reply-link{
  border:1.5px solid var(--ns-line-dark) !important;
  color:var(--ns-ultra) !important;
  background:var(--ns-ultra-soft) !important;
  font-size:12px !important;
  letter-spacing:.08em; text-transform:uppercase !important;
  border-radius:2px !important;
  transition:background .18s ease, color .18s ease !important;
}
.rv2.ns .comment-reply-link:hover{ background:var(--ns-ultra) !important; color:#fff !important; }

/* comment form */
.rv2.ns .col-lg-8 .bg-light.p-4,
.rv2.ns .col-lg-8 > div.bg-light{
  background:var(--ns-card) !important;
  border:1px solid var(--ns-line) !important;
  border-left:5px solid var(--ns-rubric) !important;
  border-radius:3px !important;
  box-shadow:0 12px 28px rgba(38,43,49,.10) !important;
  padding:28px 30px !important;
  position:relative;
}
.rv2.ns .col-lg-8 .bg-light h3{
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:21px !important;
  font-weight:700 !important;
  color:var(--ns-ink) !important;
  margin-bottom:6px !important;
}
.rv2.ns .col-lg-8 .bg-light h3::after{
  content:"";
  display:block;
  width:64px; height:2px;
  background:var(--ns-rubric);
  margin-top:8px;
}
.rv2.ns #respond label[for]{
  color:var(--ns-ink) !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  letter-spacing:.16em; text-transform:uppercase !important;
  margin-bottom:6px !important;
}
.rv2.ns #respond .form-control{
  background:#fff !important;
  border:1.5px solid var(--ns-line-dark) !important;
  border-radius:2px !important;
  color:var(--ns-ink) !important;
  font-size:14.5px !important;
  font-family:"Segoe UI", Tahoma, sans-serif !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease !important;
}
.rv2.ns #respond .form-control:focus{
  border-color:var(--ns-ultra) !important;
  box-shadow:0 0 0 3px var(--ns-ultra-soft) !important;
  outline:none !important;
}
.rv2.ns #respond input::placeholder, .rv2.ns #respond textarea::placeholder{ color:#9A9585 !important; }
.rv2.ns .err{ color:var(--ns-rubric) !important; font-size:12.5px !important; margin-top:5px !important; }
/* captcha row */
.rv2.ns .capta_div{ display:flex !important; align-items:center; gap:10px; }
.rv2.ns .capta_div img{ background:#fff !important; border:1.5px solid var(--ns-line-dark) !important; border-radius:2px; }
.rv2.ns .captcha_refresh{
  color:var(--ns-ochre) !important;
  cursor:pointer;
  font-size:16px !important;
  display:inline-block;
  transition:transform .18s ease;
}
.rv2.ns .captcha_refresh:hover{ transform:rotate(120deg); color:var(--ns-ultra) !important; }
.rv2.ns .element_container #chk{
  background:#fff !important;
  border:1.5px solid var(--ns-line-dark) !important;
  border-radius:2px !important;
  height:44px !important;
  color:var(--ns-ink) !important;
  font-family:Consolas, "Lucida Console", monospace !important;
  letter-spacing:.12em;
}
.rv2.ns .element_container #chk:focus{ border-color:var(--ns-ultra) !important; box-shadow:0 0 0 3px var(--ns-ultra-soft) !important; outline:none !important; }
/* submit */
.rv2.ns #submit_btn{
  background:var(--ns-ultra) !important;
  border:2px solid var(--ns-ultra) !important;
  color:#fff !important;
  font-family:"Segoe UI", Tahoma, sans-serif !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  letter-spacing:.18em; text-indent:.18em;
  text-transform:uppercase !important;
  border-radius:2px !important;
  padding:12px 28px !important;
  box-shadow:0 4px 0 rgba(30,58,110,.4) !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.rv2.ns #submit_btn .btn-label{ color:inherit; }
.rv2.ns #submit_btn:hover{
  background:var(--ns-ochre) !important;
  border-color:var(--ns-ochre) !important;
  transform:translateY(-2px);
  box-shadow:0 6px 0 rgba(173,122,34,.4) !important;
}
.rv2.ns .btn-spinner{ max-height:16px; vertical-align:middle; margin-left:8px; }

/* comment success */
.rv2.ns .comment_msg .alert{
  background:var(--ns-ultra-soft) !important;
  border:1.5px solid var(--ns-ultra) !important;
  color:var(--ns-ultra) !important;
  border-radius:2px !important;
  font-weight:600 !important;
}

/* ============================================================
   SIDEBAR — index
   ============================================================ */
.rv2.ns .col-lg-4 h2{
  background:var(--ns-ultra) !important;
  color:#fff !important;
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:.12em; text-indent:.12em;
  text-transform:uppercase !important;
  border-radius:2px !important;
  padding:10px 14px !important;
  border-left:4px solid var(--ns-ochre) !important;
  margin-bottom:12px !important;
}
.rv2.ns #news-container{
  background:var(--ns-card) !important;
  border:1px solid var(--ns-line) !important;
  border-radius:2px !important;
  box-shadow:0 6px 18px rgba(38,43,49,.07) !important;
  padding:6px 16px !important;
}
.rv2.ns .recent-item{
  border-bottom:1px dotted var(--ns-line-dark) !important;
  padding:10px 0 !important;
}
.rv2.ns .recent-item:last-child{ border-bottom:0 !important; }
.rv2.ns .recent-item .color a{
  color:var(--ns-ink) !important;
  font-size:14px !important;
  font-family:"Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif !important;
  line-height:1.5 !important;
  transition:color .16s ease !important;
}
.rv2.ns .recent-item .color a:hover{ color:var(--ns-ochre) !important; text-decoration:underline !important; }

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 991.98px){
  .rv2.ns .rd-article .col-lg-8 .d-flex + div{ padding:24px 20px !important; }
  .rv2.ns .col-lg-8 .bg-light{ padding:22px 18px !important; }
  .rv2.ns .ns-proof{ padding:16px 14px 6px; }
}
@media (prefers-reduced-motion: reduce){
  .rv2.ns .recnt_n_h, .rv2.ns #submit_btn{ transition:none !important; }
  .rv2.ns .recnt_n_h:hover, .rv2.ns #submit_btn:hover{ transform:none !important; }
}


/* ============================================================
   RV2 · VW — VIDEO WATCH · "The Screening Room"
   warm charcoal cinema · gold / cream / signal vermillion
   Verdana display · Segoe body · sprocket film strips · lamps
   NOTE: do NOT touch .video-js internals (VideoJS skin)
   ============================================================ */
.rv2.vw{
  --vw-bg:#1A1410;
  --vw-panel:#241C15;
  --vw-panel-2:#2C2118;
  --vw-line:#3E332A;
  --vw-cream:#F1E9D7;
  --vw-sand:#C9BBA4;
  --vw-dust:#8E7F6A;
  --vw-gold:#D9A441;
  --vw-gold-soft:#F0DCAE;
  --vw-verr:#C84B3C;
  --vw-mint:#7FA687;
  position:relative;
  background:
    radial-gradient(90% 60% at 50% 0%, rgba(217,164,65,.07), rgba(217,164,65,0) 60%),
    radial-gradient(120% 80% at 50% 100%, rgba(200,75,60,.05), rgba(200,75,60,0) 55%),
    repeating-linear-gradient(180deg, rgba(0,0,0,.22) 0 1px, rgba(0,0,0,0) 1px 6px),
    var(--vw-bg) !important;
  background-attachment:scroll !important;
  color:var(--vw-sand) !important;
  font-family:"Segoe UI", Tahoma, "Trebuchet MS", sans-serif !important;
}
.rv2.vw a{ text-decoration:none; }

/* ============================================================
   MARQUEE STRIP (decorative, before player)
   ============================================================ */
.rv2.vw .vw-marquee{
  position:relative;
  margin:0 auto 22px;
  padding:14px 0 16px;
  background:
    linear-gradient(180deg, rgba(217,164,65,.10), rgba(217,164,65,.02));
  border-top:2px solid var(--vw-gold) !important;
  border-bottom:2px solid var(--vw-gold) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.35) !important;
  max-width:980px;
}
.rv2.vw .vw-sprockets{
  display:block;
  height:12px;
  margin:0 18px 10px;
  background:
    repeating-linear-gradient(90deg,
      rgba(241,233,215,.28) 0 10px, transparent 10px 24px) !important;
}
.rv2.vw .vw-marquee .vw-sprockets:last-child{ margin:10px 18px 0; }
.rv2.vw .vw-marquee-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  padding:0 18px;
}
.rv2.vw .vw-line{
  display:inline-block;
  width:84px; height:0;
  border-top:1px dashed rgba(217,164,65,.55) !important;
}
.rv2.vw .vw-stamp{
  border:3px double var(--vw-verr) !important;
  color:var(--vw-verr) !important;
  background:var(--vw-panel);
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:11px; font-weight:700;
  letter-spacing:.34em; text-indent:.34em; text-transform:uppercase;
  padding:4px 10px 3px;
  transform:rotate(-3deg);
  box-shadow:0 3px 10px rgba(0,0,0,.5);
}
.rv2.vw .vw-eyebrow{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:11px !important;
  font-weight:700;
  letter-spacing:.32em; text-indent:.32em; text-transform:uppercase;
  color:var(--vw-gold) !important;
}
.rv2.vw .vw-lamp{
  display:inline-block;
  width:10px; height:10px; border-radius:50%;
  background:var(--vw-gold) !important;
  box-shadow:0 0 12px rgba(217,164,65,.95), 0 0 26px rgba(217,164,65,.5) !important;
}

/* ============================================================
   LAYOUT / PANELS
   ============================================================ */
.rv2.vw .modern-layout-grid{
  gap:26px !important;
}
.rv2.vw .main-content,
.rv2.vw .modern-sidebar{ max-width:none; }
.rv2.vw .modern-container{ max-width:1240px !important; }

/* header action buttons (theme toggle / login) */
.rv2.vw .header-action-buttons{ justify-content:flex-end !important; margin-bottom:14px !important; }
.rv2.vw .modern-theme-toggle{
  background:rgba(241,233,215,.05) !important;
  border:1px solid var(--vw-line) !important;
  color:var(--vw-sand) !important;
  border-radius:4px !important;
  transition:background .18s ease, border-color .18s ease !important;
}
.rv2.vw .modern-theme-toggle:hover{ background:rgba(217,164,65,.14) !important; border-color:var(--vw-gold) !important; color:var(--vw-gold-soft) !important; }
.rv2.vw .modern-auth-btn{
  background:rgba(241,233,215,.05) !important;
  border:1px solid var(--vw-line) !important;
  color:var(--vw-cream) !important;
  border-radius:4px !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  letter-spacing:.08em;
  transition:background .18s ease, border-color .18s ease !important;
}
.rv2.vw .modern-auth-btn:hover{ background:rgba(217,164,65,.14) !important; border-color:var(--vw-gold) !important; }

/* ============================================================
   PLAYER FRAME
   ============================================================ */
.rv2.vw .video-container{
  position:relative;
  border:1px solid var(--vw-line) !important;
  outline:3px solid rgba(217,164,65,.22);
  outline-offset:5px;
  border-radius:6px;
  background:#0C0906;
  box-shadow:0 26px 60px rgba(0,0,0,.55) !important;
}
.rv2.vw .video-title-overlay{ background:linear-gradient(180deg, rgba(12,9,6,.75), rgba(12,9,6,.2)) !important; }
.rv2.vw .video-title-overlay h3{
  color:var(--vw-cream) !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  letter-spacing:.03em;
}

/* h1 (author inline font-size lock honored) */
.rv2.vw h1.mt-2{
  color:var(--vw-cream) !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.05em !important;
  text-shadow:0 2px 10px rgba(0,0,0,.6);
  margin:18px 0 8px !important;
}
.rv2.vw h1.mt-2::after{
  content:"";
  display:block;
  width:90px; height:4px;
  margin-top:10px;
  background:repeating-linear-gradient(90deg, var(--vw-gold) 0 6px, transparent 6px 12px);
}

/* ============================================================
   META / LIKE-DISLIKE / SHARE
   ============================================================ */
.rv2.vw .modern-video-info{
  background:var(--vw-panel) !important;
  border:1px solid var(--vw-line) !important;
  border-left:4px solid var(--vw-gold) !important;
  border-radius:5px !important;
  box-shadow:0 10px 26px rgba(0,0,0,.35) !important;
  padding:14px 16px !important;
  margin-bottom:24px !important;
}
.rv2.vw #video-views, .rv2.vw #viewsDisplay{ color:var(--vw-sand) !important; font-size:13px !important; }
.rv2.vw .video-like-dislike-container{ background:transparent !important; }
.rv2.vw .modern-like-btn{
  background:rgba(127,166,135,.10) !important;
  border:1.5px solid var(--vw-mint) !important;
  color:var(--vw-mint) !important;
  border-radius:4px !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-weight:700;
  transition:background .18s ease, color .18s ease !important;
}
.rv2.vw .modern-like-btn.active, .rv2.vw .modern-like-btn:hover{ background:var(--vw-mint) !important; color:#12100C !important; }
.rv2.vw .modern-dislike-btn{
  background:rgba(200,75,60,.10) !important;
  border:1.5px solid var(--vw-verr) !important;
  color:var(--vw-verr) !important;
  border-radius:4px !important;
  transition:background .18s ease, color .18s ease !important;
}
.rv2.vw .modern-dislike-btn.active, .rv2.vw .modern-dislike-btn:hover{ background:var(--vw-verr) !important; color:#1A1410 !important; }
.rv2.vw .modern-social-share-light{ gap:8px !important; flex-wrap:wrap; margin-top:12px; }
.rv2.vw .social-btn-light{
  background:rgba(241,233,215,.05) !important;
  border:1px solid var(--vw-line) !important;
  color:var(--vw-sand) !important;
  border-radius:3px !important;
  font-size:12px !important;
  letter-spacing:.04em;
  transition:background .18s ease, border-color .18s ease, color .18s ease !important;
}
.rv2.vw .social-btn-light:hover{ background:rgba(217,164,65,.16) !important; border-color:var(--vw-gold) !important; color:var(--vw-gold-soft) !important; }

/* ============================================================
   SCRIPT / DESCRIPTION — screenplay panel
   ============================================================ */
.rv2.vw .modern-description-section{
  background:var(--vw-panel) !important;
  border:1px solid var(--vw-line) !important;
  border-radius:5px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.35) !important;
  padding:20px 22px !important;
  margin-bottom:26px !important;
}
.rv2.vw .summary-title{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.3em; text-indent:.3em; text-transform:uppercase !important;
  color:var(--vw-gold) !important;
  margin-bottom:14px !important;
  padding-bottom:10px !important;
  border-bottom:1px dashed var(--vw-line) !important;
}
.rv2.vw .modern-description, .rv2.vw .summary-content{
  color:var(--vw-sand) !important;
  font-size:14.5px !important;
  line-height:1.75 !important;
}
.rv2.vw .modern-description p, .rv2.vw .summary-content p{ color:inherit !important; }
.rv2.vw .modern-description a, .rv2.vw .summary-content a{ color:var(--vw-gold-soft) !important; text-decoration:underline !important; }
.rv2.vw .modern-description img{ max-width:100% !important; border-radius:4px; border:1px solid var(--vw-line) !important; }

/* ============================================================
   COMMENTS
   ============================================================ */
.rv2.vw .comments-section{ padding-top:6px; }
.rv2.vw .comment-respond, .rv2.vw #respond{
  background:var(--vw-panel-2) !important;
  border:1px solid var(--vw-line) !important;
  border-top:4px solid var(--vw-gold) !important;
  border-radius:5px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.4) !important;
  padding:20px 20px 18px !important;
  margin-bottom:26px !important;
}
.rv2.vw .comment-reply-title{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.1em;
  color:var(--vw-cream) !important;
  margin:0 0 16px !important;
}
.rv2.vw .modern-input, .rv2.vw .modern-textarea{
  background:#14100C !important;
  border:1.5px solid var(--vw-line) !important;
  border-radius:4px !important;
  color:var(--vw-cream) !important;
  font-size:14px !important;
  font-family:"Segoe UI", Tahoma, sans-serif !important;
  box-shadow:none !important;
  transition:border-color .16s ease, box-shadow .16s ease !important;
}
.rv2.vw .modern-input:focus, .rv2.vw .modern-textarea:focus{
  border-color:var(--vw-gold) !important;
  box-shadow:0 0 0 3px rgba(217,164,65,.18) !important;
  outline:none !important;
}
.rv2.vw .modern-input::placeholder, .rv2.vw .modern-textarea::placeholder{ color:var(--vw-dust) !important; }
.rv2.vw .err{ color:var(--vw-verr) !important; font-size:12.5px !important; margin-top:5px !important; }
.rv2.vw .char-counter{ color:var(--vw-dust) !important; }
.rv2.vw .form-submit input[type="button"],
.rv2.vw #video_submit_btn{
  background:var(--vw-gold) !important;
  border:2px solid var(--vw-gold) !important;
  color:#171208 !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.16em; text-indent:.16em; text-transform:uppercase !important;
  border-radius:4px !important;
  padding:12px 26px !important;
  cursor:pointer;
  box-shadow:0 4px 0 rgba(217,164,65,.38), 0 10px 22px rgba(0,0,0,.4) !important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.rv2.vw .form-submit input[type="button"]:hover, .rv2.vw #video_submit_btn:hover{
  background:var(--vw-gold-soft) !important;
  transform:translateY(-2px);
  box-shadow:0 6px 0 rgba(217,164,65,.38), 0 14px 28px rgba(0,0,0,.45) !important;
}
/* success alert inside comment form */
.rv2.vw .comment_msg .alert{
  background:rgba(127,166,135,.12) !important;
  border:1.5px solid var(--vw-mint) !important;
  color:var(--vw-mint) !important;
  border-radius:4px !important;
}

/* comment list */
.rv2.vw .post-comment h3{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.2em; text-transform:uppercase !important;
  color:var(--vw-gold) !important;
}
.rv2.vw .commentlist{ list-style:none !important; padding:0 !important; margin:0 !important; }
.rv2.vw .commentlist li{ margin-bottom:14px !important; }
.rv2.vw .comment-body{
  background:var(--vw-panel) !important;
  border:1px solid var(--vw-line) !important;
  border-left:3px solid var(--vw-gold) !important;
  border-radius:4px !important;
  padding:14px 16px !important;
}
.rv2.vw .comment-meta{ margin-bottom:8px !important; }
.rv2.vw .comment-meta .fn{ color:var(--vw-cream) !important; font-weight:700 !important; }
.rv2.vw .comment-meta .says{ color:var(--vw-dust) !important; font-style:italic; margin:0 4px; }
.rv2.vw .comment-content p{ color:var(--vw-sand) !important; font-size:14px !important; line-height:1.65 !important; margin:0 !important; }
.rv2.vw ul.children{ list-style:none !important; padding-left:26px !important; margin:10px 0 0 !important; }
.rv2.vw ul.children .comment-body{ border-left-color:var(--vw-verr) !important; }

/* ============================================================
   SIDEBAR — reel index
   ============================================================ */
.rv2.vw .modern-sidebar-section{
  background:var(--vw-panel) !important;
  border:1px solid var(--vw-line) !important;
  border-radius:5px !important;
  box-shadow:0 12px 28px rgba(0,0,0,.38) !important;
  margin-bottom:20px !important;
  overflow:hidden;
}
.rv2.vw .sidebar-section-header{
  background:linear-gradient(180deg, rgba(217,164,65,.14), rgba(217,164,65,.04)) !important;
  border-bottom:1px solid var(--vw-line) !important;
  padding:12px 16px !important;
}
.rv2.vw .modern-sidebar-title{
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.26em; text-transform:uppercase !important;
  color:var(--vw-gold) !important;
  margin:0 !important;
}
.rv2.vw .modern-sidebar-title i{ margin-right:8px !important; color:var(--vw-verr) !important; }
.rv2.vw .modern-related-videos{ list-style:none !important; padding:10px !important; margin:0 !important; }
.rv2.vw .modern-related-video{
  border:1px solid transparent !important;
  border-radius:4px !important;
  transition:border-color .18s ease, background .18s ease !important;
}
.rv2.vw .modern-related-video:hover{ background:rgba(217,164,65,.07) !important; border-color:var(--vw-line) !important; }
.rv2.vw .video-card-link{ color:inherit !important; display:block !important; }
.rv2.vw .video-thumbnail-wrapper{ position:relative !important; }
.rv2.vw .modern-related-thumbnail{
  width:100% !important;
  border-radius:3px !important;
  border:1px solid var(--vw-line) !important;
  object-fit:cover !important;
}
.rv2.vw .video-duration{
  background:rgba(12,9,6,.85) !important;
  color:var(--vw-gold-soft) !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:10.5px !important;
  font-weight:700;
  letter-spacing:.08em;
  border-radius:2px !important;
  padding:2px 6px !important;
}
.rv2.vw .modern-related-title{
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  color:var(--vw-cream) !important;
  margin:8px 0 4px !important;
}
.rv2.vw .modern-related-views{ color:var(--vw-dust) !important; font-size:12px !important; }
.rv2.vw .modern-related-views i{ color:var(--vw-gold) !important; margin-right:4px !important; }

/* show more */
.rv2.vw .show-more-videos-btn{
  width:100%;
  background:transparent !important;
  border:1.5px dashed var(--vw-sand) !important;
  color:var(--vw-cream) !important;
  font-family:Verdana, Geneva, Tahoma, sans-serif !important;
  font-size:12px !important;
  font-weight:700;
  letter-spacing:.2em; text-transform:uppercase !important;
  border-radius:4px !important;
  padding:11px !important;
  margin:0 10px 12px !important;
  cursor:pointer;
  transition:background .18s ease, border-style .1s ease !important;
}
.rv2.vw .show-more-videos-btn:hover{ background:rgba(217,164,65,.14) !important; border-color:var(--vw-gold) !important; color:var(--vw-gold-soft) !important; }
.rv2.vw .show-more-videos-btn .btn-icon{ margin-left:8px !important; }

/* ============================================================
   EMBED MODE
   ============================================================ */
.rv2.vw .embed-mode .vw-marquee{ max-width:100%; margin-bottom:14px; }

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 991.98px){
  .rv2.vw .modern-description-section{ padding:16px 14px !important; }
  .rv2.vw .vw-line{ width:40px; }
  .rv2.vw .vw-marquee{ max-width:100%; margin:0 0 16px; }
  .rv2.vw .header-action-buttons{ justify-content:flex-start !important; }
}
@media (prefers-reduced-motion: reduce){
  .rv2.vw .modern-related-video, .rv2.vw .social-btn-light{ transition:none !important; }
}

/* ---- VW FIX: comment form panel (#videoCommentForm) + counter ---- */
.rv2.vw #videoCommentForm{
  background:var(--vw-panel-2) !important;
  border:1px solid var(--vw-line) !important;
  border-top:4px solid var(--vw-gold) !important;
  border-radius:5px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.4) !important;
  padding:20px 20px 18px !important;
  margin-bottom:26px !important;
}
.rv2.vw #videoCommentForm .comment-form-header{ background:transparent !important; border:0 !important; padding:0 !important; margin:0 0 4px !important; }
.rv2.vw #videoCommentForm .row{ margin:0 !important; }
.rv2.vw #commentCharCounter{ color:var(--vw-dust); }


/* =====================================================
   AF — Apply / Visa Application Form ("The Filing Desk")
   Bureau-form aesthetic: ledger paper, iris stamp ink,
   folder-tab hero, Courier labels, Georgia headings.
   No display overrides on author-JS-toggled elements
   (#register_data, #save_n_exit, .servc_lst, .add_new_a,
   .applicants_div, .warn_sec, .err_spn, [id^="show_"],
   #order_id_p, .rmv_spn, .cls1, .cls2, .cp_sec)
   ===================================================== */
.rv2.af{
  --af-paper:#F2F4F8;
  --af-card:#FFFFFF;
  --af-ink:#1F2333;
  --af-body:#414A5E;
  --af-fog:#6E7789;
  --af-line:#D7DDE8;
  --af-iris:#5A4B9E;
  --af-iris-deep:#3F3477;
  --af-iris-soft:#E9E6F6;
  --af-err:#7A2E4A;
  background-color:var(--af-paper) !important;
  background-image:
    repeating-linear-gradient(180deg, rgba(90,75,158,.028) 0, rgba(90,75,158,.028) 1px, transparent 1px, transparent 34px),
    radial-gradient(120% 46% at 50% 0%, rgba(90,75,158,.07), rgba(90,75,158,0) 60%) !important;
  color:var(--af-body) !important;
}

/* ---------- hero: the file folder ---------- */
.rv2.af .af-desk{
  position:relative;
  max-width:1170px;
  margin:26px auto 6px;
  background:var(--af-card) !important;
  border:1px solid var(--af-line) !important;
  border-left:5px solid var(--af-iris) !important;
  border-radius:3px;
  box-shadow:0 12px 30px rgba(31,35,51,.09) !important;
  padding:16px 24px 14px !important;
}
.rv2.af .af-tab{
  position:absolute;
  top:-14px;
  left:24px;
  background:var(--af-iris) !important;
  color:#fff !important;
  font-family:"Courier New",monospace !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase;
  padding:6px 16px 5px !important;
  border-radius:3px 3px 0 0 !important;
  outline:1px solid var(--af-iris-deep);
  outline-offset:2px;
  white-space:nowrap;
}
.rv2.af .af-stamp{
  position:absolute;
  top:18px;
  right:22px;
  transform:rotate(5deg);
  font-family:"Courier New",monospace !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase;
  color:var(--af-iris-deep) !important;
  border:3px double var(--af-iris-deep) !important;
  border-radius:4px;
  padding:7px 14px 6px !important;
  opacity:.85;
}
.rv2.af .af-eyebrow{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:"Courier New",monospace !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
  color:var(--af-iris) !important;
  font-weight:700 !important;
  margin:2px 0 4px !important;
}
.rv2.af .af-hair{
  flex:0 0 64px;
  height:0;
  border-top:2px solid var(--af-iris);
}
.rv2.af h1.menu_head{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:30px !important;
  line-height:1.18 !important;
  font-weight:700 !important;
  color:var(--af-ink) !important;
  text-align:left !important;
  margin:8px 0 2px !important;
}
.rv2.af h1.menu_head span{
  color:var(--af-iris-deep) !important;
}
.rv2.af .af-double{
  margin-top:12px;
  height:4px;
  border-top:2px solid var(--af-ink);
  border-bottom:1px solid var(--af-line);
}
.rv2.af .af-crumb{
  overflow-x:auto;
  margin:0 !important;
}
.rv2.af .af-crumb .breadcrumb{
  background:transparent !important;
  margin:0 !important;
  padding:8px 0 6px !important;
  border:0 !important;
  font-size:13.5px;
}
.rv2.af .af-crumb .breadcrumb a{
  color:var(--af-iris-deep) !important;
  font-weight:600;
  text-decoration:none;
}
.rv2.af .af-crumb .breadcrumb a:hover{
  text-decoration:underline;
}
.rv2.af .af-crumb .breadcrumb-item{
  color:var(--af-body) !important;
}

/* ---------- the form card ---------- */
.rv2.af #reg_visa_form{
  background:var(--af-card) !important;
  border:1px solid var(--af-line) !important;
  border-top:4px solid var(--af-iris) !important;
  border-radius:4px !important;
  box-shadow:0 14px 36px rgba(31,35,51,.08) !important;
  padding:20px 20px 24px !important;
  max-width:1170px;
  margin:16px auto 30px !important;
  color:var(--af-body);
}
.rv2.af #my_form{
  margin-bottom:0 !important;
  padding:0 !important;
}
.rv2.af .inner_form{
  width:100% !important;
  padding:0 !important;
}

/* ---------- section tabs (collapsibles) ---------- */
.rv2.af .collapsible{
  position:relative;
  background:var(--af-iris-soft) !important;
  border:1px solid var(--af-line) !important;
  border-left:4px solid var(--af-iris) !important;
  border-radius:3px;
  padding:11px 16px !important;
  margin:20px 0 0 !important;
  cursor:pointer;
}
.rv2.af .collapsible h4{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:17.5px !important;
  font-weight:700 !important;
  color:var(--af-ink) !important;
  margin:0 !important;
  padding-right:0 !important;
}
.rv2.af .collapsible h4::before{
  content:"";
  display:inline-block;
  width:9px;
  height:9px;
  background:var(--af-iris);
  margin-right:11px;
  transform:rotate(45deg);
}
.rv2.af .collapsible_content{
  background:var(--af-card) !important;
  border:1px solid var(--af-line) !important;
  border-top:0 !important;
  border-radius:0 0 4px 4px;
  padding:16px 14px 4px !important;
}
.rv2.af .collapsible_content>.row{
  background:#fff !important;
}

/* ---------- labels & required marks ---------- */
.rv2.af label{
  font-size:13.5px !important;
  font-weight:600 !important;
  color:var(--af-body) !important;
  margin-bottom:5px !important;
}
.rv2.af .req{
  color:var(--af-err) !important;
  font-weight:700 !important;
  font-size:14px !important;
  margin-left:3px;
}

/* ---------- fields ---------- */
.rv2.af .element_container{
  margin-bottom:2px !important;
}
.rv2.af .form-control{
  background:#fff !important;
  border:1px solid var(--af-line) !important;
  color:var(--af-ink) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  font-size:14px !important;
}
.rv2.af .form-control:focus{
  border-color:var(--af-iris) !important;
  box-shadow:0 0 0 3px rgba(90,75,158,.14) !important;
  background:#fff !important;
}
.rv2.af .input-group-addon{
  background:var(--af-iris-soft) !important;
  border:1px solid var(--af-line) !important;
  border-right:0 !important;
  color:var(--af-iris-deep) !important;
  border-radius:3px 0 0 3px !important;
  padding:8px 11px !important;
}
.rv2.af .input-group .form-control{
  border-top-left-radius:0 !important;
  border-bottom-left-radius:0 !important;
}
.rv2.af .select2-container .select2-selection{
  border-color:var(--af-line) !important;
}
.rv2.af .iti{
  background:#fff !important;
  border:1px solid var(--af-line) !important;
  border-radius:3px !important;
}
.rv2.af .iti__flag{
  border-right:1px solid var(--af-line) !important;
}
.rv2.af .iti__selected-flag{
  background:var(--af-iris-soft) !important;
}
.rv2.af .iti__list{
  border:1px solid var(--af-line) !important;
}
.rv2.af .iti__country:hover{
  background:var(--af-iris-soft) !important;
}
.rv2.af .ui-datepicker{
  border:1px solid var(--af-line) !important;
  border-radius:4px;
  font-size:13px !important;
  box-shadow:0 12px 30px rgba(31,35,51,.15) !important;
}
.rv2.af .ui-datepicker .ui-datepicker-header{
  background:var(--af-iris-soft) !important;
  color:var(--af-ink) !important;
}
.rv2.af .ui-datepicker ui-state-active,
.rv2.af .ui-datepicker td a.ui-state-active,
.rv2.af .ui-datepicker td span.ui-state-active{
  background:var(--af-iris) !important;
  color:#fff !important;
}

/* ---------- validation messages (author JS-toggles display — never set it) ---------- */
.rv2.af .err_spn{
  color:var(--af-err) !important;
  font-size:12.5px !important;
  font-weight:600 !important;
}
.rv2.af [id^="show_"]{
  color:var(--af-err) !important;
  font-size:12.5px !important;
  font-weight:600 !important;
}
.rv2.af .warning{
  color:var(--af-err) !important;
}

/* ---------- captcha row ---------- */
.rv2.af #capta_div{
  background:var(--af-iris-soft) !important;
  border:1px dashed var(--af-iris) !important;
  border-radius:4px !important;
  padding:9px 12px !important;
}
.rv2.af #captcha_img{
  border:1px solid var(--af-line) !important;
  border-radius:3px;
  background:#fff;
  max-width:172px;
  vertical-align:middle;
}
.rv2.af .captcha_refresh{
  color:var(--af-iris-deep) !important;
  font-size:18px !important;
  margin-left:8px;
  padding:4px 7px !important;
  border:1px solid var(--af-line) !important;
  border-radius:3px;
  background:#fff !important;
  vertical-align:middle;
  cursor:pointer;
}
.rv2.af #show_chk{
  margin-left:10px;
}

/* ---------- buttons ---------- */
.rv2.af .submit_btn_l{
  background:var(--af-iris) !important;
  border:1px solid var(--af-iris-deep) !important;
  color:#fff !important;
  font-family:"Courier New",monospace !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  border-radius:3px !important;
  padding:10px 18px !important;
  box-shadow:0 3px 0 rgba(63,52,119,.35) !important;
}
.rv2.af .submit_btn_l:hover,
.rv2.af .submit_btn_l:focus{
  background:var(--af-iris-deep) !important;
  color:#fff !important;
}
.rv2.af .add_app{
  background:var(--af-card) !important;
  border:2px solid var(--af-iris) !important;
  color:var(--af-iris-deep) !important;
  font-size:15px !important;
  font-weight:700 !important;
  border-radius:3px !important;
  padding:10px 18px !important;
}
.rv2.af .add_app:hover{
  background:var(--af-iris-soft) !important;
  color:var(--af-iris-deep) !important;
}
.rv2.af #register_data{
  background:var(--af-ink) !important;
  border:1px solid #0F1220 !important;
  color:#fff !important;
  font-family:"Courier New",monospace !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase;
  border-radius:3px !important;
  padding:12px 22px !important;
  box-shadow:0 3px 0 rgba(15,18,32,.3) !important;
}
.rv2.af #register_data:hover{
  background:var(--af-iris-deep) !important;
  color:#fff !important;
}
.rv2.af #save_n_exit{
  background:#fff !important;
  border:1px solid var(--af-line) !important;
  color:var(--af-body) !important;
  font-weight:600 !important;
  border-radius:3px !important;
  font-size:15px !important;
  padding:12px 20px !important;
}
.rv2.af #save_n_exit:hover{
  border-color:var(--af-iris) !important;
  color:var(--af-ink) !important;
  background:#fff !important;
}
.rv2.af .save_exit_from_popup{
  background:var(--af-iris) !important;
  border-color:var(--af-iris-deep) !important;
  color:#fff !important;
  border-radius:3px !important;
}

/* ---------- service-fee panel (display toggled by author — colour only) ---------- */
.rv2.af .servc_lst{
  background:var(--af-card) !important;
  border:1px solid var(--af-line) !important;
  border-left:4px solid var(--af-iris) !important;
  border-radius:4px !important;
  padding:14px 16px !important;
}
.rv2.af .servc_lst label{
  border:1px solid var(--af-line);
  border-radius:3px;
  padding:9px 11px !important;
  margin:0 0 8px !important;
  cursor:pointer;
}
.rv2.af .servc_lst label:hover{
  border-color:var(--af-iris);
}
.rv2.af .servc_lst label:has(input:checked){
  border-color:var(--af-iris) !important;
  background:var(--af-iris-soft) !important;
}
.rv2.af .frm_inp{
  accent-color:var(--af-iris) !important;
  margin-right:8px;
}

/* ---------- utility spans (display JS-toggled — colour only) ---------- */
.rv2.af .edit_spn{
  color:var(--af-iris-deep) !important;
}
.rv2.af .lock_spn{
  color:var(--af-fog) !important;
}
.rv2.af .rmv_spn{
  color:var(--af-err) !important;
}
.rv2.af .ap_name_spn{
  color:var(--af-ink) !important;
}

/* ---------- modals (progress, pdf, samples) ---------- */
.rv2.af .modalof{
  background:rgba(31,35,51,.8) !important;
}
.rv2.af .modal-content{
  background:var(--af-card) !important;
  border:1px solid var(--af-line) !important;
  border-top:4px solid var(--af-iris) !important;
  border-radius:5px !important;
}
.rv2.af .modal-header{
  background:var(--af-iris-soft) !important;
  border-bottom:1px solid var(--af-line) !important;
  border-radius:4px 4px 0 0 !important;
}
.rv2.af .modal-title{
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--af-ink) !important;
}
.rv2.af .modal-footer{
  border-top:1px solid var(--af-line) !important;
}
.rv2.af #myModalpdf .close,
.rv2.af #myModalmsg .close{
  color:var(--af-fog) !important;
}

/* ---------- small screens ---------- */
@media(max-width:640px){
  .rv2.af .af-stamp{
    position:static;
    display:inline-block;
    margin:0 0 6px;
    transform:rotate(2deg);
  }
  .rv2.af .af-tab{
    left:14px;
    font-size:10px !important;
    padding:5px 10px 4px !important;
  }
  .rv2.af .af-desk{
    padding:12px 14px 10px !important;
    margin:20px 10px 4px;
  }
  .rv2.af h1.menu_head{
    font-size:23px !important;
  }
  .rv2.af .af-hair{
    flex-basis:24px;
  }
  .rv2.af #reg_visa_form{
    margin:12px 0 20px !important;
    padding:14px 12px 16px !important;
  }
}
