/* P2P Investitor — unified editorial fintech design, July 2026 */
:root {
  --v2-ink: #101b24;
  --v2-ink-2: #172630;
  --v2-green: #0f8a68;
  --v2-green-dark: #08634d;
  --v2-green-soft: #e6f5ef;
  --v2-lime: #b8e36d;
  --v2-paper: #f5f7f5;
  --v2-surface: #ffffff;
  --v2-surface-2: #edf2ef;
  --v2-text: #16242d;
  --v2-muted: #4b5b64;
  --v2-border: #dbe4df;
  --v2-warning: #b66b14;
  --v2-danger: #b93d45;
  --v2-shadow-sm: 0 8px 24px rgba(16, 27, 36, 0.07);
  --v2-shadow-md: 0 18px 48px rgba(16, 27, 36, 0.11);
  --v2-radius-sm: 10px;
  --v2-radius: 16px;
  --v2-radius-lg: 24px;
  --container: 1220px;
  --header-height: 76px;
}

/* Preserve the intrinsic proportions of hero artwork on every inner page. */
.page-hero img,
.hero-grid > img,
.hero-media img,
[class*="hero-media"] img,
img[class*="hero-image"] {
  width: 100%;
  max-width: 100%;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center;
}

html {
  background: var(--v2-paper);
  scroll-padding-top: 96px;
}

body,
body:has(#site-header .header-top) {
  padding-top: 76px;
  color: var(--v2-text);
  background:
    linear-gradient(rgba(15, 138, 104, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 138, 104, 0.025) 1px, transparent 1px),
    var(--v2-paper);
  background-size: 40px 40px;
  font-family: "Manrope", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16.5px;
  line-height: 1.72;
}

body::before,
body::after,
main::before {
  display: none;
}

.container {
  width: min(100% - 40px, var(--container));
  padding-inline: 0;
}

main {
  min-height: 55vh;
}

main p,
main li {
  color: var(--v2-text);
}

main p {
  max-width: 78ch;
}

main a:not([class]) {
  color: var(--v2-green-dark);
  text-decoration-color: rgba(15, 138, 104, 0.35);
  text-underline-offset: 3px;
}

h1,
h2,
h3,
h4 {
  color: var(--v2-ink);
  letter-spacing: -0.035em;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.35rem, 5vw, 4.5rem);
  line-height: 1.03;
}

h2 {
  line-height: 1.16;
}

h3 {
  line-height: 1.3;
}

/* Compact graphite navigation */
.header,
#site-header {
  min-height: 76px;
  background: rgba(16, 27, 36, 0.96) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: 0 8px 30px rgba(9, 16, 21, 0.16);
  backdrop-filter: blur(18px);
}

.header.scrolled,
#site-header.scrolled {
  background: rgba(16, 27, 36, 0.985) !important;
  box-shadow: 0 12px 32px rgba(9, 16, 21, 0.24);
}

.nav {
  height: 76px;
  grid-template-columns: auto 1fr auto;
  gap: 30px;
}

.header-top {
  display: none !important;
}

.logo {
  position: relative;
  gap: 0;
  color: #ffffff;
  font-size: 23px;
  font-weight: 850;
  letter-spacing: -0.045em;
}

.logo::before {
  content: "";
  width: 11px;
  height: 11px;
  margin-right: 10px;
  border-radius: 3px;
  background: var(--v2-lime);
  box-shadow: 8px 8px 0 var(--v2-green);
  transform: translateY(-4px);
}

.logo span:last-child {
  color: var(--v2-lime);
  font-weight: 750;
}

.nav-links {
  justify-self: center;
  gap: 6px;
}

.nav-links > a,
.nav-links > .dropdown > a {
  padding: 10px 12px;
  border-radius: 9px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  transition: color 160ms ease, background 160ms ease;
}

.nav-links > a:hover,
.nav-links > .dropdown > a:hover,
.nav-links > a[aria-current="page"],
.nav-links > .dropdown > a[aria-current="page"] {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.09);
}

.dropdown-menu {
  top: 100%;
  margin-top: 0;
  min-width: 260px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  background: var(--v2-ink-2);
  box-shadow: 0 24px 54px rgba(5, 12, 16, 0.32);
}

.dropdown:focus-within .dropdown-menu {
  display: block;
}

.dropdown-menu a {
  color: rgba(255, 255, 255, 0.82);
  border-radius: 9px;
}

.dropdown-menu a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.logo-mark {
  background: var(--v2-green);
  color: #ffffff;
}

.header .cta-btn {
  padding: 11px 17px;
  border: 1px solid var(--v2-lime);
  border-radius: 10px;
  background: var(--v2-lime);
  color: var(--v2-ink);
  box-shadow: none;
  font-size: 13.5px;
  font-weight: 800;
}

.header .cta-btn:hover {
  background: #caef87;
  border-color: #caef87;
  transform: translateY(-1px);
}

.nav-toggle {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.07) !important;
  box-shadow: none;
}

.nav-toggle span {
  background: #ffffff !important;
}

.mobile-nav {
  background: var(--v2-ink);
}

.mobile-nav-heading,
.mobile-nav-link,
.mobile-submenu-link {
  color: #ffffff;
}

.mobile-nav-link,
.mobile-nav-group,
.mobile-submenu-link {
  border-color: rgba(255, 255, 255, 0.11);
}

.mobile-nav-link:hover,
.mobile-submenu-link:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* Generated context bar */
.v2-context-bar {
  border-bottom: 1px solid var(--v2-border);
  background: rgba(255, 255, 255, 0.88);
}

.v2-context-inner {
  display: flex;
  align-items: center;
  min-height: 44px;
  gap: 9px;
  color: var(--v2-muted);
  font-size: 13px;
  font-weight: 650;
}

.v2-context-inner a {
  color: var(--v2-green-dark);
}

.v2-context-separator {
  color: #a5b0aa;
}

.v2-reading-progress {
  position: fixed;
  z-index: 999;
  top: 76px;
  left: 0;
  width: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--v2-green), var(--v2-lime));
  pointer-events: none;
}

/* Hero system */
.page-hero,
.hero.home-hero,
.news-hero,
.bonus-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
  border: 0;
  background:
    radial-gradient(circle at 87% 24%, rgba(184, 227, 109, 0.17), transparent 25%),
    linear-gradient(135deg, var(--v2-ink) 0%, #15342f 100%);
  color: #ffffff;
}

