/* ========================================================================== 
   RATEVORO UI refresh — atlas / trust interface
   Loaded after page styles and rtl.css. All directional rules use logical
   properties so this layer can safely serve every supported locale.
   ========================================================================== */

body.site-body {
  --rv-blue: #2463eb;
  --rv-blue-deep: #123b89;
  --rv-blue-soft: #edf4ff;
  --rv-teal: #118d83;
  --rv-teal-soft: #e9f8f5;
  --rv-amber: #e8ad38;
  --rv-amber-light: #f8d88b;
  --rv-amber-ink: #563907;
  --rv-night: #07182e;
  --rv-night-2: #0d2848;
  --rv-night-3: #15395f;
  --rv-canvas: #f5f7fb;
  --rv-surface: #ffffff;
  --rv-stroke: #dce3ec;
  --rv-stroke-strong: #bdc9d8;
  --rv-copy: #13233a;
  --rv-copy-muted: #5b6b80;
  --navy: var(--rv-night);
  --navy2: var(--rv-night-2);
  --ink: var(--rv-copy);
  --body: var(--rv-copy-muted);
  --gold: var(--rv-amber);
  --gold2: var(--rv-amber-light);
  --paper: var(--rv-canvas);
  --card: var(--rv-surface);
  --line: var(--rv-stroke);
  --line-strong: var(--rv-stroke-strong);
  --surface: var(--rv-surface);
  --surface-soft: #f8faff;
  --surface-muted: #eef2f7;
  --text: var(--rv-copy);
  --text-muted: var(--rv-copy-muted);
  --border: var(--rv-stroke);
  --border-emphasis: var(--rv-stroke-strong);
  --focus-outer: #0b56d9;
  --focus-ring: 0 0 0 4px rgba(36, 99, 235, .24);
  --r: 18px;
  --r-sm: 12px;
  --r-lg: 26px;
  --shadow-xs: 0 1px 2px rgba(7, 24, 46, .04), 0 6px 18px rgba(7, 24, 46, .045);
  --shadow-card: 0 2px 3px rgba(7, 24, 46, .035), 0 14px 36px rgba(7, 24, 46, .075);
  --shadow-card-hover: 0 4px 8px rgba(7, 24, 46, .06), 0 24px 54px rgba(7, 24, 46, .13);
  --shadow-lg: 0 8px 22px rgba(7, 24, 46, .11), 0 32px 72px rgba(7, 24, 46, .16);
  overflow-wrap: break-word;
  background:
    radial-gradient(900px 500px at 102% 15%, rgba(36, 99, 235, .07), transparent 72%),
    radial-gradient(720px 460px at -8% 64%, rgba(17, 141, 131, .055), transparent 70%),
    var(--rv-canvas);
}

html,
body.site-body,
body.site-body .site-main {
  max-inline-size: 100%;
  overflow-x: clip;
}

body.site-body ::selection {
  background: rgba(36, 99, 235, .2);
  color: #07182e;
}

body.site-body :where(h1, h2, h3, h4) {
  color: var(--rv-copy);
  text-wrap: balance;
}

body.site-body :where(p, li, .muted, .section-sub, .result-meta, .profile-meta) {
  text-wrap: pretty;
}

body.site-body :where(a[href], button, input:not([type="hidden"]), select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--focus-outer) !important;
}

/* --------------------------------------------------------------------------
   Header and discovery navigation
   -------------------------------------------------------------------------- */

