/* ==========================================================================
   Retire Abroad Hub — Relocation Services
   HARDENED BUILD.
   Every rule is scoped to .rahrs-scope and marked !important on the
   properties a WordPress theme commonly overrides (button resets, heading
   margins, list padding, link colours). Themes load their stylesheet after
   plugin stylesheets, so equal-specificity rules would otherwise lose.
   ========================================================================== */

.rahrs-scope {
  --rahrs-grape: #6B5CE7;
  --rahrs-grape-deep: #3B2E73;
  --rahrs-teal: #5B9BD5;
  --rahrs-lavender: #F7F5FF;
  --rahrs-ink: #2A2440;
  --rahrs-muted: #5A5378;
  --rahrs-faint: #8A82A8;
  --rahrs-line: #E4DEF4;
  --rahrs-chip-bg: #F1EDFC;
  --rahrs-chip-country-border: #DDD5F2;
  --rahrs-radius: 14px;
  --rahrs-wrap: 1080px;
  --rahrs-font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --rahrs-font-head: 'Playfair Display', Georgia, serif;

  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  font-family: var(--rahrs-font-body) !important;
  color: var(--rahrs-ink);
  line-height: 1.6 !important;
  letter-spacing: normal !important;
}

.rahrs-scope *,
.rahrs-scope *::before,
.rahrs-scope *::after { box-sizing: border-box !important; }

.rahrs-scope p,
.rahrs-scope h1,
.rahrs-scope h2,
.rahrs-scope h3,
.rahrs-scope ul,
.rahrs-scope li,
.rahrs-scope figure { margin: 0; padding: 0; }

.rahrs-scope h1,
.rahrs-scope h2,
.rahrs-scope h3 { font-family: var(--rahrs-font-head) !important; text-transform: none !important; }

.rahrs-scope a { text-decoration: none !important; box-shadow: none !important; }
.rahrs-scope a:focus-visible,
.rahrs-scope button:focus-visible { outline: 2px solid var(--rahrs-grape) !important; outline-offset: 2px !important; }

.rahrs-scope .rahrs-wrap {
  max-width: var(--rahrs-wrap) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px !important;
  width: 100% !important;
  float: none !important;
}

.rahrs-scope .rahrs-block { margin: 0 0 34px !important; }

/* ==========================================================================
   1. TOP BAR
   ========================================================================== */
.rahrs-scope .rahrs-topbar {
  background: #fff;
  border-bottom: 1px solid var(--rahrs-line) !important;
  position: relative;
  z-index: 20;
  width: 100% !important;
}
.rahrs-scope .rahrs-topbar--sticky { position: sticky; top: 0; }

.rahrs-scope .rahrs-topbar__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 14px 20px !important;
}