.page-hero::after,
.hero.home-hero::after {
  content: "";
  position: absolute;
  right: -85px;
  bottom: -150px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(184, 227, 109, 0.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 50px rgba(184, 227, 109, 0.035),
    0 0 0 100px rgba(184, 227, 109, 0.025);
  pointer-events: none;
}

.page-hero .container,
.hero.home-hero .container {
  position: relative;
  z-index: 1;
}

.page-hero h1,
.page-hero h2,
.page-hero h3,
.hero.home-hero h1,
.news-hero h1,
.bonus-hero h1 {
  color: #ffffff;
}

.page-hero h1,
.hero.home-hero h1 {
  max-width: 850px;
  margin-bottom: 24px;
}

.page-hero p,
.page-hero .intro,
.page-hero .muted,
.hero.home-hero p,
.news-hero p,
.bonus-hero p {
  color: rgba(255, 255, 255, 0.88);
}

.page-hero p,
.hero.home-hero .hero-sub {
  max-width: 68ch;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
}

.page-grid,
.hero-grid {
  align-items: center;
  gap: clamp(36px, 6vw, 78px);
}

.page-hero img,
.home-hero img,
.hero-media img,
.platform-review-hero-media img,
.mintos-hero-media img,
.bondora-hero-media img,
.afranga-hero-media img {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.28);
}

.page-hero figure,
.page-hero .hero-media,
.page-hero [class*="hero-media"] {
  position: relative;
}

.page-hero figure::before,
.page-hero .hero-media::before {
  content: none;
  position: absolute;
  z-index: 2;
  top: -13px;
  right: 18px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: var(--v2-green);
  color: #ffffff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
}

.home-eyebrow,
.eyebrow,
.kicker,
.badge {
  color: var(--v2-lime);
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.hero-trust span {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.88);
}

.btn-primary,
.cta-btn,
.hero-button {
  border: 1px solid var(--v2-green);
  border-radius: 10px;
  background: var(--v2-green);
  color: #ffffff;
  box-shadow: none;
  font-weight: 800;
}

.btn-primary:hover,
.cta-btn:hover,
.hero-button:hover {
  border-color: var(--v2-green-dark);
  background: var(--v2-green-dark);
  box-shadow: 0 10px 28px rgba(15, 138, 104, 0.22);
}

.page-hero .btn-primary,
.page-hero .cta-btn,
.home-hero .btn-primary {
  border-color: var(--v2-lime);
  background: var(--v2-lime);
  color: var(--v2-ink);
}

.page-hero .btn-primary:hover,
.page-hero .cta-btn:hover,
.home-hero .btn-primary:hover {
  border-color: #caef87;
  background: #caef87;
}

.btn-secondary,
.ghost-btn {
  border: 1px solid var(--v2-border);
  border-radius: 10px;
  background: transparent;
  color: var(--v2-green-dark);
  font-weight: 750;
}

.page-hero .btn-secondary,
.home-hero .btn-secondary,
.page-hero .ghost-btn {
  border-color: rgba(255, 255, 255, 0.26);
  color: #ffffff;
}

.btn-secondary:hover,
.ghost-btn:hover {
  border-color: var(--v2-green);
  background: var(--v2-green-soft);
  color: var(--v2-green-dark);
}

.page-hero .btn-secondary:hover,
.home-hero .btn-secondary:hover,
.page-hero .ghost-btn:hover {
  border-color: rgba(255, 255, 255, 0.44);
  background: rgba(255, 255, 255, 0.09);
  color: #ffffff;
}

/* Content rhythm and editorial surfaces */
main > section:not(.page-hero):not(.hero):not(.home-kpis),
main > .container {
  padding-block: clamp(34px, 5vw, 68px);
}

.page-hero + section,
.page-hero + .container {
  margin-top: 0;
}

.alt,
.section-alt,
.home-section:nth-of-type(even) {
  background: var(--v2-surface-2);
}

.card,
.page-card,
.content-card,
.info-card,
.review-summary-card,
.score-card,
.news-card,
.platform-card,
.contact-card,
.faq-item,
.method-card,
.profile-card {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius);
  background: var(--v2-surface);
  box-shadow: var(--v2-shadow-sm);
}

.card,
.page-card,
.content-card,
.info-card,
.review-summary-card {
  padding: clamp(24px, 3.2vw, 38px);
}

.card:hover,
.platform-card:hover,
.news-card:hover,
.home-platform-card:hover {
  border-color: rgba(15, 138, 104, 0.38);
  box-shadow: var(--v2-shadow-md);
  transform: translateY(-3px);
}

.section-title {
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  margin-bottom: 16px;
}

.section-title::after {
  content: "";
  display: block;
  width: 44px;
  height: 4px;
  margin-top: 16px;
  border-radius: 999px;
  background: var(--v2-green);
}

.muted,
.review-small-note,
.review-caption,
.home-section-intro,
.platform-grid-intro {
  color: var(--v2-muted) !important;
}

.page-hero .muted,
.home-hero .muted,
.news-hero .muted,
.bonus-hero .muted {
  color: rgba(255, 255, 255, 0.88) !important;
}

main > section:not(.page-hero):not(.hero) :where(.eyebrow, .kicker, .badge) {
  color: var(--v2-green-dark);
}

.page-hero :where(.eyebrow, .kicker, .badge),
.home-hero :where(.eyebrow, .kicker, .badge) {
  color: var(--v2-lime);
}

.grid-2,
.grid-3,
.grid-4 {
  gap: 22px;
}

.toc {
  margin-block: 0;
  padding: 0;
}

.toc h2 {
  margin: 0;
  padding: 18px 22px;
  border-radius: 14px 14px 0 0;
  background: var(--v2-ink);
  color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.02em;
}

.toc ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 12px 18px 16px;
  border: 1px solid var(--v2-border);
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: #ffffff;
}

.toc li {
  border-bottom: 1px solid #edf1ef;
}

.toc a {
  display: block;
  padding: 10px 8px;
  color: var(--v2-green-dark);
  font-size: 14px;
  text-decoration: none;
}

.review-summary-card {
  border-left: 5px solid var(--v2-lime);
  background: #ffffff;
  color: var(--v2-text);
}

.review-summary-card h2,
.review-summary-card p {
  color: var(--v2-text) !important;
}

blockquote,
.notice,
.note,
.warning,
.risk-box {
  border-radius: 0 var(--v2-radius-sm) var(--v2-radius-sm) 0;
  border-left-color: var(--v2-green);
  background: var(--v2-green-soft);
}

table {
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--v2-border);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: var(--v2-shadow-sm);
}

thead th {
  border-color: rgba(255, 255, 255, 0.12);
  background: var(--v2-ink);
  color: #ffffff;
  font-size: 13px;
  letter-spacing: 0.025em;
}

tbody td {
  border-color: #e7ece9;
}

tbody tr:nth-child(even) {
  background: #f8faf8;
}

tbody tr:hover {
  background: var(--v2-green-soft);
}

/* Homepage */
.home-hero {
  min-height: 620px;
  display: grid;
  align-items: center;
}

.home-hero .hero-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
}

.home-hero img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  filter: saturate(0.82) contrast(1.04);
}

.home-kpis {
  position: relative;
  z-index: 3;
  margin-top: -34px;
  padding: 0 0 34px;
  background: transparent;
}

