/* Shared brand layer for live pages */

:root {
  --rc-red: #c8102e;
  --rc-red-dark: #a00c24;
  --rc-black: #0d0d0d;
  --rc-white: #ffffff;
  --rc-border-soft: rgba(0, 0, 0, 0.08);
  --rc-shadow-soft: 0 14px 32px rgba(0, 0, 0, 0.10);
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

.logo,
.footer-logo {
  align-items: center;
}

.logo-mark,
.logo-icon {
  flex-shrink: 0;
}

.logo-mark img,
.logo-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.logo-tagline {
  letter-spacing: 0.07em;
}

.nav-cta,
.btn-primary,
.btn-submit,
.btn-submit.gold,
.btn-calculate,
.newsletter-form button {
  background: linear-gradient(135deg, var(--rc-red), #e23a55) !important;
  color: var(--rc-white) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 28px rgba(200, 16, 46, 0.22) !important;
}

.nav-cta:hover,
.btn-primary:hover,
.btn-submit:hover,
.btn-submit.gold:hover,
.btn-calculate:hover,
.newsletter-form button:hover {
  background: linear-gradient(135deg, var(--rc-red-dark), var(--rc-red)) !important;
}

.hero-card,
.card,
.side-card,
.faq-item,
.form-card,
.legal-card,
.article,
.sidebar-card,
.contact-info-card,
.company-card,
.company-address,
.map-wrapper {
  border-radius: 20px !important;
  box-shadow: var(--rc-shadow-soft) !important;
}

.footer-logo {
  display: flex;
  gap: 10px;
  margin-bottom: 18px;
}

.footer .logo-name {
  color: var(--rc-white) !important;
}

.footer .logo-tagline {
  color: rgba(255, 255, 255, 0.45) !important;
}

.footer-copy,
.footer-links a,
.footer-links span,
.footer-contact-item,
.footer-contact-item a,
.footer-legal a {
  line-height: 1.7;
}

.footer-links a:hover,
.footer-contact-item a:hover,
.footer-legal a:hover {
  color: var(--rc-red) !important;
}

.mobile-menu {
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.mobile-menu-close {
  box-shadow: none !important;
}

.faq-item h3,
.hero-card h3,
.side-card h3,
.card h2,
.card h3 {
  text-wrap: balance;
}

.section-title,
.hero-copy h1,
.page-hero h1,
.article-title {
  text-wrap: balance;
}

img {
  image-rendering: auto;
}

