/* Shared settings use CSS variables so the same controls affect every page. */
html { font-size: var(--rc-font-size,16px); }
body { font-family: var(--rc-font,Manrope,system-ui,sans-serif); }
:root, [data-bs-theme="light"] { --si-body-bg: var(--rc-light-bg,#fff); --si-body-color: var(--rc-light-text,#585c7b); --si-primary: var(--rc-primary,#6366f1); --si-link-color: var(--rc-primary,#6366f1); }
[data-bs-theme="dark"] { --si-body-bg: var(--rc-dark-bg,#0b0f19); --si-body-color: var(--rc-dark-text,#9397ad); --si-primary: var(--rc-primary,#6366f1); --si-link-color: var(--rc-primary,#6366f1); }
.bg-dark, body:not(.home) .header, .rc-home-no-hero-first .header { background-color: var(--rc-dark-bg,#0b0f19) !important; }
.header .navbar-brand img { width: var(--rc-logo-width,260px); max-width: var(--rc-logo-width,260px); }
.footer img { max-width: var(--rc-footer-logo-width,222px); }
.text-primary, .text-gradient-primary { color: var(--rc-primary,#6366f1) !important; }
.bg-gradient-primary, .text-gradient-primary { background-image: linear-gradient(90deg,var(--rc-primary,#6366f1),var(--rc-accent,#8b5cf6)) !important; }
.btn-primary { --si-btn-bg: var(--rc-primary,#6366f1); --si-btn-border-color: var(--rc-primary,#6366f1); --si-btn-hover-bg: var(--rc-accent,#8b5cf6); --si-btn-hover-border-color: var(--rc-accent,#8b5cf6); --si-btn-active-bg: var(--rc-primary,#6366f1); }
.btn-link { --si-btn-color: var(--rc-primary,#6366f1); --si-btn-hover-color: var(--rc-accent,#8b5cf6); }
.rc-inner-article .wp-block-button__link { background: var(--rc-primary,#6366f1); }
.rc-inner-article .wp-block-button__link:hover { background: var(--rc-accent,#8b5cf6); }
.rc-kicker, .header .nav-link[aria-current="page"] { color: var(--rc-primary,#6366f1) !important; }
.card, .rounded-3, .rc-content-cards>.wp-block-column, .rc-page-intro, .rc-page-cta, .rc-page-image img { border-radius: var(--rc-radius,12px) !important; }
.rc-page-intro, .rc-page-cta { background: rgba(var(--si-primary-rgb,99,102,241),.08); border-color: rgba(var(--si-primary-rgb,99,102,241),.2); }
.rc-home-section.py-5 { padding-block: var(--rc-section-space,48px) !important; }
.banner-section { background: linear-gradient(90deg,var(--rc-dark-bg,#0b0f19) 0%,#172033 51.04%,var(--rc-dark-bg,#0b0f19) 100%); padding-bottom: 80px; }
.banner-section.rc-overlap { padding-bottom: 0; }
.rc-hero-spacer { height: 0; }
.rc-overlap .rc-hero-spacer { height: 400px; }
#category { padding-top: 32px; padding-bottom: 24px; }
#category.rc-overlap { margin-top: -370px; padding-top: 0; }
.rc-category-shade { background: linear-gradient(180deg,rgba(17,24,39,0) 35.56%,#111827 95.3%); }
#client .swiper-slide img { display: block; width: 155px; height: 80px; object-fit: contain; margin: 8px auto; }
.rc-service-icon { width: 70px; height: 70px; }
.rc-news-image img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--rc-radius,12px) var(--rc-radius,12px) 0 0; }
.rc-legal-menu { gap: 16px; }
.rc-footer-menu { gap: 8px; }
.rc-primary-menu .sub-menu { list-style: none; padding: 6px 0 6px 14px; margin: 0; }
.rc-primary-menu .sub-menu .nav-link { font-size: .875rem; }
.rc-primary-menu>.menu-item-has-children { position: relative; }
.rc-submenu-toggle { background: transparent; border: 0; color: #e2e5f1; padding: 5px 8px; border-radius: 4px; }
.rc-submenu-toggle:focus-visible { outline: 2px solid var(--rc-primary,#6366f1); }
.rc-home-no-hero-first .header { position: relative !important; }
.rc-page-content.container-fluid { max-width: none; }
.rc-inner-article .wp-block-columns { display: flex; flex-wrap: wrap; gap: 28px; }
.rc-inner-article .wp-block-column { flex: 1 1 0; min-width: 0; }
.rc-inner-article .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { min-width: min(240px,100%); }
.rc-inner-article .wp-block-gallery { display: flex; flex-wrap: wrap; gap: 16px; }
.rc-inner-article .wp-block-gallery .wp-block-image { flex: 1 1 220px; margin: 0; }
.rc-inner-article .wp-block-cover { position: relative; min-height: 300px; padding: 32px; display: flex; align-items: center; justify-content: center; }
.rc-inner-article .wp-block-cover__image-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rc-inner-article .wp-block-cover__inner-container { position: relative; z-index: 1; }
.rc-inner-article table { width: 100%; border-collapse: collapse; }
.rc-inner-article th, .rc-inner-article td { padding: 10px; border: 1px solid var(--si-border-color); }
.rc-inner-article iframe { max-width: 100%; }
.rc-inner-article .has-text-align-center { text-align: center; }
.rc-inner-article .has-text-align-right { text-align: right; }
.rc-page-heading { font-size: calc(clamp(2rem,4.5vw,3.5rem) * var(--rc-heading-scale,1)); }
.rc-inner-article h2 { font-size: calc(clamp(1.4rem,2.5vw,1.9rem) * var(--rc-heading-scale,1)); }
.rc-inner-article h3 { font-size: calc(1.2rem * var(--rc-heading-scale,1)); }
.banner-section .display-4 { font-size: calc(clamp(2.5rem,4vw,3.5rem) * var(--rc-heading-scale,1)); }
@media(min-width:992px) {
  .rc-overlap .rc-hero-spacer { height: 480px; }
  #category.rc-overlap { margin-top: -428px; }
  .rc-primary-menu>.menu-item-has-children>.nav-link { display: inline-block; padding-right: 0; }
  .rc-primary-menu .sub-menu { position: absolute; top: 100%; left: 0; width: max-content; min-width: 210px; max-width: 280px; z-index: 1050; background: var(--rc-dark-bg,#0b0f19); padding: 8px; border: 1px solid #ffffff20; border-radius: 8px; box-shadow: 0 12px 28px #0004; }
  .rc-primary-menu .sub-menu .sub-menu { position: static; border: 0; padding-left: 12px; box-shadow: none; }
  .rc-primary-menu .sub-menu .nav-link { white-space: normal !important; }
}
@media(min-width:1400px) { .container { max-width: var(--rc-content-width,1320px); } .rc-page-content.container { max-width: min(var(--rc-content-width,1320px),1180px); } }
@media(max-width:650px) { .rc-inner-article .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column { flex-basis: 100% !important; } }
@media(max-width:600px) { .header .navbar-brand img { width: var(--rc-mobile-logo-width,160px); max-width: var(--rc-mobile-logo-width,160px); } }