.home-kpi-grid {
  overflow: hidden;
  gap: 0;
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius);
  background: #ffffff;
  box-shadow: var(--v2-shadow-md);
}

.home-kpi {
  min-height: 118px;
  padding: 24px;
  border-right: 1px solid var(--v2-border);
  background: #ffffff;
}

.home-kpi:last-child {
  border-right: 0;
}

.home-kpi strong {
  color: var(--v2-ink);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.home-kpi span {
  color: var(--v2-muted);
}

.home-platform-card,
.home-resource-card,
.home-path-card {
  border: 1px solid var(--v2-border);
  border-radius: var(--v2-radius);
  background: #ffffff;
  box-shadow: var(--v2-shadow-sm);
}

.home-platform-card {
  overflow: hidden;
}

.home-platform-card::before {
  content: "";
  display: block;
  height: 5px;
  background: linear-gradient(90deg, var(--v2-green), var(--v2-lime));
}

.home-platform-score strong {
  color: var(--v2-green-dark);
}

.home-tier {
  background: var(--v2-green-soft);
  color: var(--v2-green-dark);
}

.home-final-cta {
  background: var(--v2-ink);
}

.home-final-cta h2,
.home-final-cta p,
.home-final-cta .home-eyebrow {
  color: #ffffff;
}

/* Platform hubs and reviews */
.platform-card {
  overflow: hidden;
  padding: 0;
}

.platform-card > img {
  width: 100%;
  height: 112px;
  padding: 25px;
  object-fit: contain;
  border-bottom: 1px solid var(--v2-border);
  background: #ffffff;
}

.platform-card > h3,
.platform-card > p,
.platform-card > dl,
.platform-card > .platform-card-actions {
  margin-inline: 26px;
}

.platform-card > h3 {
  margin-top: 24px;
}

.platform-card > .platform-card-actions {
  margin-bottom: 26px;
}

.platform-facts div,
.home-facts div {
  border-color: #e8eeeb;
}

.platform-facts dt,
.home-facts dt {
  color: var(--v2-muted);
}

.platform-facts dd,
.home-facts dd {
  color: var(--v2-ink);
}

.platform-facts .platform-score-fact {
  background: #eaf7f2;
  border-color: #b9ddcf;
}

.platform-facts .platform-score-fact dt,
.platform-facts .platform-score-fact dd,
.platform-facts .platform-score-fact strong {
  color: var(--v2-green-dark);
}

.rating,
.score-badge,
.home-platform-score {
  color: var(--v2-green-dark);
}

/* News and long-form reading */
.news-grid,
.posts-grid {
  gap: 22px;
}

.news-card,
.post-card {
  overflow: hidden;
}

.news-card img,
.post-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.news-card time,
.article-meta,
.post-meta {
  color: var(--v2-green-dark);
  font-size: 13px;
  font-weight: 750;
}

.inflation-page main > section:not(.page-hero) .container,
.asset-comparison-page main > section:not(.page-hero) .container,
.risk-guide-page main > section:not(.page-hero) .container,
.regulation-tax-page main > section:not(.page-hero) .container,
.beginners-page main > section:not(.page-hero) .container,
.mistakes-page main > section:not(.page-hero) .container {
  max-width: 980px;
}

/* Share block and footer */
.share-section {
  border-top: 1px solid var(--v2-border);
  background: #ffffff;
}

.share-bar {
  border: 0;
  box-shadow: none;
}

.share-btn {
  border-color: var(--v2-border);
  border-radius: 9px;
  background: var(--v2-paper);
  color: var(--v2-ink);
}

footer {
  position: relative;
  overflow: hidden;
  padding-top: 72px;
  background: #0c171f;
  color: rgba(255, 255, 255, 0.74);
}

footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--v2-green), var(--v2-lime), var(--v2-green));
}

.footer-grid {
  grid-template-columns: 1.35fr 0.85fr 1fr 1fr;
  gap: 42px;
}

.footer-grid > div {
  border: 0;
  background: transparent;
}

.footer-logo {
  color: #ffffff;
  font-size: 25px;
  letter-spacing: -0.04em;
}

.footer-grid > div > strong {
  display: block;
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.footer-grid a {
  color: rgba(255, 255, 255, 0.68);
}

.footer-grid a:hover {
  color: var(--v2-lime);
}

.footer-meta {
  border-top-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.54);
}

/* Consent */
.cmp-card,
.cmp-modal {
  border-color: var(--v2-border);
  border-radius: var(--v2-radius);
  box-shadow: 0 24px 64px rgba(5, 12, 16, 0.25);
}

.cmp-btn {
  border-radius: 9px;
}

.cmp-btn-primary {
  background: var(--v2-green);
}

/* Readability and spacing safeguards */
main :where(p, li, dd) {
  overflow-wrap: anywhere;
}

main :where(.card, .page-card, .content-card, .info-card, .contact-card,
  .method-card, .profile-card, .score-card, .news-update-card,
  .news-update-box, .update-box, .author-box, .article-summary,
  .formula-box, .risk-tools-box, .partner-box) {
  color: var(--v2-text);
}

main :where(.card, .page-card, .content-card, .info-card, .contact-card,
  .method-card, .profile-card, .score-card, .news-update-card,
  .news-update-box, .update-box, .author-box, .article-summary,
  .formula-box, .risk-tools-box, .partner-box) > :first-child {
  margin-top: 0;
}

main :where(.card, .page-card, .content-card, .info-card, .contact-card,
  .method-card, .profile-card, .score-card, .news-update-card,
  .news-update-box, .update-box, .author-box, .article-summary,
  .formula-box, .risk-tools-box, .partner-box) > :last-child {
  margin-bottom: 0;
}

main :where(.card, .page-card, .content-card, .info-card, .contact-card,
  .method-card, .profile-card, .score-card, .news-update-card,
  .news-update-box, .update-box, .author-box, .article-summary,
  .formula-box, .risk-tools-box, .partner-box) p,
main :where(.card, .page-card, .content-card, .info-card, .contact-card,
  .method-card, .profile-card, .score-card, .news-update-card,
  .news-update-box, .update-box, .author-box, .article-summary,
  .formula-box, .risk-tools-box, .partner-box) li {
  color: #34464f;
}

.score-kpi,
.score-card,
.rank-card,
.red-flag-card,
.market-snapshot .snapshot-card,
.market-kpi,
.market-metric,
.market-faq details {
  padding: clamp(20px, 2.5vw, 26px);
}

.score-note,
.score-disclaimer,
.market-note,
.market-snapshot .snapshot-note {
  padding: 18px 20px;
}

.score-hero-panel,
.market-share-hero-panel,
.bonus-hero-panel {
  padding: clamp(24px, 3vw, 36px);
}

.poll-wrap :where(.stat-card, .poll-card, .info-card) {
  color: var(--poll-text);
}