.rahrs-scope .rahrs-logo {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--rahrs-font-head) !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--rahrs-grape-deep) !important;
  line-height: 1.2 !important;
}
.rahrs-scope .rahrs-logo__dot {
  width: 28px !important; height: 28px !important;
  border-radius: 50% !important;
  background: var(--rahrs-grape) !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.rahrs-scope .rahrs-logo__img { height: 34px !important; width: auto !important; display: block !important; }

.rahrs-scope .rahrs-nav { display: flex !important; align-items: center !important; }
.rahrs-scope .rahrs-nav__link {
  color: var(--rahrs-muted) !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  margin-left: 20px !important;
  line-height: 1.4 !important;
}
.rahrs-scope .rahrs-nav__link:hover { color: var(--rahrs-grape-deep) !important; }
.rahrs-scope .rahrs-nav__link--active {
  color: var(--rahrs-grape-deep) !important;
  font-weight: 700 !important;
  border-bottom: 2px solid var(--rahrs-grape) !important;
  padding-bottom: 3px !important;
}
.rahrs-scope .rahrs-nav__link--btn {
  background: var(--rahrs-grape) !important;
  color: #fff !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  font-weight: 500 !important;
  border: 0 !important;
  transition: opacity .18s ease;
}
.rahrs-scope .rahrs-nav__link--btn:hover { color: #fff !important; opacity: .88; }

.rahrs-scope button.rahrs-burger {
  display: none;
  width: 42px !important; height: 38px !important;
  border: 1px solid var(--rahrs-line) !important;
  border-radius: 9px !important;
  background: #fff !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px !important;
  box-shadow: none !important;
}
.rahrs-scope .rahrs-burger span {
  display: block !important;
  width: 18px !important; height: 2px !important;
  background: var(--rahrs-grape-deep) !important;
  border-radius: 2px !important;
  transition: transform .2s ease, opacity .2s ease;
}
.rahrs-scope .rahrs-topbar.is-open .rahrs-burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.rahrs-scope .rahrs-topbar.is-open .rahrs-burger span:nth-child(2) { opacity: 0; }
.rahrs-scope .rahrs-topbar.is-open .rahrs-burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 820px) {
  .rahrs-scope button.rahrs-burger { display: flex !important; }
  .rahrs-scope .rahrs-nav {
    display: none !important;
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: #fff;
    border-bottom: 1px solid var(--rahrs-line);
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 8px 20px 16px !important;
    box-shadow: 0 14px 26px rgba(42, 36, 64, .08);
  }
  .rahrs-scope .rahrs-topbar.is-open .rahrs-nav { display: flex !important; }
  .rahrs-scope .rahrs-nav__link {
    margin-left: 0 !important;
    padding: 11px 0 !important;
    font-size: 15px !important;
    border-bottom: 1px solid var(--rahrs-lavender) !important;
  }
  .rahrs-scope .rahrs-nav__link--btn {
    text-align: center !important;
    margin-top: 12px !important;
    border-bottom: 0 !important;
    padding: 12px 18px !important;
  }
}

/* ==========================================================================
   2. HERO
   ========================================================================== */
.rahrs-scope .rahrs-hero {
  display: block !important;
  width: 100% !important;
  background: var(--rahrs-lavender);
  text-align: center !important;
  padding: 56px 20px 44px;
}
.rahrs-scope .rahrs-hero__kicker {
  font-family: var(--rahrs-font-body) !important;
  font-size: 12px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--rahrs-grape) !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  text-align: center !important;
}
.rahrs-scope .rahrs-hero__title {
  font-family: var(--rahrs-font-head) !important;
  color: var(--rahrs-grape-deep);
  font-size: clamp(28px, 4.5vw, 42px);
  font-weight: 700 !important;
  max-width: 640px;
  width: auto !important;
  margin: 0 auto 14px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  float: none !important;
}
.rahrs-scope .rahrs-hero__text {
  font-family: var(--rahrs-font-body) !important;
  color: var(--rahrs-muted);
  max-width: 560px;
  width: auto !important;
  margin: 0 auto !important;
  font-size: 16px;
  text-align: center !important;
  float: none !important;
}
@media (max-width: 600px) {
  .rahrs-scope .rahrs-hero { padding: 40px 18px 34px; }
  .rahrs-scope .rahrs-hero__text { font-size: 15px; }
}

/* ==========================================================================
   3. DIRECTORY — filters + cards
   ========================================================================== */