body.site-body .topbar {
  border-block-end: 1px solid rgba(255, 255, 255, .1);
  background:
    radial-gradient(500px 140px at 78% -20%, rgba(36, 99, 235, .2), transparent 70%),
    linear-gradient(112deg, #061528 0%, #0a213c 54%, #0d2948 100%);
  box-shadow: 0 7px 24px rgba(2, 10, 22, .18);
}

body.site-body .topbar.is-scrolled {
  border-block-end-color: rgba(248, 216, 139, .24);
  background: rgba(5, 19, 37, .985);
  box-shadow: 0 10px 30px rgba(2, 10, 22, .27);
}

body.site-body .topbar-in {
  min-block-size: 70px;
  gap: 14px;
  padding-block: 10px;
}

body.site-body .logo {
  gap: 10px;
  font-size: 21px;
  letter-spacing: -.045em;
}

body.site-body .logo b,
body.site-body .footer-brand b {
  color: var(--rv-amber-light);
}

body.site-body .logo-mark {
  inline-size: 38px;
  block-size: 38px;
  border: 1px solid rgba(255, 239, 197, .78);
  border-radius: 12px;
  background:
    radial-gradient(circle at 30% 20%, #fff1c2, transparent 38%),
    linear-gradient(145deg, #f4cf79, #c58b24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62), 0 6px 14px rgba(232, 173, 56, .22);
}

body.site-body .logo-mark::after {
  inset: 3px;
  border-color: rgba(65, 40, 4, .18);
  border-radius: 8px;
}

body.site-body .logo-mark .logo-star {
  color: #382303;
}

body.site-body .topsearch {
  max-inline-size: 660px;
}

body.site-body .topsearch input {
  min-block-size: 46px;
  padding-inline: 41px 13px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 12px;
  background: rgba(255, 255, 255, .095);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

body.site-body .topsearch input:hover {
  border-color: rgba(248, 216, 139, .48);
  background: rgba(255, 255, 255, .13);
}

body.site-body .topsearch input:focus {
  border-color: #f1cb77;
  background: #fff;
  color: var(--rv-copy);
  box-shadow: 0 0 0 4px rgba(248, 216, 139, .2);
}

body.site-body .topsearch-ico {
  inset-inline-start: 13px;
  inline-size: 18px;
  opacity: .76;
}

body.site-body .topsearch > .btn {
  min-block-size: 46px;
  border-radius: 11px;
}

body.site-body .country-btn,
body.site-body .lang-btn {
  min-block-size: 46px;
  border-color: rgba(255, 255, 255, .2);
  border-radius: 11px;
  background: rgba(255, 255, 255, .075);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

body.site-body .country-btn:hover,
body.site-body .lang-btn:hover {
  border-color: rgba(248, 216, 139, .5);
  background: rgba(255, 255, 255, .12);
}

body.site-body .country-menu,
body.site-body .lang-menu,
body.site-body .suggest,
body.site-body .suggest-float {
  padding: 8px;
  border-color: #cbd6e4;
  border-radius: 15px;
  background: rgba(255, 255, 255, .985);
  box-shadow: var(--shadow-lg);
}

body.site-body .country-item,
body.site-body .sug-i {
  border-radius: 10px;
}

body.site-body .country-item:hover,
body.site-body .sug-i:hover,
body.site-body .sug-i.is-on {
  background: var(--rv-blue-soft);
}

body.site-body .country-item.is-cur {
  background: linear-gradient(135deg, var(--rv-night-2), var(--rv-blue-deep));
  color: #fff;
}

body.site-body .secnav {
  border-block: 1px solid rgba(255, 255, 255, .075) rgba(248, 216, 139, .16);
  background: #0a203a;
}

body.site-body .secnav::after {
  background: linear-gradient(to var(--rv-fade-dir, left), #0a203a 22%, transparent);
}

body.site-body .secnav-in {
  min-block-size: 52px;
  gap: 4px;
}

body.site-body .secnav-item {
  min-block-size: 42px;
  padding-inline: 13px;
  border-radius: 10px;
  color: rgba(255, 255, 255, .78);
  transition: color .18s ease, border-color .18s ease, background .18s ease;
}

body.site-body .secnav-item:hover {
  border-color: rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .085);
}

body.site-body .secnav-item.is-on {
  border-color: #f5d488;
  background: linear-gradient(180deg, #f4d58e, #dcaa49);
  color: #362302;
  box-shadow: 0 4px 14px rgba(232, 173, 56, .18);
}

body.site-body .secnav-biz {
  border-color: rgba(248, 216, 139, .44);
  background: rgba(248, 216, 139, .08);
  color: #ffe9b1;
}

/* --------------------------------------------------------------------------
   Shared hero / page heading grammar
   -------------------------------------------------------------------------- */

body.site-body .pagehead {
  isolation: isolate;
  padding-block: 48px 38px;
  border-block-end: 1px solid rgba(36, 99, 235, .28);
  background:
    radial-gradient(660px 260px at 86% 18%, rgba(36, 99, 235, .28), transparent 70%),
    radial-gradient(480px 240px at 8% 110%, rgba(17, 141, 131, .16), transparent 70%),
    linear-gradient(128deg, #07182e 0%, #0b2748 57%, #123a61 100%);
}

body.site-body .pagehead::before {
  opacity: .75;
  background:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, transparent, black 18%, black 82%, transparent);
}

body.site-body .pagehead::after {
  inset-block: auto -90px;
  inset-inline-end: clamp(20px, 8vw, 120px);
  inline-size: 230px;
  block-size: 230px;
  border: 1px solid rgba(248, 216, 139, .18);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(248, 216, 139, .07), transparent 66%);
  box-shadow: 0 0 0 44px rgba(248, 216, 139, .025);
}

body.site-body .pagehead h1 {
  color: #fff;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.1;
  letter-spacing: -.04em;
}

body.site-body .pagehead .muted,
body.site-body .pagehead .profile-meta {
  color: rgba(238, 246, 255, .78);
}

body.site-body .pagehead-geo {
  border-color: rgba(248, 216, 139, .38);
  background: rgba(248, 216, 139, .095);
  color: #ffe6a8;
}

body.site-body .scorecard {
  border-color: rgba(248, 216, 139, .3) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .075) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 14px 34px rgba(0, 0, 0, .2) !important;
}

/* --------------------------------------------------------------------------
   Cards, result rows and data surfaces
   -------------------------------------------------------------------------- */

body.site-body .section {
  padding-block: clamp(52px, 6vw, 74px);
}

body.site-body .section-tinted {
  border-block-color: #dfe6ef;
  background:
    radial-gradient(600px 260px at 90% 5%, rgba(36, 99, 235, .055), transparent 70%),
    linear-gradient(180deg, #edf2f8, #f6f8fb);
}

body.site-body .section-title {
  color: #10233c;
  font-size: clamp(25px, 2.4vw, 34px);
}

body.site-body .section-title::after {
  inline-size: 48px;
  block-size: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rv-blue), var(--rv-teal));
}

body.site-body :where(.seccard, .catcard, .procard, .revitem, .result, .card, .cityrow, .justcard, .qa-item, .official, .official-item, .revfact, .livparts, .kpi, .formcard) {
  border-color: var(--rv-stroke);
  background: rgba(255, 255, 255, .97);
  box-shadow: var(--shadow-xs);
}

body.site-body :where(.seccard, .catcard, .procard, .revitem, .result, .cityrow, .justcard, .qa-item) {
  border-radius: 17px;
  transition: transform .22s var(--ease-out), border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

body.site-body .card,
body.site-body .formcard {
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(249, 251, 255, .98));
  box-shadow: var(--shadow-card);
}

body.site-body .card h3,
body.site-body .formcard h2 {
  color: #112742;
}

body.site-body .avatar {
  border-color: #d5dfeb;
  border-radius: 13px;
  background:
    radial-gradient(circle at 28% 18%, #fff, transparent 43%),
    linear-gradient(145deg, #f1f6ff, #e5eefb);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

body.site-body .result {
  position: relative;
  min-block-size: 96px;
  padding: 18px 20px;
  border-radius: 17px;
  overflow: hidden;
}

body.site-body .result::before {
  content: "";
  position: absolute;
  inset-block: 14px;
  inset-inline-start: 0;
  inline-size: 3px;
  border-radius: 0 99px 99px 0;
  background: linear-gradient(180deg, var(--rv-blue), var(--rv-teal));
  opacity: .72;
  transition: inset-block .2s ease, opacity .2s ease;
}

[dir="rtl"] body.site-body .result::before {
  border-radius: 99px 0 0 99px;
}

body.site-body .result-name {
  color: #102947;
  font-size: 17px;
}

body.site-body .result-meta {
  color: #586a80;
}

body.site-body .result-sponsored,
body.site-body .result-openslot {
  border-color: #dfbf78;
  background:
    radial-gradient(300px 100px at 100% 0, rgba(248, 216, 139, .22), transparent 70%),
    linear-gradient(120deg, #fffdf6, #fff7e6);
}

body.site-body .result-sponsored::before,
body.site-body .result-openslot::before {
  background: linear-gradient(180deg, #f3c75f, #bf8421);
}

body.site-body .sponsored-tag {
  border-color: #c99937;
  border-radius: 999px;
  background: linear-gradient(180deg, #f8d98d, #e7b64d);
  color: #533704;
  box-shadow: 0 4px 11px rgba(166, 111, 13, .16);
}

body.site-body .score {
  min-inline-size: 52px;
  min-block-size: 42px;
  border: 0;
  border-radius: 11px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 5px 14px rgba(7, 24, 46, .14);
}

body.site-body .score-hi {
  background: linear-gradient(145deg, #15935f, #087148);
}

body.site-body .score-mid {
  background: linear-gradient(145deg, #d7951a, #9c6504);
}

body.site-body .score-lo {
  background: linear-gradient(145deg, #d84e60, #a8293a);
}

body.site-body .score-new {
  border: 1px solid #c7d2e0;
  background: linear-gradient(145deg, #f0f4f9, #e1e8f1);
  color: #45576d;
  box-shadow: none;
}

body.site-body .bar {
  block-size: 9px;
  border-color: #dce4ec;
  background: #e9eef4;
}

body.site-body .bar-fill {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25) !important;
}

body.site-body .official {
  border-color: #c7d9ef;
  background: linear-gradient(145deg, #f5f9ff, #edf5ff);
}

body.site-body .official-item {
  border-color: #d5e1ef;
  background: #fff;
}

body.site-body .qa-q::before {
  background: linear-gradient(145deg, var(--rv-night-2), var(--rv-blue-deep));
}

body.site-body .qa-a::before {
  background: linear-gradient(145deg, var(--rv-amber-light), var(--rv-amber));
}

/* --------------------------------------------------------------------------
   Controls and forms
   -------------------------------------------------------------------------- */

body.site-body .btn {
  min-block-size: 46px;
  padding-block: 10px;
  padding-inline: 19px;
  border-radius: 11px;
  font-weight: 750;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

body.site-body .btn-gold {
  border-color: #c58f28;
  background: linear-gradient(180deg, #f9d986 0%, #e6ad3b 100%);
  color: var(--rv-amber-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62), 0 7px 17px rgba(197, 143, 40, .2);
}

body.site-body .btn-navy {
  border-color: #0c315d;
  background: linear-gradient(145deg, #0b2240, #123f72);
  color: #fff;
  box-shadow: 0 7px 17px rgba(7, 24, 46, .14);
}

body.site-body .btn-ghost {
  border-color: #cbd5e2;
  background: #fff;
  color: #18314e;
}

body.site-body :where(.filters select, .flabel input, .flabel select, .flabel textarea, .revform input[type="text"], .revform input[type="number"], .revform input[type="file"], .revform select, .revform textarea, .rvfield input, .rvfield select, .qaform input[type="text"], .qaform textarea, .ainput) {
  min-block-size: 48px;
  border-color: #bac8d9 !important;
  border-radius: 11px !important;
  background: #fff !important;
  box-shadow: inset 0 1px 2px rgba(7, 24, 46, .035) !important;
}

body.site-body :where(.filters select, .flabel input, .flabel select, .flabel textarea, .revform input, .revform select, .revform textarea, .rvfield input, .rvfield select, .qaform input, .qaform textarea, .ainput):focus-visible {
  border-color: var(--rv-blue) !important;
  outline: 2px solid #fff !important;
  box-shadow: 0 0 0 5px rgba(36, 99, 235, .24) !important;
}

body.site-body .filters,
body.site-body .search-layout > .filters,
body.site-body .profile-layout > .filters {
  padding: 18px;
  border-color: #d6e0eb;
  border-radius: 16px;
  background: rgba(255, 255, 255, .96);
  box-shadow: var(--shadow-card);
}

body.site-body .filter-disclosure > summary {
  border-radius: 11px;
}

body.site-body :where(.sharebtn, .revchip, .qavote, .helpful, .report-link, .facetfilter a, .route-chip, .route-pill) {
  border-radius: 999px;
}

body.site-body :where(.revchip, .helpful, .qavote, .facetfilter a) {
  border-color: #cbd6e3;
  background: #fff;
  color: #41536a;
}

body.site-body :where(.revchip, .helpful, .qavote, .facetfilter a):hover {
  border-color: #8aaee9;
  background: var(--rv-blue-soft);
  color: #17438c;
}

body.site-body .revchip.is-on,
body.site-body .facetfilter a.is-on {
  border-color: #164da9;
  background: linear-gradient(145deg, #154188, #2463eb);
  color: #fff;
}

body.site-body .chip,
body.site-body .facet {
  border-color: #cbd6e3;
  background: #fff;
}

body.site-body .chip.is-on,
body.site-body .chip:has(input:checked) {
  border-color: #d0a042;
  background: linear-gradient(145deg, #fff8e8, #f9e5b7);
}

body.site-body .flash,
body.site-body .official,
body.site-body .livparts,
body.site-body .claim-entity,
body.site-body .reported-review,
body.site-body .firstrev,
body.site-body .verinote,
body.site-body .qaform,
body.site-body .critpicks,
body.site-body .revmore,
body.site-body .owner-reply,
body.site-body .addstrip {
  border-radius: 13px;
}

/* --------------------------------------------------------------------------
   Homepage: a brighter trust-and-discovery canvas
   -------------------------------------------------------------------------- */

body.site-body .home-page {
  --home-blue: var(--rv-blue);
  --home-blue-deep: var(--rv-blue-deep);
  --home-cyan: var(--rv-teal);
  --home-gold: var(--rv-amber);
  --home-gold-soft: var(--rv-amber-light);
  --home-ink: var(--rv-copy);
  color: var(--rv-copy);
  background:
    radial-gradient(860px 500px at 100% 16%, rgba(36, 99, 235, .075), transparent 72%),
    radial-gradient(720px 420px at 0 65%, rgba(17, 141, 131, .055), transparent 72%),
    #f7f9fc;
}

body.site-body .home-page .hero {
  min-block-size: 700px;
  border-block-end-color: #d7e0eb;
  background:
    radial-gradient(760px 500px at 78% 47%, rgba(36, 99, 235, .16), transparent 68%),
    radial-gradient(520px 350px at 4% 104%, rgba(17, 141, 131, .11), transparent 70%),
    linear-gradient(132deg, #fbfdff 0%, #f2f6fb 51%, #e9f0f8 100%);
}

body.site-body .home-page .hero::before {
  opacity: .55;
  background-image:
    linear-gradient(rgba(17, 55, 101, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 55, 101, .04) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, black, transparent 84%);
}

body.site-body .home-page .hero::after {
  inset-block-start: -250px;
  inset-inline-end: -180px;
  inline-size: 610px;
  block-size: 610px;
  border-color: rgba(36, 99, 235, .1);
  background: radial-gradient(circle, rgba(255, 255, 255, .7), transparent 64%);
  box-shadow: 0 0 0 88px rgba(36, 99, 235, .022), 0 0 0 176px rgba(17, 141, 131, .014);
}

body.site-body .home-page .hero-glow {
  background:
    radial-gradient(circle at 77% 47%, rgba(255, 255, 255, .72), transparent 30%),
    linear-gradient(110deg, transparent 47%, rgba(36, 99, 235, .035));
}

body.site-body .home-page .hero-in {
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: clamp(42px, 5vw, 78px);
  min-block-size: 700px;
  padding-block: 78px 110px;
}

body.site-body .home-page .hero-copy,
body.site-body .home-page .hero-visual {
  min-inline-size: 0;
  max-inline-size: 100%;
}

body.site-body .home-page .hero-kicker {
  border-color: #cbd8e8;
  border-radius: 999px;
  background: rgba(255, 255, 255, .86);
  color: #53657b;
  box-shadow: 0 5px 18px rgba(7, 24, 46, .05);
}

body.site-body .home-page .hero-kicker-flag {
  background: var(--rv-blue-soft);
  box-shadow: inset 0 0 0 1px #d2e1f5;
}

body.site-body .home-page .hero-kicker b {
  color: #113768;
}

body.site-body .home-page .hero h1 {
  color: #0a2547;
  font-size: clamp(3.1rem, 5.2vw, 4.85rem);
  line-height: 1.02;
}

body.site-body .home-page .hero h1 em {
  color: #a37116;
  background: linear-gradient(105deg, #8d5d0b, #d09a30 52%, #956514);
  -webkit-background-clip: text;
  background-clip: text;
}

body.site-body .home-page .hero-sub {
  color: #52657d;
}

body.site-body .home-page .hero-sub strong {
  color: #113768;
}

body.site-body .home-page .hero-search {
  max-inline-size: 720px;
  padding: 8px;
  border-color: #b9c9dc;
  border-radius: 18px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 18px 42px rgba(14, 49, 91, .13), 0 0 0 6px rgba(255, 255, 255, .38);
}

body.site-body .home-page .hero-search:focus-within {
  border-color: var(--rv-blue);
  box-shadow: 0 0 0 5px rgba(36, 99, 235, .16), 0 20px 48px rgba(14, 49, 91, .14);
}

body.site-body .home-page .hero-search input {
  min-inline-size: 0;
  color: #102d51;
}

body.site-body .home-page .hero-search .btn {
  border-color: #b97f17;
  border-radius: 12px;
  background: linear-gradient(180deg, #f8d783, #dfa534);
  color: #482f04;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .65), 0 7px 17px rgba(185, 127, 23, .18);
}

body.site-body .home-page .hero-chips a {
  border-color: #cfdae7;
  background: rgba(255, 255, 255, .78);
  color: #2f4764;
}

body.site-body .home-page .hero-chips a:not(.chip-add)::before {
  background: var(--rv-blue);
  box-shadow: 0 0 0 3px rgba(36, 99, 235, .09);
}

body.site-body .home-page .hero-chips a:hover {
  border-color: #8eafe0;
  background: #fff;
  color: #164589;
}

body.site-body .home-page .hero-chips .chip-add {
  border-color: #d7ad5a;
  background: #fff8e8;
  color: #80580b;
}

body.site-body .home-page .proof-stat {
  border-inline-end-color: #ccd7e4;
}

body.site-body .home-page .proof-stat b {
  color: #0f3b72;
}

body.site-body .home-page .proof-stat span {
  color: #64758b;
}

body.site-body .home-page .hero-globe-art {
  filter: drop-shadow(0 28px 34px rgba(9, 38, 79, .23));
}

body.site-body .home-page .hero-orbit {
  border-color: rgba(36, 99, 235, .16);
}

body.site-body .home-page .trust-panel {
  border-color: rgba(181, 199, 221, .94);
  border-radius: 24px;
  background: rgba(255, 255, 255, .955);
  box-shadow: 0 22px 52px rgba(9, 38, 79, .15), inset 0 1px 0 #fff;
}

body.site-body .home-page .live-dot {
  color: var(--rv-teal);
}

body.site-body .home-page .live-dot::before {
  background: var(--rv-teal);
  box-shadow: 0 0 0 4px rgba(17, 141, 131, .12);
}

body.site-body .home-page .score-ring-track {
  stroke: #e1e9f2;
}

body.site-body .home-page .score-ring-value {
  stroke: var(--rv-blue);
}

body.site-body .home-page .mini-icon {
  background: var(--rv-blue-soft);
}

body.site-body .home-page .mini-score {
  color: #a36e0e;
}

body.site-body .home-page .float-badge {
  border-color: #d1dce8;
  box-shadow: 0 11px 26px rgba(9, 38, 79, .1);
}

body.site-body .home-page .float-badge > span:first-child {
  background: var(--rv-teal-soft);
  color: #0c7169;
}

body.site-body .home-page .seccards {
  gap: 16px;
  margin-block-start: -48px;
}

body.site-body .home-page .seccard,
body.site-body .home-page .seccard:nth-child(2n),
body.site-body .home-page .seccard:nth-child(3n),
body.site-body .home-page .seccard:nth-child(4n) {
  --home-card-accent: var(--rv-blue);
}

body.site-body .home-page .seccard:nth-child(2n) {
  --home-card-accent: var(--rv-teal);
}

body.site-body .home-page .seccard:nth-child(3n) {
  --home-card-accent: #b47a16;
}

body.site-body .home-page .seccard:nth-child(4n) {
  --home-card-accent: #6653c6;
}

body.site-body .home-page .seccard {
  min-block-size: 160px;
  padding: 23px;
  border-color: #d6e0eb;
  border-radius: 20px;
  background:
    radial-gradient(180px 100px at 100% 0, color-mix(in srgb, var(--home-card-accent) 9%, transparent), transparent 72%),
    linear-gradient(145deg, #fff, #f9fbfe);
  box-shadow: 0 16px 38px rgba(9, 38, 79, .09);
}

body.site-body .home-page .seccard::before {
  inline-size: 4px;
  background: var(--home-card-accent);
}

body.site-body .home-page .seccard-ico {
  inline-size: 48px;
  block-size: 48px;
  border-color: color-mix(in srgb, var(--home-card-accent) 25%, #dce5ef);
  border-radius: 14px;
  background: color-mix(in srgb, var(--home-card-accent) 8%, #fff);
  color: var(--home-card-accent);
}

body.site-body .home-page .seccard b {
  color: #112e54;
}

body.site-body .home-page .seccard-n {
  color: color-mix(in srgb, var(--home-card-accent) 78%, #26374d);
}

body.site-body .home-page .statband {
  border-color: #d6e0eb;
  border-radius: 22px;
  background:
    radial-gradient(380px 120px at 90% 0, rgba(36, 99, 235, .065), transparent 72%),
    #fff;
  box-shadow: 0 13px 34px rgba(9, 38, 79, .075);
}

body.site-body .home-page .stat b {
  color: #124482;
}

body.site-body .home-page .catgroup-head {
  border-block-end-color: #d9e2ec;
}

body.site-body .home-page .catcard,
body.site-body .home-page .procard,
body.site-body .home-page .revitem,
body.site-body .home-page .justcard,
body.site-body .home-page .cityrow,
body.site-body .home-page .livecard,
body.site-body .home-page .cuistile {
  border-color: #dae3ed;
  background: #fff;
  box-shadow: 0 5px 18px rgba(9, 38, 79, .045);
}

body.site-body .home-page .catcard {
  border-radius: 17px;
}

body.site-body .home-page .catcard::before {
  background: linear-gradient(180deg, var(--rv-blue), var(--rv-teal));
}

body.site-body .home-page .catcard-ico {
  border-color: #d3dfed;
  border-radius: 12px;
  background: linear-gradient(145deg, #f3f7fd, #eaf2fb);
}

body.site-body .home-page .livewrap {
  border-color: #cfdcea;
  background:
    radial-gradient(520px 220px at 100% 0, rgba(17, 141, 131, .08), transparent 70%),
    linear-gradient(145deg, #fff, #f5f9fd);
  box-shadow: 0 16px 40px rgba(9, 38, 79, .075);
}

body.site-body .home-page .worldband {
  background:
    radial-gradient(720px 300px at 86% 0, rgba(36, 99, 235, .23), transparent 72%),
    linear-gradient(145deg, #06172d, #0b2c50 58%, #0d385d);
}

body.site-body .home-page .worldband::before {
  background:
    linear-gradient(90deg, rgba(4, 19, 39, .84), rgba(8, 40, 74, .56) 50%, rgba(4, 19, 39, .84)),
    radial-gradient(640px 300px at 88% 0, rgba(248, 216, 139, .15), transparent 72%);
}

body.site-body .home-page .worldcard {
  border-color: rgba(210, 225, 243, .2);
  border-radius: 17px;
  background: rgba(7, 31, 60, .88);
}

body.site-body .home-page .worldcard:hover {
  border-color: rgba(248, 216, 139, .66);
  background: #103c69;
}

body.site-body .home-page .worldcard.is-here {
  border-color: #e0bb66;
  background: linear-gradient(145deg, #153c68, #2b4770);
}

body.site-body .home-page .world-directory summary {
  border-color: rgba(248, 216, 139, .48);
  background: rgba(16, 60, 105, .76);
}

body.site-body .home-page .ctacard {
  border-color: rgba(248, 216, 139, .52);
  background:
    radial-gradient(320px 160px at 100% 0, rgba(36, 99, 235, .3), transparent 72%),
    linear-gradient(145deg, #071c36, #123f70);
  box-shadow: 0 16px 38px rgba(6, 24, 48, .17);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

body.site-body .footer {
  border-block-start-color: #173e65;
  background:
    radial-gradient(560px 260px at 82% 0, rgba(36, 99, 235, .16), transparent 72%),
    linear-gradient(135deg, #061528, #091f38 55%, #0c2947);
}

body.site-body .footer-in {
  padding-block: 56px 38px;
}

body.site-body .footer-cols h4 {
  color: #f8d88b;
}

body.site-body .footer-cols a {
  color: rgba(239, 246, 255, .76);
}

body.site-body .footer-cols a:hover {
  color: #fff;
}

body.site-body .footer-base {
  border-block-start-color: rgba(255, 255, 255, .1);
  background: rgba(2, 11, 23, .34);
}

/* --------------------------------------------------------------------------
   Responsive behavior
   -------------------------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
  body.site-body :where(.seccard, .catcard, .procard, .revitem, .result, .cityrow, .justcard, .qa-item):hover {
    border-color: #9fb5ce;
    box-shadow: var(--shadow-card-hover);
    transform: translateY(-3px);
  }

  body.site-body .result:hover::before {
    inset-block: 8px;
    opacity: 1;
  }

  body.site-body .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 22px rgba(7, 24, 46, .14);
  }
}

@media (max-width: 1080px) {
  body.site-body .home-page .hero {
    min-block-size: auto;
  }

  body.site-body .home-page .hero-in {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
    min-block-size: auto;
    padding-block: 66px 96px;
    text-align: center;
  }

  body.site-body .home-page .hero-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  body.site-body .home-page .hero-sub,
  body.site-body .home-page .hero-search {
    margin-inline: auto;
  }

  body.site-body .home-page .hero-chips,
  body.site-body .home-page .trust-proof {
    justify-content: center;
  }

  body.site-body .home-page .hero-visual {
    grid-template-columns: minmax(205px, 245px) minmax(290px, 355px);
    justify-content: center;
  }
}

@media (max-width: 900px) {
  body.site-body .topbar-in {
    gap: 10px;
  }

  body.site-body .pagehead {
    padding-block: 40px 32px;
  }

  body.site-body .filters,
  body.site-body .search-layout > .filters,
  body.site-body .profile-layout > .filters {
    position: static;
    padding: 13px;
  }
}

@media (max-width: 700px) {
  body.site-body .home-page,
  body.site-body .home-page .hero,
  body.site-body .home-page .hero-in,
  body.site-body .home-page .hero-copy,
  body.site-body .home-page .hero-visual {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  body.site-body .home-page .hero-in {
    gap: 26px;
    padding-block: 48px 78px;
  }

  body.site-body .home-page .hero-copy > * {
    max-inline-size: 100%;
  }

  body.site-body .home-page .hero h1 {
    inline-size: 100%;
    max-inline-size: 100%;
    font-size: clamp(2.35rem, 11vw, 3.35rem);
    line-height: 1.07;
    overflow-wrap: anywhere;
  }

  body.site-body .home-page .hero-search,
  body.site-body .home-page .hero-chips,
  body.site-body .home-page .trust-proof {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  body.site-body .home-page .hero-visual {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 166px auto;
    gap: 10px;
    min-block-size: 0;
  }

  body.site-body .home-page .hero-globe-art {
    grid-area: 1 / 1;
    inline-size: min(46vw, 184px);
  }

  body.site-body .home-page .hero-orbit {
    display: none;
  }

  body.site-body .home-page .trust-panel {
    grid-area: 2 / 1;
    inline-size: min(100%, 350px);
    max-inline-size: calc(100vw - 32px);
  }

  body.site-body .home-page .seccards {
    margin-block-start: -32px;
  }

  body.site-body .home-page .statband {
    margin-inline: 16px;
  }

  body.site-body .home-page .worldgrid:not(.worldgrid-all) {
    inline-size: auto;
    max-inline-size: none;
    margin-inline: -16px;
    padding-inline: 16px;
  }

  body.site-body .result {
    min-block-size: 88px;
    padding: 15px;
  }
}

@media (max-width: 560px) {
  body.site-body .home-page .hero-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }

  body.site-body .home-page .hero-search input {
    inline-size: 100%;
    min-inline-size: 0;
    block-size: 52px;
  }

  body.site-body .home-page .hero-search .btn {
    inline-size: 100%;
    block-size: 52px;
  }

  body.site-body .home-page .hero-search-ico {
    inset-block-start: 34px;
  }

  body.site-body .home-page .hero-chips {
    gap: 8px;
  }

  body.site-body .home-page .hero-chips > span {
    flex: 1 0 100%;
  }

  body.site-body .home-page .seccards,
  body.site-body .home-page .livegrid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.site-body .home-page .catgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.site-body .home-page .section {
    padding-block: 54px;
  }
}

@media (max-width: 520px) {
  body.site-body .topbar-in {
    min-block-size: 108px;
    row-gap: 6px;
  }

  body.site-body .logo-mark {
    inline-size: 32px;
    block-size: 32px;
  }

  body.site-body .topsearch {
    min-inline-size: 0;
  }

  body.site-body .topsearch input {
    inline-size: 100%;
    min-inline-size: 0;
  }

  body.site-body .topsearch > .btn {
    flex: none;
    padding-inline: 14px;
  }

  body.site-body .pagehead h1 {
    font-size: clamp(27px, 8.5vw, 35px);
  }

  body.site-body .pagehead::after {
    opacity: .55;
  }
}

@media (max-width: 390px) {
  body.site-body .home-page .hero-in {
    padding-inline: 14px;
  }

  body.site-body .home-page .hero-kicker {
    font-size: .73rem;
  }

  body.site-body .home-page .hero h1 {
    font-size: clamp(2.05rem, 10.5vw, 2.6rem);
  }

  body.site-body .home-page .trust-proof {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.site-body .home-page .proof-stat {
    padding-inline: 7px;
  }

  body.site-body .home-page .catgrid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.site-body .home-page .catcard {
    min-block-size: 106px;
  }
}

@supports not (color: color-mix(in srgb, red, blue)) {
  body.site-body .home-page .seccard {
    background: linear-gradient(145deg, #fff, #f9fbfe);
  }

  body.site-body .home-page .seccard-ico {
    border-color: #cbd8e7;
    background: #edf4ff;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.site-body *,
  body.site-body *::before,
  body.site-body *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (prefers-contrast: more) {
  body.site-body {
    --rv-stroke: #8b9caf;
    --rv-stroke-strong: #53677d;
    --rv-copy-muted: #405269;
  }

  body.site-body :where(.seccard, .catcard, .procard, .revitem, .result, .card, .cityrow, .qa-item, .official, .official-item, .revfact, .livparts, .filters, .formcard) {
    border-width: 2px;
  }
}

@media (forced-colors: active) {
  body.site-body,
  body.site-body .topbar,
  body.site-body .secnav,
  body.site-body .pagehead,
  body.site-body .home-page .hero,
  body.site-body .home-page .worldband,
  body.site-body .footer {
    background: Canvas;
    color: CanvasText;
  }

  body.site-body :where(.pagehead, .home-page .hero, .home-page .worldband, .result)::before,
  body.site-body :where(.pagehead, .home-page .hero, .home-page .worldband)::after {
    display: none;
  }
}