.poll-wrap :where(.stat-card, .poll-card, .info-card) :where(p, li, dd) {
  color: #c7d4e8;
}

.poll-wrap :where(.stat-card, .poll-card, .info-card) :where(h2, h3, h4, strong) {
  color: #f5f8ff;
}

.article-content,
.content {
  color: var(--v2-text);
}

.article-content > :where(p, ul, ol, blockquote),
.content > :where(p, ul, ol, blockquote) {
  margin-block: 0 1.15em;
}

.article-content > :where(h2, h3),
.content > :where(h2, h3) {
  margin-top: clamp(30px, 4vw, 48px);
  margin-bottom: 14px;
}

blockquote,
.notice,
.note,
.warning,
.risk-box,
.compact-risk-warning,
.comparison-warning,
.strategy-warning,
.profile-warning {
  padding: clamp(20px, 3vw, 30px);
  color: var(--v2-text);
}

blockquote > :first-child,
.notice > :first-child,
.note > :first-child,
.warning > :first-child,
.risk-box > :first-child {
  margin-top: 0;
}

blockquote > :last-child,
.notice > :last-child,
.note > :last-child,
.warning > :last-child,
.risk-box > :last-child {
  margin-bottom: 0;
}

td,
th {
  padding: 15px 17px;
}

@media (max-width: 760px) {
  main > section:not(.page-hero):not(.hero):not(.home-kpis),
  main > .container {
    padding-block: 38px;
  }

  .card,
  .page-card,
  .content-card,
  .info-card,
  .review-summary-card,
  .contact-card,
  .method-card,
  .profile-card,
  .score-card,
  .news-update-card,
  .news-update-box,
  .update-box,
  .author-box,
  .article-summary,
  .formula-box,
  .risk-tools-box,
  .partner-box {
    padding: 22px 20px;
  }

  td,
  th {
    padding: 13px 14px;
  }
}

/* Accessibility */
:focus-visible {
  outline: 3px solid var(--v2-lime);
  outline-offset: 3px;
}

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

