.rcg-cs-hero--granite { padding: 32px; margin-bottom: 24px; }
.rcg-cs-hero--granite .rcg-cs-hero__lead { text-align: left; }
.rcg-cs-hero--granite .rcg-cs-hero__meta:empty { display: none; }
.rcg-cs-hero--granite .rcg-cs-hero__meta { margin: 0; }
.rcg-cs-hero--granite .rcg-cs-hero__cta { margin-top: 20px; }
@media(max-width:620px) {
.rcg-cs-hero--granite { padding: 24px 18px; }
.rcg-cs-hero--granite .rcg-cs-hero__cta { gap: 8px; }
.rcg-cs-hero--granite .rcg-cs-btn { padding: 13px 15px; font-size: 14px; }
}
.rcg-cs-granite-catalog-intro { margin: 20px 0; color: #1a2820; }
.rcg-cs-granite-catalog-intro h2 { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.2; margin: 0 0 12px; overflow-wrap: normal; }
.rcg-cs-granite-catalog-intro p { font-size: 15px; line-height: 1.6; max-width: 78ch; margin: 0 0 16px; }
.rcg-cs-granite-catalog-intro nav { display: flex; flex-wrap: wrap; gap: 8px; }
.rcg-cs-granite-catalog-intro a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 15px; border: 1px solid #d8c7a4; border-radius: 24px; color: #243c2f; background: #fbf9f4; text-decoration: none; font-size: 14px; line-height: 1.4; }
.rcg-cs-granite-catalog-intro a:hover { background: #eee7d9; color: #17281e; }
.rcg-cs-granite-catalog-intro a:focus-visible { outline: 3px solid #886224; outline-offset: 3px; } .rcg-cs-geo__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.rcg-cs-geo__item { min-width: 0; overflow-wrap: anywhere; }