/* RoboPol design system. Opt-in keeps unconverted articles independent. */
body.rp-site {
    --design-ink: #111514;
    --design-paper: #eeefe9;
    --design-mint: #a7e5cb;
    --design-muted: #4f6256;
    --design-line: #ccd5cb;
    --design-sans: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
    --design-mono: "Cascadia Code", Consolas, monospace;
    --primary-color: #287258;
    --primary-hover: #205a46;
    --secondary-color: #287258;
    --background: #eeefe9;
    --background-light: #e3e8de;
    --light-background: #e3e8de;
    --surface-color: #e5eae1;
    --card-background: #e5eae1;
    --text-color: #243328;
    --light-text: #4f6256;
    --border-color: #ccd5cb;
    --rp-bg: #eeefe9;
    --rp-bg-soft: #e5eae1;
    --rp-surface: #e5eae1;
    --rp-surface-strong: #dce5d8;
    --rp-text: #243328;
    --rp-muted: #4f6256;
    --rp-teal: #287258;
    --rp-orange: #9d653c;
    --rp-line: #ccd5cb;
    --rp-line-strong: #a0b7a3;
    --rp-wide: 1320px;
    --rp-radius: 0;
    --rp-section: clamp(55px, 6vw, 90px);
    --edq-bg: #eeefe9;
    --edq-text: #243328;
    --edq-muted: #52675a;
    --edq-teal: #287258;
    --edq-surface: #e3e8de;
    --edq-surface-strong: #dce5d8;
    --edq-line: #ccd5cb;
    --edq-line-strong: #a0b7a3;
    --edq-orange: #9d653c;
    margin: 0;
    background: var(--design-paper) !important;
    background-image: none !important;
    color: var(--text-color);
    font-family: var(--design-sans);
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0;
    color-scheme: light;
    -webkit-font-smoothing: antialiased;
}
.rp-site *, .rp-site *::before, .rp-site *::after { box-sizing: border-box; }
.rp-site ::selection { color: #13291c; background: #b3e8cb; }
.rp-site :is(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #b87546; outline-offset: 5px; }
.rp-site :is(h1, h2, h3, h4) { color: var(--text-color); font-family: var(--design-sans); text-shadow: none !important; }
.rp-site h1 { font-size: clamp(2.25rem, 4.4vw, 3.5rem); line-height: 1.08; font-weight: 450; letter-spacing: -.045em; }
.rp-site :is(h2, .section-title) { font-size: clamp(1.75rem, 2.8vw, 2.25rem); line-height: 1.18; font-weight: 450; letter-spacing: -.035em; }
.rp-site h3 { font-weight: 550; letter-spacing: -.025em; }
.rp-site :is(p, li) { line-height: 1.8; }
.rp-site :is(a, button) { transition: color 160ms, background-color 160ms, border-color 160ms; }
.rp-site a { color: inherit; }
.rp-site .container { width: min(1320px, calc(100% - 112px)); max-width: 1320px; padding-inline: 0; margin-inline: auto; }
.rp-site section { padding-block: var(--rp-section); }
.rp-site .section-title { margin-bottom: 30px; text-align: left; }
.rp-site .section-title::after { display: none; }
.rp-site :is(.hero-glow, .animated-divider, .research-hero-bottom-line, .cosmos-bg, .cosmos-overlay) { display: none !important; }
.rp-site :is(.hero, .research-hero, .services, footer, .service-card, .store-item, .ecosystem-card, .research-section, .publication-links, .related-research-item)::before,
.rp-site :is(.hero, .research-hero, .services, footer, .service-card, .store-item, .ecosystem-card, .research-section, .publication-links, .related-research-item)::after { content: none !important; }
.rp-site :is(.reveal-on-scroll, .hero-content, .hero-panel, .section-title) { opacity: 1 !important; transform: none !important; animation: none !important; }

/* Shared navigation retains the established links and mobile dropdown behavior. */
.rp-site > header {
    position: sticky !important; top: 0; z-index: 1000; width: 100%;
    background: #111514 !important; color: #eef1e9;
    backdrop-filter: none; border: 0; border-bottom: 1px solid #303934;
    box-shadow: none; transform: none !important;
}
.rp-site > header .container { width: min(1320px, calc(100% - 112px)); padding: 0; }
.rp-site > header nav { min-height: 88px; padding: 12px 0; max-width: none; gap: 22px; }
.rp-site .nav-brand { display: inline-flex; align-items: center; gap: 10px; color: #f1f2ec; font: 700 26px/1 var(--design-sans); letter-spacing: -1.3px; white-space: nowrap; }
.rp-site .nav-brand img { height: 45px; width: 45px; object-fit: contain; border: 1px solid #30483b; border-radius: 0; }
.rp-site .nav-links { gap: clamp(13px, 1.6vw, 24px); margin: 0 auto; }
.rp-site .nav-links a { color: #bdc7be; font-size: 12px; font-weight: 500; text-transform: none; letter-spacing: 0; text-shadow: none; }
.rp-site .nav-links a:hover { color: #a7e5cb; text-shadow: none; }
.rp-site .nav-links a::after { background: #a7e5cb; box-shadow: none; }
.rp-site .language-switcher { gap: 8px; color: #698372; font: 12px/1.4 var(--design-mono); }
.rp-site .language-switcher :is(a, button) { color: #97ae9f; }
.rp-site .language-switcher .active { color: #e1f1e5; }
.rp-site .mobile-menu-btn { color: #dce9dd; }
.rp-site :is(.dropdown-menu, .dropdown-submenu-menu) { background: #152019; border: 1px solid #354a3c; border-radius: 0; box-shadow: 0 12px 28px #07110b30; }
.rp-site .dropdown-menu :is(a, .dropdown-submenu-toggle) { padding: 11px 17px !important; color: #bfcebf !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.8; }
.rp-site .dropdown-menu :is(a, .dropdown-submenu-toggle):is(:hover, :focus-visible),
.rp-site .dropdown-submenu:focus-within > .dropdown-submenu-toggle,
.rp-site .dropdown-submenu.open > .dropdown-submenu-toggle { background: #253b2b; color: #e9f8ec !important; }
.rp-site .dropdown-submenu-toggle i { color: inherit; }

/* Dark introductions sit above light, readable product and research content. */
.rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) {
    --text-color: #f1f2ec; --light-text: #a8b7aa; --primary-color: #a7e5cb;
    --rp-text: #f1f2ec; --rp-muted: #a8b7aa; --rp-teal: #a7e5cb; --rp-orange: #a7e5cb;
    background: #111514 !important; background-image: none !important;
    color: #f1f2ec; text-align: left; min-height: 0; padding: 70px 0 76px;
    border: 0; animation: none !important; overflow: hidden;
}
.rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) h1 {
    color: #f1f2ec !important; font: 450 clamp(2.5rem, 4.4vw, 4rem)/1.08 var(--design-sans) !important;
    letter-spacing: -.045em !important; text-shadow: none !important; margin: 18px 0 25px;
    -webkit-text-fill-color: currentColor !important; max-width: 1000px;
}
.rp-site :is(.hero-brand-accent, .nesting-hero h1 span, .refined-hero h1 span) { color: #a7e5cb !important; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-style: italic; }
.rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) p { color: #a8b7aa !important; font-size: 16px; line-height: 1.85; max-width: 770px; }
.rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) .container { width: min(1320px, calc(100% - 112px)); max-width: 1320px; padding: 0; margin-inline: auto; }
.rp-site :is(.hero-logo, #fractalCanvas, #heroFractalCanvas) { display: none !important; }
.rp-site .hero-content { text-align: left; max-width: 660px; }
.rp-site :is(.jssp-hero-layout, .tsp-hero-layout, .nesting-hero-grid, .refined-hero-grid) { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; }
.rp-site :is(.hero-panel, .jssp-hero-visual, .refined-hero-figure, .nesting-hero-figure) { background: transparent; border: 0; box-shadow: none; border-radius: 0; padding: 0; }
.rp-site :is(.hero-panel, .jssp-hero-visual, .refined-hero-figure, .nesting-hero-figure) img { max-width: 100%; width: 100%; height: auto; object-fit: contain; border-radius: 0; border: 1px solid #3b5142; opacity: 1; box-shadow: none; }
.rp-site :is(.jssp-kicker, .nesting-kicker, .refined-kicker) { color: #92ad99 !important; font: 12px/1.7 var(--design-mono); letter-spacing: .1em; text-transform: uppercase; }
.rp-site :is(.jssp-hero-meta, .nesting-meta, .refined-hero-meta) { color: #a8b7aa; }
.rp-site :is(.jssp-hero-meta span, .nesting-meta li, .refined-hero-meta span) { background: #1b2b20; border: 1px solid #354d3d; border-radius: 0; color: #c2d6c5; font-size: 12px; }
.rp-site .hero-buttons { gap: 12px; justify-content: flex-start; margin-top: 28px; }

/* Buttons use rectangular silhouettes and a single clear accent. */
.rp-site .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 20px; background: #a7e5cb; color: #183525; border: 1px solid #97c9ac; border-radius: 0; font: 600 14px/1.45 var(--design-sans); letter-spacing: 0; box-shadow: none; text-shadow: none; transform: none; }
.rp-site .btn::before { content: none; }
.rp-site .btn:hover { background: #b9edd5; color: #132d1e; box-shadow: none; transform: none; }
.rp-site .btn-outline { background: transparent; color: #315c40; border-color: #8ba392; }
.rp-site .btn-outline:hover { background: #dce8dc; border-color: #527d5f; color: #183525; }
.rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero, footer) .btn-outline { color: #d0e4d6; border-color: #617a67; }
.rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero, footer) .btn-outline:hover { color: #132d1e; background: #a7e5cb; }
.rp-site .btn-small { min-height: 38px; padding: 9px 14px; font-size: 12px; }

/* Homepage continuations and catalog pages. */
.rp-site :is(.ecosystem-section, .catalog-shell, .catalog-group, .blog-list, .contact, .store, .services, .about, .how-it-works, .technical-details, .screenshots, .download, .license-limits, .faq, .nesting-section, .refined-section) { background: #eeefe9; color: #243328; border-color: #ccd5cb; }
.rp-site :is(#free-tools, #services, .catalog-group:nth-child(even), .nesting-workflow, .refined-section:nth-child(even)) { background: #e3e8de; }
.rp-site .ecosystem-section .section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 60px; margin-bottom: 38px; }
.rp-site .section-heading p { font-size: 14px; color: #4f6256; }
.rp-site :is(.ecosystem-grid, .catalog-grid, #research-grid) { gap: 24px; }
.rp-site #research-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rp-site .research-card { display: flex; min-height: 0; flex-direction: column; }
.rp-site .ecosystem-card { border: 1px solid #ccd5cb; background: #e5eae1; box-shadow: none; border-radius: 0; transform: none; overflow: hidden; }
.rp-site .ecosystem-card:hover { border-color: #8eaa96; background: #e5eae1; box-shadow: none; transform: none; }
.rp-site .card-media { background: #dbe4d9; border-radius: 0; padding: 0; }
.rp-site .research-card .card-media { height: auto; min-height: 0; aspect-ratio: 16 / 10; padding: 0; }
.rp-site .research-card .card-media img { height: 100%; width: 100%; object-fit: cover; }
.rp-site .ecosystem-card-body { padding: 24px; }
.rp-site .ecosystem-card h3 { color: #243328; font-size: 23px; font-weight: 500; letter-spacing: -.035em; line-height: 1.3; }
.rp-site .ecosystem-card p { color: #4f6256; font-size: 16px; line-height: 1.75; }
.rp-site .card-kicker { color: #4f6256; font: 12px/1.6 var(--design-mono); letter-spacing: .04em; }
.rp-site .card-kicker span:last-child { color: #3e6a4e; background: transparent; border: 0; }
.rp-site .card-tags span { color: #4f6256; background: transparent; border: 0; border-radius: 0; font: 12px/1.6 var(--design-mono); padding: 0; }
.rp-site .card-tags { gap: 14px; }
.rp-site .tool-card h3, .rp-site .article-card h3 { font-size: 20px; }
.rp-site :is(.service-card, .store-item) { text-align: left; background: transparent; border: 0; border-top: 1px solid #a7baa8; border-radius: 0; box-shadow: none; padding: 26px 0; }
.rp-site :is(.service-card, .store-item):hover { background: transparent; box-shadow: none; transform: none; }
.rp-site :is(.service-card i, .store-item i) { color: #497b57; font-size: 25px; filter: none; background: none; -webkit-text-fill-color: currentColor; }
.rp-site :is(.service-card p, .store-item p, .contact-item p) { color: #4f6256; }
.rp-site #store .store-grid { gap: 38px; }
.rp-site .contact-form { border: 1px solid #b8c9b8; border-radius: 0; box-shadow: none; background: #e1e8dc; }
.rp-site .contact-form::before { display: none; }
.rp-site :is(input, textarea, select) { font-family: var(--design-sans); border-radius: 0; }
.rp-site .form-group :is(input, textarea) { border: 1px solid #a8bba9; background: #f4f6ef; color: #233a2a; }
.rp-site .contact-item i { color: #427c51; background: #dce7d7; }
.rp-site .catalog-hero h1 { font-family: Georgia, "Times New Roman", serif !important; font-style: italic; }
.rp-site .catalog-group > .container > .section-title { padding-top: 18px; border-top: 1px solid #bdcabc; font-size: 31px; }
.rp-site .catalog-group .ecosystem-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.rp-site .catalog-group .ecosystem-card:only-child { display: grid; grid-template-columns: minmax(0, .4fr) minmax(0, .6fr); }
.rp-site .catalog-group .ecosystem-card:only-child .card-media { aspect-ratio: auto; height: 100%; }
.rp-site .catalog-group .ecosystem-card:only-child .card-media img { height: 100%; object-fit: cover; }
.rp-site .catalog-group .ecosystem-card:only-child .ecosystem-card-body { padding: 35px; justify-content: center; }

/* Product details retain all existing functionality and data. */
.rp-site :is(.feature-card, .feature, .step, .technical-card, .tech-card, .faq-item, .license-card, .limit-card, .jssp-card, .nesting-card, .nesting-faq-grid details, .nesting-benchmark-details, .refined-step, .refined-research, .refined-product, .refined-evidence) { background: #e4e9df !important; border: 1px solid #c3d0c1 !important; border-radius: 0 !important; box-shadow: none !important; color: #273c2c; }
.rp-site :is(.feature-card, .feature, .step, .technical-card, .tech-card, .faq-item, .license-card, .limit-card, .jssp-card, .nesting-card, .nesting-faq-grid details, .refined-step, .refined-research, .refined-product, .refined-evidence):hover { transform: none; box-shadow: none; }
.rp-site :is(.about, .how-it-works, .technical-details, .screenshots, .download, .license-limits, .faq, .nesting-section, .refined-section) :is(p, li) { color: #53695b; }
.rp-site :is(.about, .how-it-works, .technical-details, .screenshots, .download, .license-limits, .faq, .nesting-section, .refined-section) :is(h2, h3, h4) { color: #243b2b !important; }
.rp-site :is(.feature-icon, .step-number, .nesting-card-number, .nesting-steps li::before, .refined-step-number) { color: #39744c; background: transparent; box-shadow: none; }
.rp-site :is(.nesting-overview, .nesting-workflow, .nesting-versions, .nesting-benchmarks) { border-color: #bdcdbc; }
.rp-site :is(.nesting-gallery-card, .screenshots .screenshot) { background: #e2e9dd; border: 1px solid #bdcdbc; border-radius: 0; box-shadow: none; }
.rp-site :is(.nesting-gallery-card, .screenshots .screenshot):hover { transform: none; box-shadow: none; }
.rp-site .screenshots .screenshot p { background: #e2e9dd; color: #53695b; }
.rp-site .screenshots .screenshot img { height: auto; aspect-ratio: 16 / 10; object-fit: contain; background: #e5eae2; }
.rp-site :is(.nesting-page .btn, .product-page .btn) { border-radius: 0; }
.rp-site :is(.nesting-section, .refined-section) a:not(.btn) { color: #286a46; }
.rp-site :is(.nesting-quality, .nesting-example-stats, .jssp-note, .license-note, .refined-callout) { background: #dce6d7 !important; color: #34553d !important; border-color: #b3c5ad !important; border-radius: 0; }
.rp-site :is(.download-box, .download-card) { background: #e1e8db; border: 1px solid #bdcdbc; border-radius: 0; box-shadow: none; }
.rp-site :is(.download-info, .version-info, .nesting-muted) { color: #5a715f !important; }
.rp-site .jssp-release-note { background: #dfe8d7 !important; color: #35583e !important; border: 1px solid #b8cdb0; border-radius: 0; }
.rp-site .jssp-release-note :is(strong, span) { color: inherit !important; }
.rp-site .hero .jssp-release-note { background: #24352a !important; color: #bdd1c1 !important; border-color: #425b49; }
.rp-site :is(.table-wrap, .table-container, .benchmark-scroll, .nesting-limit-wrap, .benchmark-table-container, .license-table-wrapper) { overflow-x: auto; border-radius: 0; border-color: #b8cbb8; }
.rp-site table { border-collapse: collapse; color: #304b36; background: #eef1e9; }
.rp-site :is(th, td) { border-color: #c0cfbc !important; color: #34513c !important; background: transparent; }
.rp-site thead, .rp-site th { background: #d9e4d3 !important; }
.rp-site tbody tr:nth-child(even) { background: #e6ece0; }
.rp-site table :is(strong, small, span) { color: inherit; }
.rp-site :is(.better, .success) { color: #267443 !important; }
.rp-site :is(.worse, .warning) { color: #92541e !important; }
.rp-site summary { color: #25492f !important; }

/* Research articles: quiet reading surfaces and legible equations. */
.rp-site .research-content { background: #eeefe9; padding-block: 55px 80px; }
.rp-site.refined-page main { background: #eeefe9; }
.rp-site.refined-page { --refined-accent: #34704a; --refined-muted: #4f6256; }
.rp-site .refined-hero { --refined-accent: #a7e5cb; --refined-muted: #a8b7aa; }
.rp-site .refined-step { padding: 25px; }
.rp-site .refined-step > span { color: #426d4d; }
.rp-site .refined-section :is(.refined-label, .refined-step-index, .refined-step-kicker, .refined-eyebrow) { color: #426d4d; }
.rp-site .research-hero > :is(h1, p) { width: min(1320px, calc(100% - 112px)); max-width: 1320px; margin-inline: auto !important; }
.rp-site .research-container { width: min(1320px, calc(100% - 112px)); max-width: 1320px; margin-inline: auto; grid-template-columns: minmax(0, 1fr); }
.rp-site .research-container > * { min-width: 0; max-width: 100%; }
.rp-site .research-section .math-display { min-width: 0; max-width: 100%; overflow-x: auto; }
.rp-site .research-section > img { display: block; margin-inline: auto; }
.rp-site .research-section > img[src$="edq-theory-concept.jpg"] { width: min(280px, 100%) !important; }
.rp-site .research-section { border: 0; border-top: 1px solid #c4d2c1; border-radius: 0; background: transparent; box-shadow: none; padding: 40px 0; margin: 0; }
.rp-site .research-section h2 { color: #263e2b; font: 400 clamp(1.7rem, 2.8vw, 2.6rem)/1.25 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.rp-site .research-section h2::before { display: none; }
.rp-site .research-section h3 { color: #315e3c; font-size: 23px; }
.rp-site .research-section :is(p, li, .image-caption) { color: #53695b; line-height: 1.85; }
.rp-site .research-section a:not(.btn) { color: #286747; text-decoration: underline; text-underline-offset: 4px; }
.rp-site :is(.research-note-box, .research-product-card, .publication-links, .author-info) { border: 1px solid #bdcfb8; border-radius: 0; background: #e1e9db; color: #3b5b42; box-shadow: none; }
.rp-site .publication-links :is(h3, a, i), .rp-site .author-info h3 { color: #2f6240; }
.rp-site .publication-links { padding: 28px 32px; margin-block: 12px 32px; }
.rp-site .publication-links h3 { margin: 0 0 18px; font-size: 23px; line-height: 1.35; }
.rp-site .publication-links h3::before { display: none; }
.rp-site .publication-links ul { margin: 0; padding: 0; }
.rp-site .publication-links li { align-items: flex-start; gap: 12px; margin: 0; padding: 14px 0; border-radius: 0; background: transparent; line-height: 1.65; }
.rp-site .publication-links li + li { border-top: 1px solid #c3d0bc; }
.rp-site .publication-links li i { flex: 0 0 20px; margin: 3px 0 0; font-size: 18px; line-height: 1.4; }
.rp-site .publication-links a { min-width: 0; font-size: 16px; font-weight: 500; line-height: 1.65; overflow-wrap: anywhere; }
.rp-site .author-info p { color: #5a715e; }
.rp-site :is(.related-research, .related-research-grid) { background: #e2e9dc; }
.rp-site .related-research-item { background: #eef1e9; border: 1px solid #bdcfb8; border-radius: 0; box-shadow: none; }
.rp-site .related-research-content :is(h3, p, a) { color: #34553d; }
.rp-site .related-research-image::after { display: none; }
.rp-site :is(pre, .math-box, .highlight-box, .equation-box) { color: #2e4e38 !important; background: #e0e8d9 !important; border-color: #b9ccb3 !important; border-radius: 0 !important; box-shadow: none !important; overflow-x: auto; }
.rp-site code { color: #2f6546; background: #e0e8d9; font-family: var(--design-mono); }
.rp-site mjx-container { color: #263e2b; max-width: 100%; }
.rp-site mjx-container[display="true"] { overflow-x: auto; overflow-y: hidden; padding-block: 8px; }

/* Standalone EDQ papers and the comparison report share a compact brand bar. */
.rp-site .rp-document-nav { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 18px max(32px, calc((100% - 1320px) / 2)); margin: 0; max-width: none; background: #111514; color: #c1d0c1; }
.rp-site .rp-document-nav .nav-brand { font-size: 25px; }
.rp-site .rp-document-nav > a:not(.nav-brand) { color: #bacabd; font-size: 12px; }
.rp-site.rp-document :is(.content-wrapper, > .container) { width: min(1320px, calc(100% - 112px)); max-width: 1320px; margin-inline: auto !important; padding: 55px 0 75px !important; }
.rp-site.rp-document h1 { font: 400 clamp(2.25rem, 4vw, 3.5rem)/1.1 Georgia, "Times New Roman", serif !important; color: #243b2a !important; letter-spacing: -.035em !important; }
.rp-site.rp-document h2 { font-family: var(--design-sans) !important; font-weight: 500 !important; color: #2e4e35 !important; letter-spacing: -.025em !important; }
.rp-site.rp-document h2::before { height: 24px; background: #779871; }
.rp-site.rp-document :is(p, li, .legend-text) { color: #536a59 !important; font-size: 16px !important; }
.rp-site.rp-document :is(h3, strong, em, .point-title) { color: #2c5437 !important; }
.rp-site.rp-document :is(.intro-card, .postulate-item, .principle-card) { background: transparent !important; border: 0 !important; border-top: 1px solid #bed0b8 !important; border-radius: 0 !important; box-shadow: none !important; }
.rp-site.rp-document .language-switcher { justify-content: flex-start; margin-bottom: 30px !important; }
.rp-site.rp-document .language-switcher :is(a, button) { color: #58735e !important; background: transparent !important; border: 1px solid #b6c8af !important; border-radius: 0 !important; }
.rp-site.rp-document .language-switcher .active { color: #183b24 !important; border-color: #6e9573 !important; background: #d9e7d3 !important; }
.rp-site.rp-comparison main { max-width: 1280px; padding-block: 60px; }
.rp-site.rp-comparison h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.rp-site.rp-comparison h1 span { color: #3a7650; }
.rp-site.rp-comparison .eyebrow { color: #3d6248; }
.rp-site.rp-comparison :is(.lead, .caption, .method-grid p, .provenance, .table-label, small) { color: #4f6256; }
.rp-site.rp-comparison :is(.card, .note, .meta span) { background: #e0e9d9; color: #446b4c; border: 1px solid #b9cbb2; border-radius: 0; }
.rp-site.rp-comparison .number { color: #2c7045; font-weight: 500; }
.rp-site.rp-comparison .button { background: #a7e5cb; color: #183525; border-radius: 0; border: 1px solid #86af90; }
.rp-site.rp-comparison .button.secondary { background: transparent; color: #345d3e; }
.rp-site.rp-comparison .section { border-color: #b9cbb2; }

/* Catalog and the single reference article; other blog files do not opt in. */
.rp-site .blog-list { padding-top: 65px; }
.rp-site .blog-list > .container > h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: #294430; }
.rp-site .blog-list :is(.article-card, .blog-card) { background: #e5eae1; border: 1px solid #c3d0c1; border-radius: 0; box-shadow: none; }
.rp-site .blog-list .article-card :is(h2, h3, a) { color: #294430; }
.rp-site .blog-list .article-card p { color: #4f6256; }
.rp-site .blog-list .articles-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rp-site .blog-list .article-card { display: flex; flex-direction: column; min-height: 0; padding: 25px; }
.rp-site .blog-list .article-card img { border-radius: 0 !important; }
.rp-site .blog-list .article-meta { display: flex; flex-wrap: wrap; gap: 8px 14px; font: 12px/1.7 var(--design-mono); color: #4f6256; margin-bottom: 18px; }
.rp-site .blog-list .article-title { font: 500 25px/1.28 var(--design-sans); letter-spacing: -.035em; margin: 0 0 17px; }
.rp-site .blog-list .article-excerpt { font-size: 16px; line-height: 1.75; margin: 0 0 22px; }
.rp-site .blog-list .read-more { margin-top: auto; padding-top: 14px; font-size: 12px; color: #386247; }
.rp-site .blog-list .category-filter { background: transparent; border: 0; border-block: 1px solid #bfceba; padding: 22px 0; border-radius: 0; }
.rp-site .blog-list .category-filter a { background: #e0e8d9; color: #3f5e48; border: 1px solid #c3d3bc; border-radius: 0; font-size: 12px; }
.rp-site .blog-list .category-filter a.active { background: #bfdcc4; color: #23442d; border-color: #95b398; }
.rp-site.rp-article .blog-post { padding: 58px 0 70px; background: #eeefe9; }
.rp-site.rp-article .blog-content { max-width: 1080px; margin-inline: auto; padding: 0; border: 0 !important; border-radius: 0; background: transparent; box-shadow: none !important; }
.rp-site.rp-article .blog-content > h1 { max-width: 950px; font: 450 clamp(2.4rem, 4vw, 3.5rem)/1.08 var(--design-sans); color: #203b2b; letter-spacing: -.045em; margin: 20px 0; }
.rp-site.rp-article :is(.rsi-kicker, .post-meta, .post-meta span, .post-meta i) { color: #4f6256; font-family: var(--design-mono); font-size: 12px; }
.rp-site.rp-article .post-meta i { font-family: "Font Awesome 6 Free"; font-weight: 900; }
.rp-site.rp-article .post-meta span { background: transparent; border: 0; border-radius: 0; padding-left: 0; }
.rp-site.rp-article .rsi-subtitle { color: #3f5c48; font: italic 26px/1.5 Georgia, "Times New Roman", serif; max-width: 800px; }
.rp-site.rp-article .rsi-hero { margin-block: 35px 45px; }
.rp-site.rp-article .rsi-hero img { border: 0; border-radius: 0; max-height: 550px; object-fit: cover; }
.rp-site.rp-article .rsi-hero figcaption { color: #4f6256; }
.rp-site.rp-article .content { width: min(100%, 800px); margin-inline: auto; }
.rp-site.rp-article .content :is(p, li) { color: #4a6252; font-size: 17px; line-height: 1.95; }
.rp-site.rp-article .content h2 { margin-top: 52px; font: 400 34px/1.3 Georgia, "Times New Roman", serif; color: #294632; }
.rp-site.rp-article .content :is(h3, strong) { color: #294632; }
.rp-site.rp-article .content a { color: #216945; }
.rp-site.rp-article :is(.rsi-intro-note, .rsi-card, .rsi-note, .rsi-summary, blockquote) { background: #e0e9d9; color: #3d6548; border: 1px solid #bacdb2; border-radius: 0; box-shadow: none; }
.rp-site.rp-article .back-to-blog { max-width: 1080px; margin-inline: auto; }

/* Games hub uses the same page system without changing game destinations. */
.rp-site.games-page :is(.games-catalog, .community-games, .games-about, .games-more) { background: #eeefe9; }
.rp-site.games-page :is(.games-about, .community-games) { background: #e2e9db; }
.rp-site.games-page .games-hero-layout { align-items: center; gap: 55px; }
.rp-site.games-page .games-hero { min-height: 0; padding-block: 70px; }
.rp-site.games-page .games-hero-layout { min-height: 480px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; }
.rp-site.games-page .games-hero-panel img { width: 100%; max-width: 100%; }
.rp-site.games-page :is(.game-card, .blog-card) { border: 1px solid #bdcdb8; border-radius: 0; background: #e6ece1; box-shadow: none; }
.rp-site.games-page .game-card :is(h3, p) { color: #37543f; }
.rp-site.games-page .game-card:hover { transform: none; }
.rp-site.games-page :is(.games-badge, .game-tag) { background: #d8e5d1; color: #476b4b; border-color: #b5c9ad; }
.rp-site.legal-page :is(.privacy-policy, .policy-section, .legal-section) { background: #eeefe9; color: #2e4a34; box-shadow: none; border-color: #bdcfb7; border-radius: 0; }
.rp-site.legal-page :is(p, li) { color: #536b59; }
.rp-site .not-found-hero { min-height: 65vh; }
.rp-site .not-found-code { color: #a7e5cb; font-family: Georgia, "Times New Roman", serif; }

/* Footer uses the original logo and existing legal/contact content. */
.rp-site > footer { background: #111514; color: #b3c3b5; border-top: 1px solid #304437; padding: 55px 0 25px; }
.rp-site > footer :is(h3, h4, p, a, i) { color: #b3c3b5; }
.rp-site > footer h3 { color: #e0ebe1; font-size: 18px; font-weight: 500; }
.rp-site > footer p { font-size: 12px; }
.rp-site > footer .footer-logo { width: 70px; height: 70px !important; object-fit: contain; border: 1px solid #2f4938; border-radius: 0; }
.rp-site > footer .footer-bottom { border-color: #304437; margin-top: 35px; color: #7d9786; }
.rp-site > footer .footer-bottom p { font-size: 12px; }
.rp-site > footer .social-links a { background: transparent; border: 1px solid #3b5642; border-radius: 0; }
.rp-site > footer a:hover { color: #a7e5cb; }

/* Legacy articles share the reference's reading rhythm and light surfaces. */
.rp-site.rp-legacy-article .blog-content::before,
.rp-site.rp-legacy-article .featured-image::after,
.rp-site.rp-legacy-article .content h2::before { content: none; }
.rp-site.rp-legacy-article .blog-content { overflow: visible; }
.rp-site.rp-legacy-article .blog-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 20px 0 32px; padding-bottom: 22px; border-bottom: 1px solid #c6d2c0; color: #4d6254; font: 12px/1.7 var(--design-mono); }
.rp-site.rp-legacy-article .blog-meta :is(span, time, a) { color: inherit; font-size: inherit; }
.rp-site.rp-legacy-article .blog-meta i { color: #42694e; margin-right: 6px; }
.rp-site.rp-legacy-article :is(.featured-image, .blog-post-feature-image-wrap) { width: 100%; max-width: 100%; height: auto; margin: 30px 0 38px; border-radius: 0; background: transparent; }
.rp-site.rp-legacy-article .featured-image img { display: block; width: 100%; height: auto; max-height: 600px; object-fit: contain; border-radius: 0; transform: none; }
.rp-site.rp-legacy-article .blog-post-feature-image { max-width: 100%; height: auto; border-radius: 0; }
.rp-site.rp-legacy-article .content { min-width: 0; overflow-wrap: anywhere; }
.rp-site.rp-legacy-article .content :is(h1, h2) { display: block; margin: 44px 0 20px; font: 400 34px/1.3 Georgia, "Times New Roman", serif; letter-spacing: -.025em; color: #294632; }
.rp-site.rp-legacy-article .content h3 { margin: 32px 0 16px; font-size: 25px; line-height: 1.35; }
.rp-site.rp-legacy-article .content :is(h4, h5, h6) { margin: 28px 0 14px; font-size: 20px; line-height: 1.4; color: #294632; }
.rp-site.rp-legacy-article .content :is(strong, b, em) { color: #294632; }
.rp-site.rp-legacy-article .content p { margin-bottom: 22px; }
.rp-site.rp-legacy-article .content :is(p, li, a, b, strong) { overflow-wrap: anywhere; }
.rp-site.rp-legacy-article .content mjx-container { max-width: 100%; overflow-x: auto; overflow-y: hidden; }
.rp-site.rp-legacy-article .content mjx-container[display="true"] { display: block; }
.rp-site.rp-legacy-article .content :is(ul, ol) { margin: 20px 0 28px; padding-left: 1.5em; }
.rp-site.rp-legacy-article .content ul { list-style: disc; }
.rp-site.rp-legacy-article .content ol { list-style: decimal; }
.rp-site.rp-legacy-article .content li { list-style: inherit; padding-left: 0; margin-bottom: 12px; }
.rp-site.rp-legacy-article .content li::before { content: none; }
.rp-site.rp-legacy-article .content .lead { color: #3d5a45; font-size: 19px; line-height: 1.8; border: 0; padding: 0; box-shadow: none; }
.rp-site.rp-legacy-article .content :is(.info-box, .cta-box, .note, .math-note, .theorem-box, .highlight-box, .code-example) { margin: 28px 0; padding: 24px; border: 1px solid #b8ccb0; border-radius: 0; background: #e0e9d9; color: #3a5642; box-shadow: none; }
.rp-site.rp-legacy-article .content :is(.info-box, .cta-box)::before { content: none; }
.rp-site.rp-legacy-article .content :is(.info-box, .cta-box):hover { background: #e0e9d9; box-shadow: none; transform: none; }
.rp-site.rp-legacy-article .content :is(.info-box, .cta-box) :is(p, li) { color: #3a5642; }
.rp-site.rp-legacy-article .content :is(.info-box, .cta-box, .highlight-box) :is(h1, h2, h3) { margin-top: 0; }
.rp-site.rp-legacy-article .content .cta-box { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; text-align: left; }
.rp-site.rp-legacy-article .content .cta-box > p { margin: 0; }
.rp-site.rp-legacy-article .content :is(.btn, .cta-button) { color: #183525 !important; background: #a7e5cb; font-size: 14px; min-height: 46px; border-radius: 0; }
.rp-site.rp-legacy-article .content :is(.btn, .cta-button):is(:hover, :focus-visible) { color: #183525 !important; background: #c0efd5 !important; }
.rp-site.rp-legacy-article .content :is(pre, .math-display) { max-width: 100%; min-width: 0; overflow-x: auto; }
.rp-site.rp-legacy-article .content pre { padding: 20px; white-space: pre; line-height: 1.65; }
.rp-site.rp-legacy-article .content code { font-size: 14px; color: #294d37; }
.rp-site.rp-legacy-article .content :not(pre) > code { overflow-wrap: anywhere; }
.rp-site.rp-legacy-article .content blockquote:not(.tiktok-embed) { margin: 28px 0; padding: 20px 24px; border: 0; border-left: 3px solid #608368; background: #e0e9d9; color: #3a5642; }
.rp-site.rp-legacy-article .content :is(.article-figure, .image-container, .content-image-wrap) { max-width: 100%; margin: 30px auto; }
.rp-site.rp-legacy-article .content :is(img, video, iframe, svg) { max-width: 100%; }
.rp-site.rp-legacy-article .content :is(img, .article-figure img) { height: auto; border-radius: 0; box-shadow: none; }
.rp-site.rp-legacy-article .content :is(figcaption, .image-caption) { color: #4f6256; font-size: 14px; line-height: 1.65; text-align: left; }
.rp-site.rp-legacy-article .rp-article-table-scroll { width: 100%; max-width: 100%; margin: 28px 0; overflow-x: auto; }
.rp-site.rp-legacy-article .content table { font-size: 14px; line-height: 1.65; }
.rp-site.rp-legacy-article .content :is(th, td) { padding: 12px 16px; }
.rp-site.rp-legacy-article .content :is(.related-posts, .post-card) { background: #e0e9d9; border: 1px solid #b8ccb0; border-radius: 0; box-shadow: none; }
.rp-site.rp-legacy-article .content .related-posts { padding: 24px; margin-top: 36px; }
.rp-site.rp-legacy-article .content .posts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rp-site.rp-legacy-article .content .post-card { min-width: 0; padding: 20px; }
.rp-site.rp-legacy-article .content .post-card h3 { margin-top: 0; font-size: 22px; }

/* Integration of the approved homepage composition with the existing shell. */
.rp-home #home { display: block; padding: 0; }
.rp-home #home .hero-layout { min-height: 650px; grid-template-columns: 45% 55%; gap: 0; }
.rp-home #home h1 { font-size: clamp(57px, 5.9vw, 88px) !important; font-weight: 450 !important; line-height: 1.07 !important; margin: 0 !important; letter-spacing: -.055em !important; }
.rp-home #home h1 em { color: #a7e5cb; font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.rp-home #home .hero-description { max-width: 395px; margin: 28px 0 0; font-size: 15px; line-height: 1.8; }
.rp-home #home .hero-topline { padding-top: 30px; }
.rp-home .button-primary { color: #183525; }
.rp-home .products { padding-block: 96px 80px; }
.rp-home .products .section-heading { display: flex; }
.rp-home .products .section-heading h2 { font-size: clamp(36px, 3.8vw, 55px); font-weight: 450; line-height: 1.13; }
.rp-home .featured-product { --text-color: #f1f2ec; --light-text: #a8b7aa; }
.rp-home .featured-copy h3 { color: #f1f2ec; font-size: 41px; }
.rp-home .featured-copy .product-statement { color: #e6eee5; }
.rp-home .featured-copy .product-description { color: #a8b7aa; }
.rp-home .engine h3 { color: #26472e; }
.rp-home #blog { background: #eeefe9; }
.rp-home #latest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rp-home #latest-grid .article-card { display: flex; flex-direction: column; min-height: 0; }
.rp-home #latest-grid .card-media { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
.rp-home #latest-grid .card-media img { width: 100%; height: 100%; object-fit: cover; }
.rp-home #latest-grid .ecosystem-card-body { padding: 24px; }
.rp-home .image-dialog h2 { color: #edf3e9; font-size: 19px; }
.rp-home .image-dialog p { color: #8fa694; }
.rp-utility { max-width: none; padding: 0; }
.rp-utility > p, .rp-utility > h1 { max-width: 1100px; margin: 35px auto; padding-inline: 25px; }
.rp-utility > .container { padding-block: 35px; }

/* Readability contracts: body text, captions, and controls stay independently sized. */
.rp-site [hidden] { display: none !important; }
.rp-site [data-lang] { display: none !important; }
html[lang="sk"] body.rp-site [data-lang="sk"],
html[lang="en"] body.rp-site [data-lang="en"] { display: block !important; }
html[lang="sk"] body.rp-site :is(span, a, strong, em, small)[data-lang="sk"],
html[lang="en"] body.rp-site :is(span, a, strong, em, small)[data-lang="en"] { display: inline !important; }
html[lang="sk"] body.rp-site li[data-lang="sk"],
html[lang="en"] body.rp-site li[data-lang="en"] { display: list-item !important; }
html[lang="sk"] body.rp-site tr[data-lang="sk"],
html[lang="en"] body.rp-site tr[data-lang="en"] { display: table-row !important; }
html[lang="sk"] body.rp-site :is(td, th)[data-lang="sk"],
html[lang="en"] body.rp-site :is(td, th)[data-lang="en"] { display: table-cell !important; }
html[lang="sk"] body.rp-site .nav-links a[data-lang="sk"],
html[lang="en"] body.rp-site .nav-links a[data-lang="en"] { display: block !important; }
html[lang="sk"] body.rp-site :is(.btn, .button, .back-to-blog a)[data-lang="sk"],
html[lang="en"] body.rp-site :is(.btn, .button, .back-to-blog a)[data-lang="en"] { display: inline-flex !important; }
html[lang="sk"] body.rp-site [data-lang="sk"].inline,
html[lang="en"] body.rp-site [data-lang="en"].inline { display: inline !important; }
.rp-site .nav-links a { font-size: 14px; }
.rp-site .dropdown-menu a { font-size: 14px; }
.rp-site .language-switcher { font-size: 13px; }
.rp-site > header .language-switcher span { color: #a8b9ac; }
.rp-site .btn { gap: 8px; }
.rp-site .btn-small { font-size: 13px; }
.rp-site .ecosystem-card :is(.card-kicker, .card-tags, .card-tags span) { font-size: 12px; color: #4d6254; line-height: 1.55; }
.rp-site .ecosystem-card .card-kicker { gap: 8px 16px; flex-wrap: wrap; }
.rp-site .ecosystem-card p { font-size: 16px; line-height: 1.75; }
.rp-site :is(.section-heading p, .section-intro) { font-size: 16px; line-height: 1.75; }
.rp-site :is(.service-card p, .store-item p, .contact-item p) { color: #4f6256; font-size: 16px; }
.rp-site .form-group label { color: #354d3f; font-size: 15px; }
.rp-site :is(.research-hero, .catalog-hero) h1 { font-size: clamp(36px, 4vw, 56px) !important; }
.rp-site .research-section > :is(p, ul, ol) { width: 100%; max-width: none; font-size: 17px; line-height: 1.8; }
.rp-site .research-section h2 { display: block; font-size: clamp(28px, 2.6vw, 36px); line-height: 1.25; }

/* Research copy and tables share the full content width and consistent cell gutters. */
.rp-site.refined-page .refined-wrap { width: min(1320px, calc(100% - 112px)); }
.rp-site.refined-page .refined-section :is(.refined-intro, .refined-outlook) { max-width: none; }
.rp-site.rp-comparison main { width: min(1320px, calc(100% - 112px)); max-width: 1320px; padding-inline: 0; }
.rp-site.rp-comparison .lead { max-width: none; }
.rp-site :is(.research-section, .refined-section) table,
.rp-site.rp-comparison table { width: 100%; border-collapse: collapse; border-spacing: 0; font-size: 14px; line-height: 1.6; }
.rp-site :is(.research-section, .refined-section) :is(th, td),
.rp-site.rp-comparison :is(th, td) { padding: 12px 16px; vertical-align: top; border-bottom: 1px solid #c0cfbc; }
.rp-site .refined-table :is(th, td):last-child { padding-inline: 16px; }
.rp-site :is(.research-section, .refined-section) caption { padding: 0 0 12px; text-align: left; line-height: 1.65; }
.rp-site .refined-table th { font-weight: 600; }
.rp-site .refined-table-wrap { max-width: 100%; }
.rp-site .refined-table:not(.refined-packing-table) { min-width: 0; }
.rp-site .mvdc-family-table :is(th, td) { min-width: 0; }
.rp-site .mvdc-family-table { min-width: 660px; }
.rp-site .mvdc-results:has(.mvdc-point-label) thead th:nth-child(2) { text-align: left; }
.rp-site .mvdc-numerical-appendix mjx-container:not([display="true"]) { display: inline-block; max-width: 100%; overflow-x: auto; overflow-y: hidden; vertical-align: middle; }
.rp-site .research-section > :last-child { margin-bottom: 0; }
.rp-site :is(.image-caption, .example-caption, figcaption) { opacity: 1 !important; color: #4f6256; font-size: 14px; line-height: 1.65; }
.rp-site :is(.hero, .nesting-hero, .refined-hero) figcaption { color: #adbfaf; }

/* Article indexes are reading lists; metadata never inherits heading sizes. */
.rp-site .blog-list { padding-top: 48px; }
.rp-site .blog-list > .container > h1 { font: 400 clamp(34px, 3.6vw, 48px)/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.03em; margin-bottom: 18px; }
.rp-site .blog-list .page-description { max-width: 70ch; font-size: 17px; margin-bottom: 30px; }
.rp-site .blog-list .category-filter { gap: 10px; padding-block: 18px; margin-bottom: 12px; }
.rp-site .blog-list .category-filter a { font-size: 13px; min-height: 38px; padding: 8px 12px; }
.rp-site .blog-list .articles-grid { display: block; }
.rp-site .blog-list .article-card { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px 36px; padding: 30px 0; border: 0; border-bottom: 1px solid #bdcbbb; background: transparent; box-shadow: none; }
.rp-site .blog-list .article-card:hover { transform: none; background: transparent; }
.rp-site .blog-list .article-meta { grid-column: 1; grid-row: 1 / span 3; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0; font: 12px/1.65 var(--design-mono); color: #4d6254; }
.rp-site .blog-list :is(.article-date, .article-category, .article-date i, .article-category i) { font-size: 12px; color: #4d6254; }
.rp-site .blog-list .article-title { grid-column: 2; grid-row: 1; margin: 0; font-size: 24px; line-height: 1.35; letter-spacing: -.025em; }
.rp-site .blog-list .article-excerpt { grid-column: 2; grid-row: 2; max-width: 78ch; margin: 0; font-size: 16px; line-height: 1.75; color: #4f6256; }
.rp-site .blog-list .read-more { grid-column: 2; grid-row: 3; justify-self: start; margin: 0; padding: 2px 0; font-size: 14px; }
.rp-site .blog-list .article-card > a:has(img) { grid-column: 1; grid-row: 2 / span 2; align-self: start; }
.rp-site .blog-list .article-card:has(> a img) .article-meta { grid-row: 1; }
.rp-site .blog-list .article-card > a img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; margin: 0 !important; }

/* Product pricing and evidence panels use the same light-surface palette. */
.rp-site.jssp-page .download-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.rp-site.jssp-page .download-card { padding: 28px; text-align: left; border-radius: 0; }
.rp-site.jssp-page .download-card ul { flex: initial; margin-block: 18px; }
.rp-site.jssp-page .jssp-button-row { justify-content: flex-start; margin-top: 24px; }
.rp-site.jssp-page .download-card:not(.jssp-license-card) .jssp-button-row { margin-top: auto; padding-top: 20px; }
.rp-site.jssp-page .jssp-license-card { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.rp-site .jssp-license-card > div { min-width: 0; }
.rp-site .jssp-price-list { margin-top: 0; }
.rp-site .jssp-price-row { padding: 14px 0; background: transparent; border: 0; border-bottom: 1px solid #b6c8af; border-radius: 0; }
.rp-site .jssp-price-row strong { color: #233d2c; font-size: 16px; }
.rp-site .jssp-price-row span { color: #285d3c; font-size: 17px; }
.rp-site .jssp-license-pricing > p { margin-top: 20px; }
.rp-site .benchmark-disclosure { color: #2e4936; background: #e3eadf; border: 1px solid #b7c9af; border-radius: 0; }
.rp-site .benchmark-disclosure[open] > summary { background: #d7e3d1; border-color: #b7c9af; }
.rp-site .benchmark-disclosure :is(p, .benchmark-note) { color: #435d4c; font-size: 15px; }
.rp-site .benchmark-disclosure summary { font-size: 16px; line-height: 1.6; }
.rp-site .benchmark-disclosure a { color: #215d3b; text-decoration: underline; text-underline-offset: 3px; }
.rp-site .benchmark-results-scroll { scrollbar-color: #78957a #dce6d5; }
.rp-site .nesting-example-stats { background: transparent !important; padding-block: 10px; }
.rp-site .nesting-example-stats strong { color: #285d3c; font-size: 34px; line-height: 1.2; }
.rp-site .nesting-example-stats span { color: #3f5d48; font-size: 15px; }
.rp-site .nesting-section .nesting-kicker { color: #3f6349 !important; font-size: 12px; }
.rp-site .nesting-muted { color: #465f4d !important; font-size: 14px !important; }
.rp-site .refined-section :is(strong, .refined-caption strong) { color: #213d2b !important; }
.rp-site .refined-section :is(caption, figcaption, .refined-caption) { color: #435e4c !important; font-size: 14px; }
.rp-site .refined-note { padding: 20px 24px; border: 1px solid #b6c8af; border-left: 3px solid #5e8462; background: #dce6d5; }
.rp-site .refined-note p { color: #354f3f; margin: 0; }
.rp-site .refined-metric { color: #285d3c; font-size: 36px; line-height: 1.2; margin-bottom: 16px; }
.rp-site .refined-metric small { color: #435e4c; font-size: 22px; }
.rp-site :is(.document-link-content p, .document-link-content .description) { color: #4b6352 !important; }
.rp-site.rp-document :is(header, h1, .content-wrapper, .container) { opacity: 1 !important; animation: none !important; }
.rp-site.rp-document .description-emphasis { color: #255d3e; font-weight: 600; }
.rp-site.rp-document .postulate-list { grid-template-columns: minmax(0, 1fr); }
.rp-site.rp-document .postulate-item { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.rp-site.rp-document .math-box :is(span, em) { opacity: 1 !important; color: #2c4d37 !important; font-size: 15px; }
.rp-site.rp-comparison :is(small, .caption, .table-label) { color: #405b47; font-size: 13px; }
.rp-site.rp-article :is(.rsi-kicker, .post-meta, .post-meta span) { color: #4d6254; font-size: 12px; }
.rp-site.rp-article :is(.rsi-hero, .rsi-figure) figcaption { color: #4f6256; font-size: 14px; }
.rp-site.rp-article :is(.back-to-blog a, .content .btn, .content .cta-button) { background: #a7e5cb; color: #183525 !important; }

/* The hero keeps its display type; its descriptive and technical labels remain readable. */
.rp-home .products :is(.product-category, .product-tags, .eyebrow, .engine-copy .eyebrow) { font-size: 12px; line-height: 1.6; }
.rp-home .products :is(.index-marker, .paired-product .product-category, .paired-product .product-tags, .engine-copy .eyebrow) { color: #4f6256; }
.rp-home .products :is(.paired-product .product-description, .engine-copy > p:last-child) { color: #4f6256; font-size: 16px; line-height: 1.75; }
.rp-home .featured-product .product-description { color: #b8c9bb; font-size: 16px; line-height: 1.75; }
.rp-home .image-hint { font-size: 12px; }
.rp-site .refined-research .refined-eyebrow { font-size: 12px; }
.rp-home .featured-product :is(.availability, .visual-toolbar, .image-caption) { color: #b7cabb; font-size: 13px; }
.rp-home .products :is(.button, .product-bottom-link, .engine-link) { font-size: 14px; }
.rp-home #home :is(.hero-topline, .hero-location, .hero-footnote, .art-top, .art-coordinate, .art-caption-copy > span, .strip-label) { font-size: 12px; color: #a7baad; line-height: 1.6; }
.rp-home #home .route-toggle button { font-size: 13px; min-height: 40px; padding: 8px 12px; }
.rp-home #home .discipline-strip { font-size: 14px; gap: 16px; }
.rp-home #home .strip-dot { color: #9ab29e; }
.rp-home #home :is(.button, .quiet-link) { font-size: 14px; }
.rp-home .art-caption-copy { max-width: 64%; }
.rp-home .landscape .axis-label { fill: #a8bbab; font-size: 16px; }
.rp-home .landscape .point-label { font-size: 18px; }

/* Footer copy has a dark surface, regardless of the page-specific paragraph rules. */
body.rp-site > footer :is(p, a, span, i, h3, h4) { color: #bdcdbf !important; }
body.rp-site > footer p { font-size: 14px; line-height: 1.75; }
body.rp-site > footer .footer-bottom p { font-size: 12px; }

@media (max-width: 1200px) {
    .rp-site .container, .rp-site > header .container, .rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) .container { width: calc(100% - 64px); }
    .rp-site > header nav { gap: 16px; }
    .rp-site .nav-links { gap: 13px; }
    .rp-site .nav-links a { font-size: 13px; }
    .rp-site .nav-brand { font-size: 22px; }
    .rp-site .nav-brand img { width: 38px; height: 38px; }
    .rp-site .research-container, .rp-site.refined-page .refined-wrap, .rp-site.rp-comparison main, .rp-site.rp-document :is(.content-wrapper, > .container) { width: calc(100% - 64px); }
    .rp-site .research-hero > :is(h1, p) { width: calc(100% - 64px); }
    .rp-site :is(.jssp-hero-layout, .tsp-hero-layout, .nesting-hero-grid, .refined-hero-grid) { gap: 30px; }
    .rp-home #home .hero-layout { grid-template-columns: 47% 53%; min-height: 610px; }
    .rp-home #home h1 { font-size: 66px !important; }
}
@media (max-width: 1000px) {
    .rp-site :is(.jssp-hero-layout, .tsp-hero-layout, .nesting-hero-grid, .refined-hero-grid) { grid-template-columns: 1fr; }
    .rp-site .hero-content { max-width: 780px; }
    .rp-site :is(.hero-panel, .jssp-hero-visual, .refined-hero-figure, .nesting-hero-figure) { max-width: 850px; }
    .rp-site #research-grid { grid-template-columns: 1fr; }
    .rp-site .research-card { display: grid; grid-template-columns: .9fr 1.1fr; }
    .rp-site .research-card .card-media { aspect-ratio: auto; height: 100%; }
    .rp-site .catalog-group .ecosystem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rp-site .catalog-group .ecosystem-card:only-child { grid-column: 1 / -1; }
    .rp-site .blog-list .articles-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .rp-site.rp-legacy-article .content :is(h1, h2) { font-size: 29px; margin-top: 36px; }
    .rp-site.rp-legacy-article .content :is(.info-box, .cta-box, .note, .math-note, .theorem-box, .highlight-box, .code-example, .related-posts) { padding: 20px; }
    .rp-site.rp-legacy-article .content .posts-grid { grid-template-columns: minmax(0, 1fr); }
    .rp-site.rp-legacy-article .featured-image { margin-block: 24px 30px; }
    .rp-home .landscape :is(.axis-label, .point-label) { font-size: 32px; }
    .rp-site .screenshots .screenshots-grid { grid-template-columns: minmax(0, 1fr); }
    .rp-site .screenshots .screenshot { min-width: 0; max-width: 100%; }
    .rp-site #contact .contact-content { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .rp-site #contact .contact-form { width: 100%; min-width: 0; padding: 24px; }
    .rp-site #contact .contact-form button[type="submit"] { min-width: 170px; max-width: 100%; }
    .rp-site.jssp-page .download-options, .rp-site.jssp-page .jssp-license-card { grid-template-columns: 1fr; }
    .rp-site.jssp-page .jssp-license-card { gap: 24px; }
    .rp-site.jssp-page .download-card { padding: 24px; }
    .rp-site .blog-list .article-card { display: flex; flex-direction: column; gap: 12px; padding-block: 24px; }
    .rp-site .blog-list .article-meta { order: 0; flex-direction: row; flex-wrap: wrap; gap: 8px 16px; }
    .rp-site .blog-list .article-card > a:has(img) { order: 1; width: min(240px, 100%); }
    .rp-site .blog-list .article-title { order: 2; font-size: 22px; }
    .rp-site .blog-list .article-excerpt { order: 3; }
    .rp-site .blog-list .read-more { order: 4; }
    .rp-home #home .art-bottom { flex-wrap: wrap; gap: 16px; }
    .rp-home .art-caption-copy { max-width: 100%; flex: 1 1 180px; }
    .rp-home #home .discipline-strip { font-size: 13px; }
    .rp-site .container, .rp-site > header .container, .rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) .container { width: calc(100% - 40px); }
    .rp-site > header nav { min-height: 73px; gap: 18px; padding-block: 12px; }
    .rp-site .nav-brand { margin-right: auto; }
    .rp-site .nav-brand span { display: inline; }
    .rp-site .nav-brand img { height: 38px; width: 38px; }
    .rp-site .nav-links { position: absolute; left: 0; right: 0; top: 100%; width: 100%; max-height: calc(100dvh - var(--navigation-header-height, 73px)); overflow-y: auto; background: #111b14; border: 1px solid #354d3c; padding: 20px; margin: 0; gap: 0; }
    .rp-site .nav-links > li > a { padding: 12px 0; font-size: 15px; }
    .rp-site .dropdown-menu { background: #18281c; border: 0; }
    .rp-site .dropdown-submenu-menu { background: #1d3022; }
    .rp-site .dropdown-menu :is(a, .dropdown-submenu-toggle) { padding: 12px !important; }
    .rp-site .mobile-menu-btn { order: 3; width: 40px; height: 42px; }
    .rp-site > header .language-switcher { order: 2; }
    .rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) { padding-block: 45px 55px; }
    .rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) h1 { font-size: clamp(2.5rem, 8.8vw, 3.8rem) !important; }
    .rp-site :is(.hero, .catalog-hero, .research-hero, .nesting-hero, .refined-hero) p { font-size: 14px; }
    .rp-site .ecosystem-section .section-heading { grid-template-columns: 1fr; gap: 12px; }
    .rp-site .research-container, .rp-site.refined-page .refined-wrap, .rp-site.rp-comparison main { width: calc(100% - 40px); }
    .rp-site .publication-links { padding: 22px 20px; }
    .rp-site .publication-links h3 { font-size: 21px; }
    .rp-site :is(.research-section, .refined-section) :is(th, td), .rp-site.rp-comparison :is(th, td) { padding: 10px 12px; }
    .rp-site .refined-table :is(th, td):last-child { padding-inline: 12px; }
    .rp-site .research-hero > :is(h1, p) { width: calc(100% - 40px); }
    .rp-site .research-card { display: flex; }
    .rp-site .research-card .card-media { aspect-ratio: 16 / 10; }
    .rp-site .catalog-group .ecosystem-card:only-child { display: flex; flex-direction: column; }
    .rp-site .catalog-group .ecosystem-card:only-child .card-media { aspect-ratio: 16 / 10; }
    .rp-site .catalog-group .ecosystem-card:only-child .ecosystem-card-body { padding: 24px; }
    .rp-site :is(#free-tools-grid, #latest-grid, .services-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rp-site .article-card { display: flex; flex-direction: column; }
    .rp-site .article-card .card-media { min-height: 0; height: auto; aspect-ratio: 16 / 10; }
    .rp-site.rp-document :is(.content-wrapper, > .container) { width: calc(100% - 40px); padding-block: 35px 50px !important; }
    .rp-site .rp-document-nav { gap: 12px; padding: 15px 20px; }
    .rp-site .rp-document-nav .nav-brand { font-size: 21px; }
    .rp-site .rp-document-nav > a:not(.nav-brand) { font-size: 12px; }
    .rp-site.rp-article .content :is(p, li) { font-size: 16px; }
    .rp-site.rp-article .rsi-subtitle { font-size: 22px; }
    .rp-site.rp-article .content h2 { font-size: 29px; }
    .rp-site.rp-article .rsi-hero { margin-block: 28px; }
    .rp-site.games-page .games-hero-layout { grid-template-columns: 1fr; min-height: 0; gap: 30px; }
    .rp-site.games-page .games-hero { padding-block: 45px; }
    .rp-home #home .hero-layout { display: block; min-height: 0; padding-top: 44px; }
    .rp-home #home h1 { font-size: clamp(49px, 9.9vw, 70px) !important; }
    .rp-home #home .hero-description { font-size: 14px; }
    .rp-home .products { padding-block: 60px 45px; }
    .rp-home .products .section-heading { display: block; }
    .rp-home #latest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .rp-home #latest-grid { grid-template-columns: 1fr; }
    .rp-site .blog-list .articles-grid { grid-template-columns: 1fr; }
    .rp-site :is(#free-tools-grid, #latest-grid, .services-grid, .catalog-group .ecosystem-grid) { grid-template-columns: 1fr; }
    .rp-site .ecosystem-card-body { padding: 22px; }
    .rp-site .section-title { font-size: 30px; }
    .rp-site .rp-document-nav { flex-wrap: wrap; }
    .rp-site.rp-comparison nav .spacer { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rp-site *, .rp-site *::before, .rp-site *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