@media (max-width: 1024px) {
  body,
  body:has(#site-header .header-top) {
    padding-top: 72px;
  }

  .header,
  .nav {
    min-height: 72px;
    height: 72px;
  }

  .v2-reading-progress {
    top: 72px;
  }

  .nav {
    grid-template-columns: 1fr auto;
  }

  .nav > .cta-btn {
    display: none;
  }

  .home-hero .hero-grid {
    grid-template-columns: 1fr 0.82fr;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body,
  body:has(#site-header .header-top) {
    font-size: 16px;
  }

  .container {
    width: min(100% - 30px, var(--container));
  }

  .v2-context-bar {
    display: none;
  }

  .page-hero,
  .hero.home-hero,
  .news-hero,
  .bonus-hero {
    padding-block: 52px;
  }

  .page-hero::after,
  .hero.home-hero::after {
    width: 260px;
    height: 260px;
    right: -120px;
    bottom: -110px;
  }

  .home-hero {
    min-height: 0;
  }

  .home-hero .hero-grid,
  .page-grid,
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .home-hero img,
  .page-hero img {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
  }

  .page-hero figure::before,
  .page-hero .hero-media::before {
    right: 10px;
  }

  .home-kpis {
    margin-top: 0;
    padding-top: 18px;
  }

  .home-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-kpi {
    min-height: 104px;
    padding: 18px;
    border-bottom: 1px solid var(--v2-border);
  }

  .toc ul {
    grid-template-columns: 1fr;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .footer-grid > div:not(:first-child) {
    padding-block: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
  }

  .footer-grid > div > strong {
    margin-bottom: 10px;
  }

  .footer-grid a {
    display: inline-block;
    padding-block: 5px;
  }
}

@media (max-width: 460px) {
  .logo {
    font-size: 20px;
  }

  h1 {
    font-size: clamp(2.05rem, 11vw, 2.65rem);
  }

  .home-kpi-grid {
    grid-template-columns: 1fr;
  }

  .home-kpi {
    border-right: 0;
  }

  .hero-actions,
  .page-actions,
  .platform-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-actions a,
  .page-actions a,
  .platform-card-actions a {
    width: 100%;
    text-align: center;
  }
}

/* -------------------------------------------------------------------------
   V5 — page-type layouts
   One deliberate system replaces the former generic fix layer.
   ------------------------------------------------------------------------- */

:root {
  --site-page: 1160px;
  --site-reading: 900px;
  --site-reading-narrow: 820px;
  --site-gap: clamp(16px, 2vw, 24px);
  --site-section-y: clamp(32px, 4vw, 52px);
  --site-card-x: clamp(18px, 2vw, 24px);
  --site-card-y: clamp(18px, 2vw, 22px);
  --site-ink: #172630;
  --site-copy: #34464f;
  --site-muted: #52636b;
  --site-line: #d8e2dd;
  --site-panel: #ffffff;
  --site-soft: #f1f6f3;
  --site-dark: #101b24;
  --site-dark-green: #15342f;
  --site-accent: #0b7459;
}

body[data-template] {
  color: var(--site-ink);
}

body[data-template] .container {
  box-sizing: border-box;
  width: min(calc(100% - 40px), var(--site-page));
  max-width: var(--site-page);
  margin-inline: auto;
  padding-inline: 0;
}

body[data-template] main {
  color: var(--site-copy);
}

body[data-template] main :where(p, li, dd, dt, td, th) {
  line-height: 1.68;
}

body[data-template] main :where(p, li, dd, td, th) {
  overflow-wrap: break-word;
}

body[data-template] main p {
  max-width: none;
}

body[data-template] .site-section:not(.page-hero):not(.hero):not(.home-kpis):not(.share-section) {
  padding-block: var(--site-section-y);
}

body[data-template] .site-section + .site-section:not(.page-hero):not(.hero) {
  border-top: 1px solid rgba(216, 226, 221, 0.72);
}

body[data-template] .site-section.alt,
body[data-template] .site-section.section-alt,
body[data-template] .site-section:nth-child(even):not(.page-hero):not(.hero):not(.home-kpis):not(.home-method) {
  background: rgba(237, 242, 239, 0.68);
}

body[data-template] main :where(
  .card, .page-card, .content-card, .info-card, .contact-card, .method-card,
  .profile-card, .profile-mini-card, .strategy-card, .mistake-card,
  .rank-card, .red-flag-card, .score-card, .news-card, .post-card,
  .update-box, .author-box, .article-summary, .formula-box, .risk-tools-box,
  .partner-box, .content-block, .review-summary-card, .market-metric,
  .market-kpi, .snapshot-card, .p2p-card, .p2p-panel, .step-card,
  .trust-card, .faq-item
) {
  box-sizing: border-box;
  min-width: 0;
  padding: var(--site-card-y) var(--site-card-x);
  border-color: var(--site-line);
  background-color: var(--site-panel);
  color: var(--site-copy);
}

body[data-template] main :where(
  .card, .page-card, .content-card, .info-card, .contact-card, .method-card,
  .profile-card, .profile-mini-card, .strategy-card, .mistake-card,
  .rank-card, .red-flag-card, .score-card, .news-card, .post-card,
  .update-box, .author-box, .article-summary, .formula-box, .risk-tools-box,
  .partner-box, .content-block, .review-summary-card, .market-metric,
  .market-kpi, .snapshot-card, .p2p-card, .p2p-panel, .step-card,
  .trust-card, .faq-item
) :where(h1, h2, h3, h4, p, li, dd, dt, strong, span:not(.badge):not(.tag):not(.score-badge)) {
  color: inherit;
}

body[data-template] main :where(
  .card, .page-card, .content-card, .info-card, .contact-card, .method-card,
  .profile-card, .profile-mini-card, .strategy-card, .mistake-card,
  .rank-card, .red-flag-card, .score-card, .news-card, .post-card,
  .update-box, .author-box, .article-summary, .formula-box, .risk-tools-box,
  .partner-box, .content-block, .review-summary-card, .market-metric,
  .market-kpi, .snapshot-card, .p2p-card, .p2p-panel, .step-card,
  .trust-card, .faq-item
) > :first-child {
  margin-top: 0;
}

body[data-template] main :where(
  .card, .page-card, .content-card, .info-card, .contact-card, .method-card,
  .profile-card, .profile-mini-card, .strategy-card, .mistake-card,
  .rank-card, .red-flag-card, .score-card, .news-card, .post-card,
  .update-box, .author-box, .article-summary, .formula-box, .risk-tools-box,
  .partner-box, .content-block, .review-summary-card, .market-metric,
  .market-kpi, .snapshot-card, .p2p-card, .p2p-panel, .step-card,
  .trust-card, .faq-item
) > :last-child {
  margin-bottom: 0;
}

body[data-template] main :where(
  blockquote, .notice, .note, .warning, .risk-box, .disclaimer, .source-note,
  .compact-risk-warning, .comparison-warning, .strategy-warning, .profile-warning
) {
  box-sizing: border-box;
  margin-block: 22px;
  padding: 17px 20px;
  border-radius: 0 12px 12px 0;
  color: var(--site-ink);
}

body[data-template] main :where(
  blockquote, .notice, .note, .warning, .risk-box, .disclaimer, .source-note,
  .compact-risk-warning, .comparison-warning, .strategy-warning, .profile-warning
) :where(h2, h3, h4, p, li, strong, span) {
  color: inherit;
}

body[data-template] main :where(.table-wrap, [class$="-table-wrap"], .modern-table-wrap, .site-table-wrap) {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: auto;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(16, 27, 36, 0.07);
  -webkit-overflow-scrolling: touch;
}

body[data-template] table {
  width: 100%;
  margin: 0;
  box-shadow: none;
}

body[data-template] table :where(th, td) {
  padding: 12px 14px;
  vertical-align: top;
}

body[data-template] table thead th {
  background: var(--site-dark);
  color: #f6faf8;
}

body[data-template] table tbody :where(td, th, p, span, strong, a) {
  color: var(--site-ink);
}

/* Dark typography belongs only to genuinely dark surfaces. */
body[data-template] :where(
  .page-hero, .hero.home-hero, .news-hero, .bonus-hero,
  .home-final-cta-inner, .final-box, .article-cta
) {
  color: #ffffff;
}

body[data-template] :where(
  .page-hero, .hero.home-hero, .news-hero, .bonus-hero,
  .home-final-cta-inner, .final-box, .article-cta
) :where(h1, h2, h3, h4, p, li, strong, span:not(.badge):not(.tag)) {
  color: inherit;
}

/*
 * Hero text panels must be dark because all page-hero typography is light.
 * The earlier light .page-grid background was the source of the unreadable
 * white-on-white headings across reviews, guides, news and comparison pages.
 */
body[data-template] .page-hero > .container.page-grid {
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  background: rgba(7, 27, 25, 0.72);
  box-shadow: 0 18px 46px rgba(5, 14, 18, 0.24);
  color: #ffffff;
}

body[data-template] .page-hero > .container.page-grid :where(
  h1, h2, h3, h4, p, li, strong, small, time
) {
  color: inherit;
}

body[data-template] .page-hero > .container.page-grid > :first-child {
  min-width: 0;
}

/* Editorial, trust, legal, guide and news-article pages */
body[data-template="guide"] .editorial-shell,
body[data-template="trust"] .editorial-shell,
body[data-template="legal"] .editorial-shell,
body[data-template="news-article"] .editorial-shell {
  width: min(calc(100% - 40px), var(--site-reading));
  max-width: var(--site-reading);
  margin-inline: auto;
}

body[data-template="legal"] .editorial-shell,
body[data-template="news-article"] .editorial-shell {
  max-width: var(--site-reading-narrow);
}

body[data-template="guide"] .editorial-card,
body[data-template="trust"] .editorial-card,
body[data-template="legal"] .editorial-card,
body[data-template="news-article"] .editorial-card {
  padding: clamp(22px, 3vw, 34px);
}

body[data-template="guide"] .editorial-card > h2,
body[data-template="trust"] .editorial-card > h2,
body[data-template="legal"] .editorial-card > h2,
body[data-template="news-article"] .editorial-card > h2 {
  margin-top: clamp(34px, 5vw, 48px);
  margin-bottom: 12px;
  padding-top: 24px;
  border-top: 1px solid var(--site-line);
  color: var(--site-ink);
}

body[data-template="guide"] .editorial-card > h1 + p,
body[data-template="trust"] .editorial-card > h1 + p,
body[data-template="legal"] .editorial-card > h1 + p {
  margin-top: 20px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--site-line);
  color: var(--site-muted);
  font-size: 1.08rem;
}

body[data-template="trust"] .editorial-card > h1 {
  max-width: 18ch;
}

body[data-page="methodology"] .editorial-card > h1 {
  max-width: none;
}

body[data-page="methodology"] .methodology-toc {
  width: 100%;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--site-line);
  border-left: 4px solid var(--v2-green-dark);
  border-radius: 14px;
  background: #f7faf9;
  align-self: start;
}

body[data-page="methodology"] .methodology-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
  margin-top: 30px;
}

body[data-page="methodology"] .methodology-content {
  min-width: 0;
  max-width: 900px;
}

@media (min-width: 900px) {
  body[data-page="methodology"] .methodology-toc {
    position: sticky;
    top: 92px;
  }
}

body[data-page="methodology"] .methodology-toc > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--site-ink);
}

body[data-page="methodology"] .methodology-toc ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-page="methodology"] .methodology-toc a {
  display: block;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--v2-green-dark);
  font-weight: 700;
  text-decoration: none;
}

body[data-page="methodology"] .methodology-toc a:hover,
body[data-page="methodology"] .methodology-toc a:focus-visible {
  background: #e6f4ef;
  text-decoration: underline;
}