.rahrs-scope .rahrs-filters {
  padding: 26px 0 6px !important;
  text-align: center !important;
}
.rahrs-scope .rahrs-filters__label {
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--rahrs-faint) !important;
  margin: 0 0 8px !important;
}
.rahrs-scope .rahrs-chiprow {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Full reset — themes style every <button> on the page */
.rahrs-scope button.rahrs-chip {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--rahrs-chip-bg) !important;
  background-image: none !important;
  color: var(--rahrs-grape-deep) !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.rahrs-scope button.rahrs-chip:hover { background: #E7E0FA !important; color: var(--rahrs-grape-deep) !important; }
.rahrs-scope button.rahrs-chip.rahrs-chip--on,
.rahrs-scope button.rahrs-chip.rahrs-chip--on:hover {
  background: var(--rahrs-grape) !important;
  color: #fff !important;
  font-weight: 500 !important;
}
.rahrs-scope button.rahrs-chip.rahrs-chip--country {
  background: #fff !important;
  border: 1px solid var(--rahrs-chip-country-border) !important;
  color: var(--rahrs-muted) !important;
}
.rahrs-scope button.rahrs-chip.rahrs-chip--country:hover {
  background: var(--rahrs-lavender) !important;
  color: var(--rahrs-muted) !important;
}
.rahrs-scope button.rahrs-chip.rahrs-chip--country.rahrs-chip--on,
.rahrs-scope button.rahrs-chip.rahrs-chip--country.rahrs-chip--on:hover {
  background: var(--rahrs-grape-deep) !important;
  border-color: var(--rahrs-grape-deep) !important;
  color: #fff !important;
  font-weight: 500 !important;
}

.rahrs-scope .rahrs-count {
  font-family: var(--rahrs-font-body) !important;
  font-size: 12.5px !important;
  color: var(--rahrs-faint) !important;
  margin: 4px 0 0 !important;
  min-height: 20px;
}

.rahrs-scope .rahrs-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
  gap: 18px;
  padding: 20px 0 40px !important;
  margin: 0 !important;
  list-style: none !important;
}

.rahrs-scope .rahrs-card {
  border: 1px solid var(--rahrs-line) !important;
  border-radius: var(--rahrs-radius);
  padding: 20px;
  display: flex !important;
  flex-direction: column !important;
  background: #fff;
  margin: 0 !important;
  transition: box-shadow .2s ease, transform .2s ease;
}
.rahrs-scope .rahrs-card:hover {
  box-shadow: 0 10px 26px rgba(107, 92, 231, .10);
  transform: translateY(-2px);
}
.rahrs-scope .rahrs-card--hidden { display: none !important; }

@keyframes rahrs-pop { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.rahrs-scope .rahrs-card--in { animation: rahrs-pop .3s ease both; }

.rahrs-scope .rahrs-card__head {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 12px !important;
}
.rahrs-scope .rahrs-card__logo {
  width: 44px !important; height: 44px !important;
  border-radius: 10px !important;
  background: var(--rahrs-chip-bg) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--rahrs-grape) !important;
  font-family: var(--rahrs-font-body) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}
.rahrs-scope .rahrs-card__logo img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}
.rahrs-scope .rahrs-card__name {
  font-family: var(--rahrs-font-head) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  color: var(--rahrs-ink) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
.rahrs-scope .rahrs-card__meta {
  font-family: var(--rahrs-font-body) !important;
  font-size: 12px !important;
  color: var(--rahrs-faint) !important;
  line-height: 1.5 !important;
}

.rahrs-scope .rahrs-badges {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}
.rahrs-scope .rahrs-badge {
  display: inline-block !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 11px !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  line-height: 1.5 !important;
}
.rahrs-scope .rahrs-badge--vetted { background: #E7F3EC !important; color: #1E5B3C !important; font-weight: 700 !important; }
.rahrs-scope .rahrs-badge--country { background: #EAF2FA !important; color: #2C5A85 !important; font-weight: 400 !important; }

.rahrs-scope .rahrs-card__services {
  font-family: var(--rahrs-font-body) !important;
  font-size: 13.5px !important;
  color: var(--rahrs-muted) !important;
  line-height: 1.8 !important;
  margin: 0 0 16px !important;
  flex-grow: 1 !important;
}

.rahrs-scope .rahrs-card__foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  border-top: 1px solid var(--rahrs-line) !important;
  padding-top: 14px !important;
  flex-wrap: wrap !important;
}
.rahrs-scope .rahrs-card__price {
  font-family: var(--rahrs-font-body) !important;
  font-size: 13px !important;
  color: var(--rahrs-muted) !important;
  
}
.rahrs-vetting{
margin:0 auto !important;
width:87%;
}
.rahrs-card__price{
width:100px !important;}
.rahrs-scope .rahrs-card__price b { color: var(--rahrs-ink) !important; font-size: 15px !important; font-weight: 700 !important; }
.rahrs-scope a.rahrs-card__btn {
  display: inline-block !important;
  background: var(--rahrs-grape) !important;
  background-image: none !important;
  color: #fff !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  padding: 9px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition: opacity .18s ease;
}
.rahrs-scope a.rahrs-card__btn:hover { color: #fff !important; opacity: .88; }

.rahrs-scope .rahrs-empty {
  display: none;
  text-align: center !important;
  padding: 10px 20px 44px !important;
  color: var(--rahrs-muted) !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 14.5px !important;
}
.rahrs-scope .rahrs-empty.is-visible { display: block; }

@media (max-width: 600px) {
  .rahrs-scope .rahrs-grid { gap: 14px; padding: 16px 0 30px !important; }
  .rahrs-scope .rahrs-card { padding: 18px; }
  .rahrs-scope button.rahrs-chip { font-size: 12.5px !important; padding: 7px 14px !important; }
}

/* ==========================================================================
   4. GUIDES CROSS-LINK
   ========================================================================== */
.rahrs-scope .rahrs-guidescta {
  border: 1px solid var(--rahrs-line) !important;
  border-left: 4px solid var(--rahrs-teal) !important;
  border-radius: 0 var(--rahrs-radius) var(--rahrs-radius) 0 !important;
  padding: 22px 26px;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.rahrs-scope .rahrs-guidescta__title {
  font-family: var(--rahrs-font-head) !important;
  color: var(--rahrs-grape-deep);
  font-size: 19px;
  font-weight: 700 !important;
  margin: 0 0 5px !important;
  line-height: 1.3 !important;
}
.rahrs-scope .rahrs-guidescta__text {
  font-family: var(--rahrs-font-body) !important;
  font-size: 14px !important;
  color: var(--rahrs-muted);
  max-width: 560px;
  margin: 0 !important;
}
.rahrs-scope a.rahrs-guidescta__btn {
  display: inline-block !important;
  background: var(--rahrs-teal) !important;
  color: #fff !important;
  font-family: var(--rahrs-font-body) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 11px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition: opacity .18s ease;
}
.rahrs-scope a.rahrs-guidescta__btn:hover { color: #fff !important; opacity: .88; }

/* ==========================================================================
   5. HOW IT WORKS
   ========================================================================== */
.rahrs-scope .rahrs-how {
  background: var(--rahrs-lavender);
  border-radius: 16px;
  padding: 30px;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 20px !important;
  text-align: center !important;
}
.rahrs-scope .rahrs-how__num {
  width: 34px !important; height: 34px !important;
  border-radius: 50% !important;
  background: var(--rahrs-grape) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--rahrs-font-body) !important;
  font-weight: 700 !important;
  margin: 0 auto 10px !important;
  font-size: 15px !important;
}
.rahrs-scope .rahrs-how__title {
  font-family: var(--rahrs-font-head) !important;
  color: var(--rahrs-grape-deep);
  font-size: 16px;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
  line-height: 1.3 !important;
}
.rahrs-scope .rahrs-how__text {
  font-family: var(--rahrs-font-body) !important;
  font-size: 13.5px !important;
  color: var(--rahrs-muted);
  margin: 0 !important;
}
@media (max-width: 600px) { .rahrs-scope .rahrs-how { padding: 24px 20px; } }

/* ==========================================================================
   6. VETTING
   ========================================================================== */
.rahrs-scope .rahrs-vetting {
  border: 1px solid var(--rahrs-line) !important;
  border-radius: 16px !important;
  padding: 28px 30px;
}
.rahrs-scope .rahrs-vetting__title {
  font-family: var(--rahrs-font-head) !important;
  color: var(--rahrs-grape-deep);
  font-size: 22px;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  line-height: 1.25 !important;
}
.rahrs-scope .rahrs-vetting__text {
  font-family: var(--rahrs-font-body) !important;
  color: var(--rahrs-muted);
  font-size: 14.5px !important;
  margin: 0 0 14px !important;
}
.rahrs-scope ul.rahrs-vetting__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.rahrs-scope li.rahrs-vetting__item {
  list-style: none !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 14px !important;
  color: var(--rahrs-ink);
  padding: 6px 0 6px 28px !important;
  margin: 0 !important;
  position: relative !important;
  line-height: 1.6 !important;
}
.rahrs-scope li.rahrs-vetting__item::before {
  content: var(--rahrs-tick, "\2713") !important;
  color: var(--rahrs-grape);
  font-weight: 700 !important;
  position: absolute !important;
  left: 2px !important;
  top: 6px !important;
  line-height: 1.6 !important;
}
.rahrs-scope .rahrs-vetting__note {
  font-family: var(--rahrs-font-body) !important;
  color: var(--rahrs-muted);
  font-size: 14.5px !important;
  margin: 14px 0 0 !important;
}
@media (max-width: 600px) { .rahrs-scope .rahrs-vetting { padding: 24px 20px; } }

/* ==========================================================================
   7. LIST YOUR COMPANY CTA
   ========================================================================== */
.rahrs-scope .rahrs-listcta {
  background: var(--rahrs-grape-deep);
  color: #fff;
  border-radius: 16px;
  padding: 30px;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.rahrs-scope .rahrs-listcta__title {
  font-family: var(--rahrs-font-head) !important;
  color: #fff;
  font-size: 20px;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
  line-height: 1.3 !important;
}
.rahrs-scope .rahrs-listcta__text {
  font-family: var(--rahrs-font-body) !important;
  color: #CFC8F2;
  font-size: 14px !important;
  margin: 0 !important;
}
.rahrs-scope a.rahrs-listcta__btn {
  display: inline-block !important;
  background: #fff !important;
  color: var(--rahrs-grape-deep) !important;
  font-family: var(--rahrs-font-body) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 11px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition: opacity .18s ease;
}
.rahrs-scope a.rahrs-listcta__btn:hover { color: var(--rahrs-grape-deep) !important; opacity: .88; }
@media (max-width: 600px) { .rahrs-scope .rahrs-listcta { padding: 24px 20px; } }

/* ==========================================================================
   8. FOOTER
   ========================================================================== */
.rahrs-scope .rahrs-footer {
  border-top: 1px solid var(--rahrs-line) !important;
  padding: 22px 0 34px;
}
.rahrs-scope .rahrs-footer__disclosure {
  font-family: var(--rahrs-font-body) !important;
  font-size: 12px !important;
  color: var(--rahrs-faint);
  line-height: 1.7 !important;
  max-width: 820px;
  margin: 0 0 14px !important;
}
.rahrs-scope .rahrs-footer__row {
  display: flex !important;
  justify-content: space-between !important;
  font-family: var(--rahrs-font-body) !important;
  font-size: 12.5px !important;
  color: var(--rahrs-faint);
  flex-wrap: wrap !important;
  gap: 8px !important;
}

/* ==========================================================================
   9. Entrance animation — content is visible by default, never hidden by CSS
   ========================================================================== */
.rahrs-scope .rahrs-reveal { opacity: 1; transform: none; }
.rahrs-scope .rahrs-reveal.rahrs-in { animation: rahrs-pop .45s ease both; }