/*
 * RoyalStone Granite Premium SEO Sync — 11.10.18 visual layer.
 * Route-scoped to /materialy/granit/ only. No URL, canonical, hreflang,
 * schema, copy, inventory, SEO metadata, redirects or database writes.
 */
body.rs-uvs-v10140.rs-uvs-route-granit {
  --rs-granite-bg: #0b0b0a;
  --rs-granite-bg-2: #12110f;
  --rs-granite-panel: rgba(27,23,18,.92);
  --rs-granite-panel-2: rgba(34,28,21,.88);
  --rs-granite-ivory: #f6efe2;
  --rs-granite-copy: #c9c0b2;
  --rs-granite-muted: #93897a;
  --rs-granite-gold: #d7ab53;
  --rs-granite-gold-soft: #edcf83;
  --rs-granite-line: rgba(215,171,83,.20);
  background: var(--rs-granite-bg) !important;
}

/* The canonical material catalogue above this block is already dark. Keep the
 * editorial/SEO continuation in the same premium visual language instead of
 * switching back to a generic ivory document surface. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090 {
  position: relative;
  isolation: isolate;
  padding: 18px 0 clamp(82px,8vw,118px) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 4%, rgba(215,171,83,.12), transparent 28%),
    radial-gradient(circle at 4% 48%, rgba(140,105,49,.08), transparent 25%),
    linear-gradient(180deg, #0f0e0c 0%, #090908 54%, #11100e 100%) !important;
  color: var(--rs-granite-ivory) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090 > :where(.rs-seo-accelerator-v10090__preview,.rs-seo-accelerator-v10090__section,.rs-seo-accelerator-v10090__cta) {
  width: min(1120px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__preview {
  border: 1px solid rgba(215,171,83,.34) !important;
  background: rgba(215,171,83,.08) !important;
  color: var(--rs-granite-gold-soft) !important;
}

/* Editorial sections: use the same rhythm as the premium product pages. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section {
  padding-block: clamp(62px,7vw,94px) !important;
  border-top: 1px solid var(--rs-granite-line) !important;
  color: var(--rs-granite-ivory) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section:first-of-type {
  border-top-color: transparent !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section[id^="rs-seo-section-"] {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
  align-items: start;
  gap: clamp(42px,6vw,82px);
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section > h2 {
  max-width: 780px !important;
  margin: 0 0 30px !important;
  color: var(--rs-granite-ivory) !important;
  font-family: Georgia,"Times New Roman",serif !important;
  font-size: clamp(38px,4.6vw,62px) !important;
  font-weight: 500 !important;
  line-height: .99 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section > h2::before {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin: 0 0 18px;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--rs-granite-gold-soft),var(--rs-granite-gold));
  box-shadow: 0 0 18px rgba(215,171,83,.18);
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__copy,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__copy :where(p,li),
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card p,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid p,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__faq details > div {
  color: var(--rs-granite-copy) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__copy {
  max-width: 760px !important;
  padding-top: 7px;
  font-size: clamp(17px,1.45vw,20px) !important;
  line-height: 1.82 !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__copy p { margin: 0 !important; }
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__copy a {
  color: var(--rs-granite-gold-soft) !important;
  text-decoration-color: rgba(237,207,131,.45) !important;
}

/* Evidence / catalogue cards. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__grid {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card {
  overflow: hidden;
  border: 1px solid rgba(215,171,83,.22) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 90% 0, rgba(215,171,83,.08), transparent 35%),
    linear-gradient(180deg, rgba(28,24,19,.98), rgba(19,17,14,.98)) !important;
  color: var(--rs-granite-ivory) !important;
  box-shadow: 0 22px 58px rgba(0,0,0,.24) !important;
  transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card:hover {
  transform: translateY(-3px);
  border-color: rgba(237,207,131,.42) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,.33) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card > img {
  aspect-ratio: 4 / 3 !important;
  background: #17130f !important;
  filter: saturate(.94) contrast(1.03);
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card-body {
  padding: 22px 22px 24px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card h3 {
  margin-bottom: 12px !important;
  color: var(--rs-granite-ivory) !important;
  font-family: Georgia,"Times New Roman",serif !important;
  font-size: clamp(22px,2vw,29px) !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -.018em;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card dl div {
  border-top-color: rgba(215,171,83,.13) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card dt {
  color: var(--rs-granite-muted) !important;
  font-size: 11px !important;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card dd {
  color: var(--rs-granite-ivory) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__meta li,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__availability {
  border: 1px solid rgba(215,171,83,.20) !important;
  background: rgba(215,171,83,.07) !important;
  color: var(--rs-granite-gold-soft) !important;
}

/* Price factors use restrained technical panels, mirroring Countertops. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 16px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article {
  min-height: 154px;
  border: 1px solid rgba(215,171,83,.19) !important;
  border-left: 1px solid rgba(215,171,83,.19) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  background: linear-gradient(145deg,rgba(31,27,21,.96),rgba(20,18,15,.96)) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.18) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article::before {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  margin-bottom: 18px;
  background: var(--rs-granite-gold);
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid h3 {
  margin: 0 0 9px !important;
  color: var(--rs-granite-ivory) !important;
  font-size: clamp(18px,1.6vw,22px) !important;
}

/* R6 final polish: when the factor list has an odd fifth item, turn it into a
 * full-width editorial band instead of leaving a visually unfinished orphan. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 132px;
  display: grid;
  grid-template-columns: 28px minmax(220px,.62fr) minmax(0,1.38fr);
  align-items: center;
  column-gap: clamp(18px,3vw,42px);
  padding-block: 28px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd)::before {
  margin: 0 !important;
  align-self: start;
  margin-top: 4px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd) h3,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd) p {
  margin: 0 !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd) p {
  max-width: 760px;
}

/* Project proof: make the real-project section feel like the premium revenue
 * cards without changing any evidence data. */