body[data-page="methodology"] .methodology-content > dl {
  display: grid;
  gap: 8px;
}

body[data-page="methodology"] .methodology-content > dl dt {
  margin-top: 12px;
  color: var(--site-ink);
}

body[data-page="methodology"] .methodology-content > dl dd {
  margin: 0;
  padding: 0 0 14px;
  border-bottom: 1px solid var(--site-line);
  color: var(--site-muted);
}

body[data-page="methodology"] .methodology-content > h2 {
  margin-top: clamp(34px, 5vw, 48px);
  margin-bottom: 12px;
  padding-top: 24px;
  border-top: 1px solid var(--site-line);
  color: var(--site-ink);
}

body[data-page="methodology"] .methodology-content > h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 899px) {
  body[data-page="methodology"] .methodology-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  body[data-page="methodology"] .methodology-toc {
    width: min(100%, 420px);
  }

  body[data-page="methodology"] .methodology-content {
    max-width: none;
  }
}

body[data-template="news-article"] .news-article-shell {
  width: min(calc(100% - 40px), var(--site-reading-narrow));
  margin-inline: auto;
}

body[data-template="news-article"] .news-feed-list {
  max-width: var(--site-reading);
}

body[data-template="news-article"] main img {
  max-height: 480px;
  margin-inline: auto;
  border-radius: 14px;
  object-fit: cover;
}

/* Platform reviews */
body[data-template="review"] main > .review-section,
body[data-template="review"] main > nav.container.toc,
body[data-template="review"] main > aside.container {
  width: min(calc(100% - 40px), 1040px);
  max-width: 1040px;
  margin-inline: auto;
}

body[data-template="review"] .review-section {
  padding-block: 20px;
}

body[data-template="review"] .review-section + .review-section {
  border-top: 0;
}

/* One editorial scale on every platform review: P2P Investitor Score /10. */
body[data-template="review"] .review-score {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin: 8px 0 14px;
  padding: 10px 14px;
  border: 1px solid #b9ddcf;
  border-radius: 12px;
  background: #eaf7f2;
  color: #08634d;
  line-height: 1;
}

body[data-template="review"] .review-score strong {
  color: inherit;
  font-size: 1.7rem;
  font-weight: 900;
}

body[data-template="review"] .review-score span {
  color: #52616a;
  font-size: .9rem;
  font-weight: 800;
}

body[data-template="review"] .review-card {
  padding: clamp(20px, 2.4vw, 26px);
}

body[data-template="review"] .review-card > h2 {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--site-line);
}

body[data-template="review"] .review-card > h3 {
  margin-top: 26px;
  margin-bottom: 9px;
}

body[data-template="review"] .review-summary-card {
  padding: 20px 22px;
  border-left: 5px solid var(--v2-lime);
  background: #ffffff;
}

body[data-template="review"] .page-hero {
  padding-block: clamp(52px, 6vw, 78px);
}

body[data-template="review"] .page-hero h1 {
  font-size: clamp(2.25rem, 4.7vw, 4rem);
}

/* Home and hubs */
body[data-template="home"] .home-section,
body[data-template="hub"] main > section:not(.page-hero) {
  padding-block: var(--site-section-y);
}

body[data-template="home"] .home-platform-grid,
body[data-template="home"] .home-resource-grid,
body[data-template="home"] .home-path-grid,
body[data-template="hub"] :where(.grid-2, .grid-3, .grid-4, .platform-grid) {
  gap: var(--site-gap);
}

body[data-template="home"] .home-platform-card,
body[data-template="home"] .home-resource-card,
body[data-template="home"] .home-path-card {
  height: 100%;
}

body[data-template="home"] .home-final-cta-inner {
  padding: clamp(30px, 5vw, 52px);
  border-radius: 20px;
  background: linear-gradient(135deg, var(--site-dark), var(--site-dark-green));
}

body[data-template="home"] .home-method {
  border-top: 0;
  background: linear-gradient(135deg, var(--site-dark), var(--site-dark-green));
  color: #ffffff;
}

body[data-template="home"] .home-method :where(
  h2, h3, p, li, strong, span
) {
  color: inherit;
}

body[data-template="home"] .home-method-list li {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.07);
}

body[data-template="hub"] main > section:not(.page-hero) > .container {
  width: min(calc(100% - 40px), 1080px);
  max-width: 1080px;
}

/* News index */
body[data-template="news-index"] .news-section > .container {
  width: min(calc(100% - 40px), 1120px);
  max-width: 1120px;
}

body[data-template="news-index"] .news-card,
body[data-template="news-index"] .post-card {
  height: 100%;
}

body[data-template="news-index"] :where(.news-card, .post-card) :where(h2, h3, p, time) {
  color: var(--site-copy);
}

/* Comparison and data-heavy pages */
body[data-template="comparison"] main > section:not(.page-hero) > .container,
body[data-template="data"] main > section:not(.page-hero) > .container {
  width: min(calc(100% - 40px), 1120px);
  max-width: 1120px;
}

body[data-template="data"] :where(.score-kpis, .score-method, .market-kpis, .market-metrics) {
  gap: 16px;
}

body[data-template="data"] :where(
  .score-note, .score-disclaimer, .score-kpi, .score-card,
  .market-share-hero-panel, .market-snapshot, .market-metric,
  .market-kpi, .snapshot-card, .rank-card, .red-flag-card
) {
  border-color: var(--site-line);
  background-color: #ffffff;
  color: var(--site-ink);
}

body[data-template="data"] :where(
  .score-note, .score-disclaimer, .score-kpi, .score-card,
  .market-share-hero-panel, .market-snapshot, .market-metric,
  .market-kpi, .snapshot-card, .rank-card, .red-flag-card
) :where(h1, h2, h3, h4, p, li, span, strong) {
  color: inherit;
}

body[data-page="p2p-investitor-score"] .score-hero-panel {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(8, 28, 26, 0.68);
  color: #ffffff;
}

body[data-page="p2p-investitor-score"] .score-hero-panel :where(h1, h2, h3, p, span, strong) {
  color: inherit;
}

body[data-template="data"] .site-table-wrap,
body[data-template="comparison"] .site-table-wrap {
  margin-block: 18px;
}

/* Bonus page */
body[data-template="bonus"] main > section:not(.page-hero) > .container {
  width: min(calc(100% - 40px), 1120px);
  max-width: 1120px;
}

body[data-template="bonus"] :where(.step-card, .trust-card, .faq-item, .modern-table-wrap) {
  border-color: var(--site-line);
  background: #ffffff;
  color: var(--site-ink);
}

body[data-template="bonus"] :where(.step-card, .trust-card, .faq-item) :where(h2, h3, h4, p, li, span, strong) {
  color: inherit;
}

body[data-template="bonus"] .modern-bonus-table thead {
  background: var(--site-dark);
}

