/**
 * Royal Stone CMS Pro 10.1.6 — Unified Visual System + catalogue integrity
 * Scope: the eight managed SEO routes only (body.rs-uvs-v10140).
 */
body.rs-uvs-v10140 {
  --rs-uvs-dark: #0d0c0a;
  --rs-uvs-dark-2: #171410;
  --rs-uvs-dark-3: #211c16;
  --rs-uvs-ivory: #f4efe5;
  --rs-uvs-paper: #fffdf8;
  --rs-uvs-ink: #201b15;
  --rs-uvs-muted: #625b51;
  --rs-uvs-gold: #d5aa4f;
  --rs-uvs-gold-soft: #f1d584;
  --rs-uvs-border: rgba(79, 62, 38, .17);
  --rs-uvs-shadow: 0 24px 70px rgba(30, 24, 16, .13);
  --rs-uvs-header-height: 72px;
  margin: 0;
  overflow-x: clip;
  background: var(--rs-uvs-dark);
  color: #fffaf0;
  font-family: Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.rs-uvs-v10140 *,
body.rs-uvs-v10140 *::before,
body.rs-uvs-v10140 *::after {
  box-sizing: border-box;
}

body.rs-uvs-v10140 :where(main, section, article, nav, div)[id] {
  scroll-margin-top: calc(var(--rs-uvs-header-height) + 28px);
}

body.rs-uvs-v10140 :where(a, button, summary, select):focus-visible {
  outline: 3px solid var(--rs-uvs-gold-soft) !important;
  outline-offset: 4px !important;
}

/* --------------------------------------------------------------------------
   Header: stable normal-flow sticky navigation, no content collision.
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 .rs-header,
body.rs-uvs-v10140 .rs-header.scrolled {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  z-index: 100000 !important;
  width: min(1500px, calc(100% - 32px)) !important;
  max-width: 1500px !important;
  height: 72px !important;
  margin: 14px auto 0 !important;
  transform: none !important;
  overflow: visible !important;
  border: 1px solid rgba(240, 213, 132, .22) !important;
  border-radius: 17px !important;
  background: rgba(14, 13, 11, .97) !important;
  box-shadow: 0 18px 56px rgba(0, 0, 0, .28) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: none !important;
}
body.admin-bar.rs-uvs-v10140 .rs-header,
body.admin-bar.rs-uvs-v10140 .rs-header.scrolled { top: 32px !important; }
body.rs-uvs-v10140 .rs-header-inner,
body.rs-uvs-v10140 .rs-header.scrolled .rs-header-inner {
  height: 70px !important;
  min-height: 70px !important;
  padding: 0 24px !important;
  transition: none !important;
}
body.rs-uvs-v10140 .rs-header .rs-logo,
body.rs-uvs-v10140 .rs-header.scrolled .rs-logo {
  color: #fff !important;
  font-size: clamp(27px, 2.1vw, 33px) !important;
  transition: none !important;
}
body.rs-uvs-v10140 .rs-header .rs-logo span { color: var(--rs-uvs-gold) !important; }
body.rs-uvs-v10140 .rs-nav a { color: rgba(255,255,255,.88) !important; }
body.rs-uvs-v10140 .rs-nav a:hover,
body.rs-uvs-v10140 .rs-nav a:focus { color: var(--rs-uvs-gold-soft) !important; }
body.rs-uvs-v10140 .rs-header .rs-header-btn,
body.rs-uvs-v10140 .rs-header.scrolled .rs-header-btn {
  min-height: 40px !important;
  height: 40px !important;
  border-radius: 9px !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}
body.rs-uvs-v10140 .rs-header .rs-btn-gold {
  border-color: var(--rs-uvs-gold) !important;
  background: linear-gradient(135deg, var(--rs-uvs-gold-soft), var(--rs-uvs-gold)) !important;
  color: #17120c !important;
}
body.rs-uvs-v10140 .rs-header .rs-btn-glass {
  border-color: rgba(240,213,132,.38) !important;
  background: rgba(255,255,255,.045) !important;
  color: #fff !important;
}
body.rs-uvs-v10140 .rs-lang-dropdown,
body.rs-uvs-v10140 .rs-lang-select { border-radius: 10px !important; }

body.rs-uvs-v10140 main.site-main,
body.rs-uvs-v10140 #primary.site-main {
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: clip;
  background: var(--rs-uvs-dark);
}

/* --------------------------------------------------------------------------
   Shared type, cards, buttons and rhythm across native route renderers.
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 :where(.rs-service-seo-v9100,.rs-products-premium,.rs-material-landing-v8934,.rs-portfolio-premium-v8961) {
  --rs-gold: var(--rs-uvs-gold) !important;
  --rs-gold-soft: var(--rs-uvs-gold-soft) !important;
  --gold: var(--rs-uvs-gold) !important;
  --gold2: var(--rs-uvs-gold-soft) !important;
  --bg: var(--rs-uvs-dark) !important;
  --panel: var(--rs-uvs-dark-2) !important;
  --text: #fffaf0 !important;
  --muted: rgba(255,250,240,.72) !important;
  color: #fffaf0 !important;
  background-color: var(--rs-uvs-dark) !important;
}

body.rs-uvs-v10140 :where(.rs-service-seo-v9100,.rs-products-premium,.rs-material-landing-v8934,.rs-portfolio-premium-v8961)
  :where(h1,h2,h3,h4,strong) {
  text-wrap: balance;
}

body.rs-uvs-v10140 :where(.rs-seo-service-button,.rs-products-btn,.rs-portfolio-btn,.rs-seo-accelerator-v10090__button) {
  border-radius: 10px !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease !important;
}
body.rs-uvs-v10140 :where(.rs-seo-service-button,.rs-products-btn,.rs-portfolio-btn,.rs-seo-accelerator-v10090__button):hover {
  transform: translateY(-2px) !important;
}

body.rs-uvs-v10140 :where(.rs-seo-service-benefit,.rs-seo-service-process-grid article,.rs-products-banner,.rs-product-item,.rs-ml-product-card,.rs-portfolio-group,.rs-portfolio-project) {
  border-radius: 16px !important;
}

body.rs-uvs-v10140 :where(.rs-seo-service-container,.rs-products-container,.rs-ml-hero-inner,.rs-ml-filter-inner,.rs-portfolio-container) {
  width: min(1180px, calc(100% - 44px)) !important;
}

/* The native service renderer remains dark, but its appended evidence block
   is deliberately ivory below, creating a consistent premium alternation. */
body.rs-uvs-v10140 .rs-seo-service-hero {
  min-height: clamp(590px, 82vh, 760px) !important;
  padding-top: clamp(96px, 11vw, 140px) !important;
}
body.rs-uvs-v10140 .rs-seo-service-section { padding-block: clamp(70px, 8vw, 104px) !important; }
body.rs-uvs-v10140 .rs-seo-service-section-head h2,
body.rs-uvs-v10140 .rs-seo-service-included h2,
body.rs-uvs-v10140 .rs-seo-service-process h2,
body.rs-uvs-v10140 .rs-seo-service-article h2,
body.rs-uvs-v10140 .rs-seo-service-faq h2,
body.rs-uvs-v10140 .rs-seo-service-related h2,
body.rs-uvs-v10140 .rs-seo-service-final-cta h2 {
  color: #fffaf0 !important;
}
body.rs-uvs-v10140 .rs-seo-service-before-after,
body.rs-uvs-v10140 .rs-seo-service-before-after * { color: var(--rs-uvs-ink); }
body.rs-uvs-v10140 .rs-seo-service-before-after { background: var(--rs-uvs-ivory) !important; }

/* --------------------------------------------------------------------------
   Landing Page Accelerator: readable ivory system (fixes blue-on-black).
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 .rs-seo-accelerator-v10090 {
  --rs-ink: var(--rs-uvs-ink) !important;
  --rs-navy: var(--rs-uvs-ink) !important;
  --rs-gold: var(--rs-uvs-gold) !important;
  --rs-soft: #eee7da !important;
  --rs-border: rgba(74,58,36,.17) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px 0 84px !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 4%, rgba(213,170,79,.13), transparent 28%),
    linear-gradient(180deg, #f7f2e9 0%, var(--rs-uvs-ivory) 100%) !important;
  color: var(--rs-uvs-ink) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090 > :where(.rs-seo-accelerator-v10090__preview,.rs-seo-accelerator-v10090__section,.rs-seo-accelerator-v10090__cta) {
  width: min(1180px, calc(100% - 44px));
  margin-inline: auto !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__preview {
  border-color: rgba(159,112,28,.35) !important;
  background: #fff5d8 !important;
  color: #6f4c0d !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__section {
  padding-block: clamp(58px, 7vw, 88px) !important;
  border-top-color: rgba(74,58,36,.17) !important;
  color: var(--rs-uvs-ink) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__section > h2,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card h3,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__factor-grid h3,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__faq summary {
  color: var(--rs-uvs-ink) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__section > h2 {
  max-width: 930px !important;
  margin-bottom: 26px !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 4.2vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: -.025em !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__copy,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__copy :where(p,li),
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card p,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__factor-grid p,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__faq details > div {
  color: #50493f !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__copy { line-height: 1.78 !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__copy a {
  color: #7d5717 !important;
  font-weight: 750;
  text-decoration-color: rgba(125,87,23,.45) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card {
  display: flex !important;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid rgba(74,58,36,.16) !important;
  border-radius: 17px !important;
  background: rgba(255,253,248,.98) !important;
  box-shadow: 0 18px 48px rgba(48,37,22,.09) !important;
  color: var(--rs-uvs-ink) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card > img {
  aspect-ratio: 4 / 3 !important;
  background: #e9e1d4;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 23px !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card h3 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 600 !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card dl { margin-top: auto !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card dl div {
  border-top-color: rgba(74,58,36,.12) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card dt { color: #766d61 !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card dd { color: var(--rs-uvs-ink) !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__meta li,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__availability {
  border: 1px solid rgba(125,87,23,.14) !important;
  background: #f2eadc !important;
  color: #655334 !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__factor-grid {
  gap: 17px !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__factor-grid article {
  min-height: 150px;
  border: 1px solid rgba(74,58,36,.13) !important;
  border-left: 4px solid var(--rs-uvs-gold) !important;
  border-radius: 14px !important;
  background: rgba(255,253,248,.86) !important;
  box-shadow: 0 12px 30px rgba(48,37,22,.055);
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__before-after-grid figure {
  border-color: rgba(74,58,36,.16) !important;
  background: var(--rs-uvs-paper) !important;
  box-shadow: 0 18px 44px rgba(48,37,22,.08);
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__faq details,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__faq details:last-child {
  border-color: rgba(74,58,36,.2) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__faq summary {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(19px, 1.8vw, 23px) !important;
  font-weight: 600 !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__faq summary::after { color: #9a6b20 !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__links > div { gap: 9px !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__links a {
  border-color: rgba(74,58,36,.27) !important;
  background: rgba(255,253,248,.7) !important;
  color: var(--rs-uvs-ink) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__links a:hover,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__links a:focus {
  border-color: var(--rs-uvs-gold) !important;
  background: #fff7df !important;
  color: #5d3d08 !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__cta {
  margin-top: clamp(32px, 6vw, 76px) !important;
  margin-bottom: 0 !important;
  border: 1px solid rgba(241,213,132,.26) !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 85% 10%, rgba(213,170,79,.28), transparent 36%),
    linear-gradient(135deg, #17140f, #2b241a) !important;
  color: #fffaf0 !important;
  box-shadow: 0 24px 70px rgba(30,24,16,.22) !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__cta h2 { color: #fffaf0 !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__cta p { color: var(--rs-uvs-gold-soft) !important; }
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__button.is-primary {
  border-color: var(--rs-uvs-gold) !important;
  background: linear-gradient(135deg, var(--rs-uvs-gold-soft), var(--rs-uvs-gold)) !important;
  color: #17120c !important;
}

/* --------------------------------------------------------------------------
   Products and materials: align native dark surfaces with the same system.
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 .rs-products-premium,
body.rs-uvs-v10140 .rs-material-landing-v8934 {
  background: linear-gradient(180deg, var(--rs-uvs-dark), var(--rs-uvs-dark-2)) !important;
}
body.rs-uvs-v10140 .rs-products-hero,
body.rs-uvs-v10140 .rs-ml-hero {
  min-height: clamp(540px, 78vh, 720px) !important;
  padding-top: clamp(92px, 10vw, 132px) !important;
}
body.rs-uvs-v10140 .rs-products-showcase,
body.rs-uvs-v10140 .rs-products-filter-section,
body.rs-uvs-v10140 .rs-ml-filter-section,
body.rs-uvs-v10140 .rs-ml-collection {
  padding-block: clamp(68px, 7vw, 94px) !important;
}
body.rs-uvs-v10140 :where(.rs-products-banner,.rs-product-item,.rs-ml-card,.rs-ml-product-card) {
  border-color: rgba(241,213,132,.24) !important;
  background-color: var(--rs-uvs-dark-2) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.16);
}
body.rs-uvs-v10140 :where(.rs-products-banner,.rs-product-item,.rs-ml-card,.rs-ml-product-card):hover {
  border-color: rgba(241,213,132,.65) !important;
  box-shadow: 0 24px 68px rgba(0,0,0,.30) !important;
}
body.rs-uvs-v10140 .rs-products-filter-section { background: linear-gradient(180deg, #201b15, #12100d) !important; }

/* --------------------------------------------------------------------------
   Portfolio: polished groups, equal cards and centered sparse rows.
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 .rs-portfolio-premium-v8961 {
  background: linear-gradient(180deg, var(--rs-uvs-dark), var(--rs-uvs-dark-2)) !important;
}
body.rs-uvs-v10140 .rs-portfolio-hero {
  min-height: clamp(560px, 82vh, 740px) !important;
  padding: clamp(92px, 10vw, 132px) 0 clamp(72px, 8vw, 100px) !important;
}
body.rs-uvs-v10140 .rs-portfolio-showcase {
  padding: clamp(70px, 8vw, 100px) 0 !important;
  background:
    radial-gradient(circle at 90% 0, rgba(213,170,79,.12), transparent 30%),
    linear-gradient(180deg, #17140f, #0d0c0a) !important;
}
body.rs-uvs-v10140 .rs-portfolio-projects {
  padding: clamp(68px, 8vw, 100px) 0 !important;
  background: linear-gradient(180deg, #0d0c0a, #171410) !important;
}
body.rs-uvs-v10140 .rs-portfolio-group-grid {
  gap: 19px !important;
  align-items: stretch;
}
body.rs-uvs-v10140 .rs-portfolio-group {
  min-height: 340px !important;
  border-color: rgba(241,213,132,.24) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
body.rs-uvs-v10140 .rs-portfolio-group::after {
  border-radius: 12px !important;
  background: rgba(15,13,10,.89) !important;
}
body.rs-uvs-v10140 .rs-portfolio-project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch;
}
body.rs-uvs-v10140 .rs-portfolio-project-grid[data-rs-visible-count="1"] {
  grid-template-columns: minmax(0, 430px) !important;
  justify-content: center !important;
}
body.rs-uvs-v10140 .rs-portfolio-project-grid[data-rs-visible-count="2"] {
  grid-template-columns: repeat(2, minmax(0, 430px)) !important;
  justify-content: center !important;
}
body.rs-uvs-v10140 .rs-portfolio-project {
  min-height: 100% !important;
  border-color: rgba(241,213,132,.24) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.16);
}
body.rs-uvs-v10140 .rs-portfolio-project-image { height: 250px !important; }
body.rs-uvs-v10140 .rs-portfolio-project strong {
  min-height: 2.18em;
  color: #fffaf0 !important;
  font-size: clamp(23px, 2vw, 29px) !important;
}
body.rs-uvs-v10140 .rs-portfolio-project p {
  min-height: 5.9em !important;
  color: rgba(255,250,240,.70) !important;
}
body.rs-uvs-v10140 .rs-portfolio-modal__dialog {
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #15120f !important;
}
body.rs-uvs-v10140 .rs-portfolio-modal__image { border-width: 0 !important; }
body.rs-uvs-v10140 .rs-portfolio-modal__thumb { border-radius: 9px !important; }

/* --------------------------------------------------------------------------
   Footer and transitions between dark/light zones.
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 .site-footer,
body.rs-uvs-v10140 footer.rs-footer {
  border-top: 1px solid rgba(241,213,132,.18) !important;
  background: #0b0a08 !important;
}

@media (max-width: 1100px) {
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__grid,
  body.rs-uvs-v10140 .rs-portfolio-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.rs-uvs-v10140 { --rs-uvs-header-height: 64px; }
  body.rs-uvs-v10140 .rs-header,
  body.rs-uvs-v10140 .rs-header.scrolled {
    position: sticky !important;
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    width: min(100% - 20px, 760px) !important;
    height: 64px !important;
    margin-top: 10px !important;
    border-radius: 15px !important;
  }
  body.admin-bar.rs-uvs-v10140 .rs-header,
  body.admin-bar.rs-uvs-v10140 .rs-header.scrolled { top: 46px !important; }
  body.rs-uvs-v10140 .rs-header-inner,
  body.rs-uvs-v10140 .rs-header.scrolled .rs-header-inner {
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 12px !important;
  }
  body.rs-uvs-v10140 .rs-mobile-panel {
    top: 70px !important;
    border-color: rgba(241,213,132,.24) !important;
    background: rgba(13,12,10,.985) !important;
  }
  body.rs-uvs-v10140 .rs-nav,
  body.rs-uvs-v10140 .rs-header-right .rs-header-btn { display: none !important; }
  body.rs-uvs-v10140 .rs-header-inner { display: flex !important; gap: 10px !important; }
  body.rs-uvs-v10140 .rs-header .rs-logo { flex: 1 1 auto !important; max-width: 190px !important; overflow: hidden !important; }
  body.rs-uvs-v10140 .rs-header-right { display: flex !important; flex: 0 0 auto !important; gap: 7px !important; }
  body.rs-uvs-v10140 .rs-mobile-toggle { display: flex !important; }
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__cta {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body.rs-uvs-v10140 .rs-portfolio-project-grid[data-rs-visible-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body.rs-uvs-v10140 :where(.rs-seo-service-container,.rs-products-container,.rs-ml-hero-inner,.rs-ml-filter-inner,.rs-portfolio-container),
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090 > :where(.rs-seo-accelerator-v10090__preview,.rs-seo-accelerator-v10090__section,.rs-seo-accelerator-v10090__cta) {
    width: min(100% - 28px, 1180px) !important;
  }
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090 {
    padding-bottom: 56px !important;
  }
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__grid,
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__factor-grid,
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__before-after-grid,
  body.rs-uvs-v10140 .rs-portfolio-group-grid,
  body.rs-uvs-v10140 .rs-portfolio-project-grid,
  body.rs-uvs-v10140 .rs-portfolio-project-grid[data-rs-visible-count="1"],
  body.rs-uvs-v10140 .rs-portfolio-project-grid[data-rs-visible-count="2"] {
    grid-template-columns: 1fr !important;
  }
  body.rs-uvs-v10140 .rs-portfolio-project strong,
  body.rs-uvs-v10140 .rs-portfolio-project p { min-height: 0 !important; }
  body.rs-uvs-v10140 .rs-portfolio-project-image { height: 220px !important; }
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__cta-actions,
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__button { width: 100% !important; }
  body.rs-uvs-v10140 .rs-seo-accelerator-v10090__button { white-space: normal !important; text-align: center; }
}

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

/* --------------------------------------------------------------------------
   10.1.6 catalogue recovery and content-integrity guard.
   Server-rendered catalogues must remain visible even when an older minified
   stylesheet or a stale page-cache fragment is served temporarily.
   -------------------------------------------------------------------------- */
body.rs-uvs-v10140 .rs-material-landing-v8934,
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-filter,
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-filter-inner,
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-collection {
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  clip: auto !important;
  clip-path: none !important;
}
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-collection {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  margin-top: 32px !important;
  padding-bottom: 12px !important;
}
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-catalog-grid {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-product-card {
  display: flex !important;
  min-width: 0 !important;
  min-height: 330px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-card-media,
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-product-media {
  display: block !important;
  width: 100% !important;
  min-height: 124px !important;
  max-height: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
}
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-product-media {
  height: 180px !important;
  min-height: 180px !important;
}
body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-product-media > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 180px !important;
  object-fit: cover !important;
  object-position: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__inventory,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__grid,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card,
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card img {
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
  clip: auto !important;
  clip-path: none !important;
}
body.rs-uvs-v10140 .rs-seo-accelerator-v10090__card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 180px !important;
  object-fit: cover !important;
}
@media (max-width: 1100px) {
  body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 780px) {
  body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  body.rs-uvs-v10140 .rs-material-landing-v8934 .rs-ml-catalog-grid { grid-template-columns: 1fr !important; }
}