body.rs-uvs-v10140.rs-uvs-route-granit #rs-seo-projects-title + .rs-seo-accelerator-v10090__grid .rs-seo-accelerator-v10090__card {
  border-color: rgba(215,171,83,.26) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit #rs-seo-projects-title + .rs-seo-accelerator-v10090__grid .rs-seo-accelerator-v10090__card > img {
  aspect-ratio: 16 / 11 !important;
}

/* FAQ and related navigation keep the dark premium rhythm. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__faq details,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__faq details:last-child {
  border-color: rgba(215,171,83,.18) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__faq summary {
  color: var(--rs-granite-ivory) !important;
  font-family: Georgia,"Times New Roman",serif !important;
  font-size: clamp(19px,1.8vw,24px) !important;
  font-weight: 500 !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__faq summary::after {
  color: var(--rs-granite-gold) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links > div {
  gap: 10px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links a {
  border: 1px solid rgba(215,171,83,.27) !important;
  background: rgba(255,255,255,.025) !important;
  color: var(--rs-granite-ivory) !important;
  padding: 10px 15px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links a:hover,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links a:focus {
  border-color: var(--rs-granite-gold) !important;
  background: rgba(215,171,83,.10) !important;
  color: var(--rs-granite-gold-soft) !important;
}

/* R6 final polish: keep luxury breathing room, but remove the oversized empty
 * gap between related links and the final consultation CTA. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links {
  padding-bottom: clamp(42px,4vw,62px) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links + .rs-seo-accelerator-v10090__cta {
  margin-top: clamp(24px,3vw,46px) !important;
}

/* Final CTA: same black-gold hierarchy as Countertops. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__cta {
  margin-top: clamp(34px,6vw,72px) !important;
  margin-bottom: 0 !important;
  border: 1px solid rgba(237,207,131,.27) !important;
  border-radius: 22px !important;
  padding: clamp(30px,5vw,56px) !important;
  background:
    radial-gradient(circle at 87% 8%, rgba(215,171,83,.30), transparent 38%),
    linear-gradient(135deg,#17130f,#2b2318) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.32) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__cta h2 {
  color: var(--rs-granite-ivory) !important;
  font-family: Georgia,"Times New Roman",serif !important;
  font-weight: 500 !important;
  letter-spacing: -.025em;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__cta p {
  color: var(--rs-granite-gold-soft) !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__button {
  border-color: rgba(237,207,131,.42) !important;
  border-radius: 11px !important;
}
body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__button.is-primary {
  border-color: var(--rs-granite-gold) !important;
  background: linear-gradient(135deg,var(--rs-granite-gold-soft),var(--rs-granite-gold)) !important;
  color: #17120c !important;
}

/* Preserve sticky navigation readability once the page enters the new dark
 * editorial continuation. */
body.rs-uvs-v10140.rs-uvs-route-granit .rs-stable-header,
body.rs-uvs-v10140.rs-uvs-route-granit .rs-products-sticky-nav {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

@media (max-width: 900px) {
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section[id^="rs-seo-section-"] {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width: 620px) {
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090 {
    padding-top: 8px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090 > :where(.rs-seo-accelerator-v10090__preview,.rs-seo-accelerator-v10090__section,.rs-seo-accelerator-v10090__cta) {
    width: min(100% - 28px,1120px) !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section {
    padding-block: 50px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__section > h2 {
    font-size: clamp(34px,11vw,46px) !important;
    line-height: 1.01 !important;
    margin-bottom: 21px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__copy {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__grid,
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid,
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__before-after-grid {
    grid-template-columns: 1fr !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd) {
    grid-column: auto;
    min-height: 154px;
    display: block;
    padding: 24px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd)::before {
    margin: 0 0 18px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__factor-grid article:last-child:nth-child(odd) h3 {
    margin: 0 0 9px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links {
    padding-bottom: 32px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__links + .rs-seo-accelerator-v10090__cta {
    margin-top: 20px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card-body {
    padding: 19px !important;
  }
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__cta {
    width: calc(100% - 28px) !important;
    padding: 26px 20px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.rs-uvs-v10140.rs-uvs-route-granit .rs-seo-accelerator-v10090__card {
    transition: none !important;
  }
}