body[data-template="bonus"] .modern-bonus-table thead th {
  color: #ffffff;
}

body[data-template="bonus"] .bonus-hero-panel {
  border-color: rgba(15, 138, 104, 0.18);
  background: #f4f8f6;
  color: var(--site-ink);
}

body[data-template="bonus"] .bonus-hero-panel :where(
  h2, h3, p, strong, span, b
) {
  color: inherit;
}

body[data-template="bonus"] .modern-bonus-table tbody :where(
  td, th, p, span, strong, small, a
) {
  color: var(--site-ink);
}

body[data-template="bonus"] .modern-bonus-table :where(th, td) {
  padding: 12px 13px;
}

body[data-template="bonus"] .final-box {
  padding: clamp(24px, 4vw, 38px);
  background: linear-gradient(135deg, var(--site-dark), var(--site-dark-green));
  color: #ffffff;
}

body[data-template="bonus"] .final-box :where(h2, h3, p, strong, span) {
  color: inherit;
}

body[data-template="comparison"] main > section:not(.page-hero) :where(
  .platform-card, .comparison-card, .card
) .btn-secondary,
body[data-template="data"] main > section:not(.page-hero) :where(
  .score-card, .rank-card, .card
) .btn-secondary {
  border-color: var(--site-line);
  background: #ffffff;
  color: var(--site-accent);
}

/* Tools */
body[data-template="tool"] main > section:not(.page-hero) > .container,
body[data-page="anketa"] .poll-wrap {
  width: min(calc(100% - 40px), 980px);
  max-width: 980px;
  margin-inline: auto;
}

body[data-page="kalkulator-danak"] :where(.p2p-card, .p2p-panel) {
  border-color: var(--site-line);
  background: #ffffff;
  color: var(--site-ink);
}

body[data-page="kalkulator-danak"] :where(.p2p-card, .p2p-panel) :where(h2, h3, h4, p, label, li, span, strong) {
  color: inherit;
}

body[data-page="anketa"] .poll-wrap :where(.stat-card, .poll-card, .info-card) {
  border-color: rgba(255, 255, 255, 0.12);
  background: #111d2d;
  color: #e7eef8;
}

body[data-page="anketa"] .poll-wrap :where(.stat-card, .poll-card, .info-card) :where(h2, h3, h4, p, li, span, strong) {
  color: inherit;
}

body[data-page="anketa"] .poll-wrap .chip {
  background: #ffffff;
  color: #24323d;
}

body[data-page="anketa"] .poll-wrap .chip.is-active {
  background: #6d42c7;
  color: #ffffff;
}

/* Footer contrast must not inherit light-panel rules. */
body[data-template] footer,
body[data-template] footer p,
body[data-template] footer .muted,
body[data-template] footer .footer-meta {
  color: rgba(255, 255, 255, 0.76) !important;
}

body[data-template] footer a {
  color: rgba(255, 255, 255, 0.82);
}

body[data-template] footer a:hover {
  color: #c6ed83;
}

/* Mobile navigation: fixed high-contrast palette across every page template. */
@media (max-width: 1024px) {
  body.menu-open .header {
    z-index: 1003 !important;
  }

  body.menu-open .header .logo,
  body.menu-open .header .nav-toggle {
    position: relative;
    z-index: 1004 !important;
  }

  .mobile-nav-backdrop {
    z-index: 1001 !important;
  }

  .mobile-nav {
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100vh;
    height: 100dvh;
    padding: 92px 18px 28px !important;
    border: 0 !important;
    background: #101b24 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    z-index: 1002 !important;
  }

  .mobile-nav-inner {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    color: #ffffff !important;
  }

  .mobile-nav-heading {
    color: #b7c5cc !important;
    opacity: 1 !important;
  }

  .mobile-nav-link,
  .mobile-submenu-link,
  .mobile-nav a:visited:not(.mobile-home-link):not(.mobile-nav-cta) {
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
  }

  .mobile-nav-link:hover,
  .mobile-submenu-link:hover,
  .mobile-nav-link:focus-visible,
  .mobile-submenu-link:focus-visible {
    border-color: rgba(184, 227, 109, 0.72) !important;
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
  }

  .mobile-home-link,
  .mobile-nav-cta,
  .mobile-home-link:visited,
  .mobile-nav-cta:visited {
    border-color: #b8e36d !important;
    background: #b8e36d !important;
    color: #101b24 !important;
    opacity: 1 !important;
  }

  .mobile-submenu-toggle {
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: rgba(255, 255, 255, 0.08) !important;
  }

  .mobile-submenu-toggle span {
    border-color: #ffffff !important;
  }
}

@media (max-width: 760px) {
  body[data-template] .container,
  body[data-template="guide"] .editorial-shell,
  body[data-template="trust"] .editorial-shell,
  body[data-template="legal"] .editorial-shell,
  body[data-template="news-article"] .editorial-shell,
  body[data-template="news-article"] .news-article-shell,
  body[data-template="review"] main > .review-section,
  body[data-template="review"] main > nav.container.toc,
  body[data-template="review"] main > aside.container,
  body[data-template="hub"] main > section:not(.page-hero) > .container,
  body[data-template="comparison"] main > section:not(.page-hero) > .container,
  body[data-template="data"] main > section:not(.page-hero) > .container,
  body[data-template="bonus"] main > section:not(.page-hero) > .container,
  body[data-template="tool"] main > section:not(.page-hero) > .container,
  body[data-page="anketa"] .poll-wrap {
    width: min(calc(100% - 28px), var(--site-page));
    margin-inline: auto;
  }

  body[data-template] .site-section:not(.page-hero):not(.hero):not(.home-kpis):not(.share-section) {
    padding-block: 28px;
  }

  body[data-template] main :where(
    .card, .page-card, .content-card, .info-card, .contact-card, .method-card,
    .profile-card, .profile-mini-card, .strategy-card, .mistake-card,
    .rank-card, .red-flag-card, .score-card, .news-card, .post-card,
    .update-box, .author-box, .article-summary, .formula-box, .risk-tools-box,
    .partner-box, .content-block, .review-summary-card, .market-metric,
    .market-kpi, .snapshot-card, .p2p-card, .p2p-panel, .step-card,
    .trust-card, .faq-item
  ) {
    padding: 16px;
  }

  body[data-template="guide"] .editorial-card,
  body[data-template="trust"] .editorial-card,
  body[data-template="legal"] .editorial-card,
  body[data-template="news-article"] .editorial-card {
    padding: 19px 16px;
  }

  body[data-template] .page-hero > .container.page-grid {
    padding: 20px 16px;
    border-radius: 16px;
  }

  body[data-page="risk-warning"] h1 {
    font-size: clamp(2rem, 10vw, 2.35rem);
    overflow-wrap: anywhere;
  }

  body[data-template="review"] .review-section {
    padding-block: 12px;
  }

  body[data-template] table :where(th, td) {
    padding: 10px 11px;
  }

  body[data-template] :where(.grid-2, .grid-3, .grid-4, .score-method, .score-kpis) {
    gap: 14px;
  }
}

@media (max-width: 520px) {
  body[data-template] .page-hero h1,
  body[data-template] .hero.home-hero h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }

  body[data-template="data"] :where(.score-kpis, .score-method, .market-kpis, .market-metrics) {
    grid-template-columns: 1fr;
  }

  body[data-template] main :where(
    blockquote, .notice, .note, .warning, .risk-box, .disclaimer, .source-note,
    .compact-risk-warning, .comparison-warning, .strategy-warning, .profile-warning
  ) {
    padding: 15px 16px;
  }
}

/* Wider content area below page heroes */
@media (min-width: 900px) {
  body[data-template] main > section:not(.page-hero):not(.hero):not(.home-kpis) > .container,
  body[data-template] main > .container:not(.page-grid),
  body[data-template="home"] main > section:not(.hero) > .container {
    width: min(calc(100% - 48px), 1320px);
    max-width: 1320px;
  }

  body[data-template="review"] main > .review-section,
  body[data-template="review"] main > nav.container.toc,
  body[data-template="review"] main > aside.container,
  body[data-template="hub"] main > section:not(.page-hero) > .container,
  body[data-template="news-index"] .news-section > .container,
  body[data-template="tool"] main > section:not(.page-hero) > .container,
  body[data-page="anketa"] .poll-wrap {
    width: min(calc(100% - 48px), 1220px);
    max-width: 1220px;
  }

  body[data-template="comparison"] main > section:not(.page-hero) > .container,
  body[data-template="data"] main > section:not(.page-hero) > .container,
  body[data-template="bonus"] main > section:not(.page-hero) > .container {
    width: min(calc(100% - 48px), 1320px);
    max-width: 1320px;
  }

  body[data-template="guide"] .editorial-shell,
  body[data-template="trust"] .editorial-shell,
  body[data-template="legal"] .editorial-shell,
  body[data-template="news-article"] .editorial-shell,
  body[data-template="news-article"] .news-article-shell {
    width: min(calc(100% - 48px), 1080px);
    max-width: 1080px;
  }

  /* The methodology is a reference page and uses the full site content width. */
  body[data-page="methodology"] .editorial-shell {
    width: min(calc(100% - 48px), 1320px);
    max-width: 1320px;
  }
}

/* Unified compact footer for Bulgarian and English pages */
.compact-site-footer{margin-top:0;padding:30px 0 16px;background:#06111d;color:#c4d0dc;border-top:1px solid rgba(255,255,255,.08)}
.compact-site-footer .wrap{width:min(calc(100% - 40px),1320px);margin-inline:auto}
.compact-site-footer .footergrid{display:grid;grid-template-columns:minmax(230px,1.15fr) repeat(4,minmax(130px,.8fr));gap:22px;align-items:start}
.compact-site-footer .footerbrand,.compact-site-footer .fcol,.compact-site-footer .footbottom>span{min-width:0;overflow-wrap:anywhere}
.compact-site-footer .footerbrand p{max-width:390px;margin:12px 0;color:#aebdca;font-size:12px;line-height:1.5}
.compact-site-footer .brand-wordmark{position:relative;display:inline-flex;align-items:baseline;gap:0;color:#fff;font:800 24px/1 Arial,Helvetica,sans-serif;letter-spacing:-.055em;text-decoration:none}
.compact-site-footer .brand-wordmark::before{content:"";flex:0 0 9px;width:9px;height:9px;margin-right:9px;border-radius:3px;background:#b8e36d;box-shadow:6px 6px 0 #0f8a68;transform:translateY(-3px)}
.compact-site-footer .brand-p2p{color:#fff}.compact-site-footer .brand-investitor{margin-left:.16em;color:#b8e36d}
.compact-site-footer .textlink{display:inline-block;color:#a9d9c9;border-bottom:1px solid #557565;text-decoration:none;font-size:12px;font-weight:700;line-height:1.35}
.compact-site-footer .fcol h4{margin:0 0 10px;color:#fff;font-size:12px;font-weight:800;line-height:1.25;letter-spacing:.04em;text-transform:none}
.compact-site-footer .fcol a{display:block;width:fit-content;margin:0 0 6px;color:#aebdca;font-size:12px;line-height:1.35;text-decoration:none}
.compact-site-footer .fcol a:hover,.compact-site-footer .textlink:hover,.compact-site-footer .footbottom a:hover{color:#b8e36d}
.compact-site-footer .footbottom{display:flex;justify-content:space-between;gap:20px;margin-top:20px;padding-top:13px;border-top:1px solid rgba(255,255,255,.09);color:#8798a8;font-size:11px;line-height:1.45}
.compact-site-footer .footbottom a{color:#9eafbd;text-decoration:none}
@media(max-width:1100px){.compact-site-footer .footergrid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-site-footer .footerbrand{grid-column:1/-1}}
@media(max-width:760px){.compact-site-footer{padding-top:26px}.compact-site-footer .footergrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}.compact-site-footer .footbottom{flex-direction:column;gap:7px}}
@media(max-width:520px){.compact-site-footer .footergrid{grid-template-columns:1fr}.compact-site-footer .footerbrand{grid-column:auto}}

/* English platform reviews: keep every custom template inside the phone viewport. */
@media (max-width: 760px) {
  html[lang="en"],
  html[lang="en"] body.platform-review-page {
    width: 100%;
    max-width: 100%;
    overflow-x: clip !important;
  }

  html[lang="en"] body.platform-review-page main,
  html[lang="en"] body.platform-review-page [class$="-template"] {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] .wrap {
    box-sizing: border-box !important;
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] :where(
    .hero-grid, .ticker-grid, .layout, .content, .section, .verdict,
    .proscons, .flow, .product-grid, .data-grid, .score-grid, .score-row,
    .calc, .final-grid, .foot, .toc, .score-card, .pc, .product, .data,
    .calc-panel, .calc-result, .callout, .disclosure, .accordion, details
  ) {
    box-sizing: border-box;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] :where(
    .hero-grid, .ticker-grid, .layout, .verdict, .proscons, .flow,
    .product-grid, .data-grid, .calc, .final-grid, .foot
  ) > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] :where(
    h1, h2, h3, h4, p, li, a, strong, span, small, summary, code, output
  ) {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] :where(
    img, svg, video, canvas, iframe, input, select, textarea, button, .btn
  ) {
    max-width: 100% !important;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] :where(
    .score-top, .field-head, summary, .hero-actions
  ) {
    flex-wrap: wrap;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] .table-wrap {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] .table-wrap > table {
    width: max-content !important;
    min-width: 620px !important;
    max-width: none !important;
  }

  html[lang="en"] body.platform-review-page [class$="-template"] pre {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
  }
}
